Cleanup & effect gfx data (#973)

* wip / clean

* remaining effect gfx data, cleanup

* restore file

* oopz

* oopz2

* oopz3
This commit is contained in:
Ethan Roseman 2023-03-13 15:11:17 +09:00 committed by GitHub
parent 9551b16d77
commit f8836ce36f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 223 additions and 156 deletions

View File

@ -97,7 +97,7 @@ void energy_shockwave_main(s32, f32, f32, f32, f32, s32);
EffectInstance* shimmer_wave_main(s32, f32, f32, f32, f32, f32, s32, s32); EffectInstance* shimmer_wave_main(s32, f32, f32, f32, f32, f32, s32, s32);
void aura_main(s32, f32, f32, f32, f32, EffectInstance**); void aura_main(s32, f32, f32, f32, f32, EffectInstance**);
void bulb_glow_main(s32, f32, f32, f32, f32, EffectInstance**); void bulb_glow_main(s32, f32, f32, f32, f32, EffectInstance**);
void fx_3D_main(s32, f32, f32, f32, f32, f32, f32, s32, EffectInstance**); void effect_3D_main(s32, f32, f32, f32, f32, f32, f32, s32, EffectInstance**);
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);
EffectInstance* recover_main(s32, f32, f32, f32, s32); EffectInstance* recover_main(s32, f32, f32, f32, s32);
@ -106,7 +106,7 @@ EffectInstance* bombette_breaking_main(s32, s32, s32, f32, s32, s32);
EffectInstance* firework_main(s32, f32, f32, f32, f32, s32); EffectInstance* firework_main(s32, f32, f32, f32, f32, s32);
EffectInstance* confetti_main(s32, f32, f32, f32, f32, s32); EffectInstance* confetti_main(s32, f32, f32, f32, f32, s32);
EffectInstance* snowfall_main(s32, s32); EffectInstance* snowfall_main(s32, s32);
EffectInstance* fx_46_main(s32, PlayerStatus*, f32, s32); EffectInstance* effect_46_main(s32, PlayerStatus*, f32, s32);
EffectInstance* gather_magic_main(s32, f32, f32, f32, f32, s32); EffectInstance* gather_magic_main(s32, f32, f32, f32, f32, s32);
EffectInstance* attack_result_text_main(s32, f32, f32, f32, f32, s32); EffectInstance* attack_result_text_main(s32, f32, f32, f32, f32, s32);
EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32); EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32);
@ -135,9 +135,9 @@ EffectInstance* water_splash_main(s32, f32, f32, f32, f32, s32);
EffectInstance* snowman_doll_main(s32, f32, f32, f32, f32, s32); EffectInstance* snowman_doll_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32); EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32);
EffectInstance* stop_watch_main(s32, f32, f32, f32, f32, s32); EffectInstance* stop_watch_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_63_main(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32); EffectInstance* effect_63_main(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* throw_spiny_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); EffectInstance* throw_spiny_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* fx_65_main(s32, f32, f32, f32, f32, s32); EffectInstance* effect_65_main(s32, f32, f32, f32, f32, s32);
EffectInstance* tubba_heart_attack_main(s32, f32, f32, f32, f32, s32); EffectInstance* tubba_heart_attack_main(s32, f32, f32, f32, f32, s32);
EffectInstance* whirlwind_main(s32, f32, f32, f32, f32, s32); EffectInstance* whirlwind_main(s32, f32, f32, f32, f32, s32);
EffectInstance* red_impact_main(s32, f32, f32, f32, f32); EffectInstance* red_impact_main(s32, f32, f32, f32, f32);
@ -152,7 +152,7 @@ EffectInstance* hieroglyphs_main(s32, f32, f32, f32, f32, s32);
EffectInstance *misc_particles_main(s32, f32, f32, f32, f32, f32, f32, s32, s32); EffectInstance *misc_particles_main(s32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* static_status_main(s32, f32, f32, f32, f32, s32, s32); EffectInstance* static_status_main(s32, f32, f32, f32, f32, s32, s32);
EffectInstance* moving_cloud_main(s32, f32, f32, f32, f32, f32, f32, f32, f32); EffectInstance* moving_cloud_main(s32, f32, f32, f32, f32, f32, f32, f32, f32);
EffectInstance* fx_75_main(s32, f32, f32, f32, f32, s32); EffectInstance* effect_75_main(s32, f32, f32, f32, f32, s32);
EffectInstance* firework_rocket_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); EffectInstance* firework_rocket_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* peach_star_beam_main(s32, f32, f32, f32, f32, s32); EffectInstance* peach_star_beam_main(s32, f32, f32, f32, f32, s32);
EffectInstance* chapter_change_main(s32, f32, f32, f32, f32, s32); EffectInstance* chapter_change_main(s32, f32, f32, f32, f32, s32);
@ -168,6 +168,6 @@ EffectInstance* sun_main(s32, f32, f32, f32, f32, s32);
EffectInstance* star_spirits_energy_main(s32, f32, f32, f32, f32, s32); EffectInstance* star_spirits_energy_main(s32, f32, f32, f32, f32, s32);
EffectInstance* pink_sparkles_main(s32, f32, f32, f32, f32, f32); EffectInstance* pink_sparkles_main(s32, f32, f32, f32, f32, f32);
EffectInstance* star_outline_main(s32, f32, f32, f32, f32, s32); EffectInstance* star_outline_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_86_main(s32, f32, f32, f32, f32, s32); EffectInstance* effect_86_main(s32, f32, f32, f32, f32, s32);
#endif #endif

View File

@ -507,7 +507,7 @@ void collision_main_lateral(void) {
f32 xBump; f32 xBump;
f32 zBump; f32 zBump;
gCollisionStatus.pushingAgainstWall = -1; gCollisionStatus.pushingAgainstWall = NO_COLLIDER;
if (playerStatus->flags & PS_FLAG_CUTSCENE_MOVEMENT) { if (playerStatus->flags & PS_FLAG_CUTSCENE_MOVEMENT) {
speed = playerStatus->currentSpeed; speed = playerStatus->currentSpeed;
if (playerStatus->flags & PS_FLAG_ENTERING_BATTLE) { if (playerStatus->flags & PS_FLAG_ENTERING_BATTLE) {

View File

@ -19,12 +19,6 @@ extern Addr D_801A6000;
gfx_name##_ROM_END \ gfx_name##_ROM_END \
} }
// TODO remove once everyone is named
#define FX_ENTRY_NUMBERED(name, gfx_name) { \
fx_##name##_main, effect_effect_##name##_ROM_START, effect_effect_##name##_ROM_END, effect_effect_##name##_VRAM, \
gfx_name##_ROM_START, gfx_name##_ROM_END \
} \
EffectTableEntry gEffectTable[] = { EffectTableEntry gEffectTable[] = {
/* 0x00 */ {}, /* 0x00 */ {},
/* 0x01 */ FX_ENTRY(big_smoke_puff, effect_gfx_big_smoke_puff), /* 0x01 */ FX_ENTRY(big_smoke_puff, effect_gfx_big_smoke_puff),
@ -87,7 +81,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x3A */ FX_ENTRY(shimmer_wave, effect_gfx_sparkles), /* 0x3A */ FX_ENTRY(shimmer_wave, effect_gfx_sparkles),
/* 0x3B */ FX_ENTRY(aura, effect_gfx_aura), /* 0x3B */ FX_ENTRY(aura, effect_gfx_aura),
/* 0x3C */ FX_ENTRY(bulb_glow, effect_gfx_bulb_glow), /* 0x3C */ FX_ENTRY(bulb_glow, effect_gfx_bulb_glow),
/* 0x3D */ FX_ENTRY_NUMBERED(3D, effect_gfx_effect_3D), /* 0x3D */ FX_ENTRY(effect_3D, effect_gfx_effect_3D),
/* 0x3E */ FX_ENTRY(blast, effect_gfx_blast), /* 0x3E */ FX_ENTRY(blast, effect_gfx_blast),
/* 0x3F */ FX_ENTRY(fire_flower, effect_gfx_fire_flower), /* 0x3F */ FX_ENTRY(fire_flower, effect_gfx_fire_flower),
/* 0x40 */ FX_ENTRY(recover, effect_gfx_recover), /* 0x40 */ FX_ENTRY(recover, effect_gfx_recover),
@ -96,7 +90,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x43 */ FX_ENTRY(firework, effect_gfx_firework), /* 0x43 */ FX_ENTRY(firework, effect_gfx_firework),
/* 0x44 */ FX_ENTRY(confetti, effect_gfx_confetti), /* 0x44 */ FX_ENTRY(confetti, effect_gfx_confetti),
/* 0x45 */ FX_ENTRY(snowfall, effect_gfx_snowfall), /* 0x45 */ FX_ENTRY(snowfall, effect_gfx_snowfall),
/* 0x46 */ FX_ENTRY_NUMBERED(46, effect_gfx_effect_46), /* 0x46 */ FX_ENTRY(effect_46, effect_gfx_effect_46),
/* 0x47 */ FX_ENTRY(gather_magic, effect_gfx_gather_magic), /* 0x47 */ FX_ENTRY(gather_magic, effect_gfx_gather_magic),
/* 0x48 */ FX_ENTRY(attack_result_text, effect_gfx_attack_result_text), /* 0x48 */ FX_ENTRY(attack_result_text, effect_gfx_attack_result_text),
/* 0x49 */ FX_ENTRY(small_gold_sparkle, effect_gfx_small_gold_sparkle), /* 0x49 */ FX_ENTRY(small_gold_sparkle, effect_gfx_small_gold_sparkle),
@ -107,7 +101,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x4E */ FX_ENTRY(quizmo_stage, effect_gfx_quizmo_stage), /* 0x4E */ FX_ENTRY(quizmo_stage, effect_gfx_quizmo_stage),
/* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb), /* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb),
/* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer), /* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer),
/* 0x51 */ FX_ENTRY(motion_blur_flame, _3A33D0), /* 0x51 */ FX_ENTRY(motion_blur_flame, effect_gfx_motion_blur_flame),
/* 0x52 */ FX_ENTRY(energy_orb_wave, effect_gfx_energy_orb_wave), /* 0x52 */ FX_ENTRY(energy_orb_wave, effect_gfx_energy_orb_wave),
/* 0x53 */ FX_ENTRY(merlin_house_stars, effect_gfx_merlin_house_stars), /* 0x53 */ FX_ENTRY(merlin_house_stars, effect_gfx_merlin_house_stars),
/* 0x54 */ FX_ENTRY(quizmo_audience, effect_gfx_quizmo_audience), /* 0x54 */ FX_ENTRY(quizmo_audience, effect_gfx_quizmo_audience),
@ -119,15 +113,15 @@ EffectTableEntry gEffectTable[] = {
/* 0x5A */ FX_ENTRY(water_block, effect_gfx_water_block), /* 0x5A */ FX_ENTRY(water_block, effect_gfx_water_block),
/* 0x5B */ FX_ENTRY(waterfall, effect_gfx_waterfall), /* 0x5B */ FX_ENTRY(waterfall, effect_gfx_waterfall),
/* 0x5C */ FX_ENTRY(water_fountain, effect_gfx_water_fountain), /* 0x5C */ FX_ENTRY(water_fountain, effect_gfx_water_fountain),
/* 0x5D */ FX_ENTRY(underwater, _3B9A70), /* 0x5D */ FX_ENTRY(underwater, effect_gfx_underwater),
/* 0x5E */ FX_ENTRY(lightning_bolt, effect_gfx_lightning_bolt), /* 0x5E */ FX_ENTRY(lightning_bolt, effect_gfx_lightning_bolt),
/* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash), /* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash),
/* 0x60 */ FX_ENTRY(snowman_doll, effect_gfx_snowman_doll), /* 0x60 */ FX_ENTRY(snowman_doll, effect_gfx_snowman_doll),
/* 0x61 */ FX_ENTRY(fright_jar, effect_gfx_fright_jar), /* 0x61 */ FX_ENTRY(fright_jar, effect_gfx_fright_jar),
/* 0x62 */ FX_ENTRY(stop_watch, effect_gfx_stop_watch), /* 0x62 */ FX_ENTRY(stop_watch, effect_gfx_stop_watch),
/* 0x63 */ FX_ENTRY_NUMBERED(63, effect_gfx_effect_63), /* 0x63 */ FX_ENTRY(effect_63, effect_gfx_effect_63),
/* 0x64 */ FX_ENTRY(throw_spiny, effect_gfx_throw_spiny), /* 0x64 */ FX_ENTRY(throw_spiny, effect_gfx_throw_spiny),
/* 0x65 */ FX_ENTRY_NUMBERED(65, effect_gfx_effect_65), /* 0x65 */ FX_ENTRY(effect_65, effect_gfx_effect_65),
/* 0x66 */ FX_ENTRY(tubba_heart_attack, effect_gfx_tubba_heart_attack), /* 0x66 */ FX_ENTRY(tubba_heart_attack, effect_gfx_tubba_heart_attack),
/* 0x67 */ FX_ENTRY(whirlwind, effect_gfx_whirlwind), /* 0x67 */ FX_ENTRY(whirlwind, effect_gfx_whirlwind),
/* 0x68 */ FX_ENTRY(red_impact, effect_gfx_shockwave), /* 0x68 */ FX_ENTRY(red_impact, effect_gfx_shockwave),
@ -143,7 +137,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x72 */ FX_ENTRY(misc_particles, effect_gfx_misc_particles), /* 0x72 */ FX_ENTRY(misc_particles, effect_gfx_misc_particles),
/* 0x73 */ FX_ENTRY(static_status, effect_gfx_static_status), /* 0x73 */ FX_ENTRY(static_status, effect_gfx_static_status),
/* 0x74 */ FX_ENTRY(moving_cloud, effect_gfx_moving_cloud), /* 0x74 */ FX_ENTRY(moving_cloud, effect_gfx_moving_cloud),
/* 0x75 */ FX_ENTRY_NUMBERED(75, effect_gfx_effect_75), /* 0x75 */ FX_ENTRY(effect_75, effect_gfx_effect_75),
/* 0x76 */ {}, /* 0x76 */ {},
/* 0x77 */ FX_ENTRY(firework_rocket, effect_gfx_firework_rocket), /* 0x77 */ FX_ENTRY(firework_rocket, effect_gfx_firework_rocket),
/* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam), /* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam),
@ -160,7 +154,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x83 */ FX_ENTRY(star_spirits_energy, effect_gfx_star_spirits_energy), /* 0x83 */ FX_ENTRY(star_spirits_energy, effect_gfx_star_spirits_energy),
/* 0x84 */ FX_ENTRY(pink_sparkles, effect_gfx_sparkles), /* 0x84 */ FX_ENTRY(pink_sparkles, effect_gfx_sparkles),
/* 0x85 */ FX_ENTRY(star_outline, effect_gfx_star_outline), /* 0x85 */ FX_ENTRY(star_outline, effect_gfx_star_outline),
/* 0x86 */ FX_ENTRY_NUMBERED(86, effect_gfx_effect_86), /* 0x86 */ FX_ENTRY(effect_86, effect_gfx_effect_86),
}; };
s32 D_8007FEB8[] = { s32 D_8007FEB8[] = {

View File

@ -4,12 +4,12 @@
extern Gfx D_09000240_37D3C0[]; extern Gfx D_09000240_37D3C0[];
extern Gfx D_090002E8_37D468[]; extern Gfx D_090002E8_37D468[];
void fx_3D_init(EffectInstance* effect); void effect_3D_init(EffectInstance* effect);
void fx_3D_update(EffectInstance* effect); void effect_3D_update(EffectInstance* effect);
void fx_3D_render(EffectInstance* effect); void effect_3D_render(EffectInstance* effect);
void fx_3D_appendGfx(void* effect); void effect_3D_appendGfx(void* effect);
void fx_3D_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7, EffectInstance** outEffect) { void effect_3D_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7, EffectInstance** outEffect) {
EffectBlueprint bp; EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp; EffectBlueprint* bpPtr = &bp;
EffectInstance* effect; EffectInstance* effect;
@ -62,9 +62,9 @@ void fx_3D_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32
arg6 *= 8.0f; arg6 *= 8.0f;
bpPtr->unk_00 = 0; bpPtr->unk_00 = 0;
bpPtr->init = fx_3D_init; bpPtr->init = effect_3D_init;
bpPtr->update = fx_3D_update; bpPtr->update = effect_3D_update;
bpPtr->renderWorld = fx_3D_render; bpPtr->renderWorld = effect_3D_render;
bpPtr->unk_14 = NULL; bpPtr->unk_14 = NULL;
bpPtr->effectID = EFFECT_3D; bpPtr->effectID = EFFECT_3D;
@ -111,10 +111,10 @@ void fx_3D_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32
} }
} }
void fx_3D_init(EffectInstance* effect) { void effect_3D_init(EffectInstance* effect) {
} }
void fx_3D_update(EffectInstance* effect) { void effect_3D_update(EffectInstance* effect) {
Effect3DFXData* part = effect->data.unk_3D; Effect3DFXData* part = effect->data.unk_3D;
s32 unk_04 = part->unk_04; s32 unk_04 = part->unk_04;
s32 unk_5C; s32 unk_5C;
@ -198,11 +198,11 @@ void fx_3D_update(EffectInstance* effect) {
} }
} }
void fx_3D_render(EffectInstance* effect) { void effect_3D_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
RenderTask* retTask; RenderTask* retTask;
renderTask.appendGfx = fx_3D_appendGfx; renderTask.appendGfx = effect_3D_appendGfx;
renderTask.appendGfxArg = effect; renderTask.appendGfxArg = effect;
renderTask.distance = 0; renderTask.distance = 0;
renderTask.renderMode = RENDER_MODE_2D; renderTask.renderMode = RENDER_MODE_2D;
@ -214,7 +214,7 @@ void fx_3D_render(EffectInstance* effect) {
void func_E007A884(void) { void func_E007A884(void) {
} }
void fx_3D_appendGfx(void* effect) { void effect_3D_appendGfx(void* effect) {
Effect3DFXData* part = ((EffectInstance*)effect)->data.unk_3D; Effect3DFXData* part = ((EffectInstance*)effect)->data.unk_3D;
Matrix4f sp18; Matrix4f sp18;
Matrix4f sp58; Matrix4f sp58;

View File

@ -13,12 +13,12 @@ u8 D_E008CB14[] = { 255, 255, 64 };
u8 D_E008CB18[] = { 255, 64, 64 }; u8 D_E008CB18[] = { 255, 64, 64 };
u8 D_E008CB1C[] = { 255, 64, 255 }; u8 D_E008CB1C[] = { 255, 64, 255 };
void fx_46_init(EffectInstance* effect); void effect_46_init(EffectInstance* effect);
void fx_46_update(EffectInstance* effect); void effect_46_update(EffectInstance* effect);
void fx_46_render(EffectInstance* effect); void effect_46_render(EffectInstance* effect);
void fx_46_appendGfx(void* effect); void effect_46_appendGfx(void* effect);
EffectInstance* fx_46_main(s32 arg0, PlayerStatus* arg1, f32 arg2, s32 arg3) { EffectInstance* effect_46_main(s32 arg0, PlayerStatus* arg1, f32 arg2, s32 arg3) {
EffectBlueprint bp; EffectBlueprint bp;
EffectInstance* effect; EffectInstance* effect;
Effect46FXData* part; Effect46FXData* part;
@ -26,9 +26,9 @@ EffectInstance* fx_46_main(s32 arg0, PlayerStatus* arg1, f32 arg2, s32 arg3) {
s32 index; s32 index;
s32 i; s32 i;
bp.init = fx_46_init; bp.init = effect_46_init;
bp.update = fx_46_update; bp.update = effect_46_update;
bp.renderWorld = fx_46_render; bp.renderWorld = effect_46_render;
bp.unk_00 = 0; bp.unk_00 = 0;
bp.unk_14 = NULL; bp.unk_14 = NULL;
bp.effectID = EFFECT_46; bp.effectID = EFFECT_46;
@ -123,10 +123,10 @@ EffectInstance* fx_46_main(s32 arg0, PlayerStatus* arg1, f32 arg2, s32 arg3) {
return effect; return effect;
} }
void fx_46_init(EffectInstance* effect) { void effect_46_init(EffectInstance* effect) {
} }
void fx_46_update(EffectInstance* effect) { void effect_46_update(EffectInstance* effect) {
Effect46FXData* part = effect->data.unk_46; Effect46FXData* part = effect->data.unk_46;
s32 unk_00; s32 unk_00;
s32 unk_24; s32 unk_24;
@ -184,11 +184,11 @@ void fx_46_update(EffectInstance* effect) {
} }
} }
void fx_46_render(EffectInstance* effect) { void effect_46_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
RenderTask* retTask; RenderTask* retTask;
renderTask.appendGfx = fx_46_appendGfx; renderTask.appendGfx = effect_46_appendGfx;
renderTask.appendGfxArg = effect; renderTask.appendGfxArg = effect;
renderTask.distance = 0; renderTask.distance = 0;
renderTask.renderMode = RENDER_MODE_2D; renderTask.renderMode = RENDER_MODE_2D;
@ -197,7 +197,7 @@ void fx_46_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR; retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
} }
void fx_46_appendGfx(void* effect) { void effect_46_appendGfx(void* effect) {
Effect46FXData* part = ((EffectInstance*)effect)->data.unk_46; Effect46FXData* part = ((EffectInstance*)effect)->data.unk_46;
s32 unk_00; s32 unk_00;
s32 unk_1C = part->unk_1C; s32 unk_1C = part->unk_1C;

View File

@ -12,12 +12,12 @@ Gfx* D_E00C6C9C[] = {
D_09001B70_3CF250, D_09001B70_3CF250, D_09001B70_3CF250, NULL, NULL D_09001B70_3CF250, D_09001B70_3CF250, D_09001B70_3CF250, NULL, NULL
}; };
void fx_63_init(EffectInstance* effect); void effect_63_init(EffectInstance* effect);
void fx_63_update(EffectInstance* effect); void effect_63_update(EffectInstance* effect);
void fx_63_render(EffectInstance* effect); void effect_63_render(EffectInstance* effect);
void fx_63_appendGfx(void* effect); void effect_63_appendGfx(void* effect);
EffectInstance* fx_63_main( EffectInstance* effect_63_main(
s32 arg0, s32 arg0,
f32 arg1, f32 arg1,
f32 arg2, f32 arg2,
@ -43,9 +43,9 @@ EffectInstance* fx_63_main(
numParts = 1; numParts = 1;
} }
bpPtr->init = fx_63_init; bpPtr->init = effect_63_init;
bpPtr->update = fx_63_update; bpPtr->update = effect_63_update;
bpPtr->renderWorld = fx_63_render; bpPtr->renderWorld = effect_63_render;
bpPtr->unk_00 = 0; bpPtr->unk_00 = 0;
bpPtr->unk_14 = NULL; bpPtr->unk_14 = NULL;
bpPtr->effectID = EFFECT_63; bpPtr->effectID = EFFECT_63;
@ -125,10 +125,10 @@ EffectInstance* fx_63_main(
return effect; return effect;
} }
void fx_63_init(EffectInstance* effect) { void effect_63_init(EffectInstance* effect) {
} }
void fx_63_update(EffectInstance* effect) { void effect_63_update(EffectInstance* effect) {
Effect63FXData* part = effect->data.unk_63; Effect63FXData* part = effect->data.unk_63;
s32 unk_00 = part->unk_00; s32 unk_00 = part->unk_00;
s32 unk_24; s32 unk_24;
@ -146,7 +146,7 @@ void fx_63_update(EffectInstance* effect) {
part->unk_24++; part->unk_24++;
if (part->unk_20 == 1 && unk_00 == 1) { if (part->unk_20 == 1 && unk_00 == 1) {
shim_load_effect(EFFECT_63); shim_load_effect(EFFECT_63);
fx_63_main(2, part->unk_04, part->unk_08, part->unk_0C, part->unk_10, part->unk_14, part->unk_18, 1.0f, 32, 32); effect_63_main(2, part->unk_04, part->unk_08, part->unk_0C, part->unk_10, part->unk_14, part->unk_18, 1.0f, 32, 32);
} }
if (part->unk_20 < 0) { if (part->unk_20 < 0) {
@ -160,7 +160,7 @@ void fx_63_update(EffectInstance* effect) {
case 0: case 0:
if (!(unk_24 & (1 | 2))) { if (!(unk_24 & (1 | 2))) {
shim_load_effect(EFFECT_63); shim_load_effect(EFFECT_63);
fx_63_main(1, part->unk_04, part->unk_08, part->unk_0C, part->unk_10, part->unk_14, part->unk_18, 1.0f, part->unk_1C, part->unk_1C); effect_63_main(1, part->unk_04, part->unk_08, part->unk_0C, part->unk_10, part->unk_14, part->unk_18, 1.0f, part->unk_1C, part->unk_1C);
} }
break; break;
case 1: case 1:
@ -194,11 +194,11 @@ void fx_63_update(EffectInstance* effect) {
} }
} }
void fx_63_render(EffectInstance* effect) { void effect_63_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
RenderTask* retTask; RenderTask* retTask;
renderTask.appendGfx = fx_63_appendGfx; renderTask.appendGfx = effect_63_appendGfx;
renderTask.appendGfxArg = effect; renderTask.appendGfxArg = effect;
renderTask.distance = 10; renderTask.distance = 10;
renderTask.renderMode = RENDER_MODE_2D; renderTask.renderMode = RENDER_MODE_2D;
@ -207,7 +207,7 @@ void fx_63_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR; retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
} }
void fx_63_appendGfx(void* effect) { void effect_63_appendGfx(void* effect) {
Effect63FXData* part = ((EffectInstance*)effect)->data.unk_63; Effect63FXData* part = ((EffectInstance*)effect)->data.unk_63;
Camera* camera = &gCameras[gCurrentCameraID]; Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_34 = part->unk_34; s32 unk_34 = part->unk_34;

View File

@ -1,16 +1,16 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
void fx_65_init(EffectInstance* effect); void effect_65_init(EffectInstance* effect);
void fx_65_update(EffectInstance* effect); void effect_65_update(EffectInstance* effect);
void fx_65_render(EffectInstance* effect); void effect_65_render(EffectInstance* effect);
void fx_65_appendGfx(void* effect); void effect_65_appendGfx(void* effect);
extern Gfx D_09000400_3D15E0[]; extern Gfx D_09000400_3D15E0[];
Gfx* D_E00CACB0[] = { D_09000400_3D15E0, D_09000400_3D15E0, D_09000400_3D15E0, D_09000400_3D15E0 }; Gfx* D_E00CACB0[] = { D_09000400_3D15E0, D_09000400_3D15E0, D_09000400_3D15E0, D_09000400_3D15E0 };
EffectInstance* fx_65_main( EffectInstance* effect_65_main(
s32 arg0, s32 arg0,
f32 arg1, f32 arg1,
f32 arg2, f32 arg2,
@ -24,9 +24,9 @@ EffectInstance* fx_65_main(
s32 numParts = 1; s32 numParts = 1;
s32 i; s32 i;
bp.init = fx_65_init; bp.init = effect_65_init;
bp.update = fx_65_update; bp.update = effect_65_update;
bp.renderWorld = fx_65_render; bp.renderWorld = effect_65_render;
bp.unk_00 = 0; bp.unk_00 = 0;
bp.unk_14 = NULL; bp.unk_14 = NULL;
bp.effectID = EFFECT_65; bp.effectID = EFFECT_65;
@ -109,10 +109,10 @@ EffectInstance* fx_65_main(
return effect; return effect;
} }
void fx_65_init(EffectInstance* effect) { void effect_65_init(EffectInstance* effect) {
} }
void fx_65_update(EffectInstance* effect) { void effect_65_update(EffectInstance* effect) {
Effect65FXData* data = effect->data.unk_65; Effect65FXData* data = effect->data.unk_65;
s32 unk_00 = data->unk_00; s32 unk_00 = data->unk_00;
s32 unk_14; s32 unk_14;
@ -190,11 +190,11 @@ void fx_65_update(EffectInstance* effect) {
} }
} }
void fx_65_render(EffectInstance* effect) { void effect_65_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
RenderTask* retTask; RenderTask* retTask;
renderTask.appendGfx = fx_65_appendGfx; renderTask.appendGfx = effect_65_appendGfx;
renderTask.appendGfxArg = effect; renderTask.appendGfxArg = effect;
renderTask.distance = 10; renderTask.distance = 10;
renderTask.renderMode = RENDER_MODE_2D; renderTask.renderMode = RENDER_MODE_2D;
@ -203,9 +203,13 @@ void fx_65_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR; retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
} }
extern int COMBINED;
extern int ENVIRONMENT;
extern int SHADE;
// floats and more // floats and more
#ifdef NON_MATCHING #ifdef NON_MATCHING
void fx_65_appendGfx(void* effect) { void effect_65_appendGfx(void* effect) {
Effect65FXData* data = ((EffectInstance*)effect)->data.unk_65; //s6 Effect65FXData* data = ((EffectInstance*)effect)->data.unk_65; //s6
Matrix4f sp10; Matrix4f sp10;
f32 padding[2]; f32 padding[2];
@ -329,7 +333,8 @@ void fx_65_appendGfx(void* effect) {
new_var = 24.0f; new_var = 24.0f;
//temp_v1 = data->unk_1B8[idx]; //temp_v1 = data->unk_1B8[idx];
temp_s1 = sp50 - data->unk_1B8[idx]; temp_s1 = sp50 - data->unk_1B8[idx];
temp_f22 = (shim_sin_deg((sp50 - data->unk_1B8[idx] * 80) * 4) * 3.0f + 16.0f + temp_s1) * sp58; temp_f22 = (shim_sin_deg((sp50 - data->unk_1B8[idx] * 80) * 4) * 3.0f + 16.0f + temp_s1);
temp_f22 *= sp58;
temp_s5_2 = sp64; temp_s5_2 = sp64;
temp_s5_2 = (data->unk_2AC[idx] * new_var) + temp_s5_2; temp_s5_2 = (data->unk_2AC[idx] * new_var) + temp_s5_2;
@ -389,5 +394,5 @@ void fx_65_appendGfx(void* effect) {
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
} }
#else #else
INCLUDE_ASM(s32, "effects/effect_65", fx_65_appendGfx); INCLUDE_ASM(s32, "effects/effect_65", effect_65_appendGfx);
#endif #endif

View File

@ -8,21 +8,21 @@ extern Gfx D_09001A20_3E4380[];
Gfx* D_E00EAA50[2] = { D_09001A00_3E4360, D_09001A20_3E4380 }; Gfx* D_E00EAA50[2] = { D_09001A00_3E4360, D_09001A20_3E4380 };
Gfx* D_E00EAA58[2] = { D_09001910_3E4270, NULL }; Gfx* D_E00EAA58[2] = { D_09001910_3E4270, NULL };
void fx_75_init(EffectInstance* effect); void effect_75_init(EffectInstance* effect);
void fx_75_update(EffectInstance* effect); void effect_75_update(EffectInstance* effect);
void fx_75_render(EffectInstance* effect); void effect_75_render(EffectInstance* effect);
void fx_75_appendGfx(void* effect); void effect_75_appendGfx(void* effect);
EffectInstance* fx_75_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 scale, s32 arg5) { EffectInstance* effect_75_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 scale, s32 arg5) {
EffectBlueprint bp; EffectBlueprint bp;
EffectInstance* effect; EffectInstance* effect;
Effect75FXData* data; Effect75FXData* data;
s32 numParts = 1; s32 numParts = 1;
s32 i; s32 i;
bp.init = fx_75_init; bp.init = effect_75_init;
bp.update = fx_75_update; bp.update = effect_75_update;
bp.renderWorld = fx_75_render; bp.renderWorld = effect_75_render;
bp.unk_00 = 0; bp.unk_00 = 0;
bp.unk_14 = NULL; bp.unk_14 = NULL;
bp.effectID = EFFECT_75; bp.effectID = EFFECT_75;
@ -72,10 +72,10 @@ EffectInstance* fx_75_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 scale, s3
return effect; return effect;
} }
void fx_75_init(EffectInstance* effect) { void effect_75_init(EffectInstance* effect) {
} }
void fx_75_update(EffectInstance* effect) { void effect_75_update(EffectInstance* effect) {
Effect75FXData* data = effect->data.unk_75; Effect75FXData* data = effect->data.unk_75;
s32 unk_14; s32 unk_14;
@ -151,7 +151,7 @@ void fx_75_update(EffectInstance* effect) {
+ (data->unk_64 - data->unk_60)) * 0.5; + (data->unk_64 - data->unk_60)) * 0.5;
} }
void fx_75_render(EffectInstance* effect) { void effect_75_render(EffectInstance* effect) {
Effect75FXData* data = effect->data.unk_75; Effect75FXData* data = effect->data.unk_75;
RenderTask renderTask; RenderTask renderTask;
RenderTask* renderTaskPtr = &renderTask; RenderTask* renderTaskPtr = &renderTask;
@ -177,7 +177,7 @@ void fx_75_render(EffectInstance* effect) {
outDist = 0; outDist = 0;
} }
renderTaskPtr->appendGfx = fx_75_appendGfx; renderTaskPtr->appendGfx = effect_75_appendGfx;
renderTaskPtr->distance = -outDist; renderTaskPtr->distance = -outDist;
renderTaskPtr->appendGfxArg = effect; renderTaskPtr->appendGfxArg = effect;
renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
@ -189,7 +189,7 @@ void fx_75_render(EffectInstance* effect) {
void func_E00EA664(void) { void func_E00EA664(void) {
} }
void fx_75_appendGfx(void* effect) { void effect_75_appendGfx(void* effect) {
Effect75FXData* data = ((EffectInstance*)effect)->data.unk_75; Effect75FXData* data = ((EffectInstance*)effect)->data.unk_75;
Camera* camera = &gCameras[gCurrentCameraID]; Camera* camera = &gCameras[gCurrentCameraID];
s32 type = data->type; s32 type = data->type;

View File

@ -23,21 +23,21 @@ Gfx* D_E0128480[12] = {
Gfx* D_E01284B0[] = { D_09000800_415860 }; Gfx* D_E01284B0[] = { D_09000800_415860 };
void fx_86_init(EffectInstance* effect); void effect_86_init(EffectInstance* effect);
void fx_86_update(EffectInstance* effect); void effect_86_update(EffectInstance* effect);
void fx_86_render(EffectInstance* effect); void effect_86_render(EffectInstance* effect);
void fx_86_appendGfx(void* effect); void effect_86_appendGfx(void* effect);
EffectInstance* fx_86_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { EffectInstance* effect_86_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp; EffectBlueprint bp;
EffectInstance* effect; EffectInstance* effect;
Effect86FXData* data; Effect86FXData* data;
Effect86FXData* part; Effect86FXData* part;
s32 numParts = 1; s32 numParts = 1;
bp.init = fx_86_init; bp.init = effect_86_init;
bp.update = fx_86_update; bp.update = effect_86_update;
bp.renderWorld = fx_86_render; bp.renderWorld = effect_86_render;
bp.unk_00 = 0; bp.unk_00 = 0;
bp.unk_14 = NULL; bp.unk_14 = NULL;
bp.effectID = EFFECT_86; bp.effectID = EFFECT_86;
@ -73,10 +73,10 @@ EffectInstance* fx_86_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32
return effect; return effect;
} }
void fx_86_init(EffectInstance* effect) { void effect_86_init(EffectInstance* effect) {
} }
void fx_86_update(EffectInstance* effect) { void effect_86_update(EffectInstance* effect) {
Effect86FXData* data = effect->data.unk_86; Effect86FXData* data = effect->data.unk_86;
if (effect->flags & 0x10) { if (effect->flags & 0x10) {
@ -94,11 +94,11 @@ void fx_86_update(EffectInstance* effect) {
} }
} }
void fx_86_render(EffectInstance* effect) { void effect_86_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
RenderTask* retTask; RenderTask* retTask;
renderTask.appendGfx = fx_86_appendGfx; renderTask.appendGfx = effect_86_appendGfx;
renderTask.appendGfxArg = effect; renderTask.appendGfxArg = effect;
renderTask.distance = 10; renderTask.distance = 10;
renderTask.renderMode = RENDER_MODE_2D; renderTask.renderMode = RENDER_MODE_2D;
@ -107,7 +107,7 @@ void fx_86_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR; retTask->renderMode |= RENDER_TASK_FLAG_REFLECT_FLOOR;
} }
void fx_86_appendGfx(void* effect) { void effect_86_appendGfx(void* effect) {
Matrix4f sp10; Matrix4f sp10;
Matrix4f sp50; Matrix4f sp50;
Effect86FXData* part = ((EffectInstance*)effect)->data.unk_86; Effect86FXData* part = ((EffectInstance*)effect)->data.unk_86;

View File

@ -0,0 +1,5 @@
#include "effects/gfx/D_09000000_3A33D0.png.inc.c"
#include "effects/gfx/D_09000100_3A34D0.png.inc.c"
#include "effects/gfx/D_09000200_3A35D0.gfx.inc.c"
#include "effects/gfx/D_090002A8_3A3678.gfx.inc.c"
#include "effects/gfx/D_09000358_3A3728.gfx.inc.c"

View File

@ -0,0 +1,19 @@
#include "effects/gfx/D_09000000_3B9A70.png.inc.c"
#include "effects/gfx/D_09000080_3B9AF0.vtx.inc.c"
#include "effects/gfx/D_09000200_3B9C70.gfx.inc.c"
#include "effects/gfx/D_09000248_3B9CB8.gfx.inc.c"
#include "effects/gfx/D_09000258_3B9CC8.gfx.inc.c"
#include "effects/gfx/D_09000268_3B9CD8.gfx.inc.c"
#include "effects/gfx/D_09000278_3B9CE8.gfx.inc.c"
#include "effects/gfx/D_090003A0_3B9E10.gfx.inc.c"
#include "effects/gfx/D_090003B8_3B9E28.vtx.inc.c"
#include "effects/gfx/D_090003D8_3B9E58.gfx.inc.c"
// TODO ???
u8 D_09000418_3B9E88[] = {
0x2, 0x80, 0x1, 0xE0, 0x1, 0xFF, 0x0, 0x0, 0x2, 0x80, 0x1, 0xE0, 0x1, 0xFF, 0x0, 0x0
};
#include "effects/gfx/D_09000428_3B9E98.vtx.inc.c"
#include "effects/gfx/D_09000528_3B9F98.gfx.inc.c"
#include "effects/gfx/D_09000570_3B9FE0.gfx.inc.c"

View File

@ -2,7 +2,11 @@
#include "effects_internal.h" #include "effects_internal.h"
#include "nu/nusys.h" #include "nu/nusys.h"
s32 D_E00A29D0[] = { 0x09000200, 0x090002A8, 0x09000358 }; extern Gfx D_09000200_3A35D0[];
extern Gfx D_090002A8_3A3678[];
extern Gfx D_09000358_3A3728[];
Gfx* D_E00A29D0[] = { D_09000200_3A35D0, D_090002A8_3A3678, D_09000358_3A3728 };
typedef struct UnkStruct { typedef struct UnkStruct {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;

View File

@ -19,16 +19,16 @@ void clear_trigger_data(void) {
} }
gTriggerCount = 0; gTriggerCount = 0;
collisionStatus->pushingAgainstWall = -1; collisionStatus->pushingAgainstWall = NO_COLLIDER;
collisionStatus->currentFloor = -1; collisionStatus->currentFloor = NO_COLLIDER;
collisionStatus->lastTouchedFloor = -1; collisionStatus->lastTouchedFloor = NO_COLLIDER;
collisionStatus->currentCeiling = -1; collisionStatus->currentCeiling = NO_COLLIDER;
collisionStatus->currentInspect = -1; collisionStatus->currentInspect = NO_COLLIDER;
collisionStatus->unk_0C = -1; collisionStatus->unk_0C = -1;
collisionStatus->unk_0E = -1; collisionStatus->unk_0E = -1;
collisionStatus->unk_10 = -1; collisionStatus->unk_10 = -1;
collisionStatus->currentWall = -1; collisionStatus->currentWall = NO_COLLIDER;
collisionStatus->lastWallHammered = -1; collisionStatus->lastWallHammered = NO_COLLIDER;
collisionStatus->touchingWallTrigger = 0; collisionStatus->touchingWallTrigger = 0;
collisionStatus->bombetteExploded = -1; collisionStatus->bombetteExploded = -1;
collisionStatus->bombetteExplosionPos.x = 0.0f; collisionStatus->bombetteExplosionPos.x = 0.0f;

View File

@ -169,7 +169,7 @@ void action_update_spin(void) {
playerSpinState->spinDirection.x = sin_rad(DEG_TO_RAD(angle)) * playerSpinState->spinDirectionMagnitude; playerSpinState->spinDirection.x = sin_rad(DEG_TO_RAD(angle)) * playerSpinState->spinDirectionMagnitude;
playerSpinState->spinDirection.y = -cos_rad(DEG_TO_RAD(angle)) * playerSpinState->spinDirectionMagnitude; playerSpinState->spinDirection.y = -cos_rad(DEG_TO_RAD(angle)) * playerSpinState->spinDirectionMagnitude;
playerStatus->currentStateTime--; playerStatus->currentStateTime--;
if ((playerStatus->currentStateTime) == 0) { if (playerStatus->currentStateTime == 0) {
playerSpinState->stopSoundTimer = 4; playerSpinState->stopSoundTimer = 4;
set_action_state(ACTION_STATE_IDLE); set_action_state(ACTION_STATE_IDLE);
playerStatus->flags &= ~PS_FLAG_SPINNING; playerStatus->flags &= ~PS_FLAG_SPINNING;
@ -183,7 +183,7 @@ void action_update_spin(void) {
if (playerStatus->actionSubstate == SUBSTATE_SPIN_0) { if (playerStatus->actionSubstate == SUBSTATE_SPIN_0) {
if (playerStatus->animFlags & PA_FLAG_INTERRUPT_SPIN) { if (playerStatus->animFlags & PA_FLAG_INTERRUPT_SPIN) {
playerStatus->actionSubstate = SUBSTATE_SPIN_1; playerStatus->actionSubstate = SUBSTATE_SPIN_1;
} else if (gCollisionStatus.pushingAgainstWall >= 0) { } else if (gCollisionStatus.pushingAgainstWall > NO_COLLIDER) {
playerSpinState->hitWallTime++; playerSpinState->hitWallTime++;
if (playerSpinState->hitWallTime >= 10) { if (playerSpinState->hitWallTime >= 10) {
playerStatus->actionSubstate = SUBSTATE_SPIN_1; playerStatus->actionSubstate = SUBSTATE_SPIN_1;

View File

@ -68,7 +68,7 @@ API_CALLABLE(N(GetBombetteExplodeGround)) {
Npc* partner = get_npc_safe(NPC_PARTNER); Npc* partner = get_npc_safe(NPC_PARTNER);
s32 colliderID = NO_COLLIDER; s32 colliderID = NO_COLLIDER;
if (gCollisionStatus.bombetteExploded > NO_COLLIDER) { if (gCollisionStatus.bombetteExploded >= 0) {
f32 depth = 11.0f; f32 depth = 11.0f;
f32 x = partner->pos.x; f32 x = partner->pos.x;
f32 y = partner->pos.y + depth; f32 y = partner->pos.y + depth;

View File

@ -193,7 +193,7 @@ void func_802BD414_31E184(Npc* npc) {
npc->pos.z += (z - npc->pos.z) * 0.5f; npc->pos.z += (z - npc->pos.z) * 0.5f;
} else { } else {
npc_move_heading(npc, sp24, sp20); npc_move_heading(npc, sp24, sp20);
collisionStatus->pushingAgainstWall = -1; collisionStatus->pushingAgainstWall = NO_COLLIDER;
} }
sp24 = 2.0f; sp24 = 2.0f;
sp20 = clamp_angle(npc->yaw - 30.0f); sp20 = clamp_angle(npc->yaw - 30.0f);

View File

@ -1109,7 +1109,7 @@ segments:
type: bin type: bin
start: 0x3EB3E0 start: 0x3EB3E0
vram: 0xE00A2000 vram: 0xE00A2000
- name: _3A33D0 - name: effect_gfx_motion_blur_flame
type: bin type: bin
start: 0x3EBE20 start: 0x3EBE20
- name: effect_energy_orb_wave - name: effect_energy_orb_wave
@ -1193,7 +1193,7 @@ segments:
type: bin type: bin
start: 0x401620 start: 0x401620
vram: 0xE00BA000 vram: 0xE00BA000
- name: _3B9A70 - name: effect_gfx_underwater
type: bin type: bin
start: 0x4024C0 start: 0x4024C0
- name: effect_lightning_bolt - name: effect_lightning_bolt

View File

@ -53,7 +53,7 @@ energy_shockwave_main = 0xE0072000; // segment:effect_energy_shockwave
shimmer_wave_main = 0xE0074000; // segment:effect_shimmer_wave shimmer_wave_main = 0xE0074000; // segment:effect_shimmer_wave
aura_main = 0xE0076000; // segment:effect_aura aura_main = 0xE0076000; // segment:effect_aura
bulb_glow_main = 0xE0078000; // segment:effect_bulb_glow bulb_glow_main = 0xE0078000; // segment:effect_bulb_glow
fx_3D_main = 0xE007A000; // segment:effect_effect_3D effect_3D_main = 0xE007A000; // segment:effect_effect_3D
blast_main = 0xE007C000; // segment:effect_blast blast_main = 0xE007C000; // segment:effect_blast
fire_flower_main = 0xE007E000; // segment:effect_fire_flower fire_flower_main = 0xE007E000; // segment:effect_fire_flower
recover_main = 0xE0080000; // segment:effect_recover recover_main = 0xE0080000; // segment:effect_recover
@ -62,7 +62,7 @@ bombette_breaking_main = 0xE0084084; // segment:effect_bombette_breaking
firework_main = 0xE0086000; // segment:effect_firework firework_main = 0xE0086000; // segment:effect_firework
confetti_main = 0xE008817C; // segment:effect_confetti confetti_main = 0xE008817C; // segment:effect_confetti
snowfall_main = 0xE008A188; // segment:effect_snowfall snowfall_main = 0xE008A188; // segment:effect_snowfall
fx_46_main = 0xE008C000; // segment:effect_effect_46 effect_46_main = 0xE008C000; // segment:effect_effect_46
gather_magic_main = 0xE008E000; // segment:effect_gather_magic gather_magic_main = 0xE008E000; // segment:effect_gather_magic
attack_result_text_main = 0xE0090000; // segment:effect_attack_result_text attack_result_text_main = 0xE0090000; // segment:effect_attack_result_text
small_gold_sparkle_main = 0xE0092000; // segment:effect_small_gold_sparkle small_gold_sparkle_main = 0xE0092000; // segment:effect_small_gold_sparkle
@ -91,9 +91,9 @@ water_splash_main = 0xE00BE000; // segment:effect_water_splash
snowman_doll_main = 0xE00C0000; // segment:effect_snowman_doll snowman_doll_main = 0xE00C0000; // segment:effect_snowman_doll
fright_jar_main = 0xE00C2000; // segment:effect_fright_jar fright_jar_main = 0xE00C2000; // segment:effect_fright_jar
stop_watch_main = 0xE00C4000; // segment:effect_stop_watch stop_watch_main = 0xE00C4000; // segment:effect_stop_watch
fx_63_main = 0xE00C6000; // segment:effect_effect_63 effect_63_main = 0xE00C6000; // segment:effect_effect_63
throw_spiny_main = 0xE00C8000; // segment:effect_throw_spiny throw_spiny_main = 0xE00C8000; // segment:effect_throw_spiny
fx_65_main = 0xE00CA000; // segment:effect_effect_65 effect_65_main = 0xE00CA000; // segment:effect_effect_65
tubba_heart_attack_main = 0xE00CC000; // segment:effect_tubba_heart_attack tubba_heart_attack_main = 0xE00CC000; // segment:effect_tubba_heart_attack
whirlwind_main = 0xE00CE000; // segment:effect_whirlwind whirlwind_main = 0xE00CE000; // segment:effect_whirlwind
red_impact_main = 0xE00D0000; // segment:effect_red_impact red_impact_main = 0xE00D0000; // segment:effect_red_impact
@ -108,7 +108,7 @@ hieroglyphs_main = 0xE00E2000; // segment:effect_hieroglyphs
misc_particles_main = 0xE00E4000; // segment:effect_misc_particles misc_particles_main = 0xE00E4000; // segment:effect_misc_particles
static_status_main = 0xE00E6000; // segment:effect_static_status static_status_main = 0xE00E6000; // segment:effect_static_status
moving_cloud_main = 0xE00E8000; // segment:effect_moving_cloud moving_cloud_main = 0xE00E8000; // segment:effect_moving_cloud
fx_75_main = 0xE00EA000; // segment:effect_effect_75 effect_75_main = 0xE00EA000; // segment:effect_effect_75
firework_rocket_main = 0xE010A000; // segment:effect_firework_rocket firework_rocket_main = 0xE010A000; // segment:effect_firework_rocket
peach_star_beam_main = 0xE010C000; // segment:effect_peach_star_beam peach_star_beam_main = 0xE010C000; // segment:effect_peach_star_beam
chapter_change_main = 0xE010E32C; // segment:effect_chapter_change chapter_change_main = 0xE010E32C; // segment:effect_chapter_change
@ -124,7 +124,7 @@ sun_main = 0xE0120000; // segment:effect_sun
star_spirits_energy_main = 0xE0122000; // segment:effect_star_spirits_energy star_spirits_energy_main = 0xE0122000; // segment:effect_star_spirits_energy
pink_sparkles_main = 0xE0124000; // segment:effect_pink_sparkles pink_sparkles_main = 0xE0124000; // segment:effect_pink_sparkles
star_outline_main = 0xE0126000; // segment:effect_star_outline star_outline_main = 0xE0126000; // segment:effect_star_outline
fx_86_main = 0xE0128000; // segment:effect_effect_86 effect_86_main = 0xE0128000; // segment:effect_effect_86
machi_settings = 0x802407A0; // segment:machi machi_settings = 0x802407A0; // segment:machi
mac_00_settings = 0x80243BE0; // segment:mac_00 mac_00_settings = 0x80243BE0; // segment:mac_00

View File

@ -990,7 +990,7 @@ segments:
type: bin type: bin
start: 0x3AAC90 start: 0x3AAC90
vram: 0xE00A2000 vram: 0xE00A2000
- name: _3A33D0 - name: effect_gfx_motion_blur_flame
type: bin type: bin
start: 0x3AB6D0 start: 0x3AB6D0
- name: effect_energy_orb_wave - name: effect_energy_orb_wave
@ -1074,7 +1074,7 @@ segments:
type: bin type: bin
start: 0x3C0ED0 start: 0x3C0ED0
vram: 0xE00BA000 vram: 0xE00BA000
- name: _3B9A70 - name: effect_gfx_underwater
type: bin type: bin
start: 0x3C1D70 start: 0x3C1D70
- name: effect_lightning_bolt - name: effect_lightning_bolt

View File

@ -927,7 +927,7 @@ energy_shockwave_main = 0xE0072000; // segment:effect_energy_shockwave
shimmer_wave_main = 0xE0074000; // segment:effect_shimmer_wave shimmer_wave_main = 0xE0074000; // segment:effect_shimmer_wave
aura_main = 0xE0076000; // segment:effect_aura aura_main = 0xE0076000; // segment:effect_aura
bulb_glow_main = 0xE0078000; // segment:effect_bulb_glow bulb_glow_main = 0xE0078000; // segment:effect_bulb_glow
fx_3D_main = 0xE007A000; // segment:effect_effect_3D effect_3D_main = 0xE007A000; // segment:effect_effect_3D
blast_main = 0xE007C000; // segment:effect_blast blast_main = 0xE007C000; // segment:effect_blast
fire_flower_main = 0xE007E000; // segment:effect_fire_flower fire_flower_main = 0xE007E000; // segment:effect_fire_flower
recover_main = 0xE0080000; // segment:effect_recover recover_main = 0xE0080000; // segment:effect_recover
@ -936,7 +936,7 @@ bombette_breaking_main = 0xE0084084; // segment:effect_bombette_breaking
firework_main = 0xE0086000; // segment:effect_firework firework_main = 0xE0086000; // segment:effect_firework
confetti_main = 0xE008817C; // segment:effect_confetti confetti_main = 0xE008817C; // segment:effect_confetti
snowfall_main = 0xE008A188; // segment:effect_snowfall snowfall_main = 0xE008A188; // segment:effect_snowfall
fx_46_main = 0xE008C000; // segment:effect_effect_46 effect_46_main = 0xE008C000; // segment:effect_effect_46
gather_magic_main = 0xE008E000; // segment:effect_gather_magic gather_magic_main = 0xE008E000; // segment:effect_gather_magic
attack_result_text_main = 0xE0090000; // segment:effect_attack_result_text attack_result_text_main = 0xE0090000; // segment:effect_attack_result_text
small_gold_sparkle_main = 0xE0092000; // segment:effect_small_gold_sparkle small_gold_sparkle_main = 0xE0092000; // segment:effect_small_gold_sparkle
@ -965,9 +965,9 @@ water_splash_main = 0xE00BE000; // segment:effect_water_splash
snowman_doll_main = 0xE00C0000; // segment:effect_snowman_doll snowman_doll_main = 0xE00C0000; // segment:effect_snowman_doll
fright_jar_main = 0xE00C2000; // segment:effect_fright_jar fright_jar_main = 0xE00C2000; // segment:effect_fright_jar
stop_watch_main = 0xE00C4000; // segment:effect_stop_watch stop_watch_main = 0xE00C4000; // segment:effect_stop_watch
fx_63_main = 0xE00C6000; // segment:effect_effect_63 effect_63_main = 0xE00C6000; // segment:effect_effect_63
throw_spiny_main = 0xE00C8000; // segment:effect_throw_spiny throw_spiny_main = 0xE00C8000; // segment:effect_throw_spiny
fx_65_main = 0xE00CA000; // segment:effect_effect_65 effect_65_main = 0xE00CA000; // segment:effect_effect_65
tubba_heart_attack_main = 0xE00CC000; // segment:effect_tubba_heart_attack tubba_heart_attack_main = 0xE00CC000; // segment:effect_tubba_heart_attack
whirlwind_main = 0xE00CE000; // segment:effect_whirlwind whirlwind_main = 0xE00CE000; // segment:effect_whirlwind
red_impact_main = 0xE00D0000; // segment:effect_red_impact red_impact_main = 0xE00D0000; // segment:effect_red_impact
@ -982,7 +982,7 @@ hieroglyphs_main = 0xE00E2000; // segment:effect_hieroglyphs
misc_particles_main = 0xE00E4000; // segment:effect_misc_particles misc_particles_main = 0xE00E4000; // segment:effect_misc_particles
static_status_main = 0xE00E6000; // segment:effect_static_status static_status_main = 0xE00E6000; // segment:effect_static_status
moving_cloud_main = 0xE00E8000; // segment:effect_moving_cloud moving_cloud_main = 0xE00E8000; // segment:effect_moving_cloud
fx_75_main = 0xE00EA000; // segment:effect_effect_75 effect_75_main = 0xE00EA000; // segment:effect_effect_75
firework_rocket_main = 0xE010A000; // segment:effect_firework_rocket firework_rocket_main = 0xE010A000; // segment:effect_firework_rocket
peach_star_beam_main = 0xE010C000; // segment:effect_peach_star_beam peach_star_beam_main = 0xE010C000; // segment:effect_peach_star_beam
chapter_change_main = 0xE010E32C; // segment:effect_chapter_change chapter_change_main = 0xE010E32C; // segment:effect_chapter_change
@ -998,7 +998,7 @@ sun_main = 0xE0120000; // segment:effect_sun
star_spirits_energy_main = 0xE0122000; // segment:effect_star_spirits_energy star_spirits_energy_main = 0xE0122000; // segment:effect_star_spirits_energy
pink_sparkles_main = 0xE0124000; // segment:effect_pink_sparkles pink_sparkles_main = 0xE0124000; // segment:effect_pink_sparkles
star_outline_main = 0xE0126000; // segment:effect_star_outline star_outline_main = 0xE0126000; // segment:effect_star_outline
fx_86_main = 0xE0128000; // segment:effect_effect_86 effect_86_main = 0xE0128000; // segment:effect_effect_86
b_area_kzn2_dmaTable = 0x8022AA84; b_area_kzn2_dmaTable = 0x8022AA84;
b_area_kmr_part_1_Formations = 0x802194D4; b_area_kmr_part_1_Formations = 0x802194D4;

View File

@ -5017,7 +5017,24 @@ segments:
subsegments: subsegments:
- [0x3A2990, c, motion_blur_flame] - [0x3A2990, c, motion_blur_flame]
- [0x3A3360] - [0x3A3360]
- [0x3A33D0, bin] # motion_blur_flame gfx - name: effect_gfx_motion_blur_flame
dir: effects/gfx
type: code
start: 0x3A33D0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3A33D0, c, motion_blur_flame]
- start: 0x3A33D0
type: .data
name: motion_blur_flame
subsegments:
- [0x3A33D0, i8, D_09000000_3A33D0, 16, 16]
- [0x3A34D0, i8, D_09000100_3A34D0, 16, 16]
- [0x3A35D0, gfx, D_09000200_3A35D0]
- [0x3A3678, gfx, D_090002A8_3A3678]
- [0x3A3728, gfx, D_09000358_3A3728]
- [0x3A37D8]
- name: effect_energy_orb_wave - name: effect_energy_orb_wave
dir: effects dir: effects
type: code type: code
@ -5414,9 +5431,32 @@ segments:
subsegments: subsegments:
- [0x3B8BD0, c, underwater] - [0x3B8BD0, c, underwater]
- [0x3B9A50] - [0x3B9A50]
- start: 0x3B9A70 # underwater gfx - name: effect_gfx_underwater
type: bin dir: effects/gfx
align: 16 type: code
start: 0x3B9A70
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3B9A70, c, underwater]
- start: 0x3B9A70
type: .data
name: underwater
subsegments:
- [0x3B9A70, i4, D_09000000_3B9A70, 16, 16]
- [0x3B9AF0, vtx, D_09000080_3B9AF0]
- [0x3B9C70, gfx, D_09000200_3B9C70]
- [0x3B9CB8, gfx, D_09000248_3B9CB8]
- [0x3B9CC8, gfx, D_09000258_3B9CC8]
- [0x3B9CD8, gfx, D_09000268_3B9CD8]
- [0x3B9CE8, gfx, D_09000278_3B9CE8]
- [0x3B9E10, gfx, D_090003A0_3B9E10]
- [0x3B9E28, vtx, D_090003B8_3B9E28]
- [0x3B9E58, gfx, D_090003D8_3B9E58]
- [0x3B9E88] # unmapped
- [0x3B9E98, vtx, D_09000428_3B9E98]
- [0x3B9F98, gfx, D_09000528_3B9F98]
- [0x3B9FE0, gfx, D_09000570_3B9FE0]
- name: effect_lightning_bolt - name: effect_lightning_bolt
dir: effects dir: effects
type: code type: code