diff --git a/decompressed.pal.yaml b/decompressed.pal.yaml index e831f6af..aab33b08 100644 --- a/decompressed.pal.yaml +++ b/decompressed.pal.yaml @@ -2241,7 +2241,7 @@ segments: # # follows_vram: core2 # # exclusive_ram_id: overlay # # subsegments: -# # - [0x10A6FD0, c, code_0] #DONE +# # - [0x10A6FD0, c, fight] #DONE # # - [0x10A7150, c, chfinalboss] # # - [0x10ACEA0, c, chbossjinjo] #DONE # # - [0x10ADE60, c, chbossjinjobase] #DONE @@ -2272,7 +2272,7 @@ segments: # # - [0x10B31F0, .rodata, code_9850] # # - [0x10B3200, .rodata, chjinjonator] # # - [0x10B3310, .rodata, chbossshadow] -# # - [0x10B3320, .bss, code_0] +# # - [0x10B3320, .bss, fight] # # - [0x10B3320, .bss, chfinalboss] # # - [0x10B3320, .bss, chspellfireball] # # - [0x10B3320, .bss, chjinjonator] diff --git a/decompressed.us.v10.yaml b/decompressed.us.v10.yaml index 61f10e98..c1923b09 100644 --- a/decompressed.us.v10.yaml +++ b/decompressed.us.v10.yaml @@ -2239,7 +2239,7 @@ segments: follows_vram: core2 exclusive_ram_id: overlay subsegments: - - [0x10A6FD0, c, code_0] #DONE + - [0x10A6FD0, c, fight] #DONE - [0x10A7150, c, chfinalboss] - [0x10ACEA0, c, chbossjinjo] #DONE - [0x10ADE60, c, chbossjinjobase] #DONE @@ -2270,7 +2270,7 @@ segments: - [0x10B31F0, .rodata, chgreenblast] - [0x10B3200, .rodata, chjinjonator] - [0x10B3310, .rodata, chbossshadow] - - [0x10B3320, .bss, code_0] + - [0x10B3320, .bss, fight] - [0x10B3320, .bss, chfinalboss] - [0x10B3320, .bss, chspellfireball] - [0x10B3320, .bss, chjinjonator] diff --git a/include/core2/particle.h b/include/core2/particle.h index 9c35b0f6..081b1338 100644 --- a/include/core2/particle.h +++ b/include/core2/particle.h @@ -15,7 +15,7 @@ void particleEmitter_setParticleCallback(ParticleEmitter *this, void (*arg1)(Par void func_802EFA20(ParticleEmitter *this, f32, f32); void func_802EFA34(ParticleEmitter *this, f32); void func_802EFA40(ParticleEmitter *this, f32 (*)[3]); -void func_802EFA78(ParticleEmitter *this, s32 arg1); +void particleEmitter_func_802EFA78(ParticleEmitter *this, s32 arg1); void func_802EFF5C(ParticleEmitter *this, f32, f32, f32); void func_802EFF7C(ParticleEmitter *this, f32, f32, f32); void func_802EFF9C(ParticleEmitter *this, f32); diff --git a/include/enums.h b/include/enums.h index 543185ca..874e2aa9 100644 --- a/include/enums.h +++ b/include/enums.h @@ -2092,7 +2092,8 @@ enum actor_e ACTOR_3A1_STONE_JINJO, ACTOR_3A2_JINJO_STATUE_BASE, - ACTOR_3A5_BOSS_JINJO_ORANGE = 0x3A5, + ACTOR_3A4_BOSS_JINJO_BASE_IDX = 0x3A4, + ACTOR_3A5_BOSS_JINJO_ORANGE, ACTOR_3A6_BOSS_JINJO_GREEN, ACTOR_3A7_BOSS_JINJO_PINK, ACTOR_3A8_BOSS_JINJO_YELLOW, @@ -2101,6 +2102,7 @@ enum actor_e ACTOR_3AA_GRUNTY_SPELL_GREEN_ATTACK = 0x3AA, ACTOR_3AB_GRUNTY_SPELL_BARRIER, ACTOR_3AC_JINJONATOR, + ACTOR_3AD_JINJONATOR_STATUE_BASE_ACTIVATOR, ACTOR_3AF_GRUNTY_SHADOW = 0x3AF, @@ -3428,10 +3430,10 @@ enum asset_e ASSET_553_MODEL_BROOMSTICK_PIECE_SHORT, ASSET_554_MODEL_BROOMSTICK_PIECE_LONG, ASSET_555_MODEL_BROOMSTICK_PIECE_EYE, - // 556 Blast When Yellow Jinjo Hits Gruntilda - // 557 Blast When Orange Jinjo Hits Gruntilda - // 558 Blast When Green Jinjo Hits Gruntilda - // 559 Blast When Pink Jinjo Hits Gruntilda + ASSET_556_MODEL_YELLOW_JINJO_BLAST, + ASSET_557_MODEL_ORANGE_JINJO_BLAST, + ASSET_558_MODEL_GREEN_JINJO_BLAST, + ASSET_559_MODEL_PINK_JINJO_BLAST, // 55a BK World Entry/Exit Pad // 55b FP Boggy's Igloo ASSET_55C_MODEL_PRESS_START_OVERLAY = 0x55C, @@ -4260,6 +4262,48 @@ enum asset_e ASSET_10E7_TEXT_UNKNOWN = 0x10E7, + ASSET_10ED_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_1 = 0x10ED, + ASSET_10EE_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_2, + ASSET_10EF_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_3, + ASSET_10F0_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_4, + ASSET_10F1_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_5, + + ASSET_10F2_TEXT_FINALBOSS_PHASE_1_OPTION_1 = 0x10F2, + ASSET_10F3_TEXT_FINALBOSS_PHASE_1_OPTION_2, + ASSET_10F4_TEXT_FINALBOSS_PHASE_1_OPTION_3, + ASSET_10F5_TEXT_FINALBOSS_PHASE_1_OPTION_4, + ASSET_10F6_TEXT_FINALBOSS_PHASE_1_OPTION_5, + + ASSET_110B_TEXT_FINALBOSS_PHASE_2_OPTION_1 = 0x110B, + ASSET_110C_TEXT_FINALBOSS_PHASE_2_OPTION_2, + ASSET_110D_TEXT_FINALBOSS_PHASE_2_OPTION_3, + ASSET_110E_TEXT_FINALBOSS_PHASE_2_OPTION_4, + ASSET_110F_TEXT_FINALBOSS_PHASE_2_OPTION_5, + + ASSET_111D_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_1 = 0x111D, + ASSET_111E_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_2, + ASSET_111F_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_3, + ASSET_1120_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_4, + ASSET_1121_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_5, + + ASSET_1122_TEXT_FINALBOSS_PHASE_3_OPTION_1 = 0x1122, + ASSET_1123_TEXT_FINALBOSS_PHASE_3_OPTION_2, + ASSET_1124_TEXT_FINALBOSS_PHASE_3_OPTION_3, + ASSET_1125_TEXT_FINALBOSS_PHASE_3_OPTION_4, + ASSET_1126_TEXT_FINALBOSS_PHASE_3_OPTION_5, + + ASSET_113B_TEXT_FINALBOSS_PHASE_4_OPTION_1 = 0x113B, + ASSET_113C_TEXT_FINALBOSS_PHASE_4_OPTION_2, + ASSET_113D_TEXT_FINALBOSS_PHASE_4_OPTION_3, + ASSET_113E_TEXT_FINALBOSS_PHASE_4_OPTION_4, + ASSET_113F_TEXT_FINALBOSS_PHASE_4_OPTION_5, + + ASSET_1154_TEXT_FINALBOSS_PHASE_5_OPTION_1 = 0x1154, + ASSET_1155_TEXT_FINALBOSS_PHASE_5_OPTION_2, + ASSET_1156_TEXT_FINALBOSS_PHASE_5_OPTION_3, + ASSET_1157_TEXT_FINALBOSS_PHASE_5_OPTION_4, + ASSET_1158_TEXT_FINALBOSS_PHASE_5_OPTION_5, + ASSET_146B_MODEL_TTC_TREASURE_TROVE_COVE_OPA = 0x146B, ASSET_146C_MODEL_TTC_TREASURE_TROVE_COVE_XLU, ASSET_146D_MODEL_TTC_NIPPERS_SHELL_OPA, diff --git a/include/functions.h b/include/functions.h index 9e0f31f0..ca092d0a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -203,19 +203,19 @@ void func_8030DA44(u8); void particleEmitter_emitInVolume(ParticleEmitter *, f32[3], f32[3], s32); ParticleEmitter *particleEmitter_new(u32 capacity); -void particleEmitter_setParticleAccelerationRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); -void func_802EF9F8(ParticleEmitter *, f32); -void func_802EFA18(ParticleEmitter *, s32); +void particleEmitter_setAccelerationRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); +void particleEmitter_func_802EF9F8(ParticleEmitter *, f32); +void particleEmitter_func_802EFA18(ParticleEmitter *, s32); void particleEmitter_setFade(ParticleEmitter *, f32, f32); void particleEmitter_setDrawMode(ParticleEmitter *, s32); void particleEmitter_setStartingFrameRange(ParticleEmitter *this, s32 arg1, s32 arg2); void particleEmitter_setParticleFramerateRange(ParticleEmitter *, f32, f32); -void particleEmitter_setParticleSpawnPositionRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); +void particleEmitter_setSpawnPositionRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void particleEmitter_setStartingScaleRange(ParticleEmitter *, f32, f32); void particleEmitter_setFinalScaleRange(ParticleEmitter *, f32, f32); void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *, ParticleScaleAndLifetimeRanges *); -void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, struct41s *); -void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1); +void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, ParticleSettingsVelocityAcceleration *); +void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, ParticleSettingsVelocityPosition *arg1); void particleEmitter_setAngularVelocityRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void particleEmitter_setSpawnIntervalRange(ParticleEmitter *, f32, f32); void particleEmitter_setParticleLifeTimeRange(ParticleEmitter *, f32, f32); @@ -499,7 +499,7 @@ void actor_playAnimationOnce(Actor *); void actor_loopAnimation(Actor *); /* used in fight */ -void func_80326224(Actor *this); +void actor_update_func_80326224(Actor *this); void func_802F9FD0(s32, f32, f32, f32); void func_80324D54(f32, enum sfx_e, f32, s32, f32 [3], f32, f32); @@ -526,7 +526,7 @@ extern void subaddie_set_state_forward(Actor *, s32); extern BKModelBin *marker_loadModelBin(ActorMarker *this); extern Struct70s *func_8034C2C4(ActorMarker *marker, s32 arg1); -extern void func_80326310(Actor *this); +extern void func_80326310(Actor *this); // actor_setBlendStateFadeOut ?? extern ActorMarker *marker_init(s32 *pos, MarkerDrawFunc draw_func, int arg2, int marker_id, int arg4); extern s32 asset_getFlag(enum asset_e arg0); extern void spawnableActorList_add(ActorInfo *arg0, Actor *(*arg1)(s32[3], s32, ActorInfo *, u32), u32 arg2); diff --git a/include/prop.h b/include/prop.h index a147b9be..d9b28afb 100644 --- a/include/prop.h +++ b/include/prop.h @@ -168,7 +168,7 @@ typedef struct actor_s{ TUPLE(f32, unk1C); f32 actor_specific_1_f; //used in cheggs TUPLE(f32, velocity); - u32 unk38_31:10; + u32 unk38_31:10; // hit count for jinjo base in fight u32 unk38_21:9; u32 unk38_13:9; u32 stored_animctrl_playbackType_:3; //animctrlPlaybackType @@ -230,10 +230,10 @@ typedef struct actor_s{ u32 unkF4_22:1; u32 initialized:1; //unkF4_21; u32 unkF4_20:12; - u32 unkF4_8:9; + u32 unkF4_8:9; // jinjo id in final fight f32 stored_animctrl_subrangeMin; //animCtrl_SubRangeStart f32 stored_animctrl_subrangeMax; //animCtrl_SubRangeEnd - ActorMarker *unk100; + ActorMarker *unk100; // child actor marker ? ActorMarker *unk104; Struct62s *unk108; // void ( *unk108)(struct actorMarker_s *, s32); //saved from marker->collisionFunc diff --git a/include/structs.h b/include/structs.h index 9cc3ce23..ceec68ea 100644 --- a/include/structs.h +++ b/include/structs.h @@ -384,41 +384,41 @@ typedef struct particle_scale_and_lifetime_ranges_s{ } ParticleScaleAndLifetimeRanges; typedef struct struct_32_s{ - f32 unk0[3]; - f32 unkC[3]; -} struct32s; + f32 min[3]; + f32 max[3]; +} ParticleSettingsVelocity; typedef struct struct_33_s{ - f32 unk0[3]; - f32 unkC[3]; -} struct33s; + f32 min[3]; + f32 max[3]; +} ParticleSettingsAcceleration; typedef struct struct_34_s{ - f32 unk0[3]; - f32 unkC[3]; -} struct34s; + f32 min[3]; + f32 max[3]; +} ParticleSettingsSpawnPosition; typedef struct struct_40_s{ - ParticleScaleAndLifetimeRanges unk0; - f32 unk28; - f32 unk2C; -} struct40s; + ParticleScaleAndLifetimeRanges scale_and_lifetime; + f32 drawmode; + f32 count; +} ParticleSettingsScaleAndLifetimeDrawModeEmitCount; typedef struct struct_41_s{ - struct32s unk0; - struct33s unk18; -} struct41s; + ParticleSettingsVelocity velocity; + ParticleSettingsAcceleration acceleration; +} ParticleSettingsVelocityAcceleration; typedef struct struct_42_s{ - struct32s unk0; - struct34s unk18; -} struct42s; + ParticleSettingsVelocity velocity; + ParticleSettingsSpawnPosition spawn_position; +} ParticleSettingsVelocityPosition; typedef struct struct_43_s{ - struct32s unk0; - struct33s unk18; - struct34s unk30; -} struct43s; + ParticleSettingsVelocity velocity; + ParticleSettingsAcceleration acceleration; + ParticleSettingsSpawnPosition spawn_position; +} ParticleSettingsVelocityAccelerationPosition; typedef struct { u32 unk0_31:11; diff --git a/level_symbols.us.v10.txt b/level_symbols.us.v10.txt index 644876c1..ee1488c5 100644 --- a/level_symbols.us.v10.txt +++ b/level_symbols.us.v10.txt @@ -17,7 +17,7 @@ lair_func_8038CD48 = 0x8038CD48; lair_func_8038CF18 = 0x8038CF18; lair_func_8038E0B0 = 0x8038E0B0; lair_func_8038E768 = 0x8038E768; -fight_func_803863F0 = 0x803863F0; +fight_addSpawnableActors = 0x803863F0; cutscene_func_8038C4E0 = 0x8038C4E0; chmole_learnedAllSpiralMountainAbilities = 0x802DA498; diff --git a/src/BGS/ch/bigalligator.c b/src/BGS/ch/bigalligator.c index e50ff1f2..275701ab 100644 --- a/src/BGS/ch/bigalligator.c +++ b/src/BGS/ch/bigalligator.c @@ -10,7 +10,7 @@ void func_8038FCB0(Actor *); /* .data */ ActorInfo D_80390D70 = {MARKER_DC_BIG_ALLIGATOR, ACTOR_F6_BIG_ALLIGATOR, ASSET_397_MODEL_BIG_ALLIGATOR, 0x01, NULL, - func_8038FCB0, func_80326224, actor_draw, + func_8038FCB0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/BGS/ch/code_8A60.c b/src/BGS/ch/code_8A60.c index ef53acf3..2653581d 100644 --- a/src/BGS/ch/code_8A60.c +++ b/src/BGS/ch/code_8A60.c @@ -18,8 +18,8 @@ ActorAnimationInfo D_80390B90[] = { {ASSET_D5_ANIM_SWITCH_UP, 0.5f}, {ASSET_D5_ANIM_SWITCH_UP, 1e+8f} }; -ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80390BD8 = {MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH, ACTOR_14E_BGS_ELEVATED_WALKWAY_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038EEA4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80390BFC = {MARKER_FD_BGS_MAZE_SWITCH, ACTOR_1FB_BGS_MAZE_SWITCH, ASSET_3F5_BGS_JIGGY_SWITCH, 1, D_80390B90, func_8038F06C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; void func_8038EE50(void){ f32 sp24[3]; diff --git a/src/BGS/ch/croctus.c b/src/BGS/ch/croctus.c index 350c93e5..5a6400d6 100644 --- a/src/BGS/ch/croctus.c +++ b/src/BGS/ch/croctus.c @@ -31,7 +31,7 @@ ActorAnimationInfo D_803907CC[] = { }; ActorInfo D_80390804 ={MARKER_FC_CROCTUS, ACTOR_1FA_CROCTUS, ASSET_425_MODEL_CROCTUS, 1, D_803907CC, - func_80387FD4, func_80326224, func_8038860C, + func_80387FD4, actor_update_func_80326224, func_8038860C, 0, 0, 0.0f, 0 }; diff --git a/src/BGS/ch/leafboat.c b/src/BGS/ch/leafboat.c index 6d2dfbc9..f573af7a 100644 --- a/src/BGS/ch/leafboat.c +++ b/src/BGS/ch/leafboat.c @@ -88,7 +88,7 @@ void func_8038FD9C(Actor *this){ switch(this->state){ case 1: if(this->marker->unk2C_2) - func_80326224(this); + actor_update_func_80326224(this); this->marker->propPtr->unk8_3 = 1; this->unk1C[0] = 1.0f; this->alpha_124_19 = 0xff; @@ -99,7 +99,7 @@ void func_8038FD9C(Actor *this){ case 2: if(this->marker->unk2C_2) - func_80326224(this); + actor_update_func_80326224(this); this->marker->propPtr->unk8_3 = 1; this->unk1C[0] = 1.0f; @@ -118,7 +118,7 @@ void func_8038FD9C(Actor *this){ break; case 3: if (this->marker->unk2C_2) { - func_80326224(this); + actor_update_func_80326224(this); } this->marker->propPtr->unk8_3 = FALSE; this->unk1C[0] = 0.0f; diff --git a/src/BGS/ch/mudhut.c b/src/BGS/ch/mudhut.c index e2e85ded..5de05aa7 100644 --- a/src/BGS/ch/mudhut.c +++ b/src/BGS/ch/mudhut.c @@ -27,7 +27,7 @@ ActorAnimationInfo D_80390B30[4] = { u32 D_80390B50[6] = {0xA, 0xA, 0xB, 0xA, 0xA, 0xC}; ActorInfo D_80390B68 = {MARKER_D5_BGS_MUD_HUT, ACTOR_C_MUD_HUT, ASSET_7D8_MODEL_MM_HUT_TOP, 0x01, D_80390B30, - chmudhut_update, func_80326224, chmudhut_draw, + chmudhut_update, actor_update_func_80326224, chmudhut_draw, 0, 0, 0.0f, 0 }; diff --git a/src/BGS/ch/pinkegg.c b/src/BGS/ch/pinkegg.c index 8da61052..ed6b384c 100644 --- a/src/BGS/ch/pinkegg.c +++ b/src/BGS/ch/pinkegg.c @@ -28,27 +28,27 @@ ActorAnimationInfo D_803906D8[4] = { }; ActorInfo D_803906F8 = {MARKER_6E_PINK_EGG_LARGEST, ACTOR_5B_PINK_EGG_LARGEST, ASSET_380_MODEL_PINK_EGG_LARGEST, 0x01, D_803906D8, - chpinkegg_update, func_80326224, chpinkegg_draw, + chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, 0, 0x2CC, 6.0f, 0 }; ActorInfo D_8039071C = {MARKER_D6_PINK_EGG_LARGE, ACTOR_ED_PINK_EGG_LARGE, ASSET_381_MODEL_PINK_EGG_LARGE, 0x01, D_803906D8, - chpinkegg_update, func_80326224, chpinkegg_draw, + chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, 0, 0x2CC, 5.0f, 0 }; ActorInfo D_80390740 = {MARKER_D7_PINK_EGG_MEDIUM, ACTOR_EE_PINK_EGG_MEDIUM, ASSET_382_MODEL_PINK_EGG_MEDIUM, 0x01, D_803906D8, - chpinkegg_update, func_80326224, chpinkegg_draw, + chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, 0, 0x2CC, 4.0f, 0 }; ActorInfo D_80390764 = {MARKER_D8_PINK_EGG_SMALL, ACTOR_EF_PINK_EGG_SMALL, ASSET_383_MODEL_PINK_EGG_SMALL, 0x01, D_803906D8, - chpinkegg_update, func_80326224, chpinkegg_draw, + chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, 0, 0x2CC, 3.0f, 0 }; ActorInfo D_80390788 = {MARKER_D9_PINK_EGG_SMALLEST, ACTOR_F0_PINK_EGG_SMALLEST, ASSET_384_MODEL_PINK_EGG_SMALLEST, 0x01, D_803906D8, - chpinkegg_update, func_80326224, chpinkegg_draw, + chpinkegg_update, actor_update_func_80326224, chpinkegg_draw, 0, 0x2CC, 2.0f, 0 }; diff --git a/src/BGS/ch/tanktup.c b/src/BGS/ch/tanktup.c index 25c51d87..8c37d887 100644 --- a/src/BGS/ch/tanktup.c +++ b/src/BGS/ch/tanktup.c @@ -29,7 +29,7 @@ ActorAnimationInfo BGS_D_80390C20[] = { }; ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20, - func_8038F6A4, func_80326224, actor_draw, + func_8038F6A4, actor_update_func_80326224, actor_draw, 0, 0x80, 0.0f, 0 }; diff --git a/src/BGS/code_9750.c b/src/BGS/code_9750.c index d16a805c..32acc1be 100644 --- a/src/BGS/code_9750.c +++ b/src/BGS/code_9750.c @@ -17,7 +17,7 @@ ActorAnimationInfo D_80390C70[3] = { }; ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3EF_MODEL_TANKTUP_LEG_FL, 0x01, D_80390C70, - func_8038FBF8, func_80326224, actor_draw, + func_8038FBF8, actor_update_func_80326224, actor_draw, 0, 0x166, 0.0f, 0 }; u8 pad_80390CCC[4] = {0}; @@ -29,7 +29,7 @@ ActorAnimationInfo BGS_D_80390CB0[3] = { }; ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, BGS_D_80390CB0, - func_8038FBF8, func_80326224, actor_draw, + func_8038FBF8, actor_update_func_80326224, actor_draw, 0, 0x166, 0.0f, 0 }; u8 pad_80390CEC[4] = {0}; @@ -41,7 +41,7 @@ ActorAnimationInfo BGS_D_80390CF0[3] = { }; ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, BGS_D_80390CF0, - func_8038FBF8, func_80326224, actor_draw, + func_8038FBF8, actor_update_func_80326224, actor_draw, 0, 0x166, 0.0f, 0 }; u8 pad_80390C2C[4] = {0}; @@ -53,7 +53,7 @@ ActorAnimationInfo D_80390C30[3] = { }; ActorInfo D_80390D48 = {MARKER_6D_TANKTUP_LEG, ACTOR_EC_TANKTUP_LEG_BR, ASSET_3F2_MODEL_TANKTUP_LEG_BR, 0x01, D_80390C30, - func_8038FBF8, func_80326224, actor_draw, + func_8038FBF8, actor_update_func_80326224, actor_draw, 0, 0x166, 0.0f, 0 }; diff --git a/src/CC/ch/tooth.c b/src/CC/ch/tooth.c index a6dd32bf..8949dd5a 100644 --- a/src/CC/ch/tooth.c +++ b/src/CC/ch/tooth.c @@ -29,14 +29,14 @@ Struct_CC_1120_0 D_80389B50[] = { ActorInfo D_80389B90 = { 0x4E, ACTOR_101_CLANKER_TOKEN_TOOTH, ASSET_891_MODEL_CLANKER_TOKEN_TOOTH_OPEN, 0, NULL, - chTooth_update, func_80326224, actor_draw, + chTooth_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_80389BB4 = { 0x4F, ACTOR_102_CLANKER_JIGGY_TOOTH, ASSET_893_MODEL_CLANKER_JIGGY_TOOTH_OPEN, 0, NULL, - chTooth_update, func_80326224, actor_draw, + chTooth_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/CC/code_0.c b/src/CC/code_0.c index aa0c35fb..a19ffa4f 100644 --- a/src/CC/code_0.c +++ b/src/CC/code_0.c @@ -15,7 +15,7 @@ void func_803864D4(Actor *this); /* .data */ ActorInfo D_80389AA0 = { MARKER_4B_CC_SCREW, ACTOR_43_CLACKER_SCREW, ASSET_890_MODEL_SCREW, 0, NULL, - func_803864D4, func_80326224 , actor_draw, + func_803864D4, actor_update_func_80326224 , actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/CC/code_530.c b/src/CC/code_530.c index 63f636f6..80565216 100644 --- a/src/CC/code_530.c +++ b/src/CC/code_530.c @@ -23,7 +23,7 @@ void func_80386B28(Actor* this); /* .data */ ActorInfo D_80389AD0 = { MARKER_4A_CC_KEY, ACTOR_3C_CC_KEY, ASSET_429_MODEL_CC_KEY, 0, NULL, - func_80386B28, func_80326224, actor_draw, + func_80386B28, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/CC/code_BF0.c b/src/CC/code_BF0.c index 5ea52781..b236f2d3 100644 --- a/src/CC/code_BF0.c +++ b/src/CC/code_BF0.c @@ -14,14 +14,14 @@ void func_803870F8(Actor *this); extern ActorInfo D_80389B00 = { MARKER_4C_CLANKER_TOKEN_TOOTH_EXT, ACTOR_44_CLANKER_TOKEN_TOOTH_EXTERIOR, ASSET_309_MODEL_CLANKER_TOKEN_TOOTH_EXTERIOR, 0, NULL, - func_803870F8, func_80326224, actor_draw, + func_803870F8, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; extern ActorInfo D_80389B24 = { MARKER_4D_CLANKER_JIGGY_TOOTH_EXT, ACTOR_45_CLANKER_JIGGY_TOOTH_EXTERIOR, ASSET_30A_MODEL_CLANKER_JIGGY_TOOTH_EXTERIOR, 0, NULL, - func_803870F8, func_80326224, actor_draw, + func_803870F8, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/CCW/ch/grublinhood.c b/src/CCW/ch/grublinhood.c index fbb4c42b..28ff9fb5 100644 --- a/src/CCW/ch/grublinhood.c +++ b/src/CCW/ch/grublinhood.c @@ -57,13 +57,13 @@ ActorAnimationInfo chGrublinHood_animations[] = { ActorInfo chGrublinHood = { MARKER_1E2_GRUBLIN_HOOD, ACTOR_375_GRUBLIN_HOOD, ASSET_52C_MODEL_GRUBLIN_HOOD, 0x1, chGrublinHood_animations, - chgrublinhood_update, func_80326224, chgrublinhood_draw, + chgrublinhood_update, actor_update_func_80326224, chgrublinhood_draw, 2500, 0, 1.0f, 0 }; /* .code */ void __chgrublinhood_emitHat(ParticleEmitter *pCtrl, Actor *actor, enum asset_e model_id){ - static struct43s D_8038F9AC = { + static ParticleSettingsVelocityAccelerationPosition D_8038F9AC = { {{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}}, {{ -50.0f, 200.0f, -50.0f}, { 50.0f, 400.0f, 50.0f}} @@ -74,7 +74,7 @@ void __chgrublinhood_emitHat(ParticleEmitter *pCtrl, Actor *actor, enum asset_e -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f ); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038F9AC); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8038F9AC); particleEmitter_emitN(pCtrl, 1); } diff --git a/src/CCW/ch/vacationtexttrigger.c b/src/CCW/ch/vacationtexttrigger.c index 2cada924..77fcebf4 100644 --- a/src/CCW/ch/vacationtexttrigger.c +++ b/src/CCW/ch/vacationtexttrigger.c @@ -11,7 +11,7 @@ void chVacationTextTrigger_update(Actor* this); ActorInfo gChVacationTextTrigger = { MARKER_1E3_VACATION_TEXT_TRIGGER, ACTOR_374_VACATION_TEXT_TRIGGER, 0x0, 0x0, NULL, - chVacationTextTrigger_update, func_80326224, func_80325340, + chVacationTextTrigger_update, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/CCW/code_2270.c b/src/CCW/code_2270.c index c740d882..6fbccf57 100644 --- a/src/CCW/code_2270.c +++ b/src/CCW/code_2270.c @@ -208,7 +208,7 @@ void chGobiCCW_update(Actor *this) { } if (this->state == 6) { - func_80326224(this); + actor_update_func_80326224(this); if (0.99 < (f64) this->unk48) { CCW_func_8038868C(this, 7); } diff --git a/src/CCW/code_2B00.c b/src/CCW/code_2B00.c index 582de99a..8e9af7de 100644 --- a/src/CCW/code_2B00.c +++ b/src/CCW/code_2B00.c @@ -29,14 +29,14 @@ ActorAnimationInfo D_8038ED20[] = { {ASSET_D4_ANIM_SWITCH_DOWN, 100000000.0f} }; -ActorInfo D_8038ED50 = { 0x133, 0x1E3, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; -ActorInfo D_8038ED74 = { 0x132, 0x1E2, 0x4F5, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_8038ED98 = { 0x131, 0x16D, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; -ActorInfo D_8038EDBC = { 0x130, 0x16C, 0x4F6, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_8038EDE0 = { 0x12F, 0x16B, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; -ActorInfo D_8038EE04 = { 0x12E, 0x16A, 0x4F7, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_8038EE28 = { 0x12D, 0x169, 0x52E, 0x1, NULL, func_80389268, func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; -ActorInfo D_8038EE4C = { 0x12C, 0x168, 0x4F8, 0x5, D_8038ED20, func_80388FD4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8038ED50 = { 0x133, 0x1E3, 0x52E, 0x1, NULL, func_80389268, actor_update_func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; +ActorInfo D_8038ED74 = { 0x132, 0x1E2, 0x4F5, 0x5, D_8038ED20, func_80388FD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8038ED98 = { 0x131, 0x16D, 0x52E, 0x1, NULL, func_80389268, actor_update_func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; +ActorInfo D_8038EDBC = { 0x130, 0x16C, 0x4F6, 0x5, D_8038ED20, func_80388FD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8038EDE0 = { 0x12F, 0x16B, 0x52E, 0x1, NULL, func_80389268, actor_update_func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; +ActorInfo D_8038EE04 = { 0x12E, 0x16A, 0x4F7, 0x5, D_8038ED20, func_80388FD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8038EE28 = { 0x12D, 0x169, 0x52E, 0x1, NULL, func_80389268, actor_update_func_80326224, actor_drawFullDepth, 0, 0x4000, 0.0f, 0}; +ActorInfo D_8038EE4C = { 0x12C, 0x168, 0x4F8, 0x5, D_8038ED20, func_80388FD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; /* .code */ s32 func_80388EF0(Actor *this){ diff --git a/src/CCW/code_4960.c b/src/CCW/code_4960.c index 1d363dbc..502868cd 100644 --- a/src/CCW/code_4960.c +++ b/src/CCW/code_4960.c @@ -76,7 +76,7 @@ void func_8038AEBC(Actor *this) { } } if (this->state == 2) { - func_80326224(this); + actor_update_func_80326224(this); skeletalAnim_getProgressRange(this->unk148, &sp38, &sp34); for(iPtr = &D_8038F254[0]; iPtr->unk0 > 0.0f; iPtr++){ if ((sp38 < iPtr->unk0) && (iPtr->unk0 <= sp34)) { @@ -92,7 +92,7 @@ void func_8038AEBC(Actor *this) { } } if (this->state == 3) { - func_80326224(this); + actor_update_func_80326224(this); skeletalAnim_getProgressRange(this->unk148, &sp30, &sp2C); if ((sp30 <= 0.5) && (sp2C >= 0.5)) { jiggy_spawn(JIGGY_49_CCW_EYRIE, this->position); diff --git a/src/CCW/code_5540.c b/src/CCW/code_5540.c index ef3c75f1..0b59e1f6 100644 --- a/src/CCW/code_5540.c +++ b/src/CCW/code_5540.c @@ -161,7 +161,7 @@ void chnabnut_update(Actor *this) { chnabnut_setState(this, NABNUT_STATE_5_EXIT); } if (this->state == NABNUT_STATE_5_EXIT) { - func_80326224(this); + actor_update_func_80326224(this); func_8028FC8C(this->position); if (0.99 < this->unk48) { chnabnut_setState(this, NABNUT_STATE_6_DESPAWN); diff --git a/src/CCW/code_6620.c b/src/CCW/code_6620.c index 12c63c00..ed75662a 100644 --- a/src/CCW/code_6620.c +++ b/src/CCW/code_6620.c @@ -47,7 +47,7 @@ void func_8038CA10(ActorMarker *marker) { pCtrl = func_802EDD8C(local->unk4, 0.0f, this->position[1] + 500.0f); particleEmitter_setStartingScaleRange(pCtrl, 0.04f, 0.05f); particleEmitter_setFinalScaleRange(pCtrl, 0.18f, 0.2f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f); particleEmitter_emitN(pCtrl, 1); } diff --git a/src/CCW/code_6AC0.c b/src/CCW/code_6AC0.c index b8fd4e2f..8fd558b6 100644 --- a/src/CCW/code_6AC0.c +++ b/src/CCW/code_6AC0.c @@ -133,7 +133,7 @@ void func_8038CFB4(Actor *this) { } if (this->state == 3) { - func_80326224(this); + actor_update_func_80326224(this); if (0.99 < (f64) this->unk48) { func_8038CEB0(this, 4); } diff --git a/src/CCW/code_7120.c b/src/CCW/code_7120.c index fa9debbc..9b83bd75 100644 --- a/src/CCW/code_7120.c +++ b/src/CCW/code_7120.c @@ -19,7 +19,7 @@ ActorInfo D_8038F640 = { /* .code */ void CCW_func_8038D510(Actor *this) { static s32 D_8038F664[3] = {0xDE, 0xA7, 0x71}; - static struct42s D_8038F670 = { + static ParticleSettingsVelocityPosition D_8038F670 = { {{ 0.0f, 50.0f, 0.0f}, { 70.0f, 100.0f, 70.0f}}, {{100.0f, 100.0f, 100.0f}, {150.0f, 400.0f, 200.0f}} }; @@ -39,7 +39,7 @@ void CCW_func_8038D510(Actor *this) { } void func_8038D5DC(Actor *this) { - static struct43s D_8038F6A0 ={ + static ParticleSettingsVelocityAccelerationPosition D_8038F6A0 ={ {{-100.0f, -50.0f, -100.0f}, {100.0f, 50.0f, 100.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{-100.0f, 0.0f, -200.0f}, {100.0f, 400.0f, 200.0f}} @@ -48,8 +48,8 @@ void func_8038D5DC(Actor *this) { ParticleEmitter *pCtrl; pCtrl = partEmitMgr_newEmitter(30); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setModel(pCtrl, 0x896); particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setStartingScaleRange(pCtrl, 0.05f, 0.3f); @@ -59,7 +59,7 @@ void func_8038D5DC(Actor *this) { ); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(pCtrl, 10.0f, 10.0f); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038F6A0); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8038F6A0); particleEmitter_emitN(pCtrl, 30); } diff --git a/src/CCW/code_76C0.c b/src/CCW/code_76C0.c index 0196ba88..f53a9d21 100644 --- a/src/CCW/code_76C0.c +++ b/src/CCW/code_76C0.c @@ -65,16 +65,16 @@ void CCW_func_8038DB0C(Actor *this); void func_8038DAB0(Actor *this); /* .data */ -ActorInfo D_8038F720 = { 0x239, 0x25F, 0x4FC, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F744 = { 0x236, 0x260, 0x4F9, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F768 = { 0x237, 0x261, 0x4FA, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F78C = { 0x238, 0x262, 0x4FB, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, CCW_func_8038DB0C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F720 = { 0x239, 0x25F, 0x4FC, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F744 = { 0x236, 0x260, 0x4F9, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F768 = { 0x237, 0x261, 0x4FA, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F78C = { 0x238, 0x262, 0x4FB, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, CCW_func_8038DB0C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, CCW_func_8038DB0C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, CCW_func_8038DB0C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; ActorInfo D_8038F888 = { 0x1CC, 0x318, 0x0, 0x0, NULL, func_80325F84, NULL, func_80325340, 0, 0, 0.0f, 0}; diff --git a/src/CCW/code_7BC0.c b/src/CCW/code_7BC0.c index 42bd6e44..c8dbfcfb 100644 --- a/src/CCW/code_7BC0.c +++ b/src/CCW/code_7BC0.c @@ -12,7 +12,7 @@ ActorAnimationInfo D_8038F8B0[] = { ActorInfo D_8038F8C0 = { 0x251, 0x37E, 0x506, 0x1, D_8038F8B0, - func_8038DFB0, func_80326224, actor_draw, + func_8038DFB0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/CCW/code_7BF0.c b/src/CCW/code_7BF0.c index 70d3a9c8..556f1237 100644 --- a/src/CCW/code_7BF0.c +++ b/src/CCW/code_7BF0.c @@ -15,7 +15,7 @@ ActorAnimationInfo D_8038F8F0[] = { ActorInfo D_8038F908 = { MARKER_1F9_SNARE_BEAR, ACTOR_1E9_SNARE_BEAR, ASSET_440_MODEL_SNAREBEAR, 0x1, D_8038F8F0, - func_8038E0C8, func_80326224, actor_draw, + func_8038E0C8, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/FP/ch/bearcub.c b/src/FP/ch/bearcub.c index 373b6792..35fdcd3d 100644 --- a/src/FP/ch/bearcub.c +++ b/src/FP/ch/bearcub.c @@ -23,19 +23,19 @@ ActorAnimationInfo D_80391DF0[] = { ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CUB_BLUE, ASSET_44C_MODEL_POLAR_BEAR_CUB_BLUE, 0x1, D_80391DF0, - func_8038A384, func_80326224, actor_draw, + func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 }; ActorInfo FP_D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN, 0x1, D_80391DF0, - func_8038A384, func_80326224, actor_draw, + func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 }; ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB_RED, ASSET_44E_MODEL_POLAR_BEAR_CUB_RED, 0x1, D_80391DF0, - func_8038A384, func_80326224, actor_draw, + func_8038A384, actor_update_func_80326224, actor_draw, 2500, 0, 1.2f, 0 }; diff --git a/src/FP/ch/boggy2.c b/src/FP/ch/boggy2.c index 09fe94a5..765fb59d 100644 --- a/src/FP/ch/boggy2.c +++ b/src/FP/ch/boggy2.c @@ -237,7 +237,7 @@ void func_80388EE8(ParticleEmitter *pCtrl){ {0.3f, 0.45f}, 0.0f, 0.01f }; - static struct42s D_80391D58 = { + static ParticleSettingsVelocityPosition D_80391D58 = { {{-10.0f, 10.0f, -10.0f}, {10.0f, 240.0f, 10.0f}}, /*position*/ {{0.0f, 0.0f, 0.0f}, {0.0f, 20.0f, 0.0f}} /*velocity*/ }; diff --git a/src/FP/ch/boggy3.c b/src/FP/ch/boggy3.c index 6e245409..15af7956 100644 --- a/src/FP/ch/boggy3.c +++ b/src/FP/ch/boggy3.c @@ -13,7 +13,7 @@ ActorAnimationInfo D_80392680[] = { ActorInfo D_80392690 = { 0x20D, 0x33D, 0x38A, 0x1, D_80392680, - func_80390388, func_80326224, func_80390290, + func_80390388, actor_update_func_80326224, func_80390290, 2500, 0, 1.0f, 0 }; diff --git a/src/FP/ch/cavewozza.c b/src/FP/ch/cavewozza.c index 627f30f4..9a7ccc5d 100644 --- a/src/FP/ch/cavewozza.c +++ b/src/FP/ch/cavewozza.c @@ -14,7 +14,7 @@ extern ActorAnimationInfo D_803926F0[]= { extern ActorInfo D_80392700 = { MARKER_20F_WOZZA_IN_CAVE, ACTOR_33F_WOZZA_IN_CAVE, ASSET_494_MODEL_WOZZA, 0x1, D_803926F0, - func_80390630, func_80326224, actor_draw, + func_80390630, actor_update_func_80326224, actor_draw, 2500, 0, 1.6f, 0 }; diff --git a/src/FP/ch/present.c b/src/FP/ch/present.c index 6e8946ec..46cfd3e0 100644 --- a/src/FP/ch/present.c +++ b/src/FP/ch/present.c @@ -12,19 +12,19 @@ ActorAnimationInfo D_803924A0[] = { ActorInfo D_803924B0 = { MARKER_208_BLUE_PRESENT, ACTOR_33A_BLUE_PRESENT, ASSET_47F_MODEL_XMAS_GIFT_BLUE, 0x1, D_803924A0, - func_8038F144, func_80326224, func_8038F0F0, + func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 }; ActorInfo D_803924D4 = { MARKER_209_GREEN_PRESENT, ACTOR_33B_GREEN_PRESENT, ASSET_480_MODEL_XMAS_GIFT_GREEN, 0x1, D_803924A0, - func_8038F144, func_80326224, func_8038F0F0, + func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 }; ActorInfo D_803924F8 = { MARKER_20A_RED_PRESENT, ACTOR_33C_RED_PRESENT, ASSET_481_MODEL_XMAS_GIFT_RED, 0x1, D_803924A0, - func_8038F144, func_80326224, func_8038F0F0, + func_8038F144, actor_update_func_80326224, func_8038F0F0, 2500, 0, 1.2f, 0 }; diff --git a/src/FP/ch/snowmanbutton.c b/src/FP/ch/snowmanbutton.c index 633f7a9f..91e1f6b4 100644 --- a/src/FP/ch/snowmanbutton.c +++ b/src/FP/ch/snowmanbutton.c @@ -16,7 +16,7 @@ ActorAnimationInfo FP_D_80391A90[] ={ ActorInfo FP_D_80391AB0 = { MARKER_B9_FP_SNOWMAN_BUTTON, ACTOR_116_FP_SNOWMAN_BUTTON, ASSET_421_MODEL_FP_SNOWMAN_BUTTON, 0x1, FP_D_80391A90, - FP_func_80386CF8, func_80326224, func_80386B80, + FP_func_80386CF8, actor_update_func_80326224, func_80386B80, 0, 0x800, 0.0f, 0 }; @@ -28,7 +28,7 @@ ParticleScaleAndLifetimeRanges D_80391AD4 = { 0.0f, 0.01f, }; -struct43s D_80391AFC = { +ParticleSettingsVelocityAccelerationPosition D_80391AFC = { {{-300.0f, 350.0f, -300.0f}, {300.0f, 800.0f, 300.0f}}, {{0.0f, -800.0f, 0.0f}, {0.0f, -800.0f, 0.0f}}, {{-50.0f, -50.0f, -50.0f}, {50.0f, 50.0f, 50.0f}} @@ -58,7 +58,7 @@ void FP_func_80386BEC(Actor *this){ particleEmitter_setRGB(pCtrl, D_80391B44); particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); particleEmitter_setPosition(pCtrl, plyr_pos); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80391AFC); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80391AFC); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80391AD4); particleEmitter_emitN(pCtrl, 12); } diff --git a/src/FP/ch/twinkly.c b/src/FP/ch/twinkly.c index 596f3b53..46e6ef85 100644 --- a/src/FP/ch/twinkly.c +++ b/src/FP/ch/twinkly.c @@ -21,30 +21,30 @@ ActorAnimationInfo D_80391F50[] = { ActorInfo D_80391F88 = { MARKER_200_TWINKLY_BLUE, ACTOR_332_TWINKLY_BLUE, ASSET_448_MODEL_TWINKLY_BLUE, 0x1, D_80391F50, - func_8038C9A0, func_80326224, func_8038C1F8, + func_8038C9A0, actor_update_func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; ActorInfo D_80391FAC = { MARKER_201_TWINKLY_GREEN, ACTOR_333_TWINKLY_GREEN, ASSET_449_MODEL_TWINKLY_GREEN, 0x1, D_80391F50, - func_8038C9A0, func_80326224, func_8038C1F8, + func_8038C9A0, actor_update_func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; ActorInfo D_80391FD0 = { MARKER_202_TWINKLY_ORANGE, ACTOR_334_TWINKLY_ORANGE, ASSET_44A_MODEL_TWINKLY_ORANGE, 0x1, D_80391F50, - func_8038C9A0, func_80326224, func_8038C1F8, + func_8038C9A0, actor_update_func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; ActorInfo D_80391FF4 = { MARKER_203_TWINKLY_RED, ACTOR_335_TWINKLY_RED, ASSET_44B_MODEL_TWINKLY_RED, 0x1, D_80391F50, - func_8038C9A0, func_80326224, func_8038C1F8, + func_8038C9A0, actor_update_func_80326224, func_8038C1F8, 0, 0, 1.0f, 0 }; Struct6Cs FP_D_80392018 = {NULL, NULL, NULL, (void*)func_8038C0B0}; -struct43s D_80392028 = { +ParticleSettingsVelocityAccelerationPosition D_80392028 = { {{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{ -15.0f, -15.0f, -15.0f}, { 15.0f, 15.0f, 15.0f}} @@ -95,7 +95,7 @@ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392028); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80392028); particleEmitter_setAngularVelocityRange(pCtrl, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.0f @@ -104,8 +104,8 @@ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.5f, 1.5f); particleEmitter_setFade(pCtrl, 0.0f, 0.3f); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 0); + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 0); func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000); particleEmitter_emitN(pCtrl, count); diff --git a/src/FP/ch/twinklybox.c b/src/FP/ch/twinklybox.c index 6b2bef3f..c3da8851 100644 --- a/src/FP/ch/twinklybox.c +++ b/src/FP/ch/twinklybox.c @@ -19,7 +19,7 @@ ActorAnimationInfo D_803920C0[] ={ ActorInfo D_803920E8 = { 0x204, 0x336, 0x442, 0x1, D_803920C0, - func_8038D6C8, func_80326224, FP_func_8038CED0, + func_8038D6C8, actor_update_func_80326224, FP_func_8038CED0, 0, 0, 0.0f, 0 }; @@ -42,7 +42,7 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ 0.0f, 0.7f }; - static struct43s D_80392134 = { + static ParticleSettingsVelocityAccelerationPosition D_80392134 = { {{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}} @@ -52,14 +52,14 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392134); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80392134); particleEmitter_setAngularVelocityRange(pCtrl, 100.0f, 100.0f, 100.0f, 200.0f, 200.0f, 200.0f ); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8039210C); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_emitN(pCtrl, count); } @@ -73,7 +73,7 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ 0.01f }; static s32 D_803921A4[3] = { 0xDC, 0xDC, 0xE6}; - static struct43s D_803921B0 = { + static ParticleSettingsVelocityAccelerationPosition D_803921B0 = { {{-200.0f, 0.0f, -200.0f}, {200.0f, 200.0f, 200.0f}}, {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, {{-50.0f, 0.0f, -50.0f}, {50.0f, 200.0f, 50.0f}} @@ -85,7 +85,7 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_setRGB(pCtrl, D_803921A4); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803921B0); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_803921B0); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8039217C); particleEmitter_emitN(pCtrl, count); } @@ -99,7 +99,7 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ 0.0f, 0.3f }; - static struct43s D_80392220 = { + static ParticleSettingsVelocityAccelerationPosition D_80392220 = { {{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}} @@ -109,14 +109,14 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392220); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80392220); particleEmitter_setAngularVelocityRange(pCtrl, 200.0f, 200.0f, 200.0f, 300.0f, 300.0f, 300.0f ); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803921F8); - func_802EF9F8(pCtrl, 0.2f); - func_802EFA18(pCtrl, 2); + particleEmitter_func_802EF9F8(pCtrl, 0.2f); + particleEmitter_func_802EFA18(pCtrl, 2); particleEmitter_emitN(pCtrl, count); } @@ -129,7 +129,7 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ 0.0f, 0.3f }; - static struct43s D_80392290 = { + static ParticleSettingsVelocityAccelerationPosition D_80392290 = { {{-300.0f, 400.0f, -300.0f}, {300.0f, 800.0f, 300.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{-80.0f, 80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}} @@ -139,10 +139,10 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392290); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80392290); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392268); - func_802EF9F8(pCtrl, 0.2f); - func_802EFA18(pCtrl, 2); + particleEmitter_func_802EF9F8(pCtrl, 0.2f); + particleEmitter_func_802EFA18(pCtrl, 2); particleEmitter_emitN(pCtrl, count); } @@ -155,7 +155,7 @@ void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ 0.0f, 0.01f }; static s32 D_80392300[3] = { 0xDC, 0xDC, 0xE6}; - static struct43s D_8039230C = { + static ParticleSettingsVelocityAccelerationPosition D_8039230C = { {{-100.0f, 0.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}, {{0.0f, -10.0f, 0.0f}, {0.0f, -10.0f, 0.0f}}, {{-80.0f, 0.0f, -80.0f}, {50.0f, 200.0f, 80.0f}} @@ -166,7 +166,7 @@ void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_setRGB(pCtrl, D_80392300); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8039230C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8039230C); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803922D8); particleEmitter_emitN(pCtrl, count); } diff --git a/src/FP/ch/twinklymuncher.c b/src/FP/ch/twinklymuncher.c index 735d4444..f1ef8082 100644 --- a/src/FP/ch/twinklymuncher.c +++ b/src/FP/ch/twinklymuncher.c @@ -21,7 +21,7 @@ extern ActorAnimationInfo D_80392390[] ={ extern ActorInfo D_803923D0 = { MARKER_205_TWINKLY_MUNCHER, ACTOR_337_TWINKLY_MUNCHER, ASSET_496_MODEL_TWINKLY_MUNCHER, 0x1, D_80392390, - func_8038E094, func_80326224, func_8038DD70, + func_8038E094, actor_update_func_80326224, func_8038DD70, 2500, 0, 1.0f, 0 }; diff --git a/src/FP/ch/wozza.c b/src/FP/ch/wozza.c index 1441708f..5989bdec 100644 --- a/src/FP/ch/wozza.c +++ b/src/FP/ch/wozza.c @@ -32,7 +32,7 @@ ActorAnimationInfo D_80392520[] ={ ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, 0x1, D_80392520, - FP_func_8038F7AC, func_80326224, func_8038F210, + FP_func_8038F7AC, actor_update_func_80326224, func_8038F210, 0, 0, 1.6f, 0 }; diff --git a/src/FP/ch/wozzasjig.c b/src/FP/ch/wozzasjig.c index c8dc588a..64da2f34 100644 --- a/src/FP/ch/wozzasjig.c +++ b/src/FP/ch/wozzasjig.c @@ -24,7 +24,7 @@ ActorAnimationInfo D_803925C0[] = { ActorInfo D_80392628 = { MARKER_20C_WOZZAS_JIGGY, ACTOR_1F4_WOZZAS_JIGGY, ASSET_495_MODEL_WOZZAS_JIGGY, 0x1, D_803925C0, - func_8038FF54, func_80326224, func_8038FF00, + func_8038FF54, actor_update_func_80326224, func_8038FF00, 0, 0, 0.0f, 0 }; @@ -85,7 +85,7 @@ void func_8038FF54(Actor *this){ particleEmitter_setSprite(sp3C, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(sp3C, 1, 6); particleEmitter_setPosition(sp3C, sp40); - particleEmitter_setParticleSpawnPositionRange(sp3C, + particleEmitter_setSpawnPositionRange(sp3C, 0.0f, 20.0f, 0.0f, 0.0f, 20.0f, 0.0f ); @@ -93,7 +93,7 @@ void func_8038FF54(Actor *this){ -180.0f, 0.0f, -180.0f, 180.0f, 280.0f, 180.0f ); - particleEmitter_setParticleAccelerationRange(sp3C, + particleEmitter_setAccelerationRange(sp3C, 0.0f, -60.0f, 0.0f, 0.0f, -90.0f, 0.0f ); diff --git a/src/FP/ch/xmastree.c b/src/FP/ch/xmastree.c index 9d5aea68..1b14add6 100644 --- a/src/FP/ch/xmastree.c +++ b/src/FP/ch/xmastree.c @@ -9,7 +9,7 @@ void chXmasTree_update(Actor *this); ActorInfo chXmasTree = { MARKER_BA_XMAS_TREE, ACTOR_15F_XMAS_TREE, ASSET_488_MODEL_XMAS_TREE, 0x1, NULL, - chXmasTree_update, func_80326224, chXmasTree_draw, + chXmasTree_update, actor_update_func_80326224, chXmasTree_draw, 0, 0, 0.0f, 0 }; diff --git a/src/FP/ch/xmastreeeggtoll.c b/src/FP/ch/xmastreeeggtoll.c index a92c4c5e..e1baf1f6 100644 --- a/src/FP/ch/xmastreeeggtoll.c +++ b/src/FP/ch/xmastreeeggtoll.c @@ -8,13 +8,13 @@ void func_80390EB0(Actor *this); /* .data */ ActorInfo FP_D_80392840 = { MARKER_245_XMAS_TREE_EGG_TOLL, ACTOR_353_XMAS_TREE_EGG_TOLL, ASSET_402_MODEL_EGG_TOLL, 0x0, NULL, - func_80390EB0, func_80326224, func_80325340, + func_80390EB0, actor_update_func_80326224, func_80325340, 2000, 0, 0.0f, 0 }; /* .code */ void func_80390C70(f32 position[3]){ - static struct40s FP_D_80392864 = {{{1.7f, 2.0f}, {2.4f, 2.7f}, {0.0f, 0.01f}, {4.0f, 7.0f}, 0.3f, 0.7f}, 4.0f, 1.0f}; + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount FP_D_80392864 = {{{1.7f, 2.0f}, {2.4f, 2.7f}, {0.0f, 0.01f}, {4.0f, 7.0f}, 0.3f, 0.7f}, 4.0f, 1.0f}; static s32 D_80392894[3] = {0xFF, 0XFF, 0xFF}; ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); @@ -23,7 +23,7 @@ void func_80390C70(f32 position[3]){ particleEmitter_setRGB(pCtrl, D_80392894); particleEmitter_setAlpha(pCtrl, 0x41); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -40.0f, 110.0f, -40.0f, 40.0f, 110.0f, 40.0f ); @@ -35,7 +35,7 @@ void func_80390C70(f32 position[3]){ } void func_80390D58(f32 position[3]){ - static struct40s D_803928A0 = {{{0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, {0.9f, 1.3f}, 0.3f, 0.7f}, 4.0f, 1.0f}; + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803928A0 = {{{0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, {0.9f, 1.3f}, 0.3f, 0.7f}, 4.0f, 1.0f}; static s32 D_803928D0[3] = {0xFF, 0xFF, 0xFF}; ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); @@ -44,7 +44,7 @@ void func_80390D58(f32 position[3]){ particleEmitter_setRGB(pCtrl, D_803928D0); particleEmitter_setAlpha(pCtrl, 0xFF); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -40.0f, 50.0,-40.0f, 40.0f, 70.0, 40.0f ); @@ -52,7 +52,7 @@ void func_80390D58(f32 position[3]){ -40.0f, 120.0,-40.0f, 40.0f, 180.0, 40.0f ); - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -60.0f, 0.0f, 0.0f, -100.0f, 0.0f ); diff --git a/src/FP/ch/xmastreeice.c b/src/FP/ch/xmastreeice.c index 62c5553d..2c2f4aba 100644 --- a/src/FP/ch/xmastreeice.c +++ b/src/FP/ch/xmastreeice.c @@ -8,7 +8,7 @@ void func_80390BDC(Actor *this); /* .data */ ActorInfo D_80392730 = { 0x210, 0x340, 0x4D2, 0x0, NULL, - func_80390BDC, func_80326224, func_803908F0, + func_80390BDC, actor_update_func_80326224, func_803908F0, 0, 0, 1.0f, 0 }; @@ -22,7 +22,7 @@ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ static ParticleScaleAndLifetimeRanges D_80392754 = {{0.2f, 0.4f}, {-1.0f, -1.0f}, {0.0f, 0.02f}, {2.2f, 2.2f}, 0.0f, 0.3f}; - static struct43s D_8039277C = { + static ParticleSettingsVelocityAccelerationPosition D_8039277C = { {{-300.0f, 350.0f, -300.0f}, {300.0f, 600.0f, 300.0f}}, /*position*/ {{ 0.0f, -1000.0f, 0.0f}, { 0.0f, -1000.0f, 0.0f}}, /*velocitcy*/ {{-100.0f, 0.0f, -100.0f}, {100.0f, 200.0f, 100.0f}} /*acceleration*/ @@ -30,14 +30,14 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8039277C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8039277C); particleEmitter_setAngularVelocityRange(pCtrl, 100.0f, 100.0f, 100.0f, 250.0f, 250.0f, 250.0f ); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392754); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 0); + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 0); func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000); particleEmitter_emitN(pCtrl, cnt); @@ -45,7 +45,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ static ParticleScaleAndLifetimeRanges D_803927C4 = {{0.6f, 0.8f}, {1.0f, 1.4f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01f}; - static struct43s D_803927EC = { + static ParticleSettingsVelocityAccelerationPosition D_803927EC = { {{-200.0f, 0.0f, -200.0f}, {200.0f, 200.0f, 200.0f}}, /*position*/ {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, /*velocitcy*/ {{ -50.0f, 0.0f, -50.0f}, { 50.0f, 200.0f, 50.0f}} /*acceleration*/ @@ -55,7 +55,7 @@ void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ particleEmitter_setRGB(pCtrl, D_80392834); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803927EC); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_803927EC); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803927C4); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/FP/ch/xmastreestar.c b/src/FP/ch/xmastreestar.c index e9142d38..eafa7a0a 100644 --- a/src/FP/ch/xmastreestar.c +++ b/src/FP/ch/xmastreestar.c @@ -17,7 +17,7 @@ void func_8038ECD8(Actor *this); /* .data */ ActorInfo D_80392470 = { 0x207, 0x339, 0x426, 0x1, NULL, - func_8038ECD8, func_80326224, func_8038EBD0, + func_8038ECD8, actor_update_func_80326224, func_8038EBD0, 0, 0, 0.0f, 0 }; diff --git a/src/FP/ch/xmastreeswitch.c b/src/FP/ch/xmastreeswitch.c index 42a323b3..dae78c0b 100644 --- a/src/FP/ch/xmastreeswitch.c +++ b/src/FP/ch/xmastreeswitch.c @@ -15,7 +15,7 @@ ActorAnimationInfo D_80392400[] = { ActorInfo D_80392420 = { 0x206, 0x338, 0x486, 0x1, D_80392400, - func_8038E940, func_80326224, func_8038E720, + func_8038E940, actor_update_func_80326224, func_8038E720, 4500, 0, 0.0f, 0 }; @@ -50,11 +50,11 @@ void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -100.0f, -80.0f, -70.0f, 100.0f, 100.0f, 70.0f ); - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -200.0f, 0.0f, 0.0f, -200.0f, 0.0f ); diff --git a/src/FP/code_19E0.c b/src/FP/code_19E0.c index d503fe42..a5662531 100644 --- a/src/FP/code_19E0.c +++ b/src/FP/code_19E0.c @@ -23,7 +23,7 @@ ActorAnimationInfo D_80391C00[] = { ActorInfo D_80391C18 = { 0x125, 0x161, 0x38b, 0x1, D_80391C00, - func_803881AC, func_80326224, func_80387DD0, + func_803881AC, actor_update_func_80326224, func_80387DD0, 0, 0, 0.35f, 0 }; diff --git a/src/FP/code_1FF0.c b/src/FP/code_1FF0.c index d3dab825..f60699ee 100644 --- a/src/FP/code_1FF0.c +++ b/src/FP/code_1FF0.c @@ -18,7 +18,7 @@ ActorAnimationInfo D_80391C40[] = { ActorInfo D_80391C58 = { 0x126, 0x162, 0x38B, 0x1, D_80391C40, - func_80388584, func_80326224, func_803883E0, + func_80388584, actor_update_func_80326224, func_803883E0, 0, 0, 0.35f, 0 }; diff --git a/src/FP/code_A1C0.c b/src/FP/code_A1C0.c index 52c42f06..2251af5e 100644 --- a/src/FP/code_A1C0.c +++ b/src/FP/code_A1C0.c @@ -7,7 +7,7 @@ void func_803905B0(Actor *this); /* .data */ ActorInfo D_803926C0 = { 0x20E, 0x33E, 0x49C, 0x1, NULL, - func_803905B0, func_80326224, func_80325340, + func_803905B0, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/FP/code_ABD0.c b/src/FP/code_ABD0.c index 1dfee22f..ed34be0e 100644 --- a/src/FP/code_ABD0.c +++ b/src/FP/code_ABD0.c @@ -45,24 +45,24 @@ void func_8039180C(Actor *this); void func_80391894(Actor *this); /* .data */ -ActorInfo FP_D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0}; -ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0}; -ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0}; -ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, func_80326224, actor_draw, 3000, 0, 0.0f, 0}; -ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392A90 = { 0x24E, 0x360, 0x4EB, 0x1, NULL, func_803912EC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392AB4 = { 0x23D, 0x253, 0x512, 0x1, NULL, func_8039180C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392AD8 = { 0x23E, 0x254, 0x513, 0x1, NULL, func_80391894, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392AFC = { 0x286, 0x3AE, 0x55B, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392B20 = { 0x21D, 0x229, 0x4C3, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392B44 = { 0x289, 0x3B0, 0x56A, 0x1, NULL, func_80391180, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo FP_D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, actor_update_func_80326224, actor_draw, 3000, 0, 0.0f, 0}; +ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, actor_update_func_80326224, actor_draw, 3000, 0, 0.0f, 0}; +ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, actor_update_func_80326224, actor_draw, 3000, 0, 0.0f, 0}; +ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, actor_update_func_80326224, actor_draw, 3000, 0, 0.0f, 0}; +ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, FP_func_80391254, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, FP_func_80391254, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, FP_func_80391254, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392A90 = { 0x24E, 0x360, 0x4EB, 0x1, NULL, func_803912EC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392AB4 = { 0x23D, 0x253, 0x512, 0x1, NULL, func_8039180C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392AD8 = { 0x23E, 0x254, 0x513, 0x1, NULL, func_80391894, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392AFC = { 0x286, 0x3AE, 0x55B, 0x1, NULL, func_80391180, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392B20 = { 0x21D, 0x229, 0x4C3, 0x1, NULL, func_80391180, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392B44 = { 0x289, 0x3B0, 0x56A, 0x1, NULL, func_80391180, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; /* .code */ int func_80390FC0(void){ diff --git a/src/GV/ch/ancientone.c b/src/GV/ch/ancientone.c index f81d5e4a..c57cab94 100644 --- a/src/GV/ch/ancientone.c +++ b/src/GV/ch/ancientone.c @@ -28,7 +28,7 @@ ActorAnimationInfo chAncientOneAnimations[] = { ActorInfo chAncientOne = { MARKER_F4_ANCIENT_ONE, ACTOR_147_ANCIENT_ONE, ASSET_3E8_MODEL_ANCIENT_ONE, 0x1, chAncientOneAnimations, - chAncientOne_update, func_80326224, chAncientOne_draw, + chAncientOne_update, actor_update_func_80326224, chAncientOne_draw, 0, 0x100, 0.0f, 0 }; diff --git a/src/GV/ch/gobi1.c b/src/GV/ch/gobi1.c index e173a801..27fa47f1 100644 --- a/src/GV/ch/gobi1.c +++ b/src/GV/ch/gobi1.c @@ -202,7 +202,7 @@ void chGobi1_update(Actor *this){ }//L80387830 if(this->state == 4){ - func_80326224(this); + actor_update_func_80326224(this); tmp_s1 = func_8033A12C(marker_loadModelBin(this->marker)); if(tmp_s1){ player_getPosition(sp54); diff --git a/src/GV/ch/gobi2.c b/src/GV/ch/gobi2.c index d5cfc02f..0a95c9e2 100644 --- a/src/GV/ch/gobi2.c +++ b/src/GV/ch/gobi2.c @@ -224,7 +224,7 @@ void chGobi2_update(Actor *this){ } if(this->state == 6){ - func_80326224(this); + actor_update_func_80326224(this); } if(this->state == 8){ diff --git a/src/GV/ch/gobi3.c b/src/GV/ch/gobi3.c index 51ad72bb..839889e9 100644 --- a/src/GV/ch/gobi3.c +++ b/src/GV/ch/gobi3.c @@ -143,7 +143,7 @@ void chGobi3_update(Actor *this){ } if(this->state == 4){ - func_80326224(this); + actor_update_func_80326224(this); if(timedFuncQueue_is_empty()) chGobi3_setState(this, 6); } diff --git a/src/GV/ch/gobirock.c b/src/GV/ch/gobirock.c index 4d16f707..1e275d4b 100644 --- a/src/GV/ch/gobirock.c +++ b/src/GV/ch/gobirock.c @@ -17,7 +17,7 @@ Actor *chGobiRock_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx /* .data */ ActorInfo chGobiRock = { MARKER_BE_GOBI_ROCK, ACTOR_130_GOBI_ROCK, ASSET_3E4_MODEL_GOBI_ROCK, 0, NULL, - chGobiRock_update, func_80326224, chGobiRock_draw, + chGobiRock_update, actor_update_func_80326224, chGobiRock_draw, 0, 0x533, 0.0f, 0 }; diff --git a/src/GV/ch/gobirope.c b/src/GV/ch/gobirope.c index 39863ddd..dea2be6d 100644 --- a/src/GV/ch/gobirope.c +++ b/src/GV/ch/gobirope.c @@ -8,7 +8,7 @@ void chGobiRope_update(Actor *this); /* .data */ ActorInfo chGobiRope = { MARKER_BD_GOBI_ROPE, ACTOR_12F_GOBI_ROPE, ASSET_3E3_MODEL_GOBI_ROPE, 0, NULL, - chGobiRope_update, func_80326224, actor_draw, + chGobiRope_update, actor_update_func_80326224, actor_draw, 0, 0x533, 0.0f, 0 }; diff --git a/src/GV/ch/histup.c b/src/GV/ch/histup.c index 7b2ad064..70342b4a 100644 --- a/src/GV/ch/histup.c +++ b/src/GV/ch/histup.c @@ -21,7 +21,7 @@ ActorAnimationInfo D_803912E0[] = { }; ActorInfo D_80391318 = { MARKER_AA_HISTUP, ACTOR_11C_HISTUP, ASSET_3DE_MODEL_HISTUP, 0x1, D_803912E0, - func_8038DBDC, func_80326224, func_8038DA18, + func_8038DBDC, actor_update_func_80326224, func_8038DA18, 2500, 0, 1.7f, 0 }; diff --git a/src/GV/ch/sarcophagus.c b/src/GV/ch/sarcophagus.c index dd203a9c..6af500e2 100644 --- a/src/GV/ch/sarcophagus.c +++ b/src/GV/ch/sarcophagus.c @@ -20,13 +20,13 @@ ActorAnimationInfo chSarcophagusAnimations[] = { ActorInfo chSarcophagus = { MARKER_A8_GV_MAZE_SARCOPHAGUS, ACTOR_11A_GV_MAZE_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS, 0x1, chSarcophagusAnimations, - chSarcophagus_update, func_80326224, actor_draw, + chSarcophagus_update, actor_update_func_80326224, actor_draw, 2500, 0, 0.0f, 0 }; ActorInfo chSNSSarcophagus = { MARKER_23B_GV_SNS_SARCOPHAGUS, ACTOR_244_GV_SNS_SARCOPHAGUS, ASSET_33D_MODEL_SARCOPHAGUS, 0x1, chSarcophagusAnimations, - chSarcophagus_updateSNS, func_80326224, actor_draw, + chSarcophagus_updateSNS, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/GV/ch/toots.c b/src/GV/ch/toots.c index 2153439b..dd8e87e9 100644 --- a/src/GV/ch/toots.c +++ b/src/GV/ch/toots.c @@ -14,7 +14,7 @@ ActorAnimationInfo chTootsAnimations[] = { ActorInfo chToots = { MARKER_1F4_TOOTS, ACTOR_1E4_TOOTS, ASSET_434_MODEL_TOOTS, 0x1, chTootsAnimations, - chtoots_update, func_80326224, actor_draw, + chtoots_update, actor_update_func_80326224, actor_draw, 2000, 0, 0.5f, 0 }; diff --git a/src/GV/code_2EE0.c b/src/GV/code_2EE0.c index b45c7f87..c7d6e8ec 100644 --- a/src/GV/code_2EE0.c +++ b/src/GV/code_2EE0.c @@ -13,7 +13,7 @@ extern ActorAnimationInfo D_80390DC0[]={ extern ActorInfo GV_D_80390DD0 = { MARKER_AF_MAGIC_CARPET_SHADOW, ACTOR_122_MAGIC_CARPET_SHADOW, ASSET_3E7_MODEL_MAGIC_CARPET_SHADOW, 0x1, D_80390DC0, - func_8038938C, func_80326224, func_803892D0, + func_8038938C, actor_update_func_80326224, func_803892D0, 2500, 0, 0.0f, 0 }; diff --git a/src/GV/code_3630.c b/src/GV/code_3630.c index 712f7ee2..0180d3d4 100644 --- a/src/GV/code_3630.c +++ b/src/GV/code_3630.c @@ -16,7 +16,7 @@ ActorAnimationInfo D_80390EA0[] = { ActorInfo D_80390ED0 = { MARKER_A9_RUBEE, ACTOR_11B_RUBEE, ASSET_3DD_MODEL_RUBEE, 0x2, D_80390EA0, - func_80389B1C, func_80326224, actor_draw, + func_80389B1C, actor_update_func_80326224, actor_draw, 2500, 0, 1.6f, 0 }; diff --git a/src/GV/code_3BB0.c b/src/GV/code_3BB0.c index 3c9bc7af..7e012b3f 100644 --- a/src/GV/code_3BB0.c +++ b/src/GV/code_3BB0.c @@ -8,11 +8,11 @@ void GV_func_8038A084(Actor *this); /* .data */ ActorInfo D_80390F40 = { 0x24F, 0x37C, 0x0, 0, NULL, - GV_func_8038A084, func_80326224, func_80325340, + GV_func_8038A084, actor_update_func_80326224, func_80325340, 2000, 0, 0.0f, 0 }; -struct40s D_80390F64 = { +ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80390F64 = { { {2.5f, 2.8f}, {4.0f, 5.0f}, {0.0f, 0.01f}, @@ -33,7 +33,7 @@ void func_80389FA0(f32 position[3]){ particleEmitter_setRGB(pCtrl, D_80390F94); particleEmitter_setAlpha(pCtrl, 100); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange( pCtrl, + particleEmitter_setSpawnPositionRange( pCtrl, -700.0f, 0.0f, -700.0f, 700.0f, 0.0f, 700.0f ); diff --git a/src/GV/code_4740.c b/src/GV/code_4740.c index ea1765d3..3ec5a757 100644 --- a/src/GV/code_4740.c +++ b/src/GV/code_4740.c @@ -22,12 +22,12 @@ ActorAnimationInfo D_80391040[] ={ ActorInfo D_80391098 = { MARKER_AD_SLAPPA, ACTOR_120_SLAPPA, ASSET_376_MODEL_SLAPPA, 0x1, D_80391040, - func_8038B124, func_80326224, actor_draw, + func_8038B124, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; s32 D_803910BC[3] = {175, 100, 0}; s32 D_803910C8[3] = {175, 140, 0}; -struct43s D_803910D4 = { +ParticleSettingsVelocityAccelerationPosition D_803910D4 = { {{-120.0f, 550.0f, -120.0f}, {120.0f, 950.0f, 120.0f}}, {{0.0f, -1400.0f, 0.0f}, {0.0f, -1400.0f, 0.0f}}, {{-100.0f, 0.0f, -100.0f}, {100.0f, 30.0f, 100.0f}} @@ -53,7 +53,7 @@ void func_8038AB30(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){ void func_8038ABD8(f32 position[3], s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038AB30(pCtrl, position, cnt); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -40.0f, -5.0f, -40.0f, 60.0f, 20.0f, 60.0f ); @@ -71,7 +71,7 @@ void func_8038ABD8(f32 position[3], s32 cnt){ void func_8038ACEC(f32 pos[3], s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038AB30(pCtrl, pos, cnt); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -80.0f, 20.0f, -80.0f, 120.0f, 120.0f, 120.0f ); @@ -90,10 +90,10 @@ void func_8038ADFC(f32 pos[3], s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setModel(pCtrl, 0x389); particleEmitter_setPosition(pCtrl, pos); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803910D4); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_803910D4); particleEmitter_setAngularVelocityRange(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 2); + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 2); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f); particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); diff --git a/src/GV/code_5570.c b/src/GV/code_5570.c index 82fb1aeb..1f3b6770 100644 --- a/src/GV/code_5570.c +++ b/src/GV/code_5570.c @@ -26,7 +26,7 @@ ActorAnimationInfo D_80391120[] ={ ActorInfo D_80391158 = { MARKER_A6_GRABBA, ACTOR_118_GRABBA, ASSET_371_MODEL_GRABBA, 0x1, D_80391120, - GV_func_8038BEA0, func_80326224, actor_draw, + GV_func_8038BEA0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; @@ -122,7 +122,7 @@ void func_8038BBFC(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){ void func_8038BC7C(f32 position[3], s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038BBFC(pCtrl, position, cnt); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -60.0f, 0.0f, -60.0f, 60.0f, 30.0f, 60.0f ); @@ -140,7 +140,7 @@ void func_8038BC7C(f32 position[3], s32 cnt){ void func_8038BD8C(f32 position[3], s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038BBFC(pCtrl, position, cnt); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -40.0f, 0.0f, -40.0f, 40.0f, 30.0f, 40.0f ); diff --git a/src/GV/code_61E0.c b/src/GV/code_61E0.c index 6e83aa3c..c7a9022f 100644 --- a/src/GV/code_61E0.c +++ b/src/GV/code_61E0.c @@ -17,7 +17,7 @@ ActorAnimationInfo D_80391190[] = { ActorInfo D_803911C0 = { 0xAC, 0x11E, 0x3E5, 0, D_80391190, - GV_func_8038C658, func_80326224, GV_func_8038C5D0, + GV_func_8038C658, actor_update_func_80326224, GV_func_8038C5D0, 0, 0, 0.0f, 0 }; diff --git a/src/GV/code_6370.c b/src/GV/code_6370.c index fce7a657..8125cfd8 100644 --- a/src/GV/code_6370.c +++ b/src/GV/code_6370.c @@ -24,19 +24,19 @@ Actor *func_8038CC40(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); u8 D_803911F0[3] = {0, 1, 2}; ActorInfo D_803911F4 = { 0xBB, 0x285, 0x3E6, 0, NULL, - func_8038CC98, func_80326224, func_8038CC40, + func_8038CC98, actor_update_func_80326224, func_8038CC40, 0, 0, 0.0f, 0 }; ActorInfo D_80391218 = { 0xBB, 0x286, 0x3E6, 0, NULL, - func_8038CC98, func_80326224, func_8038CC40, + func_8038CC98, actor_update_func_80326224, func_8038CC40, 0, 0, 0.0f, 0 }; ActorInfo D_8039123C = { 0xBB, 0x287, 0x3E6, 0, NULL, - func_8038CC98, func_80326224, func_8038CC40, + func_8038CC98, actor_update_func_80326224, func_8038CC40, 0, 0, 0.0f, 0 }; diff --git a/src/GV/code_7060.c b/src/GV/code_7060.c index 62affb7a..d65b7513 100644 --- a/src/GV/code_7060.c +++ b/src/GV/code_7060.c @@ -16,7 +16,7 @@ ActorAnimationInfo D_80391290[] = { }; ActorInfo D_803912B8 = { MARKER_F9_JINXY, ACTOR_1F7_JINXY, ASSET_422_MODEL_JINXY, 0x1, D_80391290, - func_8038D47C, func_80326224, actor_draw, + func_8038D47C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/GV/code_7FC0.c b/src/GV/code_7FC0.c index cdeb2ec1..67ddd903 100644 --- a/src/GV/code_7FC0.c +++ b/src/GV/code_7FC0.c @@ -11,13 +11,13 @@ ActorAnimationInfo GV_D_80391380[] = { }; ActorInfo GV_D_80391390 = { 0xFA, 0x1F8, 0x423, 0x1, GV_D_80391380, - func_8038E3B0, func_80326224, actor_draw, + func_8038E3B0, actor_update_func_80326224, actor_draw, 0, 0x100, 0.0f, 0 }; ActorInfo D_803913B4 = { 0xFB, 0x1F9, 0x424, 0x1, GV_D_80391380, - func_8038E3B0, func_80326224, actor_draw, + func_8038E3B0, actor_update_func_80326224, actor_draw, 0, 0x100, 0.0f, 0 }; diff --git a/src/GV/code_7FF0.c b/src/GV/code_7FF0.c index 874c1844..b458937b 100644 --- a/src/GV/code_7FF0.c +++ b/src/GV/code_7FF0.c @@ -82,25 +82,25 @@ ActorAnimationInfo D_803913E0[] = { ActorInfo D_80391428 = { MARKER_EC_GV_SUN_SWITCH, ACTOR_13F_GV_SUN_SWITCH, ASSET_400_MODEL_SUN_SWITCH, 0x1, D_803913E0, - chSunSwitch_update, func_80326224, actor_draw, + chSunSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_8039144C = { MARKER_F1_GV_STAR_SWITCH, ACTOR_144_GV_STAR_SWITCH, ASSET_3D7_MODEL_STAR_SWITCH, 0x1, D_803913E0, - chStarSwitch_update, func_80326224, actor_draw, + chStarSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_80391470 = { MARKER_F2_HONEYCOMB_SWITCH, ACTOR_145_HONEYCOMB_SWITCH, ASSET_438_MODEL_HONEYCOMB_SWITCH, 0x1, D_803913E0, - chHoneycombSwitch_update, func_80326224, actor_draw, + chHoneycombSwitch_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_80391494 = { MARKER_23C_GV_SNS_SWITCH, ACTOR_245_GV_SNS_SWITCH, ASSET_515_MODEL_GV_SNS_SWITCH, 0x1, D_803913E0, - func_8038EF14, func_80326224, actor_draw, + func_8038EF14, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; @@ -118,31 +118,31 @@ ActorInfo D_803914DC = { MARKER_ED_GV_SUN_DOOR, ACTOR_140_GV_SUN_DOOR, ASSET_3FF ActorInfo GV_D_80391500 = { MARKER_F0_GV_KAZOOIE_DOOR, ACTOR_143_GV_KAZOOIE_DOOR, ASSET_3D9_MODEL_GV_KAZOOIE_DOOR, 0x1, 0x0, - chKazooieDoor_update, func_80326224, func_80325F2C, + chKazooieDoor_update, actor_update_func_80326224, func_80325F2C, 0, 0, 0.0f, 0 }; ActorInfo GV_D_80391524 = { MARKER_EF_GV_STAR_HATCH, ACTOR_142_GV_STAR_HATCH, ASSET_3DB_MODEL_GV_STAR_HATCH, 0x1, 0x0, - func_8038E648, func_80326224, func_80325F2C, + func_8038E648, actor_update_func_80326224, func_80325F2C, 0, 0, 0.0f, 0 }; ActorInfo D_80391548 = { MARKER_F3_GV_KAZOOIE_TARGET, ACTOR_146_GV_KAZOOIE_TARGET, ASSET_3E2_MODEL_GV_KAZOOIE_TARGET, 0x1, 0x0, - chKazooieTarget_update, func_80326224, actor_drawFullDepth, + chKazooieTarget_update, actor_update_func_80326224, actor_drawFullDepth, 0, 0x400, 0.0f, 0 }; ActorInfo D_8039156C = { MARKER_F8_GV_KAZOOIE_DOOR, ACTOR_1F5_GV_KAZOOIE_DOOR, ASSET_3D9_MODEL_GV_KAZOOIE_DOOR, 0x1, 0x0, - func_8038E97C, func_80326224, func_80325F2C, + func_8038E97C, actor_update_func_80326224, func_80325F2C, 0, 0, 0.0f, 0 }; ActorInfo D_80391590 = { MARKER_23A_GV_SNS_CHAMBER_DOOR, ACTOR_243_GV_SNS_CHAMBER_DOOR, ASSET_514_MODEL_GV_SNS_CHAMBER_DOOR, 0x1, 0x0, - func_8038E914, func_80326224, func_80325F2C, + func_8038E914, actor_update_func_80326224, func_80325F2C, 0, 0, 0.0f, 0 }; diff --git a/src/MM/ch/chimpystump.c b/src/MM/ch/chimpystump.c index d2b2a29c..7266e0d2 100644 --- a/src/MM/ch/chimpystump.c +++ b/src/MM/ch/chimpystump.c @@ -23,7 +23,7 @@ enum chchimpystump_state_e { ActorInfo chchimpystump = { MARKER_95_CHIMPY_STUMP, ACTOR_C5_CHIMPY_STUMP, ASSET_3C8_MODEL_CHIMPY_STUMP, 1, NULL, - chchimpystump_update, func_80326224, actor_drawFullDepth, + chchimpystump_update, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; diff --git a/src/MM/ch/conga.c b/src/MM/ch/conga.c index 78f748fa..24659a85 100644 --- a/src/MM/ch/conga.c +++ b/src/MM/ch/conga.c @@ -46,7 +46,7 @@ ActorAnimationInfo chCongaAnimations[9] = { ActorInfo chcongaInfo = { MARKER_7_CONGA, ACTOR_8_CONGA, ASSET_35C_MODEL_CONGA, 1, chCongaAnimations, - func_803876D0, func_80326224, actor_draw, + func_803876D0, actor_update_func_80326224, actor_draw, 0, 0x333, 0.0f, 0 }; diff --git a/src/MM/ch/grublin.c b/src/MM/ch/grublin.c index 4cd2ea35..752cc8fd 100644 --- a/src/MM/ch/grublin.c +++ b/src/MM/ch/grublin.c @@ -42,7 +42,7 @@ ActorAnimationInfo chGrublinAnimations[11] = { ActorInfo chgrublinInfo = { MARKER_5_GRUBLIN, ACTOR_6_GRUBLIN, ASSET_3C5_MODEL_GRUBLIN, 1, chGrublinAnimations, - func_80388A80, func_80326224, actor_draw, + func_80388A80, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0 }; diff --git a/src/MM/ch/hut.c b/src/MM/ch/hut.c index 3992dda0..ec050d5f 100644 --- a/src/MM/ch/hut.c +++ b/src/MM/ch/hut.c @@ -117,6 +117,6 @@ void mm_resetHuts(void) { ActorInfo chhutInfo = { MARKER_51_MM_HUT, ACTOR_9_MM_HUT, ASSET_7D7_MODEL_MM_HUT, 0, chhutAnimations, - chhut_update, func_80326224, chhut_draw, + chhut_update, actor_update_func_80326224, chhut_draw, 0, 0x100, 0.0f, 0 }; diff --git a/src/MM/ch/juju.c b/src/MM/ch/juju.c index 544237b9..dcaf1f9b 100644 --- a/src/MM/ch/juju.c +++ b/src/MM/ch/juju.c @@ -34,7 +34,7 @@ enum chjuju_animation_state_e { ActorInfo chjujuInfo = { MARKER_67_JUJU, ACTOR_59_JUJU, ASSET_2E6_MODEL_JUJU, 0, NULL, - chjuju_update, func_80326224, chjuju_draw, + chjuju_update, actor_update_func_80326224, chjuju_draw, 0, 0, 0.0f, 0 }; diff --git a/src/MM/ch/jujuhitbox.c b/src/MM/ch/jujuhitbox.c index d04ad195..f9f15a40 100644 --- a/src/MM/ch/jujuhitbox.c +++ b/src/MM/ch/jujuhitbox.c @@ -24,7 +24,7 @@ void chjujuhitbox_setJuju(Actor *this, s32 slave_id, Actor *slavePtr); ActorInfo chjujuhitboxInfo = { MARKER_67_JUJU, ACTOR_11_JUJU_CTRL, 0, 3, NULL, - chjujuhitbox_update, func_80326224, chjujuhitbox_draw, + chjujuhitbox_update, actor_update_func_80326224, chjujuhitbox_draw, 0, 0, 0.0f, 0 }; diff --git a/src/MM/ch/orange.c b/src/MM/ch/orange.c index 62f54a49..ff0aa018 100644 --- a/src/MM/ch/orange.c +++ b/src/MM/ch/orange.c @@ -19,7 +19,7 @@ enum chorange_state_e { ActorInfo chorangeInfo = { MARKER_C_ORANGE_PROJECTILE, ACTOR_14_ORANGE_PROJECTILE, ASSET_2D2_MODEL_ORANGE, 1, NULL, - chorange_update, func_80326224, chorange_draw, + chorange_update, actor_update_func_80326224, chorange_draw, 0, 0, 0.6f, 0 }; diff --git a/src/MM/ch/orangepad.c b/src/MM/ch/orangepad.c index 0943cac0..30a4cc0c 100644 --- a/src/MM/ch/orangepad.c +++ b/src/MM/ch/orangepad.c @@ -3,7 +3,7 @@ #include "variables.h" /* extern functions */ -void func_80326224(Actor *); +void actor_update_func_80326224(Actor *); void func_80329904(ActorMarker *, s32, void *); extern void func_802EFA20(ParticleEmitter *, f32, f32); @@ -14,7 +14,7 @@ void chorangepad_update(Actor *); ActorInfo chorangepadInfo = { MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2EB_MODEL_ORANGE_PAD, 0, NULL, - chorangepad_update, func_80326224, actor_draw, + chorangepad_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; @@ -66,12 +66,12 @@ void func_80386444(ActorMarker *marker) { particleEmitter_setStartingScaleRange(p_ctrl, 0.09f, 0.19f); particleEmitter_setFinalScaleRange(p_ctrl, 0.0f, 0.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 500.0f, -200.0f, 200.0f, 700.0f, 200.0f); - particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f); + particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 4.0f, 4.0f); - func_802EF9F8(p_ctrl, 0.01f); - func_802EFA18(p_ctrl, 3); + particleEmitter_func_802EF9F8(p_ctrl, 0.01f); + particleEmitter_func_802EFA18(p_ctrl, 3); func_802EFA20(p_ctrl, 1.0f, 1.3f); particleEmitter_emitN(p_ctrl, 30); } diff --git a/src/MMM/ch/loggo.c b/src/MMM/ch/loggo.c index 5d0809b8..3690c7a6 100644 --- a/src/MMM/ch/loggo.c +++ b/src/MMM/ch/loggo.c @@ -16,7 +16,7 @@ ActorAnimationInfo chLoggoAnimations[] = { ActorInfo chLoggo = { MARKER_252_LOGGO, ACTOR_37F_LOGGO, ASSET_519_MODEL_LOGGO, 0x1, chLoggoAnimations, - chLoggo_update, func_80326224, actor_draw, + chLoggo_update, actor_update_func_80326224, actor_draw, 1000, 0, 0.0f, 0 }; diff --git a/src/MMM/ch/motzhand.c b/src/MMM/ch/motzhand.c index 667195a3..c366b1d5 100644 --- a/src/MMM/ch/motzhand.c +++ b/src/MMM/ch/motzhand.c @@ -17,7 +17,7 @@ Actor *chMotzhand_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); ActorInfo chMotzhand = { MARKER_49_MOTZHAND, ACTOR_3A_MOTZHAND, ASSET_88C_MODEL_MOTZHAND, 0x0, NULL, - chmotzhand_update, func_80326224, chMotzhand_draw, + chmotzhand_update, actor_update_func_80326224, chMotzhand_draw, 0, 0, 0.0f, 0 }; diff --git a/src/MMM/ch/napper.c b/src/MMM/ch/napper.c index fddf3edc..da82b62d 100644 --- a/src/MMM/ch/napper.c +++ b/src/MMM/ch/napper.c @@ -218,7 +218,7 @@ void chnapper_update(Actor *this){ }//L80387154 if(this->state == 4){ - func_80326224(this); + actor_update_func_80326224(this); if(0.99 <= this->unk48) marker_despawn(this->marker); } diff --git a/src/MMM/code_16B0.c b/src/MMM/code_16B0.c index 5b1371ef..669ff195 100644 --- a/src/MMM/code_16B0.c +++ b/src/MMM/code_16B0.c @@ -118,7 +118,7 @@ void func_80387D48(ActorMarker *marker){ void func_80387DF8(f32 position[3], s32 count, enum asset_e sprite_id) { static s32 D_8038BAF4[3] = {0xB4, 0xFF, 0x8C}; static ParticleScaleAndLifetimeRanges D_8038BB00 = {{0.2f, 0.4f}, {1.8f, 2.8f}, {0.0f, 0.15f}, {0.7f, 1.2f}, 0.0f, 0.01f}; - static struct43s D_8038BB28 = { + static ParticleSettingsVelocityAccelerationPosition D_8038BB28 = { {{-150.0f, 250.0f, -150.0f}, {150.0f, 300.0f, 150.0f}}, {{ 0.0f, -600.0f, 0.0f}, { 0.0f, -600.0f, 0.0f}}, {{ -50.0f, -50.0f, -50.0f}, { 50.0f, 50.0f, 50.0f}} @@ -129,14 +129,14 @@ void func_80387DF8(f32 position[3], s32 count, enum asset_e sprite_id) { particleEmitter_setRGB(pCtrl, D_8038BAF4); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038BB28); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8038BB28); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038BB00); particleEmitter_emitN(pCtrl, count); } void func_80387E84(f32 position[3], s32 count, enum asset_e model_id) { static ParticleScaleAndLifetimeRanges D_8038BB70 = {{1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.0f}, {3.2f, 3.2f}, 0.0f, 0.45f}; - static struct43s D_8038BB98 = { + static ParticleSettingsVelocityAccelerationPosition D_8038BB98 = { {{-90.0f, 300.0f, -90.0f}, {90.0f, 660.0f, 90.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}}, {{-50.0f, 0.0f, -50.0f}, {50.0f, 50.0f, 50.0f}} @@ -146,10 +146,10 @@ void func_80387E84(f32 position[3], s32 count, enum asset_e model_id) { pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038BB98); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8038BB98); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); - func_802EF9F8(pCtrl, 0.4f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.4f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setSfx(pCtrl, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setDrawMode(pCtrl, 2); diff --git a/src/MMM/code_2040.c b/src/MMM/code_2040.c index 597967a1..d2b5a75a 100644 --- a/src/MMM/code_2040.c +++ b/src/MMM/code_2040.c @@ -63,98 +63,98 @@ ActorAnimationInfo D_8038BBE0[] = { ActorInfo D_8038BC28 = { 0x9C, 0x109, 0x3CD, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BC4C = { 0x9E, 0x10B, 0x3CF, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BC70 = { 0x9A, 0xCB, 0x3CC, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BC94 = { 0xA2, 0x114, 0x3D3, 0x1, NULL, - func_80388BDC, func_80326224, actor_drawFullDepth, + func_80388BDC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BCB8 = { 0xE7, 0x265, 0x4DA, 0x1, NULL, - func_80389004, func_80326224, actor_drawFullDepth, + func_80389004, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BCDC = { 0x9D, 0x10A, 0x3CE, 0x1, NULL, - func_80389004, func_80326224, actor_drawFullDepth, + func_80389004, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BD00 = { 0xD3, 0x191, 0x50B, 0x1, NULL, - func_80389060, func_80326224, actor_drawFullDepth, + func_80389060, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BD24 = { 0x123, 0x2E8, 0x4C0, 0x1, NULL, - func_803890B8, func_80326224, actor_drawFullDepth, + func_803890B8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BD48 = { 0x1F2, 0x2E9, 0x4C1, 0x1, NULL, - func_803890B8, func_80326224, actor_drawFullDepth, + func_803890B8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BD6C = { 0x1F3, 0x2EA, 0x4C2, 0x1, NULL, - func_803890B8, func_80326224, actor_drawFullDepth, + func_803890B8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038BD90 = { 0xFE, 0x1FD, 0x43D, 0x1, D_8038BBE0, - func_80388FE4, func_80326224, actor_draw, + func_80388FE4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_8038BDB4 = { 0x9F, 0x10C, 0x3D0, 0x1, NULL, - func_803888B8, func_80326224, func_80388994, + func_803888B8, actor_update_func_80326224, func_80388994, 0, 0, 0.0f, 0 }; ActorInfo D_8038BDD8 = { 0xA0, 0x10D, 0x3D1, 0x1, NULL, - func_803888B8, func_80326224, func_80388994, + func_803888B8, actor_update_func_80326224, func_80388994, 0, 0, 0.0f, 0 }; ActorInfo D_8038BDFC = { 0xFF, 0x1FE, 0x43E, 0x1, NULL, - func_803888B8, func_80326224, func_80388994, + func_803888B8, actor_update_func_80326224, func_80388994, 0, 0, 0.0f, 0 }; diff --git a/src/MMM/code_2F60.c b/src/MMM/code_2F60.c index 8b6d82d4..8c184381 100644 --- a/src/MMM/code_2F60.c +++ b/src/MMM/code_2F60.c @@ -15,42 +15,42 @@ ActorAnimationInfo D_8038BE30[] ={ ActorInfo D_8038BE48 = { MARKER_255_PORTRAIT_OF_GRUNTY, ACTOR_382_PORTRAIT_OF_GRUNTY, ASSET_522_MODEL_PORTRAIT_OF_GRUNTY, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; ActorInfo D_8038BE6C = { MARKER_257_PORTRAIT_OF_BLACKEYE, ACTOR_384_PORTRAIT_OF_BLACKEYE, ASSET_527_MODEL_PORTRAIT_OF_BLACKEYE, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; ActorInfo D_8038BE90 = { MARKER_258_PORTRAIT_OF_TOWER, ACTOR_385_PORTRAIT_OF_TOWER, ASSET_528_MODEL_PORTRAIT_OF_TOWER, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; ActorInfo D_8038BEB4 = { MARKER_259_PORTRAIT_OF_TREE_AND_MOON, ACTOR_386_PORTRAIT_OF_TREE_AND_MOON, ASSET_529_MODEL_PORTRAIT_OF_TREE_AND_MOON, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; ActorInfo D_8038BED8 = { MARKER_25A_PORTRAIT_OF_TEEHEE, ACTOR_387_PORTRAIT_OF_TEEHEE, ASSET_52A_MODEL_PORTRAIT_OF_TEEHEE, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; ActorInfo D_8038BEFC = { MARKER_25B_PORTRAIT_OF_MINION, ACTOR_388_PORTRAIT_OF_MINION, ASSET_52B_MODEL_PORTRAIT_OF_MINION, 0x1, D_8038BE30, - func_803893A4, func_80326224, func_80389350, + func_803893A4, actor_update_func_80326224, func_80389350, 0, 0, 0.0f, 0 }; diff --git a/src/MMM/code_DC0.c b/src/MMM/code_DC0.c index 866d26ea..f930839e 100644 --- a/src/MMM/code_DC0.c +++ b/src/MMM/code_DC0.c @@ -14,7 +14,7 @@ ActorAnimationInfo D_8038BA50[] = { ActorInfo D_8038BA68 = { MARKER_34_CEMETARY_POT, ACTOR_25_CEMETARY_POT, ASSET_3AE_MODEL_GRAVE_FLOWER_POT, 0x1, D_8038BA50, - func_80387280, func_80326224, actor_draw, + func_80387280, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/RBB/ch/boombox.c b/src/RBB/ch/boombox.c index 3eb592e8..3f79a4e9 100644 --- a/src/RBB/ch/boombox.c +++ b/src/RBB/ch/boombox.c @@ -80,7 +80,7 @@ void func_8038E998(Actor *this){ particleEmitter_setPosition(other, this->position); particleEmitter_setStartingScaleRange(other, 0.25f, 0.75f); particleEmitter_setFinalScaleRange(other, 0.75f, 1.75f); - particleEmitter_setParticleSpawnPositionRange(other, -50.0f, 25.0f, -50.0f, 50.0f, 25.0f, 50.0f); + particleEmitter_setSpawnPositionRange(other, -50.0f, 25.0f, -50.0f, 50.0f, 25.0f, 50.0f); particleEmitter_setParticleVelocityRange(other, -50.0f, 100.0f, -50.0f, 50.0f, 200.0f, 50.0f); particleEmitter_setParticleLifeTimeRange(other, 0.5f, 1.0f); particleEmitter_emitN(other, 2); @@ -95,7 +95,7 @@ void func_8038EAB4(Actor *this){ particleEmitter_setDrawMode(other, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(other, 0, 0); particleEmitter_setParticleFramerateRange(other, 4.0f, 4.0f); - particleEmitter_setParticleSpawnPositionRange(other, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(other, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setPosition(other, this->position); particleEmitter_setStartingScaleRange(other, 3.0f, 3.0f); particleEmitter_setFinalScaleRange(other, 8.0f, 8.0f); @@ -113,7 +113,7 @@ void func_8038EC14(Actor *this){ particleEmitter_setPosition(other, this->position); particleEmitter_setStartingScaleRange(other, 1.0f, 1.5f); particleEmitter_setFinalScaleRange(other, 2.0f, 3.0f); - particleEmitter_setParticleSpawnPositionRange(other, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); + particleEmitter_setSpawnPositionRange(other, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); particleEmitter_setParticleVelocityRange(other, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); particleEmitter_setRGB(other, &RBB_D_80390DD0); particleEmitter_setParticleLifeTimeRange(other, 3.0f, 4.0f); @@ -122,9 +122,9 @@ void func_8038EC14(Actor *this){ void func_8038ED3C(Actor * actor, s32 arg1){ ParticleEmitter *other = partEmitMgr_newEmitter(0xa); - particleEmitter_setParticleAccelerationRange(other, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); - func_802EF9F8(other, 0.6f); - func_802EFA18(other, 3); + particleEmitter_setAccelerationRange(other, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); + particleEmitter_func_802EF9F8(other, 0.6f); + particleEmitter_func_802EFA18(other, 3); particleEmitter_setModel(other, arg1); particleEmitter_setPosition(other, actor->position); particleEmitter_setStartingScaleRange(other, 0.05f, 0.4f); diff --git a/src/RBB/ch/bossboombox.c b/src/RBB/ch/bossboombox.c index f76ae9ef..b3204aa3 100644 --- a/src/RBB/ch/bossboombox.c +++ b/src/RBB/ch/bossboombox.c @@ -72,14 +72,14 @@ ActorInfo RBB_D_80390C3C = { s32 D_80390C60[3] = {0xDE, 0xA7, 0x71}; -struct41s D_80390C6C = { +ParticleSettingsVelocityAcceleration D_80390C6C = { { {-200.0f, 200.0f, -200.0f}, {200.0f, 500.0f, 200.0f} }, { {0.0f, -800.0f, 0.0f}, {0.0f, -800.0f, 0.0f} } }; s32 D_80390C9C[3] = {0xDE, 0xA7, 0x71}; -struct43s D_80390CA8 = { +ParticleSettingsVelocityAccelerationPosition D_80390CA8 = { { {-200.0f, 0.0f, -200.0f}, {200.0f, -50.0f, 200.0f} }, { {0.0f, 200.0f, 0.0f}, {0.0f, 400.0f, 0.0f} }, { {-10.0f, -10.0f, -10.0f}, {10.0f, 10.0f, 10.0f} } @@ -106,7 +106,7 @@ void func_8038C39C(Actor *this){ particleEmitter_setPosition(other, this->position); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); particleEmitter_setFinalScaleRange(other, 3.0f*local->unk0->unk4, local->unk0->unk4*7.0f); - particleEmitter_setParticleSpawnPositionRange(other, + particleEmitter_setSpawnPositionRange(other, local->unk0->unk4*-200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-200.0f, local->unk0->unk4*200.0f, local->unk0->unk4*100.0f, local->unk0->unk4*200.0f ); @@ -128,7 +128,7 @@ void RBB_func_8038C538(Actor *this){ particleEmitter_setPosition(other, this->position); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*6.0f); particleEmitter_setFinalScaleRange(other, 0.5*local->unk0->unk4, local->unk0->unk4*3.0f); - particleEmitter_setParticleSpawnPositionRange(other, + particleEmitter_setSpawnPositionRange(other, local->unk0->unk4*-300.0f, local->unk0->unk4*100.0f, local->unk0->unk4*-300.0f, local->unk0->unk4*300.0f, local->unk0->unk4*300.0f, local->unk0->unk4*300.0f ); @@ -146,11 +146,11 @@ void RBB_func_8038C70C(Actor *this){ ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; ParticleEmitter *other = partEmitMgr_newEmitter(0xa); - func_802EF9F8(other, 0.6f); - func_802EFA18(other, 3); + particleEmitter_func_802EF9F8(other, 0.6f); + particleEmitter_func_802EFA18(other, 3); particleEmitter_setDrawMode(other, 4); particleEmitter_setModel(other, 0x427); - particleEmitter_setParticleSpawnPositionRange(other, + particleEmitter_setSpawnPositionRange(other, local->unk0->unk4 * -300.0f, local->unk0->unk4 * 100.0f, local->unk0->unk4 * -300.0f, local->unk0->unk4 * 300.0f, local->unk0->unk4 * 200.0f, local->unk0->unk4 * 300.0f ); @@ -183,7 +183,7 @@ void func_8038C8A8(Actor * this){ particleEmitter_setPosition(other, sp24); particleEmitter_setStartingScaleRange(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); particleEmitter_setFinalScaleRange(other, local->unk0->unk4*3.0f, local->unk0->unk4*6.0f); - particleEmitter_setPositionVelocityAndAccelerationRanges(other, &D_80390CA8); + particleEmitter_setVelocityAccelerationAndPositionRanges(other, &D_80390CA8); particleEmitter_setParticleLifeTimeRange(other, 1.0f, 2.0f); particleEmitter_setRGB(other, &D_80390C9C); particleEmitter_emitN(other, 5); diff --git a/src/RBB/ch/dolphin.c b/src/RBB/ch/dolphin.c index 8024a7ef..5beca9cf 100644 --- a/src/RBB/ch/dolphin.c +++ b/src/RBB/ch/dolphin.c @@ -56,7 +56,7 @@ void func_8038B900(Actor *this){ other = func_802EDD8C(&sp48, 0.0f, -1300.0f); particleEmitter_setStartingScaleRange(other, 0.04f, 0.04f); particleEmitter_setFinalScaleRange(other, 0.18f, 0.18f); - particleEmitter_setParticleSpawnPositionRange(other, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); + particleEmitter_setSpawnPositionRange(other, -10.0f, 0.0f, -10.0f, 10.0f, 20.0f, 10.0f); particleEmitter_setParticleVelocityRange(other, 0.0f, 31.0f, 0.0f, 0.0f, 37.0f, 0.0f); particleEmitter_emitN(other, 1); } @@ -105,7 +105,7 @@ void func_8038B900(Actor *this){ } if(this->state == 3){ - func_80326224(this); + actor_update_func_80326224(this); if(0.99 < this->unk48){ mapSpecificFlags_set(4, FALSE); marker_despawn(this->marker); diff --git a/src/RBB/ch/whistle.c b/src/RBB/ch/whistle.c index 5344746c..310dab53 100644 --- a/src/RBB/ch/whistle.c +++ b/src/RBB/ch/whistle.c @@ -77,12 +77,12 @@ void RBB_func_8038B0B8(Actor *this, s32 arg1){ timed_playSfx(0.1f, local->unk0->unk14, 1.0f, 0x7d00); other = partEmitMgr_newEmitter(0xa); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setParticleAccelerationRange(other, + particleEmitter_setAccelerationRange(other, 0.0f, 100.0f, 0.0f, 0.0f, 250.0f, 0.0f ); particleEmitter_setStartingFrameRange(other, 0, 7); - particleEmitter_setParticleSpawnPositionRange(other, + particleEmitter_setSpawnPositionRange(other, -5.0f, -5.0f, 0.0f, 5.0f, 5.0f, 0.0f ); diff --git a/src/RBB/code_1570.c b/src/RBB/code_1570.c index b873bc77..1c9b8609 100644 --- a/src/RBB/code_1570.c +++ b/src/RBB/code_1570.c @@ -38,7 +38,7 @@ ParticleScaleAndLifetimeRanges D_80390304 = { f32 D_8039032C[3] = {3700.0f, -300.0f, -300.0f}; f32 D_80390338[3] = {4500.0f, 100.0f, 400.0f}; -struct41s D_80390344= { +ParticleSettingsVelocityAcceleration D_80390344= { {{-700.0f, 200.0f, -700.0f}, {700.0f, 500.0f, 700.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}} }; @@ -149,8 +149,8 @@ void func_80387D80(void){ void func_80387E20(void){ ParticleEmitter *actor = partEmitMgr_newEmitter(0x19); - func_802EF9F8(actor, 0.6f); - func_802EFA18(actor, 3); + particleEmitter_func_802EF9F8(actor, 0.6f); + particleEmitter_func_802EFA18(actor, 3); particleEmitter_setModel(actor, 0x427); particleEmitter_setStartingScaleRange(actor, 0.05f, 0.4f); particleEmitter_setAngularVelocityRange(actor, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); diff --git a/src/RBB/code_640.c b/src/RBB/code_640.c index 240e7f38..2f361023 100644 --- a/src/RBB/code_640.c +++ b/src/RBB/code_640.c @@ -78,49 +78,49 @@ ActorAnimationInfo D_803900C0[4] = { ActorInfo D_803900E0 = { 0x107, 0x21D, 0x493, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_80390104 = { 0x108, 0x21C, 0x492, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_80390128 = { 0x22D, 0x266, 0x4BA, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8039014C = { 0x22E, 0x267, 0x4BB, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_80390170 = { 0x235, 0x23F, 0x4E2, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_80390194 = { 0x15F, 0x18F, 0x42F, 0x1, D_803900C0, - func_80386BF8, func_80326224, actor_draw, + func_80386BF8, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; ActorInfo D_803901B8 = { 0x22F, 0x263, 0x4DB, 0x1, NULL, - func_80386A7C, func_80326224, func_80386B9C, + func_80386A7C, actor_update_func_80326224, func_80386B9C, 0, 0, 0.0f, 0 }; ActorInfo D_803901DC = { 0x230, 0x264, 0x4DE, 0x1, NULL, - func_80386A7C, func_80326224, func_80386B9C, + func_80386A7C, actor_update_func_80326224, func_80386B9C, 0, 0, 0.0f, 0 }; diff --git a/src/SM/ch/attacktutorial.c b/src/SM/ch/attacktutorial.c index a2a1945a..da5f106f 100644 --- a/src/SM/ch/attacktutorial.c +++ b/src/SM/ch/attacktutorial.c @@ -17,7 +17,7 @@ void chAttackTutorial_update(Actor *); /* .data */ ActorInfo D_8038AC20 = { MARKER_12B_ATTACK_TUTORIAL, ACTOR_167_ATTACK_TUTORIAL, 0, 1, NULL, - chAttackTutorial_update, func_80326224, func_80325340, + chAttackTutorial_update, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/SM/ch/vegetables.c b/src/SM/ch/vegetables.c index b243ec3c..7e91ddbd 100644 --- a/src/SM/ch/vegetables.c +++ b/src/SM/ch/vegetables.c @@ -33,12 +33,12 @@ ActorAnimationInfo chCarrotAnimations[5] = { }; ActorInfo D_8038AC78 = { MARKER_12A_TOPPER_A, ACTOR_166_TOPPER_A, MODEL_TOPPER, 1, chCarrotAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 2000, 0, 1.0f, 0 }; ActorInfo D_8038AC9C = { MARKER_1E6_TOPPER_B, ACTOR_TOPPER_B, MODEL_TOPPER, 1, chCarrotAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 2000, 0, 1.0f, 0 }; @@ -51,12 +51,12 @@ ActorAnimationInfo chOnionAnimations[5] = { }; ActorInfo D_8038ACE8 = { MARKER_129_BAWL_A, ACTOR_165_BAWL_A, MODEL_BAWL, 1, chOnionAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 0, 0, 1.0f, 0 }; ActorInfo D_8038AD0C = { MARKER_1E7_BAWL_B, ACTOR_BAWL_B, MODEL_BAWL, 1, chOnionAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 0, 0, 1.0f, 0 }; @@ -69,12 +69,12 @@ ActorAnimationInfo chCauliflowerAnimations[5] = { }; ActorInfo D_8038AD58 = { MARKER_128_COLLYWOBBLE_A, ACTOR_164_COLLYWOBBLE_A, MODEL_COLLYWOBBLE, 1, chCauliflowerAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 0, 0, 2.0f, 0 }; ActorInfo D_8038AD7C = { MARKER_1E8_COLLYWOBBLE_B, ACTOR_COLLYWOBBLE_B, MODEL_COLLYWOBBLE, 1, chCauliflowerAnimations, - func_80388080, func_80326224, func_80387DF4, + func_80388080, actor_update_func_80326224, func_80387DF4, 0, 0, 2.0f, 0 }; @@ -88,7 +88,7 @@ ParticleScaleAndLifetimeRanges D_8038ADAC = { 0.0f, 0.01f, }; -struct42s D_8038ADD4 = { +ParticleSettingsVelocityPosition D_8038ADD4 = { {{-100.0f, -100.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}, {{-40.0f, -40.0f, -40.0f}, {40.0f, 40.0f, 40.0f}} }; @@ -101,7 +101,7 @@ ParticleScaleAndLifetimeRanges D_8038AE04 = { 0.0f, 0.2f }; -struct43s D_8038AE2C = { +ParticleSettingsVelocityAccelerationPosition D_8038AE2C = { {{-100.0f, 200.0f, -100.0f}, {100.0f, 400.0f, 100.0f}}, {{0.0f, -600.0f, 0.0f}, {0.0f, -600.0f, 0.0f}}, {{-80.0f, -80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}} @@ -115,7 +115,7 @@ ParticleScaleAndLifetimeRanges D_8038AE74 = { 0.0f, 0.5f }; -struct43s D_8038AE9C = { +ParticleSettingsVelocityAccelerationPosition D_8038AE9C = { {{-100.0f, 400.0f, -100.0f}, {100.0f, 600.0f, 100.0f}}, {{0.0f, -600.0f, 0.0f}, {0.0f, -600.0f, 0.0f}}, {{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}} @@ -129,7 +129,7 @@ ParticleScaleAndLifetimeRanges D_8038AEE4 = { 0.0f, 0.5f }; -struct43s D_8038AF0C ={ +ParticleSettingsVelocityAccelerationPosition D_8038AF0C ={ {{-200.0f, 200.0f, -200.0f}, {200.0f, 600.0f, 200.0f}}, {{0.0f, -900.0f, 0.0f}, {0.0f, -900.0f, 0.0f}}, {{-100.0f, -100.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}, @@ -148,39 +148,39 @@ void func_80387910(ParticleEmitter *arg0, f32 *arg1, s32 arg2){ } void func_803879B8(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e model_id){ - func_802EF9F8(arg0, 0.6f); - func_802EFA18(arg0, 2); + particleEmitter_func_802EF9F8(arg0, 0.6f); + particleEmitter_func_802EFA18(arg0, 2); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); particleEmitter_setDrawMode(arg0, 2); particleEmitter_setAngularVelocityRange(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setScaleAndLifetimeRanges(arg0, &D_8038AE04); - particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE2C); + particleEmitter_setVelocityAccelerationAndPositionRanges(arg0, &D_8038AE2C); particleEmitter_emitN(arg0, arg2); } void func_80387A80(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e model_id){ - func_802EF9F8(arg0, 0.6f); - func_802EFA18(arg0, 3); + particleEmitter_func_802EF9F8(arg0, 0.6f); + particleEmitter_func_802EFA18(arg0, 3); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); particleEmitter_setDrawMode(arg0, 2); particleEmitter_setAngularVelocityRange(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setScaleAndLifetimeRanges(arg0, &D_8038AE74); - particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE9C); + particleEmitter_setVelocityAccelerationAndPositionRanges(arg0, &D_8038AE9C); particleEmitter_emitN(arg0, arg2); } void func_80387B48(ParticleEmitter *arg0, f32 arg1[3], s32 arg2, enum asset_e model_id){ - func_802EF9F8(arg0, 0.7f); - func_802EFA18(arg0, 4); + particleEmitter_func_802EF9F8(arg0, 0.7f); + particleEmitter_func_802EFA18(arg0, 4); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); particleEmitter_setDrawMode(arg0, 2); particleEmitter_setAngularVelocityRange(arg0, 150.0f, -300.0f, -300.0f, 300.0f, 300.0f, -150.0f); particleEmitter_setSfx(arg0, SFX_1F_HITTING_AN_ENEMY_3, 8000); particleEmitter_setScaleAndLifetimeRanges(arg0, &D_8038AEE4); - particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AF0C); + particleEmitter_setVelocityAccelerationAndPositionRanges(arg0, &D_8038AF0C); particleEmitter_emitN(arg0, arg2); } diff --git a/src/SM/code_2990.c b/src/SM/code_2990.c index c9ad4143..a09f6dfb 100644 --- a/src/SM/code_2990.c +++ b/src/SM/code_2990.c @@ -35,7 +35,7 @@ ActorAnimationInfo smMoleAnimations[6] = { ActorInfo chSmMole = { MARKER_B7_TUTORIAL_BOTTLES, ACTOR_12B_TUTORIAL_BOTTLES, ASSET_387_MODEL_BOTTLES, 1, smMoleAnimations, - chsmmole_Update, func_80326224, func_802D94B4, + chsmmole_Update, actor_update_func_80326224, func_802D94B4, 0, 0, 0.0f, 0 }; diff --git a/src/SM/code_3FC0.c b/src/SM/code_3FC0.c index 92dbfbfe..0ae84e97 100644 --- a/src/SM/code_3FC0.c +++ b/src/SM/code_3FC0.c @@ -17,7 +17,7 @@ ActorAnimationInfo D_8038AFF0[] = { ActorInfo D_8038B008 = { 0xE1, 0x198, 0x530, 2, D_8038AFF0, - func_8038A3B0, func_80326224, actor_draw, + func_8038A3B0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 };//chBanjosBed @@ -30,7 +30,7 @@ ActorAnimationInfo D_8038B02C[] = { ActorInfo D_8038B044 ={ 0xE2, 0x199, 0x52F, 2, D_8038B02C, - func_8038A3B0, func_80326224, actor_draw, + func_8038A3B0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 };//chBanjosChair @@ -43,7 +43,7 @@ ActorAnimationInfo D_8038B068[] = { ActorInfo D_8038B080 ={ 0xE3, 0x19A, 0x337, 2, D_8038B068, - func_8038A3B0, func_80326224, actor_draw, + func_8038A3B0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 };//chBanjosStove diff --git a/src/SM/code_4070.c b/src/SM/code_4070.c index 3794b1ae..8627496c 100644 --- a/src/SM/code_4070.c +++ b/src/SM/code_4070.c @@ -12,7 +12,7 @@ void func_8038A4DC(Actor *this, s32 arg1); /* .data */ ActorInfo D_8038B0B0 = { 0x1ED, 0x3B9, 0, 1, NULL, - SM_func_8038A5D8, func_80326224, func_80325340, + SM_func_8038A5D8, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/SM/code_44D0.c b/src/SM/code_44D0.c index 0cb02104..1e486a34 100644 --- a/src/SM/code_44D0.c +++ b/src/SM/code_44D0.c @@ -11,7 +11,7 @@ void func_8038A8F8(Actor *this); /* .data */ ActorInfo D_8038B0E0 = { 0x1F0, 0x3BD, 0, 0, NULL, - func_8038A8F8, func_80326224, func_80325340, + func_8038A8F8, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/SM/code_5B0.c b/src/SM/code_5B0.c index cc334c5a..6e9070e7 100644 --- a/src/SM/code_5B0.c +++ b/src/SM/code_5B0.c @@ -18,18 +18,18 @@ ActorAnimationInfo D_8038AAF0[] = { ActorInfo D_8038AB00 = { MARKER_135_QUARRIE, ACTOR_16F_QUARRIE, ASSET_42D_MODEL_QUARRIE, 1, NULL, - SM_func_80386EF4, func_80326224, actor_drawFullDepth, + SM_func_80386EF4, actor_update_func_80326224, actor_drawFullDepth, 2000, 0, 5.0f, 0 }; ActorInfo D_8038AB24 = { MARKER_29D_ROCK_TRAPPING_GRUNTY, ACTOR_3CA_ROCK_TRAPPING_GRUNTY, ASSET_47B_MODEL_ROCK, 1, D_8038AAF0, - SM_func_80386A00, func_80326224, actor_drawFullDepth, + SM_func_80386A00, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; -struct43s D_8038AB48 = { +ParticleSettingsVelocityAccelerationPosition D_8038AB48 = { {{-200.0f, 600.0f, -200.0f}, {200.0f, 800.0f, 200.0f}}, {{0.0f, -1800.0f, 0.0f}, {0.0f, -1800.0f, 0.0f}}, {{-100.0f, -100.0f, -100.0f}, {100.0f, 100.0f, 100.0f}} @@ -37,7 +37,7 @@ struct43s D_8038AB48 = { s32 D_8038AB90[3] = {0xFF, 0xFF, 0xFF}; -struct43s D_8038AB9C = { +ParticleSettingsVelocityAccelerationPosition D_8038AB9C = { {{-100.0f, -100.0f, -100.0f}, {100.0f, 100.0f, 100.0f}}, {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, {{-100.0f, -100.0f, -100.0f}, {100.0f, 100.0f, 100.0f}} @@ -70,8 +70,8 @@ void SM_func_80386A00(Actor *this) { } void func_80386B04(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) { - func_802EF9F8(p_ctrl, 0.6f); - func_802EFA18(p_ctrl, 4); + particleEmitter_func_802EF9F8(p_ctrl, 0.6f); + particleEmitter_func_802EFA18(p_ctrl, 4); particleEmitter_setFade(p_ctrl, 0.00f, 0.75f); particleEmitter_setModel(p_ctrl, 0x42E); particleEmitter_setPosition(p_ctrl, arg1); @@ -81,7 +81,7 @@ void func_80386B04(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) { particleEmitter_setAngularVelocityRange(p_ctrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.00f, 0.01f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.0f); - particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB48); + particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_8038AB48); particleEmitter_emitN(p_ctrl, arg2); } @@ -95,7 +95,7 @@ void func_80386C2C(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) { particleEmitter_setFinalScaleRange(p_ctrl, (arg3 * 1.5), (arg3 * 3.0)); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 1.5f, 2.0f); - particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB9C); + particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_8038AB9C); particleEmitter_emitN(p_ctrl, arg2); } diff --git a/src/SM/code_BF0.c b/src/SM/code_BF0.c index a8117b20..4da2b907 100644 --- a/src/SM/code_BF0.c +++ b/src/SM/code_BF0.c @@ -8,7 +8,7 @@ void SM_func_80386FE0(Actor *this); ActorInfo D_8038ABF0 = { 0x134, 0x16E, 0, 1, NULL, - SM_func_80386FE0, func_80326224, func_80325340, + SM_func_80386FE0, actor_update_func_80326224, func_80325340, 2000, 0, 0.0f, 0 }; diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index 0859b91b..c33fb2f9 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -19,7 +19,7 @@ ActorAnimationInfo chClamAnimations[] = { ActorInfo chClam = { MARKER_15_CLAM, ACTOR_69_CLAM, ASSET_351_MODEL_CLAM, 0x1, chClamAnimations, - chClam_update, func_80326224, actor_draw, + chClam_update, actor_update_func_80326224, actor_draw, 4500, 0x366, 1.6f, 0 }; @@ -134,8 +134,8 @@ bool __chClam_rotateTowardTarget(Actor *this, s32 arg1) { void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setPosition(pCtrl, position); - func_802EF9F8(pCtrl, 0.7f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.7f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 0.8f, 1.0f); particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); @@ -145,7 +145,7 @@ void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ } void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ - static struct41s D_8038C3F4 = { + static ParticleSettingsVelocityAcceleration D_8038C3F4 = { {{-50.0f, 750.0f, -50.0f}, {120.0f, 900.0f, 120.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} }; @@ -161,7 +161,7 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ } void __chClam_emitEyeParticles(f32 position[3], s32 count){ - static struct41s D_8038C424 = { + static ParticleSettingsVelocityAcceleration D_8038C424 = { {{-80.0f, 400.0f, -80.0f}, {160.0f, 860.0f, 160.0f}}, {{ 0.0f, -1400.0f, 0.0f}, { 0.0f, -1400.0f, 0.0f}} }; @@ -177,7 +177,7 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){ } void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ - static struct41s D_8038C454 = { + static ParticleSettingsVelocityAcceleration D_8038C454 = { {{-200.0f, 850.0f, -200.0f}, {400.0f, 1000.0f, 400.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} }; @@ -201,7 +201,7 @@ void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite 0.0f, 0.5f }; - static struct41s D_8038C4AC = { + static ParticleSettingsVelocityAcceleration D_8038C4AC = { {{-340.0f, 100.0f, -340.0f}, {340.0f, 250.0f, 340.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}} }; diff --git a/src/TTC/ch/leaky.c b/src/TTC/ch/leaky.c index e8c715c3..7b2b99d9 100644 --- a/src/TTC/ch/leaky.c +++ b/src/TTC/ch/leaky.c @@ -18,7 +18,7 @@ ActorAnimationInfo D_8038C700[] = { ActorInfo D_8038C718 = { MARKER_33_LEAKY, ACTOR_1E_LEAKY, ASSET_51A_MODEL_LEAKY, 0x1, D_8038C700, - chLeaky_update, func_80326224, actor_draw, + chLeaky_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/TTC/ch/lockup.c b/src/TTC/ch/lockup.c index ae66bdde..b4c14a1a 100644 --- a/src/TTC/ch/lockup.c +++ b/src/TTC/ch/lockup.c @@ -25,21 +25,21 @@ ActorAnimationInfo D_8038C760[] ={ ActorInfo D_8038C790 = { MARKER_A4_LOCKUP_SLOW, ACTOR_151_LOCKUP_SLOW, ASSET_3D4_MODEL_LOCKUP, 1, D_8038C760, - func_80389600, func_80326224, func_803894C0, + func_80389600, actor_update_func_80326224, func_803894C0, 2500, 0x366, 0.0f, 0 }; ActorInfo D_8038C7B4 = { MARKER_F6_LOCKUP_MEDIUM, ACTOR_152_LOCKUP_MEDIUM, ASSET_3D4_MODEL_LOCKUP, 1, D_8038C760, - func_80389600, func_80326224, func_803894C0, + func_80389600, actor_update_func_80326224, func_803894C0, 2500, 0x366, 0.0f, 0 }; ActorInfo D_8038C7D8 = { MARKER_F7_LOCKUP_FAST, ACTOR_153_LOCKUP_FAST, ASSET_3D4_MODEL_LOCKUP, 1, D_8038C760, - func_80389600, func_80326224, func_803894C0, + func_80389600, actor_update_func_80326224, func_803894C0, 2500, 0x366, 0.0f, 0 }; diff --git a/src/TTC/ch/nipper.c b/src/TTC/ch/nipper.c index 279c44c9..3aebd7f9 100644 --- a/src/TTC/ch/nipper.c +++ b/src/TTC/ch/nipper.c @@ -21,7 +21,7 @@ ActorAnimationInfo D_8038C540[] = { ActorInfo D_8038C580 = { MARKER_A5_NIPPER, ACTOR_117_NIPPER, ASSET_3D5_MODEL_NIPPER, 0x1, D_8038C540, - func_80388434, func_80326224, func_80387EB0, + func_80388434, actor_update_func_80326224, func_80387EB0, 0, 0x299, 10.0f, 0 }; @@ -45,7 +45,7 @@ void func_80387DC0(f32 *position, s32 count) { particleEmitter_setRGB(pCtrl, D_8038C5A4); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -10.0f, -5.0f, -10.0f, 10.0f, 10.0f, 10.0f ); diff --git a/src/TTC/ch/treasure.c b/src/TTC/ch/treasure.c index 7c51dd5b..2aa24368 100644 --- a/src/TTC/ch/treasure.c +++ b/src/TTC/ch/treasure.c @@ -15,7 +15,7 @@ ActorAnimationInfo gChTreasureAnim[]={ ActorInfo gChTreasureInfo = { MARKER_DB_BURIED_TREASURE, ACTOR_F4_BURIED_TREASURE, ASSET_42C_MODEL_BURIED_TREASURE, 1, gChTreasureAnim, - chtreasure_update, func_80326224, actor_draw, + chtreasure_update, actor_update_func_80326224, actor_draw, 0, 0, 1.7f, 0 }; diff --git a/src/TTC/ch/treasurehunt.c b/src/TTC/ch/treasurehunt.c index a8d7490f..66918f13 100644 --- a/src/TTC/ch/treasurehunt.c +++ b/src/TTC/ch/treasurehunt.c @@ -38,21 +38,21 @@ s32 D_8038C898[6] = { ActorInfo D_8038C8B0 = { MARKER_62_RED_ARROW, ACTOR_53_RED_ARROW, ASSET_3E9_MODEL_RED_ARROW, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, 0, 0x400, 0.0f, 0 }; ActorInfo D_8038C8D4 = { MARKER_63_RED_QUESTION_MARK, ACTOR_54_RED_QUESTION_MARK, ASSET_3EB_MODEL_RED_QUESTION_MARK, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, 0, 0x400, 0.0f, 0 }; ActorInfo D_8038C8F8 = { MARKER_64_RED_X, ACTOR_55_RED_X, ASSET_3EA_MODEL_RED_X, 0, NULL, - TTC_func_80389E90, func_80326224, func_8038A0D0, + TTC_func_80389E90, actor_update_func_80326224, func_8038A0D0, 0, 0x400, 0.0f, 0 }; @@ -65,7 +65,7 @@ ParticleScaleAndLifetimeRanges D_8038C928 = { 0.0f, 0.01f }; -struct42s D_8038C950 = { +ParticleSettingsVelocityPosition D_8038C950 = { {{-230.0f, 30.0f, -230.0f}, {230.0f, 110.0f, 230.0f}}, {{-60.0f, 0.0f, -60.0f}, {60.0f, 30.0f, 60.0f}}, }; diff --git a/src/TTC/code_26D0.c b/src/TTC/code_26D0.c index 9f8ab9ba..1775055d 100644 --- a/src/TTC/code_26D0.c +++ b/src/TTC/code_26D0.c @@ -35,56 +35,56 @@ void func_80388D8C(Actor *this); ActorInfo D_8038C5E0 = { 0xA1, 0x10E, 0x3D2, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C604 = { MARKER_EA_LIGHTHOUSE_DOOR, ACTOR_13E_LIGHTHOUSE_DOOR, ASSET_3D6_MODEL_LIGHTHOUSE_DOOR, 0x1, NULL, - func_802D3D54, func_80326224, actor_drawFullDepth, + func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C628 = { MARKER_167_SHARKFOOD_ISLAND, ACTOR_25C_SHARKFOOD_ISLAND, ASSET_50A_MODEL_SHARKFOOD_ISLAND, 0x1, NULL, - func_80388D8C, func_80326224, actor_drawFullDepth, + func_80388D8C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C64C = { 0x267, 0x2E2, 0x3BD, 0x1, NULL, - func_80388D34, func_80326224, actor_drawFullDepth, + func_80388D34, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C670 = { 0x26A, 0x2DF, 0x3BE, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C694 = { 0x268, 0x2E0, 0x3B6, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C6B8 = { 0x269, 0x2E1, 0x3B7, 0x1, NULL, - TTC_func_80388C78, func_80326224, actor_drawFullDepth, + TTC_func_80388C78, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; ActorInfo D_8038C6DC = { MARKER_1D5_PALM_TREE, ACTOR_31E_PALM_TREE, ASSET_3A9_MODEL_PALM_TREE, 0x1, NULL, - func_80388CB8, func_80326224, actor_drawFullDepth, + func_80388CB8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0 }; diff --git a/src/core2/bs/droneenter.c b/src/core2/bs/droneenter.c index dad86fc1..39980e8c 100644 --- a/src/core2/bs/droneenter.c +++ b/src/core2/bs/droneenter.c @@ -47,25 +47,25 @@ void __bsDroneEnter_emitParticles(void) { f32 plyr_pos[3]; player_getPosition(plyr_pos); - particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f); + particleEmitter_setAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f); particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos); particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1); - particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f); + particleEmitter_setAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -5.0f, -45.0f, 45.0f, 10.0f, 45.0f); particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos); particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1); player_getPosition(plyr_pos); plyr_pos[1] += 130.0f; - particleEmitter_setParticleAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f); + particleEmitter_setAccelerationRange(bsDroneEnter.yellow_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f); particleEmitter_setPosition(bsDroneEnter.yellow_sparkle_emitter, plyr_pos); particleEmitter_emitN(bsDroneEnter.yellow_sparkle_emitter, 1); - particleEmitter_setParticleAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f); + particleEmitter_setAccelerationRange(bsDroneEnter.white_sparkle_emitter, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(bsDroneEnter.yellow_sparkle_emitter, -45.0f, -10.0f, -45.0f, 45.0f, 10.0f, 45.0f); particleEmitter_setPosition(bsDroneEnter.white_sparkle_emitter, plyr_pos); particleEmitter_emitN(bsDroneEnter.white_sparkle_emitter, 1); } diff --git a/src/core2/bs/dronevanish.c b/src/core2/bs/dronevanish.c index df4c8d59..70baca01 100644 --- a/src/core2/bs/dronevanish.c +++ b/src/core2/bs/dronevanish.c @@ -40,17 +40,17 @@ void __bsDroneVanish_emitParticles(void) { f32 position[3]; player_getPosition(position); - particleEmitter_setParticleAccelerationRange(D_8037D450.unk4, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); + particleEmitter_setAccelerationRange(D_8037D450.unk4, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); particleEmitter_setPosition(D_8037D450.unk4, position); particleEmitter_emitN(D_8037D450.unk4, 1); - particleEmitter_setParticleAccelerationRange(D_8037D450.unk0, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); + particleEmitter_setAccelerationRange(D_8037D450.unk0, 0.0f, 700.0f, 0.0f, 0.0f, 1200.0f, 0.0f); particleEmitter_setPosition(D_8037D450.unk0, position); particleEmitter_emitN(D_8037D450.unk0, 1); position[1] += 130.0f; - particleEmitter_setParticleAccelerationRange(D_8037D450.unk4, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); + particleEmitter_setAccelerationRange(D_8037D450.unk4, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); particleEmitter_setPosition(D_8037D450.unk4, position); particleEmitter_emitN(D_8037D450.unk4, 1); - particleEmitter_setParticleAccelerationRange(D_8037D450.unk0, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); + particleEmitter_setAccelerationRange(D_8037D450.unk0, 0.0f, -700.0f, 0.0f, 0.0f, -1200.0f, 0.0f); particleEmitter_setPosition(D_8037D450.unk0, position); particleEmitter_emitN(D_8037D450.unk0, 1); } @@ -59,7 +59,7 @@ void __bsDroneVanish_particleEmitInit(ParticleEmitter *p_ctrl, enum asset_e spri particleEmitter_manualFree(); particleEmitter_setSprite(p_ctrl, sprite_id); particleEmitter_setFade(p_ctrl, 0.3f, 0.8f); - particleEmitter_setParticleSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f); + particleEmitter_setSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f); particleEmitter_setStartingScaleRange(p_ctrl, 0.15f, 0.22f); particleEmitter_setFinalScaleRange(p_ctrl, 0.03f, 0.05f); particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); diff --git a/src/core2/bs/dronexform.c b/src/core2/bs/dronexform.c index 42fcef7c..56fa28a8 100644 --- a/src/core2/bs/dronexform.c +++ b/src/core2/bs/dronexform.c @@ -36,7 +36,7 @@ struct { void func_802AF7A0(ParticleEmitter *arg0, enum asset_e arg1){ particleEmitter_manualFree(arg0); particleEmitter_setSprite(arg0, arg1); - particleEmitter_setParticleAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f); + particleEmitter_setAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f); particleEmitter_setFade(arg0, 0.4f, 0.8f); particleEmitter_setFinalScaleRange(arg0, 0.03f, 0.03f); particleEmitter_setAngularVelocityRange(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); @@ -116,31 +116,31 @@ void func_802AFBAC(f32 arg0){ } void func_802AFBB8(f32 arg0[3]){ - static struct41s D_80364BB0 = { + static ParticleSettingsVelocityAcceleration D_80364BB0 = { {{-150.0f, 10.0f, -150.0f}, { 150.0f, 50.0f, 150.0f}}, {{ 0.0f, -50.0f, 0.0f}, { 0.0f, -50.0f, 0.0f}} }; - static struct41s D_80364BE0 = { + static ParticleSettingsVelocityAcceleration D_80364BE0 = { {{-300.0f, 150.0f, -300.0f}, { 300.0f, 200.0f, 300.0f}}, {{ 0.0f, -150.0f, 0.0f}, { 0.0f, -150.0f, 0.0f}} }; - static struct41s D_80364C10 = { + static ParticleSettingsVelocityAcceleration D_80364C10 = { {{-100.0f, 10.0f, -100.0f}, { 100.0f, 15.0f, 100.0f}}, {{ 0.0f, -700.0f, 0.0f}, { 0.0f, -700.0f, 0.0f}} }; - static struct41s D_80364C40 = { + static ParticleSettingsVelocityAcceleration D_80364C40 = { {{ -50.0f, 60.0f, -50.0f}, { 50.0f, 150.0f, 50.0f}}, {{ 0.0f, -50.0f, 0.0f}, { 0.0f, -50.0f, 0.0f}} }; - static struct41s D_80364C70 = { + static ParticleSettingsVelocityAcceleration D_80364C70 = { {{-400.0f, 150.0f, -400.0f}, { 400.0f, 200.0f, 400.0f}}, {{ 0.0f, -200.0f, 0.0f}, { 0.0f, -200.0f, 0.0f}} }; - static struct41s D_80364CA0 = { + static ParticleSettingsVelocityAcceleration D_80364CA0 = { {{-200.0f, 10.0f, -200.0f}, { 200.0f, 20.0f, 200.0f}}, {{ 0.0f, -850.0f, 0.0f}, { 0.0f, -850.0f, 0.0f}} }; @@ -180,8 +180,8 @@ void func_802AFBB8(f32 arg0[3]){ particleEmitter_emitN(s0, 5); particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364C10); - func_802EF9F8(s0, 0.4f); - func_802EFA18(s0, 3); + particleEmitter_func_802EF9F8(s0, 0.4f); + particleEmitter_func_802EFA18(s0, 3); particleEmitter_emitN(s0, 4); s0 = partEmitMgr_newEmitter(0x11); @@ -200,8 +200,8 @@ void func_802AFBB8(f32 arg0[3]){ particleEmitter_emitN(s0, 5); particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364CA0); - func_802EF9F8(s0, 0.4f); - func_802EFA18(s0, 3); + particleEmitter_func_802EF9F8(s0, 0.4f); + particleEmitter_func_802EFA18(s0, 3); particleEmitter_emitN(s0, 4); } diff --git a/src/core2/ch/badShad.c b/src/core2/ch/badShad.c index 1a79894a..1a222c26 100644 --- a/src/core2/ch/badShad.c +++ b/src/core2/ch/badShad.c @@ -14,7 +14,7 @@ void func_802D729C(Actor *actor, f32 arg1); ActorInfo chBadShad = { 0x9B, 0x108, 0x3BF, 0x1, NULL, - chBadShad_update, func_80326224, chBadShad_draw, + chBadShad_update, actor_update_func_80326224, chBadShad_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/bat.c b/src/core2/ch/bat.c index 2787ed65..65726619 100644 --- a/src/core2/ch/bat.c +++ b/src/core2/ch/bat.c @@ -40,7 +40,7 @@ ActorAnimationInfo sChBatAnimations[] = { ActorInfo gChBat = { MARKER_127_BAT, ACTOR_163_BAT, ASSET_3CA_MODEL_BAT, CH_BAT_STATE_ROOSTING, sChBatAnimations, - chbat_update, func_80326224, actor_draw, + chbat_update, actor_update_func_80326224, actor_draw, 2500, 0, 0.9f, 0 }; diff --git a/src/core2/ch/beehive.c b/src/core2/ch/beehive.c index c3f60248..78df9245 100644 --- a/src/core2/ch/beehive.c +++ b/src/core2/ch/beehive.c @@ -19,7 +19,7 @@ ActorAnimationInfo chBeehiveAnimations[] ={ ActorInfo chBeehive = {MARKER_50_BEEHIVE, ACTOR_12_BEEHIVE, ASSET_364_MODEL_BEEHIVE, 1, chBeehiveAnimations, - chBeehive_update, func_80326224, actor_draw, + chBeehive_update, actor_update_func_80326224, actor_draw, 0, 0x333, 0.0f, 0 }; diff --git a/src/core2/ch/bigbutt.c b/src/core2/ch/bigbutt.c index e1b1baeb..ec0903ef 100644 --- a/src/core2/ch/bigbutt.c +++ b/src/core2/ch/bigbutt.c @@ -28,13 +28,13 @@ ActorAnimationInfo D_80366010[] ={ ActorInfo D_80366090 = {0x3, ACTOR_4_BIGBUTT, ASSET_353_MODEL_BIGBUTT, 1, D_80366010, - func_802C6240, func_80326224, func_802C6E84, + func_802C6240, actor_update_func_80326224, func_802C6E84, 3200, 0, 0.0f, 0 }; ActorInfo D_803660B4 = {0x9, ACTOR_E_BULL_INTRO, ASSET_354_MODEL_BULL_INTRO, 1, D_80366010, - func_802C6240, func_80326224, func_802C6E84, + func_802C6240, actor_update_func_80326224, func_802C6E84, 3200, 0, 0.0f, 0 }; diff --git a/src/core2/ch/bottlesbonus.c b/src/core2/ch/bottlesbonus.c index d82708b7..65333c30 100644 --- a/src/core2/ch/bottlesbonus.c +++ b/src/core2/ch/bottlesbonus.c @@ -94,7 +94,7 @@ f32 D_803682C4[3] = {0.0f, 0.0f, 0.0f}; ActorInfo chBottlesBonusDescription = { 0x179, 0x1E0, 0x46C, 0x1, chBottlesBonusAnimations, - chBottlesBonus_update, func_80326224, chBottlesBonus_draw, + chBottlesBonus_update, actor_update_func_80326224, chBottlesBonus_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/bottlesbonuscursor.c b/src/core2/ch/bottlesbonuscursor.c index 5665a41c..a9ab5bd3 100644 --- a/src/core2/ch/bottlesbonuscursor.c +++ b/src/core2/ch/bottlesbonuscursor.c @@ -57,7 +57,7 @@ f32 D_8036840C[3] = {-11.28f, 3.92f, -52.96f}; ActorInfo D_80368418 = { 0x17A, 0x2B4, 0x565, 0x1, D_803683B0, - chBottlesBonusCursor_update, func_80326224, func_80325340, + chBottlesBonusCursor_update, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/bubble.c b/src/core2/ch/bubble.c index 34c93d50..d2a35960 100644 --- a/src/core2/ch/bubble.c +++ b/src/core2/ch/bubble.c @@ -12,7 +12,7 @@ extern void func_802F32C4(s32, f32[3], f32, ActorMarker *, s32(*)(f32[3], f32, A /* .data */ ActorInfo chBubble = { MARKER_6B_GLOOPBUBBLE, ACTOR_E7_GLOOP_BUBBLE, ASSET_704_SPRITE_BUBBLE, - 0, NULL, chBubble_update, func_80326224, func_80325340, + 0, NULL, chBubble_update, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/climbBase.c b/src/core2/ch/climbBase.c index 6859a7b0..841f9900 100644 --- a/src/core2/ch/climbBase.c +++ b/src/core2/ch/climbBase.c @@ -16,7 +16,7 @@ typedef struct { ActorInfo D_80367B20 = { 0x35, 0x26, 0x0, 0x1, NULL, - func_802D77D4, func_80326224, func_80325340, + func_802D77D4, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/collectible.c b/src/core2/ch/collectible.c index 4c6cf982..1a2eef0e 100644 --- a/src/core2/ch/collectible.c +++ b/src/core2/ch/collectible.c @@ -14,21 +14,21 @@ void chCollectible_update(Actor *this); extern ActorInfo D_80367D00 = { MARKER_60_BLUE_EGG_COLLECTIBLE, ACTOR_52_BLUE_EGG, ASSET_36D_SPRITE_BLUE_EGG, 0, NULL, - chCollectible_update, func_80326224, chCollectible_draw, + chCollectible_update, actor_update_func_80326224, chCollectible_draw, 0, 0, 0.7f, 0 }; extern ActorInfo D_80367D24 = { MARKER_B5_RED_FEATHER_COLLECTIBLE, ACTOR_129_RED_FEATHER, ASSET_580_SPRITE_RED_FEATHER, 0, NULL, - chCollectible_update, func_80326224, chCollectible_draw, + chCollectible_update, actor_update_func_80326224, chCollectible_draw, 0, 0, 0.5f, 0 }; extern ActorInfo D_80367D48 = { MARKER_1E5_GOLD_FEATHER_COLLECTIBLE, ACTOR_370_GOLD_FEATHER, ASSET_6D1_SPRITE_GOLDFEATHTER, 0, NULL, - chCollectible_update, func_80326224, chCollectible_draw, + chCollectible_update, actor_update_func_80326224, chCollectible_draw, 0, 0, 0.5f, 0 }; diff --git a/src/core2/ch/crab.c b/src/core2/ch/crab.c index 85be3490..e3e56c21 100644 --- a/src/core2/ch/crab.c +++ b/src/core2/ch/crab.c @@ -94,8 +94,8 @@ void __chCrab_ow(ActorMarker *marker, ActorMarker *other) { void __chCrab_particleEmitterSetup(ParticleEmitter *p_ctrl, f32 position[3]) { particleEmitter_setPosition(p_ctrl, position); particleEmitter_setDrawMode(p_ctrl, 2); - func_802EF9F8(p_ctrl, 0.7f); - func_802EFA18(p_ctrl, 5); + particleEmitter_func_802EF9F8(p_ctrl, 0.7f); + particleEmitter_func_802EFA18(p_ctrl, 5); func_802EFA20(p_ctrl, 0.8f, 1.0f); particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); @@ -106,7 +106,7 @@ void __chCrab_particleEmitterSetup(ParticleEmitter *p_ctrl, f32 position[3]) { void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) { __chCrab_particleEmitterSetup(p_ctrl, position); - particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f); particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); @@ -116,7 +116,7 @@ void __chCrab_emitClawPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) { __chCrab_particleEmitterSetup(p_ctrl, position); - particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setStartingScaleRange(p_ctrl, 0.5f, 0.8f); particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); @@ -126,7 +126,7 @@ void __chCrab_emitLegPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_ void __chCrab_emitHeadPiece(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_id) { __chCrab_particleEmitterSetup(p_ctrl, position); - particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); particleEmitter_setStartingScaleRange(p_ctrl, 1.0f, 1.0f); particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); @@ -399,6 +399,6 @@ void chCrab_update(Actor *this) { } /* .data */ -ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0}; -ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, chCrabAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0}; -ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, chCrabMutantAnimations, chCrab_update, func_80326224, actor_draw, 1900, 0, 0.8f, 0}; +ActorInfo D_803670B8 = { MARKER_13_SNIPPET, ACTOR_67_SNIPPET, ASSET_358_SNIPPET, 0x1, chCrabAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0}; +ActorInfo D_803670DC = { MARKER_DD_BLACK_SNIPPET, ACTOR_F2_BLACK_SNIPPET, ASSET_566_MODEL_BLACK_SNIPPET, 0x1, chCrabAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0}; +ActorInfo D_80367100 = { MARKER_13_SNIPPET, ACTOR_F5_MUTIE_SNIPPET, ASSET_38F_MODEL_MUTIE_SNIPPET, 0x1, chCrabMutantAnimations, chCrab_update, actor_update_func_80326224, actor_draw, 1900, 0, 0.8f, 0}; diff --git a/src/core2/ch/drips.c b/src/core2/ch/drips.c index 9e6cd4d0..1c276879 100644 --- a/src/core2/ch/drips.c +++ b/src/core2/ch/drips.c @@ -19,7 +19,7 @@ void chdrips_update(Actor *this); ActorInfo gChDripsInfo = { 0x246, ACTOR_354_DRIPS, 0, 0, NULL, - chdrips_update, func_80326224, func_80325340, + chdrips_update, actor_update_func_80326224, func_80325340, 5000, 0, 0.0f, 0 }; @@ -27,7 +27,7 @@ s32 D_80372AE4[3] = {0xff, 0xff, 0xfe}; struct_core2_D2AB0 D_80372AF0 = {0.0f, 0.0f, 1.0f, 1.4f}; -struct43s D_80372B00 = { +ParticleSettingsVelocityAccelerationPosition D_80372B00 = { {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, {{0.0f, -650.0f, 0.0f}, {0.0f, -650.0f, 0.0f}}, {{-400.0f, 0.0f, -400.0f}, {400.0f, 0.0f, 400.0f}} @@ -78,8 +78,8 @@ void chdrips_update(Actor *this){ pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setModel(pCtrl, ASSET_8A0_SPRITE_WATER_DROP); particleEmitter_setPosition(pCtrl, this->position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80372B00); - func_802EFA18(pCtrl, 1); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80372B00); + particleEmitter_func_802EFA18(pCtrl, 1); particleEmitter_setParticleCallback(pCtrl, __chdrips_particleCallback); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f); diff --git a/src/core2/ch/firefx.c b/src/core2/ch/firefx.c index bd0228f0..2da1186b 100644 --- a/src/core2/ch/firefx.c +++ b/src/core2/ch/firefx.c @@ -10,7 +10,7 @@ void chfirefx_update(Actor *this); ActorInfo gChFireFxInfo = { MARKER_256_FIRE_FX, ACTOR_383_FIRE_FX, ASSET_526_SPRITE_FIRE, 0, NULL, - chfirefx_update, func_80326224, actor_draw, + chfirefx_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; @@ -23,7 +23,7 @@ void __chfirefx_spawnSmoke(f32 position[3], f32 scale){ particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setAlpha(pCtrl, 0x23); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, 0.0f, 110.0f*scale, 0.0f, 0.0f, 110.0f*scale, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 40.0f*scale, 0.0f, 0.0f, 90.0f*scale, 0.0f); particleEmitter_setStartingScaleRange(pCtrl, 2.6*scale, 3.2*scale); particleEmitter_setFinalScaleRange(pCtrl, 5.0*scale, 6.0*scale); @@ -41,9 +41,9 @@ void __chfirefx_spawnSpark(f32 position[3], f32 scale){ particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, 0.0f, 20.0f*scale, 0.0f, 0.0f, 20.0f*scale, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f*scale, 120.0f*scale, -30.0f*scale, 60.0f*scale, 360.0f*scale, 60.0f*scale); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -50.0f, 0.0f, 0.0f, -90.0f, 0.0f); particleEmitter_setStartingScaleRange(pCtrl, 0.1*scale, 0.2*scale); particleEmitter_setFinalScaleRange(pCtrl, 0.2*scale, 0.4*scale); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); diff --git a/src/core2/ch/flotsam.c b/src/core2/ch/flotsam.c index ea0f1993..ca953359 100644 --- a/src/core2/ch/flotsam.c +++ b/src/core2/ch/flotsam.c @@ -37,7 +37,7 @@ ParticleScaleAndLifetimeRanges D_80372CA4 = { 0.1f, 0.5f }; -struct43s D_80372CCC = { +ParticleSettingsVelocityAccelerationPosition D_80372CCC = { {{-5.0f, 10.0f, -5.0f}, {5.0f, 50.0f, 5.0f}}, {{0.0f, 200.0f, 0.0f}, {0.0f, 1000.0f, 0.0f}}, {{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}} @@ -182,7 +182,7 @@ void func_8035C080(Actor *this, s32 next_state){ particleEmitter_setSprite(local->pCtrl_8, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setStartingFrameRange(local->pCtrl_8, 0, 7); particleEmitter_setPosition(local->pCtrl_8, this->position); - particleEmitter_setPositionVelocityAndAccelerationRanges(local->pCtrl_8, &D_80372CCC); + particleEmitter_setVelocityAccelerationAndPositionRanges(local->pCtrl_8, &D_80372CCC); particleEmitter_setScaleAndLifetimeRanges(local->pCtrl_8, &D_80372CA4); particleEmitter_setSpawnInterval(local->pCtrl_8, 4); }//L8035C698 diff --git a/src/core2/ch/gameSelect.c b/src/core2/ch/gameSelect.c index 570c89cb..e48258cf 100644 --- a/src/core2/ch/gameSelect.c +++ b/src/core2/ch/gameSelect.c @@ -55,7 +55,7 @@ ActorAnimationInfo D_80365E28[] = { {0x24F, 0.6f}, {0x24D, 2.0f} }; -ActorInfo D_80365E58 = { 0xE4, 0x195, 0x532, 0x1, D_80365E28, func_802C5740, func_80326224, func_802C4464, 0, 0, 0.0f, 0}; +ActorInfo D_80365E58 = { 0xE4, 0x195, 0x532, 0x1, D_80365E28, func_802C5740, actor_update_func_80326224, func_802C4464, 0, 0, 0.0f, 0}; ActorAnimationInfo D_80365E7C[] = { {0x000, 0.0f}, @@ -65,7 +65,7 @@ ActorAnimationInfo D_80365E7C[] = { {0x252, 0.67f}, {0x250, 4.5f}, }; -ActorInfo D_80365EAC = { 0xE5, 0x196, 0x532, 0x1, D_80365E7C, func_802C4C14, func_80326224, func_802C4360, 0, 0, 0.0f, 0}; +ActorInfo D_80365EAC = { 0xE5, 0x196, 0x532, 0x1, D_80365E7C, func_802C4C14, actor_update_func_80326224, func_802C4360, 0, 0, 0.0f, 0}; ActorAnimationInfo D_80365ED0[] = { {0x000, 0.0f}, @@ -75,7 +75,7 @@ ActorAnimationInfo D_80365ED0[] = { {0x24C, 1.0f}, {0x24A, 1.0f} }; -ActorInfo D_80365F00 = { 0xE6, 0x197, 0x532, 0x1, D_80365ED0, func_802C4C14, func_80326224, func_802C4360, 0, 0, 0.0f, 0}; +ActorInfo D_80365F00 = { 0xE6, 0x197, 0x532, 0x1, D_80365ED0, func_802C4C14, actor_update_func_80326224, func_802C4360, 0, 0, 0.0f, 0}; /* .bss */ diff --git a/src/core2/ch/ghost.c b/src/core2/ch/ghost.c index f032faa7..df5d3eca 100644 --- a/src/core2/ch/ghost.c +++ b/src/core2/ch/ghost.c @@ -26,7 +26,7 @@ ActorAnimationInfo D_80372BE0[] ={ ActorInfo D_80372C18 = { //TEEHEE MARKER_99_TEEHEE, ACTOR_CA_TEEHEE, ASSET_3CB_MODEL_TEEHEE, 0x1, D_80372BE0, - func_8035B900, func_80326224, actor_draw, + func_8035B900, actor_update_func_80326224, actor_draw, 6500, 0, 0.9f, 0 }; @@ -48,11 +48,11 @@ void func_8035AFE0(f32 scale, f32 pos[3], s32 cnt, enum asset_e sprite_id, s32 a particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setRGB(pCtrl, arg4); particleEmitter_setPosition(pCtrl, pos); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -100.0f*scale, 20.0f*scale, -100.0f*scale, 100.0f*scale, 200.0f*scale, 100.0f*scale ); - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -10.0f*scale, 0.0f, 0.0f, -10.0f*scale, 0.0f ); diff --git a/src/core2/ch/gloop.c b/src/core2/ch/gloop.c index b6e30e7e..bd97fa88 100644 --- a/src/core2/ch/gloop.c +++ b/src/core2/ch/gloop.c @@ -50,7 +50,7 @@ void chgloop_update(Actor *this){ this->marker->propPtr->unk8_3 = TRUE; } - func_80326224(this); + actor_update_func_80326224(this); switch(this->state){ case 2://L802D14DC diff --git a/src/core2/ch/gravestone.c b/src/core2/ch/gravestone.c index d8aa765f..ee3de36f 100644 --- a/src/core2/ch/gravestone.c +++ b/src/core2/ch/gravestone.c @@ -28,14 +28,14 @@ ActorAnimationInfo D_80372F80[] = { ActorInfo D_80372FC0 = { MARKER_96_GRAVESTONE, ACTOR_C7_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE, 0x1, D_80372F80, - func_8035F138, func_80326224, func_8035ECA0, + func_8035F138, actor_update_func_80326224, func_8035ECA0, 3500, 0, 1.2f, 0 }; ActorInfo D_80372FE4 = { MARKER_297_GIANT_GRAVESTONE, ACTOR_3C2_GIANT_GRAVESTONE, ASSET_3C9_MODEL_GRAVESTONE, 0x1, D_80372F80, - func_8035F138, func_80326224, func_8035ECA0, + func_8035F138, actor_update_func_80326224, func_8035ECA0, 14000, 0, 3.2f, 0 }; @@ -71,7 +71,7 @@ bool func_8035ED60(Actor *this) { void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) { static s32 D_80373014[3] = {0xAA, 0xAA, 0xAA}; static ParticleScaleAndLifetimeRanges D_80373020 = {{0.4f, 0.8f}, {1.4f, 2.0f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01}; - static struct43s D_80373048 = { + static ParticleSettingsVelocityAccelerationPosition D_80373048 = { {{-200.0f, -200.0f, -200.0f}, { 200.0f, 200.0f, 200.0f}}, {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, {{ -50.0f, 0.0f, -50.0f}, { 50.0f, 200.0f, 50.0f}} @@ -82,7 +82,7 @@ void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) { particleEmitter_setRGB(p_ctrl, D_80373014); particleEmitter_setSprite(p_ctrl, sprite); particleEmitter_setPosition(p_ctrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_80373048); + particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_80373048); particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_80373020); particleEmitter_setDrawMode(p_ctrl, PART_EMIT_NO_DEPTH); particleEmitter_emitN(p_ctrl, count); diff --git a/src/core2/ch/icecube.c b/src/core2/ch/icecube.c index fd85fb48..21a55d2b 100644 --- a/src/core2/ch/icecube.c +++ b/src/core2/ch/icecube.c @@ -24,14 +24,14 @@ ActorAnimationInfo D_80372B50[] = { ActorInfo D_80372B80 = { MARKER_250_ICECUBE_A, ACTOR_37D_ICECUBE_A, ASSET_504_MODEL_ICECUBE, 1, D_80372B50, - chicecube_update, func_80326224, chicecube_draw, + chicecube_update, actor_update_func_80326224, chicecube_draw, 0, 0, 0.0f, 0 }; ActorInfo D_80372BA4 = { MARKER_25F_ICECUBE_B, ACTOR_3A0_ICECUBE_B, ASSET_504_MODEL_ICECUBE, 1, D_80372B50, - chicecube_update, func_80326224, chicecube_draw, + chicecube_update, actor_update_func_80326224, chicecube_draw, 0, 0, 0.0f, 0 }; @@ -110,8 +110,8 @@ void func_8035A04C(f32 position[3], s32 cnt, enum asset_e model_id, f32 scale){ particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -100.0f*scale, 0.0f, -100.0f*scale, 100.0f*scale, 200.0f*scale, 100.0f*scale); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -100.0f*scale, 0.0f, -100.0f*scale, 100.0f*scale, 200.0f*scale, 100.0f*scale); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, -400.0f*scale, 450.0f*scale, -400.0f*scale, 400.0f*scale, 600.0f*scale, 400.0f*scale); particleEmitter_setAngularVelocityRange(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale); particleEmitter_setStartingScaleRange(pCtrl, scale*0.2, scale*0.4); @@ -127,8 +127,8 @@ void func_8035A228(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ particleEmitter_setRGB(pCtrl, D_80372BC8); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -50.0f*scale, 0.0f, -50.0f*scale, 50.0f*scale, 200.0f*scale, 50.0f*scale); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, -280.0f*scale, 0.0f, -280.0f*scale, 280.0f*scale, 280.0f*scale, 280.0f*scale); particleEmitter_setStartingScaleRange(pCtrl, scale*0.6, scale*0.8); particleEmitter_setFinalScaleRange(pCtrl, scale*1.0, scale*1.4); @@ -144,7 +144,7 @@ void func_8035A3F8(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ particleEmitter_setRGB(pCtrl, D_80372BD4); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -10.0f, 0.0f, 0.0f, -10.0f, 0.0f); particleEmitter_setParticleVelocityRange(pCtrl, -60.0f*scale, 0.0f, -60.0f*scale, 60.0f*scale, 60.0f*scale, 60.0f*scale); particleEmitter_setStartingScaleRange(pCtrl, scale*0.4, scale*0.6); particleEmitter_setFinalScaleRange(pCtrl, scale*0.8, scale*1.2); diff --git a/src/core2/ch/jigsawdance.c b/src/core2/ch/jigsawdance.c index dd18cd9e..fe82f881 100644 --- a/src/core2/ch/jigsawdance.c +++ b/src/core2/ch/jigsawdance.c @@ -20,7 +20,7 @@ ActorAnimationInfo chJigsawDanceAnimations[] = { ActorInfo chJigsawDance = {MARKER_68_JIGSAW_DANCE, ACTOR_5A_JIGSAW_DANCE, ASSET_35E_MODEL_JIGSAW_DANCE, 1, chJigsawDanceAnimations, - __chJigsawDance_update, func_80326224, __chJigsawDance_draw, + __chJigsawDance_update, actor_update_func_80326224, __chJigsawDance_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/jinjo.c b/src/core2/ch/jinjo.c index f8fef90a..df850953 100644 --- a/src/core2/ch/jinjo.c +++ b/src/core2/ch/jinjo.c @@ -23,11 +23,11 @@ ActorAnimationInfo chJinjoAnimations[] = { {ASSET_31_ANIM_JINJO_JUMP, 0.75f} }; -ActorInfo chJinjoBlue = { MARKER_5A_JINJO_BLUE, ACTOR_60_JINJO_BLUE, ASSET_3C0_MODEL_JINJO_BLUE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo chJinjoGreen = { MARKER_5B_JINJO_GREEN, ACTOR_62_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo chJinjoYellow = { MARKER_5E_JINJO_YELLOW, ACTOR_5E_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo chJinjoPink = { MARKER_5D_JINJO_PINK, ACTOR_61_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo chJinjoOrange = { MARKER_5C_JINJO_ORANGE, ACTOR_5F_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 0x1, chJinjoAnimations, chJinjo_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo chJinjoBlue = { MARKER_5A_JINJO_BLUE, ACTOR_60_JINJO_BLUE, ASSET_3C0_MODEL_JINJO_BLUE, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo chJinjoGreen = { MARKER_5B_JINJO_GREEN, ACTOR_62_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo chJinjoYellow = { MARKER_5E_JINJO_YELLOW, ACTOR_5E_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo chJinjoPink = { MARKER_5D_JINJO_PINK, ACTOR_61_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo chJinjoOrange = { MARKER_5C_JINJO_ORANGE, ACTOR_5F_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 0x1, chJinjoAnimations, chJinjo_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; enum asset_e __chJinjo_getMeetDialogId(enum marker_e marker_id){ switch(marker_id){ diff --git a/src/core2/ch/mole.c b/src/core2/ch/mole.c index 50f4f2f3..bb0023ca 100644 --- a/src/core2/ch/mole.c +++ b/src/core2/ch/mole.c @@ -26,7 +26,7 @@ ActorAnimationInfo moleAnimations[]= { ActorInfo gChMole = { 0x1DF, ACTOR_37A_BOTTLES, ASSET_387_MODEL_BOTTLES, 1, moleAnimations, - chmole_update, func_80326224, func_802D94B4, + chmole_update, actor_update_func_80326224, func_802D94B4, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/molehill.c b/src/core2/ch/molehill.c index 92da0f72..83d78ce7 100644 --- a/src/core2/ch/molehill.c +++ b/src/core2/ch/molehill.c @@ -24,7 +24,7 @@ ActorAnimationInfo D_80367E00[] = { ActorInfo D_80367E20= { 0xB8, ACTOR_12C_MOLEHILL, ASSET_388_MODEL_MOLEHILL, 0, D_80367E00, - func_802DA740, func_80326224, func_802DA560, + func_802DA740, actor_update_func_80326224, func_802DA560, 0, 0, 0.0f, 0 }; @@ -54,14 +54,14 @@ Actor *func_802DA560(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_802DA634(ParticleEmitter *pCtrl, f32 arg1[3], s32 cnt){ - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f); particleEmitter_setModel(pCtrl, 0x344); particleEmitter_setPosition(pCtrl, arg1); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -150.0f, 150.0f, -150.0f, 150.0f, 360.0f, 150.0f); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80367E44); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/core2/ch/musicnote.c b/src/core2/ch/musicnote.c index 4632e9ad..ed239dc2 100644 --- a/src/core2/ch/musicnote.c +++ b/src/core2/ch/musicnote.c @@ -7,7 +7,7 @@ void func_802C9C30(Actor* this); /* .data */ ActorInfo D_80366C50 = { MARKER_5F_MUSIC_NOTE, ACTOR_51_MUSIC_NOTE, ASSET_6D6_MODEL_MUSIC_NOTE, 0, NULL, - func_802C9C30, func_80326224, func_80325934, + func_802C9C30, actor_update_func_80326224, func_80325934, 0, 0, 0.6f, 0 }; diff --git a/src/core2/ch/overlaycopyright.c b/src/core2/ch/overlaycopyright.c index 1db011b6..1c7b3b52 100644 --- a/src/core2/ch/overlaycopyright.c +++ b/src/core2/ch/overlaycopyright.c @@ -9,7 +9,7 @@ f32 D_803680D0[3] = {0.0f, 0.0f, 0.0f}; ActorInfo chOverlayCopyrightDescription = { MARKER_176_COPYRIGHT_OVERLAY, ACTOR_1DD_COPYRIGHT_OVERLAY, ASSET_54E_MODEL_COPYRIGHT_OVERLAY, 0x1, NULL, - chOverlayCopyright_update, func_80326224, func_802DC7E0, + chOverlayCopyright_update, actor_update_func_80326224, func_802DC7E0, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/overlaynocontroller.c b/src/core2/ch/overlaynocontroller.c index 66637a77..3102ee81 100644 --- a/src/core2/ch/overlaynocontroller.c +++ b/src/core2/ch/overlaynocontroller.c @@ -21,7 +21,7 @@ f32 D_80368168[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_80368174 = { MARKER_178_NO_CONTROLLER_OVERLAY, ACTOR_1DF_NO_CONTROLLER_OVERLAY, ASSET_55D_MODEL_NO_CONTROLLER_OVERLAY, 0x0, D_80368150, - chOverlayNoController_update, func_80326224, chOverlayNoController_draw, + chOverlayNoController_update, actor_update_func_80326224, chOverlayNoController_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/overlaypressstart.c b/src/core2/ch/overlaypressstart.c index 0bddb180..d0601760 100644 --- a/src/core2/ch/overlaypressstart.c +++ b/src/core2/ch/overlaypressstart.c @@ -27,7 +27,7 @@ f32 D_80368118[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_80368124 = { MARKER_177_PRESS_START_OVERLAY, ACTOR_1DE_PRESS_START_OVERLAY, ASSET_55C_MODEL_PRESS_START_OVERLAY, 0x0, D_80368100, - chOverlayPressStart_update, func_80326224, chOverlayPressStart_draw, + chOverlayPressStart_update, actor_update_func_80326224, chOverlayPressStart_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/shrapnel.c b/src/core2/ch/shrapnel.c index 2c0c47da..290cfc03 100644 --- a/src/core2/ch/shrapnel.c +++ b/src/core2/ch/shrapnel.c @@ -63,7 +63,7 @@ void chShrapnel_emitExplosion(Actor *this) { particleEmitter_setDrawMode(temp_v0, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(temp_v0, 0, 0); particleEmitter_setParticleFramerateRange(temp_v0, 4.0f, 4.0f); - particleEmitter_setParticleSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); + particleEmitter_setSpawnPositionRange(temp_v0, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setStartingScaleRange(temp_v0, 3.0f, 3.0f); particleEmitter_setFinalScaleRange(temp_v0, 8.0f, 8.0f); @@ -83,7 +83,7 @@ void chShrapnel_emitSmoke(Actor *this) { particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setStartingScaleRange(temp_v0, 1.0f, 1.5f); particleEmitter_setFinalScaleRange(temp_v0, 2.0f, 3.0f); - particleEmitter_setParticleSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); + particleEmitter_setSpawnPositionRange(temp_v0, -75.0f, 25.0f, -75.0f, 75.0f, 75.0f, 75.0f); particleEmitter_setParticleVelocityRange(temp_v0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); particleEmitter_setRGB(temp_v0, D_803673F8); particleEmitter_setParticleLifeTimeRange(temp_v0, 3.0f, 4.0f); @@ -94,9 +94,9 @@ void chShrapnel_emitBodyParts(Actor *this, enum asset_e model_id, s32 n) { ParticleEmitter *temp_v0; temp_v0 = partEmitMgr_newEmitter(n); - particleEmitter_setParticleAccelerationRange(temp_v0, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); - func_802EF9F8(temp_v0, 0.6f); - func_802EFA18(temp_v0, 1); + particleEmitter_setAccelerationRange(temp_v0, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); + particleEmitter_func_802EF9F8(temp_v0, 0.6f); + particleEmitter_func_802EFA18(temp_v0, 1); particleEmitter_setModel(temp_v0, model_id); particleEmitter_setPosition(temp_v0, this->position); particleEmitter_setStartingScaleRange(temp_v0, 0.05f, 2.0f); @@ -194,6 +194,6 @@ void chshrapnel_update(Actor *this) { ActorInfo chShrapnelDescription = { MARKER_65_SHRAPNEL, ACTOR_56_SHRAPNEL, ASSET_3EC_MODEL_SHRAPNEL, 0x1, chShrapnelAnimations, - chshrapnel_update, func_80326224, actor_draw, + chshrapnel_update, actor_update_func_80326224, actor_draw, 2500, 0x333, 0.0f, 0 }; diff --git a/src/core2/ch/snacker.c b/src/core2/ch/snacker.c index 39cbdf66..eef36918 100644 --- a/src/core2/ch/snacker.c +++ b/src/core2/ch/snacker.c @@ -52,7 +52,7 @@ ActorAnimationInfo sChSnackerAnimations[] ={ ActorInfo gChSnacker = { MARKER_14_SNACKER, ACTOR_68_SNACKER, ASSET_3B0_SNACKER, 0x1, sChSnackerAnimations, - chsnacker_update, func_80326224, actor_draw, + chsnacker_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/snowball.c b/src/core2/ch/snowball.c index 795c0b88..e1097313 100644 --- a/src/core2/ch/snowball.c +++ b/src/core2/ch/snowball.c @@ -19,7 +19,7 @@ void chSnowball_update(Actor *this); ActorInfo chSnowball = { MARKER_B2_SNOWBALL, ACTOR_125_SNOWBALL, ASSET_378_MODEL_SNOWBALL, 0x1, NULL, - chSnowball_update, func_80326224, chSnowball_draw, + chSnowball_update, actor_update_func_80326224, chSnowball_draw, 0, 0x800, 0.8f, 0 }; @@ -40,7 +40,7 @@ Actor *chSnowball_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { void __chSnowball_spawnPieces(f32 position[3]) { static ParticleScaleAndLifetimeRanges D_80368734 = {{0.65f, 1.1}, {0.0f, 0.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.0f, 0.5f}; - static struct43s D_8036875C = { + static ParticleSettingsVelocityAccelerationPosition D_8036875C = { {{-220.0f, 210.0f, -220.0f}, {280.0f, 460.0f, 280.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, {{ -20.0f, -20.0f, -20.0f}, { 20.0f, 20.0f, 20.0f}} @@ -51,7 +51,7 @@ void __chSnowball_spawnPieces(f32 position[3]) { pCtrl = partEmitMgr_newEmitter(8); particleEmitter_setModel(pCtrl, ASSET_37A_MODEL_TINY_SNOWBALL); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8036875C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8036875C); particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80368734); particleEmitter_emitN(pCtrl, 8); diff --git a/src/core2/ch/snowman.c b/src/core2/ch/snowman.c index 986ae9f6..34152ba3 100644 --- a/src/core2/ch/snowman.c +++ b/src/core2/ch/snowman.c @@ -38,7 +38,7 @@ enum chsnowman_state_e{ ActorInfo chSnowman = { MARKER_B1_SIR_SLUSH, ACTOR_124_SIR_SLUSH, ASSET_377_MODEL_SIR_SLUSH, CHSNOWMAN_STATE_1_IDLE, chSnowmanAnimations, - chSnowman_update, func_80326224, chSnowman_draw, + chSnowman_update, actor_update_func_80326224, chSnowman_draw, 0, 0x199, 0.0f, 0 }; @@ -111,7 +111,7 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){ {4.0f, 4.0f}, 0.0f, 0.3f }; - static struct43s D_803686BC = { + static ParticleSettingsVelocityAccelerationPosition D_803686BC = { {{-250.0f, 600.0f, -250.0f}, {350.0f, 960.0f, 350.0f}}, {{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}}, {{-80.0f, 0.0f, -80.0f}, {80.0f, 200.0f, 80.0f}} @@ -121,10 +121,10 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){ particleEmitter_setModel(particleSpawner, ASSET_378_MODEL_SNOWBALL); particleEmitter_setPosition(particleSpawner, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(particleSpawner, &D_803686BC); + particleEmitter_setVelocityAccelerationAndPositionRanges(particleSpawner, &D_803686BC); particleEmitter_setAngularVelocityRange(particleSpawner, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); - func_802EF9F8(particleSpawner, 0.01f); - func_802EFA18(particleSpawner, 3); + particleEmitter_func_802EF9F8(particleSpawner, 0.01f); + particleEmitter_func_802EFA18(particleSpawner, 3); func_802EFA20(particleSpawner, 1.0f, 1.3f); particleEmitter_setSfx(particleSpawner, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setScaleAndLifetimeRanges(particleSpawner, &D_80368694); diff --git a/src/core2/ch/snowmanhat.c b/src/core2/ch/snowmanhat.c index 3ed3d24b..128810bf 100644 --- a/src/core2/ch/snowmanhat.c +++ b/src/core2/ch/snowmanhat.c @@ -8,7 +8,7 @@ void chSnowmanHat_update(Actor *this); ActorInfo chSnowmanHat = { MARKER_B3_SIR_SLUSH_HAT, ACTOR_126_SIR_SLUSH_HAT, ASSET_379_MODEL_SIRSLUSH_HAT, 0x1, NULL, - chSnowmanHat_update, func_80326224, actor_draw, + chSnowmanHat_update, actor_update_func_80326224, actor_draw, 4500, 0, 1.0f, 0 }; diff --git a/src/core2/ch/termite.c b/src/core2/ch/termite.c index aa1c318a..a62e905e 100644 --- a/src/core2/ch/termite.c +++ b/src/core2/ch/termite.c @@ -73,8 +73,8 @@ void __chTermite_updateWalkSFX(Actor *this) { void __chTermite_setupParticleEmitter(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setPosition(pCtrl, position); particleEmitter_setDrawMode(pCtrl, 2); - func_802EF9F8(pCtrl, 0.7f); - func_802EFA18(pCtrl, 5); + particleEmitter_func_802EF9F8(pCtrl, 0.7f); + particleEmitter_func_802EFA18(pCtrl, 5); func_802EFA20(pCtrl, 0.8f, 1.0f); particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); @@ -84,7 +84,7 @@ void __chTermite_setupParticleEmitter(ParticleEmitter *pCtrl, f32 position[3]){ void __chTermite_emitLegs(ParticleEmitter *pCtrl, f32 position[3]){ __chTermite_setupParticleEmitter(pCtrl, position); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, ASSET_393_MODEL_TERMITE_LEG); particleEmitter_setStartingScaleRange(pCtrl, 0.5f, 0.8f); particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); @@ -94,7 +94,7 @@ void __chTermite_emitLegs(ParticleEmitter *pCtrl, f32 position[3]){ void __chTermite_emitHead(ParticleEmitter *pCtrl, f32 position[3]){ __chTermite_setupParticleEmitter(pCtrl, position); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, ASSET_394_MODEL_TERMITE_HEAD); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); @@ -104,7 +104,7 @@ void __chTermite_emitHead(ParticleEmitter *pCtrl, f32 position[3]){ void __chTermite_emitBody(ParticleEmitter *pCtrl, f32 position[3]){ __chTermite_setupParticleEmitter(pCtrl, position); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, ASSET_395_MODEL_TERMITE_BODY); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); @@ -114,7 +114,7 @@ void __chTermite_emitBody(ParticleEmitter *pCtrl, f32 position[3]){ void __chTermite_emitEyes(ParticleEmitter *pCtrl, f32 position[3]){ __chTermite_setupParticleEmitter(pCtrl, position); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f); particleEmitter_setModel(pCtrl, ASSET_396_MODEL_TERMITE_EYES); particleEmitter_setStartingScaleRange(pCtrl, 1.0f, 1.0f); particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); @@ -242,6 +242,6 @@ void chTermite_update(Actor *this) { ActorInfo chTermite = { MARKER_4_TERMITE, ACTOR_5_TERMITE, ASSET_350_MODEL_TERMITE, 0x1, chTermiteAnimations, - chTermite_update, func_80326224, actor_draw, + chTermite_update, actor_update_func_80326224, actor_draw, 2000, 0, 0.0f, 0 }; diff --git a/src/core2/ch/trainers.c b/src/core2/ch/trainers.c index 91c950b0..7a901d0d 100644 --- a/src/core2/ch/trainers.c +++ b/src/core2/ch/trainers.c @@ -19,7 +19,7 @@ ActorAnimationInfo chTrainersAnimations[] = { ActorInfo chTrainers = { MARKER_38_TURBO_TALON_TRAINERS, ACTOR_2C_TURBO_TALON_TRAINERS, ASSET_367_MODEL_TURBO_TALON_TRAINERS, 0x0, chTrainersAnimations, - chtrainers_update, func_80326224, chtrainers_draw, + chtrainers_update, actor_update_func_80326224, chtrainers_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/wadingboots.c b/src/core2/ch/wadingboots.c index 8e4a93ab..a77083ea 100644 --- a/src/core2/ch/wadingboots.c +++ b/src/core2/ch/wadingboots.c @@ -19,7 +19,7 @@ ActorAnimationInfo D_80367A00[] = { ActorInfo D_80367A20 = { MARKER_11_WADING_BOOTS, ACTOR_65_WADING_BOOTS, ASSET_366_MODEL_WADING_BOOTS, 0x0, D_80367A00, - chwadingboots_update, func_80326224, chwadingboots_draw, + chwadingboots_update, actor_update_func_80326224, chwadingboots_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/ch/whipcrack.c b/src/core2/ch/whipcrack.c index 5fda668b..1bc11e76 100644 --- a/src/core2/ch/whipcrack.c +++ b/src/core2/ch/whipcrack.c @@ -18,16 +18,16 @@ s32 D_80373124[3] = {0xA0, 0x6B, 0x23}; void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f ); - func_802EF9F8(pCtrl, 0.7f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.7f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 0.5f, 1.0f); particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setModel(pCtrl, model_id); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -120.0f, 50.0f, -120.0f, 120.0f, 300.0f, 120.0f ); @@ -54,7 +54,7 @@ void __chwhipcrack_spawnSmoke(Actor *this, s32 cnt){ particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setStartingScaleRange(pCtrl, 3.0f, 3.5f); particleEmitter_setFinalScaleRange(pCtrl, 4.5f, 5.5f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -50.0f, 50.0f, -50.0f, 50.0f, 200.0f, 50.0f ); diff --git a/src/core2/code_3EAD0.c b/src/core2/code_3EAD0.c index 99061426..164cada0 100644 --- a/src/core2/code_3EAD0.c +++ b/src/core2/code_3EAD0.c @@ -17,14 +17,14 @@ s32 D_80365F30[] = { ActorInfo D_80365F60 = { 0x58, 0x4E, ASSET_7DE_SPRITE_SHOE_SPARKLES, 0, NULL, - func_802C5A60, func_80326224, func_80325934, + func_802C5A60, actor_update_func_80326224, func_80325934, 0, 0, 0.0f, 0 }; ActorInfo D_80365F84 = { 0x59, 0x4F, ASSET_7DE_SPRITE_SHOE_SPARKLES, 0, NULL, - func_802C5A60, func_80326224, func_80325934, + func_802C5A60, actor_update_func_80326224, func_80325934, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_3EC30.c b/src/core2/code_3EC30.c index dfccd932..8a57069b 100644 --- a/src/core2/code_3EC30.c +++ b/src/core2/code_3EC30.c @@ -5,7 +5,7 @@ void func_802C5BC0(Actor *this); /* .data */ -ActorInfo D_80365FB0 = { 0x65, 0xF3, 0x0, 0x0, 0x0, func_802C5BC0, func_80326224, func_80325340, 0, 0, 0.0f, 0}; +ActorInfo D_80365FB0 = { 0x65, 0xF3, 0x0, 0x0, 0x0, func_802C5BC0, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0}; /* .code */ void func_802C5BC0(Actor *this){ diff --git a/src/core2/code_41460.c b/src/core2/code_41460.c index b82a3605..f148b882 100644 --- a/src/core2/code_41460.c +++ b/src/core2/code_41460.c @@ -32,12 +32,12 @@ f32 D_80366330 = 0.5f; f32 D_80366334 = 30.0f; f32 D_80366338 = 150.0f; f32 D_8036633C = 25.0f; -ActorInfo D_80366340 = { 0x56, 0x4A, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; -ActorInfo D_80366364 = { 0x56, 0x4B, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; -ActorInfo D_80366388 = { 0x56, 0xD, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; -ActorInfo D_803663AC = { 0x56, 0x11F, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; -ActorInfo D_803663D0 = { 0x56, 0x14F, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; -ActorInfo D_803663F4 = { 0x56, 0x3AD, 0x0, 0x2, 0x0, func_802C8C5C, func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_80366340 = { 0x56, 0x4A, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_80366364 = { 0x56, 0x4B, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_80366388 = { 0x56, 0xD, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_803663AC = { 0x56, 0x11F, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_803663D0 = { 0x56, 0x14F, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; +ActorInfo D_803663F4 = { 0x56, 0x3AD, 0x0, 0x2, 0x0, func_802C8C5C, actor_update_func_80326224, func_802C8484, 0, 0, 0.0f, 0}; s32 D_80366418[3] = {0,0,0}; /* .bss */ diff --git a/src/core2/code_41F30.c b/src/core2/code_41F30.c index bf53db7e..0ce9672c 100644 --- a/src/core2/code_41F30.c +++ b/src/core2/code_41F30.c @@ -6,7 +6,7 @@ void chextralife_update(Actor *this); ActorInfo chExtraLife = { MARKER_61_EXTRA_LIFE, ACTOR_49_EXTRA_LIFE, ASSET_36E_MODEL_EXTRA_LIFE, 0x0, NULL, - chextralife_update, func_80326224, func_80325934, + chextralife_update, actor_update_func_80326224, func_80325934, 0, 0, 0.7f, 0 }; diff --git a/src/core2/code_42CB0.c b/src/core2/code_42CB0.c index 3bdf2e7e..f2bebc72 100644 --- a/src/core2/code_42CB0.c +++ b/src/core2/code_42CB0.c @@ -14,13 +14,13 @@ void chHoneycomb_update(Actor *this); /* .data */ ActorInfo D_80366C80 = { MARKER_53_EMPTY_HONEYCOMB, ACTOR_47_EMPTY_HONEYCOMB, ASSET_361_MODEL_EMPTY_HONEYCOMB, 0, NULL, - chHoneycomb_update, func_80326224, actor_draw, + chHoneycomb_update, actor_update_func_80326224, actor_draw, 0, 0, 0.8f, 0 }; ActorInfo D_80366CA4 = { MARKER_55_HONEYCOMB, ACTOR_50_HONEYCOMB, ASSET_363_MODEL_HONEYCOMB, 0, NULL, - chHoneycomb_update, func_80326224, actor_draw, + chHoneycomb_update, actor_update_func_80326224, actor_draw, 0, 0, 0.8f, 0 }; diff --git a/src/core2/code_43250.c b/src/core2/code_43250.c index 2674bfe8..74fe715b 100644 --- a/src/core2/code_43250.c +++ b/src/core2/code_43250.c @@ -22,7 +22,7 @@ void func_802CA1E0(Actor *this); ActorInfo D_80366CD0 = { 0x3D, 0x183, 0, 0, NULL, - func_802CA1E0, func_80326224, func_80325340, + func_802CA1E0, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_43800.c b/src/core2/code_43800.c index 41cef4d5..11933b57 100644 --- a/src/core2/code_43800.c +++ b/src/core2/code_43800.c @@ -13,7 +13,7 @@ void func_802CA92C(Actor *this); ActorInfo D_80366EF0 = { MARKER_32_PLAYER_SHADOW, ACTOR_17_PLAYER_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW, 0x1, 0x0, - func_802CA92C, func_80326224, func_802CA7BC, + func_802CA92C, actor_update_func_80326224, func_802CA7BC, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_43A40.c b/src/core2/code_43A40.c index eaf0b64d..ae95f12c 100644 --- a/src/core2/code_43A40.c +++ b/src/core2/code_43A40.c @@ -10,21 +10,21 @@ void chFightFlightPad_update(Actor *this); extern ActorInfo chShockJump = { 0x0D4, ACTOR_B_SHOCKSPRING_PAD, ASSET_489_MODEL_SHOCKSPRING_PAD, 0, NULL, - chShockJump_update, func_80326224, actor_draw, + chShockJump_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; extern ActorInfo chFlightPad = { MARKER_45_FLIGHT_PAD, ACTOR_E4_FLIGHT_PAD, ASSET_48A_MODEL_FLIGHT_PAD, 0, NULL, - chFlightPad_update, func_80326224, actor_draw, + chFlightPad_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; extern ActorInfo chFightFlightPad = { MARKER_261_FIGHT_FLIGHT_PAD, ACTOR_39F_FIGHT_FLIGHT_PAD, ASSET_48A_MODEL_FLIGHT_PAD, 0, NULL, - chFightFlightPad_update, func_80326224, actor_draw, + chFightFlightPad_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; @@ -38,7 +38,7 @@ extern ParticleScaleAndLifetimeRanges chFightFlightPad_D_80366F8C = { }; -extern struct43s chFightFlightPad_D_80366FB4 = { +extern ParticleSettingsVelocityAccelerationPosition chFightFlightPad_D_80366FB4 = { {{-360.0f, 360.0f, -360.0}, {360.0f, 660.0f, 360.0f}}, {{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}}, {{0.0f, 0.0f, 0.0f}, {0.0f, 40.0f, 0.0f}} @@ -84,9 +84,9 @@ void chFightFlightPad_emitSparklesAtPosition(f32 position[3]){ ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0x18); particleEmitter_setSprite(pCtrl, ASSET_715_SPRITE_SPARKLE_RED); particleEmitter_setPosition(pCtrl, position); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &chFightFlightPad_D_80366FB4); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &chFightFlightPad_D_80366FB4); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &chFightFlightPad_D_80366F8C); - func_802EFA78(pCtrl, 1); + particleEmitter_func_802EFA78(pCtrl, 1); particleEmitter_emitN(pCtrl, 0x18); } diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 06bed9a5..1f27832b 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -279,14 +279,14 @@ void chBeeSwarm_802CF610(Actor *this, ParticleEmitter *p_ctrl, f32 position[3]) func_8030E6A4(SFX_66_BIRD_AUUGHH, randf2(1.75f, 1.85f), 15000); particleEmitter_setPosition(p_ctrl, position); particleEmitter_setDrawMode(p_ctrl, 2); - func_802EF9F8(p_ctrl, 0.5f); - func_802EFA18(p_ctrl, 3); + particleEmitter_func_802EF9F8(p_ctrl, 0.5f); + particleEmitter_func_802EFA18(p_ctrl, 3); func_802EFA20(p_ctrl, 0.8f, 1.0f); particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.5f); particleEmitter_setFade(p_ctrl, 0.0f, 0.65f); - particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl,this->marker->modelId); particleEmitter_setStartingScaleRange(p_ctrl, 0.25f, 0.25f); particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); diff --git a/src/core2/code_4A6F0.c b/src/core2/code_4A6F0.c index b3ac781c..3d8a2403 100644 --- a/src/core2/code_4A6F0.c +++ b/src/core2/code_4A6F0.c @@ -28,7 +28,7 @@ ActorAnimationInfo D_80367490[] = { ActorInfo D_803674E0 = { MARKER_6_MUMBO, ACTOR_7_MUMBO, ASSET_3C6_MODEL_MUMBO, 0x1, D_80367490, - chMumbo_update, func_80326224, chMumbo_draw, + chMumbo_update, actor_update_func_80326224, chMumbo_draw, 0, 0, 0.0f, 0 }; s32 D_80367504[3] = {0.0f, 0.0f, 0.0f}; diff --git a/src/core2/code_4BD70.c b/src/core2/code_4BD70.c index a003a1dc..d10a9e10 100644 --- a/src/core2/code_4BD70.c +++ b/src/core2/code_4BD70.c @@ -5,11 +5,11 @@ void chMumboSign_update(Actor *this); /* .data */ -ActorInfo D_80367530 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_368_5_MUMBO_TOKEN_SIGN, ASSET_301_MODEL_5_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367554 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36B_10_MUMBO_TOKEN_SIGN, ASSET_302_MODEL_10_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367578 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36A_15_MUMBO_TOKEN_SIGN, ASSET_303_MODEL_15_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_8036759C = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_369_20_MUMBO_TOKEN_SIGN, ASSET_304_MODEL_20_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SIGN, ASSET_305_MODEL_25_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367530 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_368_5_MUMBO_TOKEN_SIGN, ASSET_301_MODEL_5_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367554 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36B_10_MUMBO_TOKEN_SIGN, ASSET_302_MODEL_10_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367578 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36A_15_MUMBO_TOKEN_SIGN, ASSET_303_MODEL_15_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8036759C = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_369_20_MUMBO_TOKEN_SIGN, ASSET_304_MODEL_20_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803675C0 = { MARKER_1E9_MUMBO_COST_SIGN, ACTOR_36C_25_MUMBO_TOKEN_SIGN, ASSET_305_MODEL_25_MUMBO_TOKEN_SIGN, 0x0, 0x0, chMumboSign_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; void chMumboSign_update(Actor *this) { if (!this->volatile_initialized) { diff --git a/src/core2/code_4BE10.c b/src/core2/code_4BE10.c index 45559030..274d4e99 100644 --- a/src/core2/code_4BE10.c +++ b/src/core2/code_4BE10.c @@ -13,7 +13,7 @@ ActorInfo D_803675F0 = { }; s16 D_80367614[] = {3,2,3,4,3,5,3,0}; ParticleScaleAndLifetimeRanges D_80367624 = {{0.7f, 0.3f}, {0.01f, 0.01f}, {0.05f, 0.05f}, {0.2f, 0.2f}, 0.0f, 0.01f}; -struct42s D_8036764C = { +ParticleSettingsVelocityPosition D_8036764C = { {{-100.0f, 400.0f, -100.0f}, { 100.0f, 800.0f, 100.0f}}, {{-100.0f, 0.0f, -100.0f}, { 100.0f, 0.0f, 100.0f}} }; diff --git a/src/core2/code_4C020.c b/src/core2/code_4C020.c index 28a92ae6..0dcd15b9 100644 --- a/src/core2/code_4C020.c +++ b/src/core2/code_4C020.c @@ -81,22 +81,22 @@ ActorAnimationInfo D_803676B0[] = { {0x217, 0.3f} }; -ActorInfo D_80367760 = { 0x26E, 0x2D9, 0x3B4, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80367784 = { 0x26F, 0x2DA, 0x3B5, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803677A8 = { MARKER_168_ICE_KEY, ACTOR_25D_ICE_KEY, ASSET_50C_MODEL_ICE_KEY, 0x1, NULL, func_802D4250, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803677CC = { 0x233, 0x23D, 0x4DD, 0x12, D_803676B0, func_802D4388, func_80326224, func_802D4588, 0, 0, 0.0f, 0}; +ActorInfo D_80367760 = { 0x26E, 0x2D9, 0x3B4, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80367784 = { 0x26F, 0x2DA, 0x3B5, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803677A8 = { MARKER_168_ICE_KEY, ACTOR_25D_ICE_KEY, ASSET_50C_MODEL_ICE_KEY, 0x1, NULL, func_802D4250, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803677CC = { 0x233, 0x23D, 0x4DD, 0x12, D_803676B0, func_802D4388, actor_update_func_80326224, func_802D4588, 0, 0, 0.0f, 0}; ActorInfo D_803677F0 = { 0x16A, 0x242, 0x0, 0x0, NULL, func_802D4680, NULL, func_80325340, 0, 0, 0.0f, 0}; ActorInfo D_80367814 = { MARKER_169_SNS_EGG, ACTOR_25E_SNS_EGG, ASSET_50D_MODEL_SNS_EGG, 0x1, NULL, func_802D3FD4, NULL, func_802D41C4, 0, 0, 0.0f, 0}; ActorInfo D_80367838 = { 0x265, 0x2E4, 0x55A, 0x1, NULL, func_802D3DA4, NULL, func_802D3F48, 0, 0, 0.0f, 0}; -ActorInfo D_8036785C = { MARKER_103_MM_WITCH_SWITCH, ACTOR_204_MM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4B94, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367880 = { MARKER_104_MMM_WITCH_SWITCH, ACTOR_206_MMM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C34, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_803678A4 = { MARKER_105_TTC_WITCH_SWITCH, ACTOR_208_TTC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C5C, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_803678C8 = { MARKER_106_RBB_WITCH_SWITCH, ACTOR_20B_RBB_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C84, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_803678EC = { MARKER_22A_CCW_WITCH_SWITCH, ACTOR_237_CCW_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CAC, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367910 = { MARKER_22B_FP_WITCH_SWITCH, ACTOR_239_FP_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CD4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367934 = { MARKER_166_CC_WITCH_SWITCH, ACTOR_25B_CC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BBC, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80367958 = { MARKER_162_BGS_WITCH_SWITCH, ACTOR_257_BGS_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BE4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_8036797C = { MARKER_161_GV_WITCH_SWITCH, ACTOR_256_GV_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C0C, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8036785C = { MARKER_103_MM_WITCH_SWITCH, ACTOR_204_MM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4B94, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367880 = { MARKER_104_MMM_WITCH_SWITCH, ACTOR_206_MMM_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C34, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803678A4 = { MARKER_105_TTC_WITCH_SWITCH, ACTOR_208_TTC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C5C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803678C8 = { MARKER_106_RBB_WITCH_SWITCH, ACTOR_20B_RBB_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C84, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803678EC = { MARKER_22A_CCW_WITCH_SWITCH, ACTOR_237_CCW_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CAC, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367910 = { MARKER_22B_FP_WITCH_SWITCH, ACTOR_239_FP_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4CD4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367934 = { MARKER_166_CC_WITCH_SWITCH, ACTOR_25B_CC_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BBC, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80367958 = { MARKER_162_BGS_WITCH_SWITCH, ACTOR_257_BGS_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4BE4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_8036797C = { MARKER_161_GV_WITCH_SWITCH, ACTOR_256_GV_WITCH_SWITCH, ASSET_4DC_MODEL_WITCH_SWITCH, 0x1, D_803676B0, func_802D4C0C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; s32 D_803679A0[4] = {0x87, 0x87, 0x87, 0xA0}; s16 D_803679B0[] = {0x5, 0x90, 0xA, 0x93, 0xF,0x92, 0x14, 0x91, 0x19, 0x94, -1}; diff --git a/src/core2/code_50490.c b/src/core2/code_50490.c index 90377607..9d576953 100644 --- a/src/core2/code_50490.c +++ b/src/core2/code_50490.c @@ -24,19 +24,19 @@ f32 D_80367AA4[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_80367AB0 = { 0x57, 0x4C, 0x0, 0, NULL, - func_802D766C, func_80326224, func_802D745C, + func_802D766C, actor_update_func_80326224, func_802D745C, 0, 0, 0.0f, 0 }; ActorInfo D_80367AD4 = { 0x57, 0x4D, 0x0, 0, NULL, - func_802D766C, func_80326224, func_802D745C, + func_802D766C, actor_update_func_80326224, func_802D745C, 0, 0, 0.0f, 0 }; ActorInfo D_80367AF8 = { 0x57, 0x58, 0x0, 0, NULL, - func_802D766C, func_80326224, func_802D745C, + func_802D766C, actor_update_func_80326224, func_802D745C, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_509D0.c b/src/core2/code_509D0.c index 1ce901a4..5ea6162b 100644 --- a/src/core2/code_509D0.c +++ b/src/core2/code_509D0.c @@ -21,35 +21,35 @@ ActorAnimationInfo D_80367B50[] = { ActorInfo D_80367B80 = { MARKER_36_ORANGE_COLLECTIBLE, ACTOR_29_ORANGE_COLLECTIBLE, ASSET_2D2_MODEL_ORANGE, 0x5, NULL, - chLevelCollectible_update, func_80326224, actor_draw, + chLevelCollectible_update, actor_update_func_80326224, actor_draw, 0, 0, 0.6f,0 }; ActorInfo D_80367BA4 = { MARKER_37_GOLD_BULLION, ACTOR_2A_GOLD_BULLION, ASSET_3C7_MODEL_GOLD_BULLION, 0x5, NULL, - chLevelCollectible_update, func_80326224, actor_draw, + chLevelCollectible_update, actor_update_func_80326224, actor_draw, 0, 0, 0.6f, 0 }; ActorInfo D_80367BC8 = { MARKER_1FD_BLUE_PRESENT_COLLECTIBLE, ACTOR_1ED_BLUE_PRESENT_COLLECTIBLE, ASSET_47F_MODEL_XMAS_GIFT_BLUE, 0x5, D_80367B50, - chLevelCollectible_update, func_80326224, actor_draw, + chLevelCollectible_update, actor_update_func_80326224, actor_draw, 0, 0, 1.8f, 0 }; ActorInfo D_80367BEC = { MARKER_1FE_GREEN_PRESENT_COLLECTIBLE, ACTOR_1EF_GREEN_PRESENT_COLLECTIBLE, ASSET_480_MODEL_XMAS_GIFT_GREEN, 0x5, D_80367B50, - chLevelCollectible_update, func_80326224, actor_draw, + chLevelCollectible_update, actor_update_func_80326224, actor_draw, 0, 0, 1.4f, 0 }; ActorInfo D_80367C10 = { MARKER_1FF_RED_PRESENT_COLLECTIBLE, ACTOR_1F1_RED_PRESENT_COLLECTIBLE, ASSET_481_MODEL_XMAS_GIFT_RED, 0x5, D_80367B50, - chLevelCollectible_update, func_80326224, actor_draw, + chLevelCollectible_update, actor_update_func_80326224, actor_draw, 0, 0, 1.4f, 0 }; @@ -62,8 +62,8 @@ void __chLevelCollectible_presentReturnEmitSparkles(f32 position[3], enum asset_ particleEmitter_setSprite(p_emitter, sprite_id); particleEmitter_setStartingFrameRange(p_emitter, 0, 7); particleEmitter_setPosition(p_emitter, position); - particleEmitter_setParticleSpawnPositionRange(p_emitter, -40.0f, 0.0f, -40.0f, 40.0f, 60.0f, 40.0f); - particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); + particleEmitter_setSpawnPositionRange(p_emitter, -40.0f, 0.0f, -40.0f, 40.0f, 60.0f, 40.0f); + particleEmitter_setAccelerationRange(p_emitter, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); particleEmitter_setScaleAndLifetimeRanges(p_emitter, &D_80367C34); particleEmitter_emitN(p_emitter, 1); } @@ -74,7 +74,7 @@ void __chLevelCollectible_presentCollectEmitSparkles(f32 position[3], enum asset p_emitter = partEmitMgr_newEmitter(8); particleEmitter_setSprite(p_emitter, sprite_id); particleEmitter_setPosition(p_emitter, position); - particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f); + particleEmitter_setAccelerationRange(p_emitter, 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f); particleEmitter_setParticleVelocityRange(p_emitter, -100.0f, 200.0f, -100.0f, 100.0f, 350.0f, 100.0f); particleEmitter_setAngularVelocityRange(p_emitter, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f); particleEmitter_setStartingScaleRange(p_emitter, 0.47f, 0.47f); diff --git a/src/core2/code_517A0.c b/src/core2/code_517A0.c index 630399fd..64c2f1c6 100644 --- a/src/core2/code_517A0.c +++ b/src/core2/code_517A0.c @@ -10,7 +10,7 @@ void func_802D8730(Actor *this); ActorInfo D_80367C60 = { 0x15E, 0x188, 0x0, 0, NULL, - func_802D8730, func_80326224, func_80325340, + func_802D8730, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; @@ -46,7 +46,7 @@ void func_802D8730(Actor *this) { this->velocity_y = 0.07f; pCtrl = func_802F4094(this->position, 40.0f); particleEmitter_setStartingScaleRange(pCtrl, 0.05f, 0.06f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -3400.0f, 0.0f, 0.0f, -3400.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -3400.0f, 0.0f, 0.0f, -3400.0f, 0.0f); particleEmitter_setRGB(pCtrl, D_80367C84); particleEmitter_setParticleVelocityRange(pCtrl, -180.0f, 200.0f, -180.0f, 180.0f, 400.0f, 180.0f); particleEmitter_emitN(pCtrl, 9); diff --git a/src/core2/code_51950.c b/src/core2/code_51950.c index fdce3c20..9ee04c4f 100644 --- a/src/core2/code_51950.c +++ b/src/core2/code_51950.c @@ -10,14 +10,14 @@ void func_802D88E0(Actor *this); ActorInfo D_80367C90 = { 0x100, 0x1FF, 0x580, 0x0, NULL, - func_802D88E0, func_80326224, func_80325934, + func_802D88E0, actor_update_func_80326224, func_80325934, 0, 0, 0.0f, 0 }; ActorInfo D_80367CB4 = { 0x101, 0x200, 0x6D1, 0x0, NULL, - func_802D88E0, func_80326224, func_80325934, + func_802D88E0, actor_update_func_80326224, func_80325934, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_53A10.c b/src/core2/code_53A10.c index e8a644fc..81c71dad 100644 --- a/src/core2/code_53A10.c +++ b/src/core2/code_53A10.c @@ -8,7 +8,7 @@ void func_802DAA14(Actor *this); ActorInfo D_80367E70= { 0x21B, 0x351, 0, 0, NULL, - func_802DAA14, func_80326224, func_80325340, + func_802DAA14, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; //000E0F00 diff --git a/src/core2/code_53C10.c b/src/core2/code_53C10.c index 3e1714a4..94cbc3a5 100644 --- a/src/core2/code_53C10.c +++ b/src/core2/code_53C10.c @@ -35,8 +35,8 @@ typedef struct { void func_802DABA0(ParticleEmitter *pCtrl, f32 position[3], f32 scale, enum asset_e model_id) { particleEmitter_setPosition(pCtrl, position); particleEmitter_setDrawMode(pCtrl, 2); - func_802EF9F8(pCtrl, 0.7f); - func_802EFA18(pCtrl, 5); + particleEmitter_func_802EF9F8(pCtrl, 0.7f); + particleEmitter_func_802EFA18(pCtrl, 5); func_802EFA20(pCtrl, 0.8f, 1.0f); particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 6000); particleEmitter_setStartingScaleRange(pCtrl, scale, scale); @@ -47,7 +47,7 @@ void func_802DABA0(ParticleEmitter *pCtrl, f32 position[3], f32 scale, enum asse } void func_802DAC84(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { - static struct41s D_80367EA0 = { + static ParticleSettingsVelocityAcceleration D_80367EA0 = { {{-200.0f, 850.0f, -200.0f}, { 400.0f, 1000.0f, 400.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} }; @@ -59,7 +59,7 @@ void func_802DAC84(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { void func_802DAD08(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { - static struct41s D_80367ED0 = { + static ParticleSettingsVelocityAcceleration D_80367ED0 = { {{ -50.0f, 750.0f, -50.0f}, { 120.0f, 900.0f, 120.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -1800.0f, 0.0f}} }; @@ -70,7 +70,7 @@ void func_802DAD08(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { } void func_802DAD8C(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { - static struct41s D_80367F00 = { + static ParticleSettingsVelocityAcceleration D_80367F00 = { {{ -80.0f, 400.0f, -80.0f}, { 160.0f, 860.0f, 160.0f}}, {{ 0.0f, -1400.0f, 0.0f}, { 0.0f, -1400.0f, 0.0f}} }; diff --git a/src/core2/code_54D50.c b/src/core2/code_54D50.c index 0b38e060..da7f1163 100644 --- a/src/core2/code_54D50.c +++ b/src/core2/code_54D50.c @@ -18,19 +18,19 @@ void func_802DC018(Actor *this); ActorInfo D_80367F30= { 0x1F5, 0x1E5, 0, 0, NULL, - func_802DC018, func_80326224, func_80325340, + func_802DC018, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; s32 D_80367F54[3] = {0xff, 0xff, 0xff}; -struct40s D_80367F60 = { +ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80367F60 = { { {0.1f, 0.5f}, {1.0f, 1.5f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f }, 4, 1 }; -struct43s D_80367F90 ={ +ParticleSettingsVelocityAccelerationPosition D_80367F90 ={ {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, {{0.0f, -650.0f, 0.0f}, {0.0f, -650.0f, 0.0f}}, {{-200.0f, 0.0f, -200.0f}, {200.0f, 0.0f, 200.0f}} @@ -63,12 +63,12 @@ void func_802DBCE0(ParticleEmitter *pCtrl, f32 arg1[3]){ } void func_802DBE9C(Actor *this, ParticleEmitter *pCtrl){ - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80367F90); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80367F90); particleEmitter_setModel(pCtrl, 0x344); particleEmitter_setPosition(pCtrl, this->position); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_setAngularVelocityRange(pCtrl, -450.0f, -450.0f, -450.0f, 450.0f, 450.0f, 450.0f); - func_802EFA18(pCtrl, 1); + particleEmitter_func_802EFA18(pCtrl, 1); particleEmitter_setParticleCallback(pCtrl, func_802DBCE0); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f); diff --git a/src/core2/code_55180.c b/src/core2/code_55180.c index ed11ef7d..9fbc48df 100644 --- a/src/core2/code_55180.c +++ b/src/core2/code_55180.c @@ -10,11 +10,11 @@ void func_802DC208(Actor *this); ActorInfo D_80367FE0 = { 0x1F6, 0x1E6, 0, 0, NULL, - func_802DC208, func_80326224, func_80325340, + func_802DC208, actor_update_func_80326224, func_80325340, 3000, 0, 0.0f, 0 }; -struct40s D_80368004 = { +ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80368004 = { {{0.2f, 0.4f}, {0.8f, 1.0f}, {0.0f, 0.01f}, diff --git a/src/core2/code_55390.c b/src/core2/code_55390.c index 81401138..11b7e116 100644 --- a/src/core2/code_55390.c +++ b/src/core2/code_55390.c @@ -14,7 +14,7 @@ f32 D_80368040[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_8036804C = { MARKER_174_GAME_OVER, ACTOR_1DB_GAME_OVER, ASSET_54C_MODEL_GAME_OVER, 0x1, NULL, - func_802DC45C, func_80326224, func_802DC320, + func_802DC45C, actor_update_func_80326224, func_802DC320, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_556C0.c b/src/core2/code_556C0.c index ab3d2786..78965da3 100644 --- a/src/core2/code_556C0.c +++ b/src/core2/code_556C0.c @@ -10,7 +10,7 @@ f32 D_80368070[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_8036807C = { 0x17C, 0x19C, 0x56C, 0x1, NULL, - func_802DC67C, func_80326224, func_802DC320, + func_802DC67C, actor_update_func_80326224, func_802DC320, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_55850.c b/src/core2/code_55850.c index deb6e111..13c6384b 100644 --- a/src/core2/code_55850.c +++ b/src/core2/code_55850.c @@ -13,7 +13,7 @@ f32 D_803680A0[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_803680AC = { 0x175, 0x1DC, 0x54D, 0x1, NULL, - func_802DC900, func_80326224, func_802DC7E0, + func_802DC900, actor_update_func_80326224, func_802DC7E0, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_57C70.c b/src/core2/code_57C70.c index e778e9bc..2cb237e0 100644 --- a/src/core2/code_57C70.c +++ b/src/core2/code_57C70.c @@ -24,7 +24,7 @@ f32 D_80368330[3] = {0.0f, 0.0f, 0.0f}; ActorInfo D_8036833C = { 0x294, 0x19B, ASSET_56D_MUMBOS_HAND_WITH_PICTURE, 0x1, D_80368300, - func_802DEE1C, func_80326224, func_802DEC00, + func_802DEE1C, actor_update_func_80326224, func_802DEC00, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_581D0.c b/src/core2/code_581D0.c index f9b43274..b869ab63 100644 --- a/src/core2/code_581D0.c +++ b/src/core2/code_581D0.c @@ -13,7 +13,7 @@ s32 D_8036837C[4] = {0xFF, 0xFF, 0xFF, 0xFF}; ActorInfo D_8036838C = { 0x17B, 0x2B5, 0x472, 0, NULL, - func_802DF2C4, func_80326224, func_80325340, + func_802DF2C4, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_59780.c b/src/core2/code_59780.c index f1c3232f..aab5e542 100644 --- a/src/core2/code_59780.c +++ b/src/core2/code_59780.c @@ -19,7 +19,7 @@ ActorAnimationInfo D_80368440[] = { ActorInfo D_80368450 = { MARKER_72_FIRE_SPARKLE, ACTOR_A2_FIRE_SPARKLE, ASSET_3AD_FIRE_SPARKLE, 0x1, D_80368440, - func_802E08F0, func_80326224, actor_draw, + func_802E08F0, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_59A80.c b/src/core2/code_59A80.c index 8e3ea84a..7dbdb014 100644 --- a/src/core2/code_59A80.c +++ b/src/core2/code_59A80.c @@ -15,7 +15,7 @@ enum mumbotoken_e func_802E0CB0(Actor *this); ActorInfo D_803685A0 = { MARKER_39_MUMBO_TOKEN, ACTOR_2D_MUMBO_TOKEN, ASSET_41A_SPRITE_MUMBO_TOKEN, 0, NULL, - func_802E0B10, func_80326224, func_80325934, + func_802E0B10, actor_update_func_80326224, func_80325934, 2000, 0, 0.0f, 0 }; diff --git a/src/core2/code_66D90.c b/src/core2/code_66D90.c index e6744e58..a3aca744 100644 --- a/src/core2/code_66D90.c +++ b/src/core2/code_66D90.c @@ -31,16 +31,16 @@ ParticleEmitter *func_802EDD8C(f32 pos[3], f32 xz_range, f32 arg2){ particleEmitter_setSprite(pCtrl, ASSET_70A_SPRITE_BUBBLE_1); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_setAlpha(pCtrl, 0xff); - particleEmitter_setParticleAccelerationRange( pCtrl, + particleEmitter_setAccelerationRange( pCtrl, 0.0f, 150.0f, 0.0f, 0.0f, 150.0f, 0.0f ); - func_802EFA18(pCtrl, 1); + particleEmitter_func_802EFA18(pCtrl, 1); func_802EFA34(pCtrl, arg2); particleEmitter_setParticleCallback(pCtrl, func_802EDD68); particleEmitter_setFade(pCtrl, 0.0f, 0.8f); particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 4.0f); - particleEmitter_setParticleSpawnPositionRange( pCtrl, + particleEmitter_setSpawnPositionRange( pCtrl, -xz_range, 0.0f, -xz_range, xz_range, 0.0f, xz_range ); diff --git a/src/core2/code_66FB0.c b/src/core2/code_66FB0.c index 7741ab91..43cf98e8 100644 --- a/src/core2/code_66FB0.c +++ b/src/core2/code_66FB0.c @@ -61,13 +61,13 @@ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5, particleEmitter_setAngularVelocityRange(pCtrl, 0, 0, 0, 0, 0, 0); func_802EFF9C(pCtrl, 0); }//L802EE0B4 - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0, -800.0f, 0, 0, -800.0f, 0 ); - func_802EF9F8(pCtrl, 0.6f); - func_802EFA18(pCtrl, 0); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_func_802EF9F8(pCtrl, 0.6f); + particleEmitter_func_802EFA18(pCtrl, 0); + particleEmitter_setSpawnPositionRange(pCtrl, -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f ); diff --git a/src/core2/code_67650.c b/src/core2/code_67650.c index 6442bc65..dcf2599e 100644 --- a/src/core2/code_67650.c +++ b/src/core2/code_67650.c @@ -57,7 +57,7 @@ void func_802EE6CC(f32 position[3], f32 velocity[3], s32 color[4], s32 arg3, f32 particleEmitter_setFade(p_ctrl, 0.075f, 0.4f); particleEmitter_setPosition(p_ctrl, position); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.0f); - func_802EFA78(p_ctrl, 1); + particleEmitter_func_802EFA78(p_ctrl, 1); if (velocity != NULL) { ml_vec3f_scale_copy(sp40, velocity, 30.0f); } else { diff --git a/src/core2/code_6CD20.c b/src/core2/code_6CD20.c index c21bb34e..aaa72775 100644 --- a/src/core2/code_6CD20.c +++ b/src/core2/code_6CD20.c @@ -11,7 +11,7 @@ s16 D_80368D80[] = { ASSET_719_SPRITE_SPARKLE_GREEN_2, }; -struct43s D_80368D88 = { +ParticleSettingsVelocityAccelerationPosition D_80368D88 = { {{-300.0f, -300.0f, -300.0f}, {300.0f, 300.0f, 300.0f}}, {{0.0f, -100.0f, 0.0f}, {0.0f, -100.0f, 0.0f}}, {{-25.0f, -25.0f, -25.0f}, {25.0f, 25.0f, 25.0f}} @@ -45,7 +45,7 @@ void func_802F3CF8(f32 arg0[3], s32 arg1, s32 arg2){ particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.2f); particleEmitter_setFinalScaleRange(pCtrl, 0.4f, 0.5f); particleEmitter_setParticleLifeTimeRange(pCtrl, 0.75f, 0.75f); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80368D88); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80368D88); if(arg1 == 0){ particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); } diff --git a/src/core2/code_6CEC0.c b/src/core2/code_6CEC0.c index 20dc7789..151106e6 100644 --- a/src/core2/code_6CEC0.c +++ b/src/core2/code_6CEC0.c @@ -19,7 +19,7 @@ ParticleEmitter *func_802F3E98(f32 pos[3], enum asset_e sprite_id){ this = func_802F0EF0(D_80380A80); particleEmitter_setSprite(this, sprite_id); - particleEmitter_setParticleAccelerationRange(this, + particleEmitter_setAccelerationRange(this, 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f ); diff --git a/src/core2/code_6D030.c b/src/core2/code_6D030.c index 3fbb4a54..645c8abd 100644 --- a/src/core2/code_6D030.c +++ b/src/core2/code_6D030.c @@ -39,15 +39,15 @@ ParticleEmitter *func_802F4094(f32 pos[3], f32 arg1){ pCtrl = func_802F0EF0(D_80380A90); particleEmitter_setSprite(pCtrl, ASSET_70B_SPRITE_BUBBLE_2); particleEmitter_setAlpha(pCtrl, 180); - particleEmitter_setParticleAccelerationRange(pCtrl, + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1300.0f, 0.0f, 0.0f, -1300.0f, 0.0f ); - func_802EFA18(pCtrl, 1); + particleEmitter_func_802EFA18(pCtrl, 1); func_802EFA04(pCtrl, pos[1]); particleEmitter_setParticleCallback(pCtrl, func_802F3FC0); particleEmitter_setFade(pCtrl, 0.0f, 0.8f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, + particleEmitter_setSpawnPositionRange(pCtrl, -arg1, 0.0f, -arg1, arg1, 0.0f, arg1 ); diff --git a/src/core2/code_935F0.c b/src/core2/code_935F0.c index 016f061e..b1b155ea 100644 --- a/src/core2/code_935F0.c +++ b/src/core2/code_935F0.c @@ -26,7 +26,7 @@ enum chminigame_state_e { ActorInfo chMinigame = { MARKER_1E1_FF_MINIGAME, ACTOR_376_FF_MINIGAME, 0x0, MINIGAME_STATE_1_INTRODUCE_GAME, NULL, - chMinigame_update, func_80326224, func_80325340, + chMinigame_update, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 9805d8d1..525cb516 100644 --- a/src/core2/code_9E370.c +++ b/src/core2/code_9E370.c @@ -439,7 +439,7 @@ s32 func_80326218(void){ return D_8036E564; } -void func_80326224(Actor *this){ +void actor_update_func_80326224(Actor *this){ func_80343DEC(this); } diff --git a/src/core2/code_D0CA0.c b/src/core2/code_D0CA0.c index a4ac1157..4eac6687 100644 --- a/src/core2/code_D0CA0.c +++ b/src/core2/code_D0CA0.c @@ -239,7 +239,7 @@ void func_803584BC(Actor *this) { void func_80358524(f32 position[3], s32 count, enum asset_e model_id) { static ParticleScaleAndLifetimeRanges D_803728C4 = { {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, {1.2f, 1.2f}, 0.0f, 0.1f}; - static struct43s D_803728EC = { + static ParticleSettingsVelocityAccelerationPosition D_803728EC = { {{-250.0f, 500.0f, -250.0f}, { 350.0f, 760.0f, 350.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}}, {{ -50.0f, 0.0f, -50.0f}, { 50.0f, 50.0f, 50.0f}} @@ -252,11 +252,11 @@ void func_80358524(f32 position[3], s32 count, enum asset_e model_id) { particleEmitter_setModel(temp_v0, model_id); particleEmitter_setPosition(p_ctrl, position); particleEmitter_setAngularVelocityRange(p_ctrl, -400.0f, -400.0f, -400.0f, 400.0f, 400.0f, 400.0f); - func_802EF9F8(p_ctrl, 0.01f); - func_802EFA18(p_ctrl, 3); + particleEmitter_func_802EF9F8(p_ctrl, 0.01f); + particleEmitter_func_802EFA18(p_ctrl, 3); func_802EFA20(p_ctrl, 1.0f, 1.3f); particleEmitter_setSfx(p_ctrl, SFX_2F_ORANGE_SPLAT, 16000); - particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_803728EC); + particleEmitter_setVelocityAccelerationAndPositionRanges(p_ctrl, &D_803728EC); particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_803728C4); particleEmitter_emitN(p_ctrl, count); } diff --git a/src/core2/code_D5D10.c b/src/core2/code_D5D10.c index 7243542e..bdf09b01 100644 --- a/src/core2/code_D5D10.c +++ b/src/core2/code_D5D10.c @@ -50,14 +50,14 @@ ActorAnimationInfo D_80372D20[] = { ActorInfo D_80372D78 = { MARKER_218_LIMBO, ACTOR_34E_LIMBO, ASSET_4CC_MODEL_LIMBO, 0x1, D_80372D20, - chskeleton_update, func_80326224, actor_draw, + chskeleton_update, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0 }; /* .code */ void func_8035CCA0(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { func_802DABA0(pCtrl, this->position, this->scale, model_id); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f); particleEmitter_emitN(pCtrl, 4); diff --git a/src/core2/code_D5FD0.c b/src/core2/code_D5FD0.c index bdb2aa86..bd3e405b 100644 --- a/src/core2/code_D5FD0.c +++ b/src/core2/code_D5FD0.c @@ -51,7 +51,7 @@ ActorAnimationInfo D_80372DA0[] = { ActorInfo D_80372DF8 = { MARKER_21A_SEAMAN_GRUBLIN, ACTOR_350_SEAMAN_GRUBLIN, ASSET_49D_MODEL_SEAMAN_GRUBLIN, 0x1, D_80372DA0, - func_8035D058, func_80326224, actor_draw, + func_8035D058, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0 }; diff --git a/src/core2/code_D6180.c b/src/core2/code_D6180.c index c97d3ae2..c70c4237 100644 --- a/src/core2/code_D6180.c +++ b/src/core2/code_D6180.c @@ -48,14 +48,14 @@ ActorAnimationInfo D_80372E20[] = { ActorInfo D_80372E78 = { MARKER_219_MUMMUM, ACTOR_34F_MUMMUM, ASSET_4C7_MODEL_MUMMUM, 0x1, D_80372E20, - func_8035D3D8, func_80326224, actor_draw, + func_8035D3D8, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0 }; /* .code */ void func_8035D110(ParticleEmitter *p_emitter, Actor *this, enum asset_e model_id) { func_802DABA0(p_emitter, this->position, this->scale, model_id); - particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); + particleEmitter_setAccelerationRange(p_emitter, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setAngularVelocityRange(p_emitter, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(p_emitter, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f); particleEmitter_emitN(p_emitter, 1); diff --git a/src/core2/code_D6600.c b/src/core2/code_D6600.c index f96794ed..66088b78 100644 --- a/src/core2/code_D6600.c +++ b/src/core2/code_D6600.c @@ -30,7 +30,7 @@ ActorAnimationInfo D_80372EA0[] = { ActorInfo D_80372EE0 = { MARKER_69_CHUMP_FISH, ACTOR_A_CHUMP_FISH, ASSET_36B_CHUMP_FISH, 0x2, D_80372EA0, - func_8035DA1C, func_80326224, actor_draw, + func_8035DA1C, actor_update_func_80326224, actor_draw, 3000, 0, 0.0f, 0 }; diff --git a/src/core2/code_DA3A0.c b/src/core2/code_DA3A0.c index 8bc8f90d..abbe6b1d 100644 --- a/src/core2/code_DA3A0.c +++ b/src/core2/code_DA3A0.c @@ -53,9 +53,9 @@ void func_80361330(Actor *this, s32 next_state){ ml_vec3f_roll_rotate_copy(sp40, sp40, this->roll); ml_vec3f_yaw_rotate_copy(sp40, sp40, this->yaw); particleEmitter_setSprite(pctrl, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setParticleAccelerationRange(pctrl, 0.0f, 200.0f, 0.0f, 0.0f, 1000.0f, 0.0f); + particleEmitter_setAccelerationRange(pctrl, 0.0f, 200.0f, 0.0f, 0.0f, 1000.0f, 0.0f); particleEmitter_setStartingFrameRange(pctrl, 0, 7); - particleEmitter_setParticleSpawnPositionRange(pctrl, -20.0f, -20.0f, -20.0f, 20.0f, 20.0f, 20.0f); + particleEmitter_setSpawnPositionRange(pctrl, -20.0f, -20.0f, -20.0f, 20.0f, 20.0f, 20.0f); particleEmitter_setPosition(pctrl, this->position); particleEmitter_setScaleAndLifetimeRanges(pctrl, &D_8037317C); particleEmitter_setParticleVelocityRange(pctrl, diff --git a/src/core2/code_DA760.c b/src/core2/code_DA760.c index aec41812..b3074a5d 100644 --- a/src/core2/code_DA760.c +++ b/src/core2/code_DA760.c @@ -8,7 +8,7 @@ void func_80361870(Actor *this); ActorInfo D_803731B0 = { 0x1E4, 0x373, 0, 0, NULL, - func_80361870, func_80326224, func_80325340, + func_80361870, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/code_DB010.c b/src/core2/code_DB010.c index 4997fec8..cb7019a1 100644 --- a/src/core2/code_DB010.c +++ b/src/core2/code_DB010.c @@ -30,8 +30,8 @@ ActorInfo D_803732E0 = { /* .code */ void func_80361FA0(f32 arg0[3]) { - static struct40s D_80373304 = {{{0.4f, 1.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {4.0f, 4.0f}, 0.5f, 0.7f}, 4.0f, 15.0f}; - static struct43s D_80373334 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373304 = {{{0.4f, 1.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {4.0f, 4.0f}, 0.5f, 0.7f}, 4.0f, 15.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373334 = { {{-250.0f, 600.0f, -250.0f}, { 350.0f, 960.0f, 350.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}}, {{ -60.0f, -30.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} @@ -42,19 +42,19 @@ void func_80361FA0(f32 arg0[3]) { particleEmitter_setModel(pCtrl, 0x441); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setSfx(pCtrl, SFX_2F_ORANGE_SPLAT, 16000); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373334); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373334); func_802EFC28(pCtrl, &D_80373304); FUNC_8030E624(SFX_7C_CHEBOOF, 0.6f, 29000); } void func_80362084(f32 position[3]) { static s32 D_8037337C[3] = {50, 255, 50}; - static struct40s D_80373388 = {{{0.3f, 0.03f}, {0.5f, 0.5f}, {0.0f, 0.01f}, {1.5f, 2.0f}, 0.06f, 0.7f}, 4.0f, 1.0f}; - static struct42s D_803733B8 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373388 = {{{0.3f, 0.03f}, {0.5f, 0.5f}, {0.0f, 0.01f}, {1.5f, 2.0f}, 0.06f, 0.7f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_803733B8 = { {{ -5.0f, 100.0f, -5.0f}, { 5.0f, 100.0f, 5.0f}}, {{-60.0f, 0.0f, -60.0f}, { 60.0f, 5.0f, 60.0f}} }; @@ -77,8 +77,8 @@ void func_80362084(f32 position[3]) { void func_8036215C(f32 arg0[3]) { static s32 D_803733E8[3] = {0xb4, 0xe6, 0xff}; - static struct40s D_803733F4 = {{{1.0f, 1.8f}, {2.2f, 2.7f}, {0.0f, 0.01f}, {0.8f, 1.2f}, 0.41f, 0.73f}, 4.0f, 15.0f}; - static struct43s D_80373424 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803733F4 = {{{1.0f, 1.8f}, {2.2f, 2.7f}, {0.0f, 0.01f}, {0.8f, 1.2f}, 0.41f, 0.73f}, 4.0f, 15.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373424 = { {{-300.0f, 600.0f, -300.0f}, { 300.0f, 1000.0f, 300.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1600.0f, 0.0f}}, {{ -10.0f, 0.0f, -10.0f}, { 10.0f, 0.0f, 10.0f}} @@ -91,13 +91,13 @@ void func_8036215C(f32 arg0[3]) { particleEmitter_setRGB(pCtrl, D_803733E8); particleEmitter_setAlpha(pCtrl, 0x28); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373424); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373424); func_802EFC28(pCtrl, &D_803733F4); } void func_803621F0(f32 arg0[3]) { - static struct40s D_8037346C = {{{0.3f, 0.4f}, {0.5f, 0.5f}, {0.0f, 0.01f}, {0.8f, 1.2f}, 0.91f, 0.99f}, 4.0f, 18.0f}; - static struct43s D_8037349C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8037346C = {{{0.3f, 0.4f}, {0.5f, 0.5f}, {0.0f, 0.01f}, {0.8f, 1.2f}, 0.91f, 0.99f}, 4.0f, 18.0f}; + static ParticleSettingsVelocityAccelerationPosition D_8037349C = { {{-200.0f, 900.0f, -200.0f}, { 200.0f, 1400.0f, 200.0f}}, {{ 0.0f, -1800.0f, 0.0f}, { 0.0f, -2400.0f, 0.0f}}, {{ -10.0f, -20.0f, -10.0f}, { 10.0f, -20.0f, 10.0f}} @@ -109,13 +109,13 @@ void func_803621F0(f32 arg0[3]) { particleEmitter_setStartingFrameRange(pCtrl, 3, 5); particleEmitter_setAlpha(pCtrl, 0xD2); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037349C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8037349C); func_802EFC28(pCtrl, &D_8037346C); } void func_80362274(f32 arg0[3]) { - static struct40s D_803734E4 = {{{3.2f, 3.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {2.0f, 2.0f}, 0.0f, 0.3f}, 4.0f, 15.0f}; - static struct43s D_80373514 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803734E4 = {{{3.2f, 3.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {2.0f, 2.0f}, 0.0f, 0.3f}, 4.0f, 15.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373514 = { {{-950.0f, 800.0f, -250.0f}, {-550.0f, 1360.0f, 50.0f}}, {{-700.0f, -1700.0f, 0.0f}, {-900.0f, -1700.0f, 0.0f}}, {{ -60.0f, 0.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} @@ -126,16 +126,16 @@ void func_80362274(f32 arg0[3]) { particleEmitter_setModel(pCtrl, 0x89B); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setAngularVelocityRange(pCtrl, -400.0f, -200.0f, -400.0f, 400.0f, -400.0f, 400.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373514); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373514); func_802EFC28(pCtrl, &D_803734E4); } void func_8036233C(f32 arg0[3]) { - static struct40s D_8037355C = {{{3.0f, 3.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {4.0f, 4.0f}, 0.0f, 0.3f}, 4.0f, 15.0f}; - static struct43s D_8037358C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8037355C = {{{3.0f, 3.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, {4.0f, 4.0f}, 0.0f, 0.3f}, 4.0f, 15.0f}; + static ParticleSettingsVelocityAccelerationPosition D_8037358C = { {{-450.0f, 600.0f, -50.0f}, {-150.0f, 1100.0f, 50.0f}}, {{-700.0f, -1700.0f, 0.0f}, {-800.0f, -1700.0f, 0.0f}}, {{ -60.0f, 0.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} @@ -146,16 +146,16 @@ void func_8036233C(f32 arg0[3]) { particleEmitter_setModel(pCtrl, 0x89A); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037358C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8037358C); func_802EFC28(pCtrl, &D_8037355C); } void func_80362404(f32 arg0[3]) { - static struct40s D_803735D4 = {{{1.1f, 1.1f}, {4.3f, 4.3f}, {0.0f, 0.05f}, {0.3f, 0.5f}, 0.06f, 0.3f}, 4.0f, 1.0f}; - static struct42s D_80373604 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803735D4 = {{{1.1f, 1.1f}, {4.3f, 4.3f}, {0.0f, 0.05f}, {0.3f, 0.5f}, 0.06f, 0.3f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_80373604 = { {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}} }; @@ -171,8 +171,8 @@ void func_80362404(f32 arg0[3]) { void func_8036247C(f32 arg0[3]) { static s32 D_80373634[3] = {0xA, 0xFF, 0xA}; - static struct40s D_80373640 = {{{2.0f, 2.0f}, {3.0f, 3.5f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.1f, 0.4}, 4.0f, 1.0f}; - static struct42s D_80373670 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373640 = {{{2.0f, 2.0f}, {3.0f, 3.5f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.1f, 0.4}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_80373670 = { {{ 0.0f, 40.0f, 0.0f}, { 0.0f, 90.0f, 0.0f}}, {{-400.0f, 0.0f, -400.0f}, { 400.0f, 0.0f, 400.0f}} }; @@ -190,7 +190,7 @@ void func_8036247C(f32 arg0[3]) { void func_80362510(Actor *actor) { static s32 D_803736A0[3] = {0xFF, 0xFF, 0xFF}; - static struct40s D_803736AC = {{{0.01f, 0.01f}, {1.5f, 1.6f}, {0.05f, 0.7f}, {0.7f, 1.3f}, 0.1f, 0.8f}, 4.0f, 25.0f}; + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803736AC = {{{0.01f, 0.01f}, {1.5f, 1.6f}, {0.05f, 0.7f}, {0.7f, 1.3f}, 0.1f, 0.8f}, 4.0f, 25.0f}; ParticleEmitter *pCtrl; f32 sp30[3]; @@ -201,7 +201,7 @@ void func_80362510(Actor *actor) { particleEmitter_setRGB(pCtrl, D_803736A0); particleEmitter_setAlpha(pCtrl, 0x1E); particleEmitter_setPosition(pCtrl, actor->position); - particleEmitter_setParticleSpawnPositionRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); sp30[0] = 1000.0f; sp30[1] = 100.0f; sp30[2] = 0.0f; @@ -216,8 +216,8 @@ void func_80362510(Actor *actor) { void func_80362680(f32 arg0[3]) { - static struct40s D_803736DC = {{{0.7f, 0.9f}, {0.4f, 0.5}, {0.0f, 0.01f}, {0.8f, 1.0f}, 0.15f, 0.3f}, 0.0f, 1.0f}; - static struct42s D_8037370C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803736DC = {{{0.7f, 0.9f}, {0.4f, 0.5}, {0.0f, 0.01f}, {0.8f, 1.0f}, 0.15f, 0.3f}, 0.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_8037370C = { {{-10.0f, -10.0f, -10.0f}, { 10.0f, 10.0f, 10.0f}}, {{ 0.0f, 30.0f, 0.0f}, { 0.0f, 30.0f, 0.0f}} }; @@ -232,8 +232,8 @@ void func_80362680(f32 arg0[3]) { } void func_803626F8(f32 arg0[3]) { - static struct40s D_8037373C = {{{0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, {1.4f, 1.5f}, 0.01f, 0.7f}, 0.0f, 1.0f}; - static struct43s D_8037376C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8037373C = {{{0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, {1.4f, 1.5f}, 0.01f, 0.7f}, 0.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_8037376C = { {{ -5.0f, -5.0f, -5.0f}, { 5.0f, 5.0f, 5.0f}}, {{ 0.0f, -50.0f, 0.0f}, { 0.0f, -90.0f, 0.0f}}, {{-30.0f, 30.0f, -30.0f}, { 30.0f, 60.0f, 30.0f}} @@ -244,15 +244,15 @@ void func_803626F8(f32 arg0[3]) { particleEmitter_setSprite(pCtrl, 0x713); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037376C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8037376C); func_802EFC28(pCtrl, &D_8037373C); } void func_80362770(f32 arg0[3]) { static s32 D_803737B4[3] = {0xFF, 0xFF, 00}; - static struct40s D_803737C0 = {{{0.1f, 0.3f}, {0.6f, 0.7f}, {0.0f, 0.01f}, {0.3f, 0.4f}, 0.01f, 0.3f}, 4.0f, 16.0f}; - static struct42s D_803737F0 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803737C0 = {{{0.1f, 0.3f}, {0.6f, 0.7f}, {0.0f, 0.01f}, {0.3f, 0.4f}, 0.01f, 0.3f}, 4.0f, 16.0f}; + static ParticleSettingsVelocityPosition D_803737F0 = { {{-600.0f, -600.0f, -600.0f}, { 600.0f, 600.0f, 600.0f}}, {{ 0.0f, 30.0f, 0.0f}, { 0.0f, 30.0f, 0.0f}}, }; @@ -269,8 +269,8 @@ void func_80362770(f32 arg0[3]) { void func_803627F8(f32 arg0[3]){ static s32 D_80373820[3] = {130, 155, 40}; - static struct40s D_8037382C = {{{3.3f, 3.3f}, {4.5f, 4.7f}, {0.0f, 0.01f}, {1.8f, 3.2f}, 0.31f, 0.73f}, 4.0f, 11.0f}; - static struct43s D_8037385C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8037382C = {{{3.3f, 3.3f}, {4.5f, 4.7f}, {0.0f, 0.01f}, {1.8f, 3.2f}, 0.31f, 0.73f}, 4.0f, 11.0f}; + static ParticleSettingsVelocityAccelerationPosition D_8037385C = { {{-200.0f, 120.0f, -200.0f}, { 200.0f, 130.0f, 200.0f}}, {{ 0.0f, -100.0f, 0.0f}, { 0.0f, -100.0f, 0.0f}}, {{ -30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} @@ -283,14 +283,14 @@ void func_803627F8(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373820); particleEmitter_setAlpha(pCtrl, 120); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037385C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_8037385C); func_802EFC28(pCtrl, &D_8037382C); } void func_8036288C(f32 arg0[3]){ static s32 D_803738A4[3] = {91, 142, 0}; - static struct40s D_803738B0 = {{{0.2f, 0.9f}, {0.4f, 0.9f}, {0.0f, 0.01f}, {1.8f, 4.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; - static struct43s D_803738E0 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803738B0 = {{{0.2f, 0.9f}, {0.4f, 0.9f}, {0.0f, 0.01f}, {1.8f, 4.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; + static ParticleSettingsVelocityAccelerationPosition D_803738E0 = { {{-400.0f, 520.0f, -400.0f}, { 400.0f, 750.0f, 400.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1600.0f, 0.0f}}, {{ -30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} @@ -303,14 +303,14 @@ void func_8036288C(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_803738A4); particleEmitter_setAlpha(pCtrl, 255); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803738E0); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_803738E0); func_802EFC28(pCtrl, &D_803738B0); } void func_80362920(f32 arg0[3]){ static s32 D_80373928[3] = {0, 255, 0}; - static struct40s D_80373934 = {{{1.4f, 1.9f}, {2.4f, 2.9f}, {0.0f, 3.2f}, {8.8f, 9.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; - static struct43s D_80373964 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373934 = {{{1.4f, 1.9f}, {2.4f, 2.9f}, {0.0f, 3.2f}, {8.8f, 9.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373964 = { {{-60.0f, 100.0f, -60.0f}, { 60.0f, 170.0f, 60.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} @@ -321,14 +321,14 @@ void func_80362920(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373928); particleEmitter_setAlpha(pCtrl, 60); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373964); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373964); func_802EFC28(pCtrl, &D_80373934); } void func_803629B4(f32 arg0[3]){ static s32 D_803739AC[3] = {255, 255, 255}; - static struct40s D_803739B8 = {{{0.2f, 0.9f}, {0.3f, 0.4f}, {0.0f, 0.2f}, {1.0f, 1.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; - static struct43s D_803739E8 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803739B8 = {{{0.2f, 0.9f}, {0.3f, 0.4f}, {0.0f, 0.2f}, {1.0f, 1.2f}, 0.31f, 0.73f}, 4.0f, 13.0f}; + static ParticleSettingsVelocityAccelerationPosition D_803739E8 = { {{-600.0f, 0.0f, -600.0f}, { 600.0f, 0.0f, 600.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{ 0.0f, 40.0f, 0.0f}, { 0.0f, 40.0f, 0.0f}} @@ -341,14 +341,14 @@ void func_803629B4(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_803739AC); particleEmitter_setAlpha(pCtrl, 255); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803739E8); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_803739E8); func_802EFC28(pCtrl, &D_803739B8); } void func_80362A48(f32 arg0[3]){ static s32 D_80373A30[3] = {255, 255, 255}; - static struct40s D_80373A3C = {{{1.5f, 1.6f}, {2.5f, 2.9f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.1f, 0.4f}, 4.0f, 1.0f}; - static struct43s D_80373A6C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373A3C = {{{1.5f, 1.6f}, {2.5f, 2.9f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.1f, 0.4f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373A6C = { {{ 0.0f, 40.0f, 0.0f}, { 0.0f, 90.0f, 0.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} @@ -361,14 +361,14 @@ void func_80362A48(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373A30); particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373A6C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373A6C); func_802EFC28(pCtrl, &D_80373A3C); } void func_80362ADC(f32 arg0[3]){ static s32 D_80373AB4[3] = {30, 30, 30}; - static struct40s D_80373AC0 = {{{3.0f, 3.4f}, {3.9f, 4.1f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.3f, 0.5f}, 4.0f, 1.0f}; - static struct43s D_80373AF0 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373AC0 = {{{3.0f, 3.4f}, {3.9f, 4.1f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.3f, 0.5f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373AF0 = { {{100.0f, 40.0f, 100.0f}, {100.0f, 90.0f, 100.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{ -5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} @@ -381,14 +381,14 @@ void func_80362ADC(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373AB4); particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373AF0); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373AF0); func_802EFC28(pCtrl, &D_80373AC0); } void func_80362B70(f32 arg0[3]){ static s32 D_80373B38[3] = {130, 130, 130}; - static struct40s D_80373B44 = {{{2.0f, 2.4f}, {3.9f, 4.1f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.2f, 0.7f}, 4.0f, 1.0f}; - static struct43s D_80373B74 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373B44 = {{{2.0f, 2.4f}, {3.9f, 4.1f}, {0.0f, 0.01f}, {2.0f, 2.5f}, 0.2f, 0.7f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373B74 = { {{100.0f, 40.0f, 100.0f}, {100.0f, 90.0f, 100.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{ -5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} @@ -399,14 +399,14 @@ void func_80362B70(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373B38); particleEmitter_setAlpha(pCtrl, 110); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373B74); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373B74); func_802EFC28(pCtrl, &D_80373B44); } void func_80362C04(f32 arg0[3]){ static s32 D_80373BBC[3] = {0xff, 0xff, 0xff}; - static struct40s D_80373BC8 = {{{0.5f, 0.6f}, {1.5f, 1.9f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.1f, 0.8f,}, 0.0f, 1.0f}; - static struct43s D_80373BF8 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373BC8 = {{{0.5f, 0.6f}, {1.5f, 1.9f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.1f, 0.8f,}, 0.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373BF8 = { {{ 0.0f, 40.0f, 0.0f}, { 0.0f, 90.0f, 0.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} @@ -419,14 +419,14 @@ void func_80362C04(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373BBC); particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373BF8); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373BF8); func_802EFC28(pCtrl, &D_80373BC8); } void func_80362C98(f32 arg0[3]){ static s32 D_80373C40[3] = {160, 170, 170}; - static struct40s D_80373C4C = {{{2.5f, 2.6f}, {3.5f, 3.9f}, {0.0f, 0.01f}, {0.3f, 0.5f}, 0.1f, 0.8f}, 4.0f, 1.0f}; - static struct43s D_80373C7C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373C4C = {{{2.5f, 2.6f}, {3.5f, 3.9f}, {0.0f, 0.01f}, {0.3f, 0.5f}, 0.1f, 0.8f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373C7C = { {{-60.0f, -60.0f, -60.0f}, { 60.0f, 60.0f, 60.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-50.0f, -50.0f, -50.0f}, { 50.0f, 50.0f, 50.0f}} @@ -439,14 +439,14 @@ void func_80362C98(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373C40); particleEmitter_setAlpha(pCtrl, 140); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373C7C); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373C7C); func_802EFC28(pCtrl, &D_80373C4C); } void func_80362D2C(f32 arg0[3]){ static s32 D_80373CC4[] = {90, 90, 90}; - static struct40s D_80373CD0 = {{{1.5f, 1.6f}, {2.5f, 2.9f}, {0.0f, 0.01f}, {0.3f, 0.5f}, 0.1f, 0.8f}, 4.0f, 1.0f}; - static struct43s D_80373D00 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373CD0 = {{{1.5f, 1.6f}, {2.5f, 2.9f}, {0.0f, 0.01f}, {0.3f, 0.5f}, 0.1f, 0.8f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityAccelerationPosition D_80373D00 = { {{-60.0f, -60.0f, -60.0f}, {60.0f, 60.0f, 60.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-50.0f, -50.0f, -50.0f}, {50.0f, 50.0f, 50.0f}} @@ -459,13 +459,13 @@ void func_80362D2C(f32 arg0[3]){ particleEmitter_setRGB(pCtrl, D_80373CC4); particleEmitter_setAlpha(pCtrl, 140); particleEmitter_setPosition(pCtrl, arg0); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373D00); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373D00); func_802EFC28(pCtrl, &D_80373CD0); } void func_80362DC0(f32 arg0[3]){ - static struct40s D_80373D48 = {{ {1.8f, 3.5f}, {1.8f, 3.5f}, {0.0f, 0.01f}, {5.0f, 5.0f}, 0.0f, 0.9f}, 4.0f, 15.0f }; - static struct43s D_80373D78 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80373D48 = {{ {1.8f, 3.5f}, {1.8f, 3.5f}, {0.0f, 0.01f}, {5.0f, 5.0f}, 0.0f, 0.9f}, 4.0f, 15.0f }; + static ParticleSettingsVelocityAccelerationPosition D_80373D78 = { {{-450.0f, 700.0f, -450.0f}, {450.0f, 1100.0f, 450.0f}}, {{ 0.0f, -900.0f, 0.0f}, { 0.0f, -900.0f, 0.0f}}, {{-150.0f, -100.0f, -150.0f}, {150.0f, 5.0f, 150.0f}} @@ -475,11 +475,11 @@ void func_80362DC0(f32 arg0[3]){ particleEmitter_setModel(pCtrl, ASSET_47B_MODEL_ROCK); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); - func_802EF9F8(pCtrl, 0.4f); - func_802EFA18(pCtrl, 3); + particleEmitter_func_802EF9F8(pCtrl, 0.4f); + particleEmitter_func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setDrawMode(pCtrl, 2); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373D78); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80373D78); func_802EFC28(pCtrl, &D_80373D48); } diff --git a/src/core2/code_DC4B0.c b/src/core2/code_DC4B0.c index 96004b15..a4eac276 100644 --- a/src/core2/code_DC4B0.c +++ b/src/core2/code_DC4B0.c @@ -8,7 +8,7 @@ void func_80363500(Actor *this); ActorInfo D_80373DC0= { 0x1EE, ACTOR_3BA_UNKOWN, 0, 0, NULL, - func_80363500, func_80326224, func_80325340, + func_80363500, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0 }; diff --git a/src/core2/eggshatter.c b/src/core2/eggshatter.c index 73254933..19dfb5f7 100644 --- a/src/core2/eggshatter.c +++ b/src/core2/eggshatter.c @@ -3,7 +3,7 @@ #include "variables.h" /* .data */ -struct43s D_803637A0 = { +ParticleSettingsVelocityAccelerationPosition D_803637A0 = { {{-200.0f, 200.0f, -200.0f}, {200.0f, 400.0f, 200.0f}}, {{0.0f, -800.0, 0.0f}, {0.0f, -800.0f, 0.0f}}, {{-10.0f, -10.0f, -10.0f}, {10.0f, 10.0f, 10.0f}} @@ -24,13 +24,13 @@ void eggShatter_free(void){ void eggShatter_init(void){ gEggShatter_controller = particleEmitter_new(20); particleEmitter_setModel(gEggShatter_controller, 0x360); - func_802EF9F8(gEggShatter_controller, 0.6f); - func_802EFA18(gEggShatter_controller, 0); + particleEmitter_func_802EF9F8(gEggShatter_controller, 0.6f); + particleEmitter_func_802EFA18(gEggShatter_controller, 0); particleEmitter_setStartingScaleRange(gEggShatter_controller, 0.8f, 1.0f); particleEmitter_setAngularVelocityRange(gEggShatter_controller, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setSpawnIntervalRange(gEggShatter_controller, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(gEggShatter_controller, 1.5f, 1.5f); - particleEmitter_setPositionVelocityAndAccelerationRanges(gEggShatter_controller, &D_803637A0); + particleEmitter_setVelocityAccelerationAndPositionRanges(gEggShatter_controller, &D_803637A0); } void eggShatter_update(void){ diff --git a/src/core2/fx/sparkle.c b/src/core2/fx/sparkle.c index 85ec66e0..5d0d0d4f 100644 --- a/src/core2/fx/sparkle.c +++ b/src/core2/fx/sparkle.c @@ -17,7 +17,7 @@ ParticleEmitter *__fxSparkle_create(s16 position[3], f32 height, enum asset_e sp } void fxSparkle_emptyHoneycomb(s16 position[3]){ - static struct42s D_80368BD0 = { + static ParticleSettingsVelocityPosition D_80368BD0 = { {{-100.0f, 100.0f, -100.0f}, { 100.0f, 250.0f, 100.0f}}, {{ -10.0f, 10.0f, -10.0f}, { 10.0f, 10.0f, 10.0f}} }; @@ -29,7 +29,7 @@ void fxSparkle_emptyHoneycomb(s16 position[3]){ } void fxSparkle_honeycomb(s16 position[3]){ - static struct42s D_80368C00 = { + static ParticleSettingsVelocityPosition D_80368C00 = { {{-100.0f, 100.0f, -100.0f}, { 100.0f, 250.0f, 100.0f}}, {{ -10.0f, 10.0f, -10.0f}, { 10.0f, 10.0f, 10.0f}} }; @@ -59,7 +59,7 @@ void fxSparkle_blueEgg(s16 position[3]){ } void fxSparkle_giantBlueEgg(s16 position[3]){ - static struct42s D_80368C30 = { + static ParticleSettingsVelocityPosition D_80368C30 = { {{-200.0f, 100.0f, -200.0f}, { 200.0f, 350.0f, 200.0f}}, /*position*/ {{ -30.0f, 100.0f, -30.0f}, { 30.0f, 100.0f, 30.0f}} /*velocity*/ }; @@ -81,7 +81,7 @@ void fxSparkle_redFeather(s16 position[3]){ } void fxSparkle_giantRedFeather(s16 position[3]){ - static struct42s D_80368C60 = { + static ParticleSettingsVelocityPosition D_80368C60 = { {{-125.0f, 100.0f, -125.0f}, { 125.0f, 250.0f, 125.0f}}, /*position*/ {{ -15.0f, 100.0f, -15.0f}, { 15.0f, 100.0f, 15.0f}} /*velocity*/ }; @@ -102,7 +102,7 @@ void fxSparkle_goldFeather(s16 position[3]){ } void fxSparkle_giantGoldFeather(s16 position[3]){ - static struct42s D_80368C90 = { + static ParticleSettingsVelocityPosition D_80368C90 = { {{-125.0f, 100.0f, -125.0f}, { 125.0f, 250.0f, 125.0f}}, /*position*/ {{ -15.0f, 100.0f, -15.0f}, { 15.0f, 100.0f, 15.0f}} /*velocity*/ }; @@ -113,7 +113,7 @@ void fxSparkle_giantGoldFeather(s16 position[3]){ } void fxSparkle_mumboToken(s16 position[3]){ - static struct42s D_80368CC0 = { + static ParticleSettingsVelocityPosition D_80368CC0 = { {{-100.0f, 100.0f, -100.0f}, { 100.0f, 250.0f, 100.0f}}, /*position*/ {{ -15.0f, 15.0f, -15.0f}, { 15.0f, 15.0f, 15.0f}} /*velocity*/ }; @@ -125,7 +125,7 @@ void fxSparkle_mumboToken(s16 position[3]){ } void fxSparkle_extraLife(s16 position[3]){ - static struct42s D_80368CF0 = { + static ParticleSettingsVelocityPosition D_80368CF0 = { {{ -75.0f, 100.0f, -75.0f}, { 75.0f, 250.0f, 75.0f}}, /*position*/ {{ -8.0f, 5.0f, -8.0f}, { -5.0f, 35.0f, 8.0f}} /*velocity*/ }; @@ -136,7 +136,7 @@ void fxSparkle_extraLife(s16 position[3]){ } void fxSparkle_brentilda(s16 position[3]){ - static struct42s D_80368D20 = { + static ParticleSettingsVelocityPosition D_80368D20 = { {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, /*position*/ {{ -15.0f, -15.0f, -15.0f}, { 15.0f, 15.0f, 15.0f}} /*velocity*/ }; @@ -147,7 +147,7 @@ void fxSparkle_brentilda(s16 position[3]){ } void fxSparkle_chTreasure(s16 position[3]){ - static struct42s D_80368D50 = { + static ParticleSettingsVelocityPosition D_80368D50 = { {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, /*position*/ {{ -25.0f, -5.0f, -25.0f}, { 25.0f, 5.0f, 25.0f}} /*velocity*/ }; diff --git a/src/core2/particle.c b/src/core2/particle.c index 76fd44b0..e0d3e72f 100644 --- a/src/core2/particle.c +++ b/src/core2/particle.c @@ -310,16 +310,16 @@ ParticleEmitter * particleEmitter_new(u32 capacity){ particleEmitter_setFade(this, 0.0f, 1.0f); particleEmitter_setDrawMode(this, 0); particleEmitter_setPosition(this, sp40); - particleEmitter_setParticleAccelerationRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + particleEmitter_setAccelerationRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setAlpha(this, 0xff); - particleEmitter_setParticleSpawnPositionRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + particleEmitter_setSpawnPositionRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setParticleVelocityRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setSfx(this, 0, 0); - func_802EF9F8(this, 0.9f); + particleEmitter_func_802EF9F8(this, 0.9f); func_802EFA04(this, -100000.0f); func_802EFA34(this, 100000.0f); particleEmitter_setParticleCallback(this, 0); - func_802EFA18(this, 0); + particleEmitter_func_802EFA18(this, 0); func_802EFA20(this, 1.0f, 1.0f); particleEmitter_setStartingFrameRange(this, 0, 0); particleEmitter_setParticleFramerateRange(this, 0.0f, 0.0f); @@ -348,7 +348,7 @@ void particleEmitter_setSprite(ParticleEmitter *this, enum asset_e sprite_id){ } } -void particleEmitter_setParticleAccelerationRange(ParticleEmitter *this, f32 min_x, f32 min_y, f32 min_z, f32 max_x, f32 max_y, f32 max_z){ +void particleEmitter_setAccelerationRange(ParticleEmitter *this, f32 min_x, f32 min_y, f32 min_z, f32 max_x, f32 max_y, f32 max_z){ this->particleAccerationRange_4C_min_x = min_x; this->particleAccerationRange_4C_min_y = min_y; this->particleAccerationRange_4C_min_z = min_z; @@ -366,7 +366,7 @@ void particleEmitter_setSfx(ParticleEmitter *this, enum sfx_e sfx_id, s32 arg2){ this->unk7C = arg2; } -void func_802EF9F8(ParticleEmitter *this, f32 arg1){ +void particleEmitter_func_802EF9F8(ParticleEmitter *this, f32 arg1){ this->unk68 = arg1; } @@ -378,7 +378,7 @@ void particleEmitter_setParticleCallback(ParticleEmitter *this, void (*arg1)(Par this->particleCallback_80 = arg1; } -void func_802EFA18(ParticleEmitter *this, s32 arg1){ +void particleEmitter_func_802EFA18(ParticleEmitter *this, s32 arg1){ this->unk64 = arg1; } @@ -406,7 +406,7 @@ void particleEmitter_setDrawMode(ParticleEmitter *this, s32 arg1){ this->draw_mode = arg1; } -void func_802EFA78(ParticleEmitter *this, s32 arg1){ +void particleEmitter_func_802EFA78(ParticleEmitter *this, s32 arg1){ this->unk0_16 = arg1; } @@ -434,7 +434,7 @@ void particleEmitter_setModel(ParticleEmitter *this, enum asset_e model_id){ } } -void particleEmitter_setParticleSpawnPositionRange(ParticleEmitter *this, f32 min_x, f32 min_y, f32 min_z, f32 max_x, f32 max_y, f32 max_z){ +void particleEmitter_setSpawnPositionRange(ParticleEmitter *this, f32 min_x, f32 min_y, f32 min_z, f32 max_x, f32 max_y, f32 max_z){ this->particleSpawnPositionRange_94_min_x = min_x; this->particleSpawnPositionRange_94_min_y = min_y; this->particleSpawnPositionRange_94_min_z = min_z; @@ -459,61 +459,68 @@ void particleEmitter_setFinalScaleRange(ParticleEmitter * this, f32 min, f32 max this->particleFinalScaleRange_B4_max = max; } -void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *this, ParticleScaleAndLifetimeRanges *arg1){ - this->particleStartingScaleRange_AC_min = arg1->unk0[0]; - this->particleStartingScaleRange_AC_max = arg1->unk0[1]; - if(-1.0f != arg1->unk8[0]){ - this->particleFinalScaleRange_B4_min = arg1->unk8[0]; - this->particleFinalScaleRange_B4_max = arg1->unk8[1]; +void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *this, ParticleScaleAndLifetimeRanges *settings) { + this->particleStartingScaleRange_AC_min = settings->unk0[0]; + this->particleStartingScaleRange_AC_max = settings->unk0[1]; + + if(-1.0f != settings->unk8[0]){ + this->particleFinalScaleRange_B4_min = settings->unk8[0]; + this->particleFinalScaleRange_B4_max = settings->unk8[1]; } - particleEmitter_setSpawnIntervalRange(this, arg1->unk10[0], arg1->unk10[1]); - this->particleLifeTimeRange[0] = arg1->unk18[0]; - this->particleLifeTimeRange[1] = arg1->unk18[1]; - this->fade_in = arg1->unk20; - this->fade_out = arg1->unk24; + + particleEmitter_setSpawnIntervalRange(this, settings->unk10[0], settings->unk10[1]); + + this->particleLifeTimeRange[0] = settings->unk18[0]; + this->particleLifeTimeRange[1] = settings->unk18[1]; + + this->fade_in = settings->unk20; + this->fade_out = settings->unk24; } -void func_802EFC28(ParticleEmitter *this, struct40s *arg1){ - particleEmitter_setScaleAndLifetimeRanges(this, &arg1->unk0); - particleEmitter_setDrawMode(this, (s32)arg1->unk28); - particleEmitter_emitN(this, (s32)arg1->unk2C); +void func_802EFC28(ParticleEmitter *this, ParticleSettingsScaleAndLifetimeDrawModeEmitCount *settings) { + particleEmitter_setScaleAndLifetimeRanges(this, &settings->scale_and_lifetime); + particleEmitter_setDrawMode(this, (s32)settings->drawmode); + particleEmitter_emitN(this, (s32)settings->count); } -void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *this, struct41s *arg1){ +void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *this, ParticleSettingsVelocityAcceleration *settings) { particleEmitter_setParticleVelocityRange(this, - arg1->unk0.unk0[0], arg1->unk0.unk0[1], arg1->unk0.unk0[2], - arg1->unk0.unkC[0], arg1->unk0.unkC[1], arg1->unk0.unkC[2] + settings->velocity.min[0], settings->velocity.min[1], settings->velocity.min[2], + settings->velocity.max[0], settings->velocity.max[1], settings->velocity.max[2] ); - particleEmitter_setParticleAccelerationRange(this, - arg1->unk18.unk0[0], arg1->unk18.unk0[1], arg1->unk18.unk0[2], - arg1->unk18.unkC[0], arg1->unk18.unkC[1], arg1->unk18.unkC[2] + + particleEmitter_setAccelerationRange(this, + settings->acceleration.min[0], settings->acceleration.min[1], settings->acceleration.min[2], + settings->acceleration.max[0], settings->acceleration.max[1], settings->acceleration.max[2] ); } -void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1){ +void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, ParticleSettingsVelocityPosition *settings) { particleEmitter_setParticleVelocityRange(this, - arg1->unk0.unk0[0], arg1->unk0.unk0[1], arg1->unk0.unk0[2], - arg1->unk0.unkC[0], arg1->unk0.unkC[1], arg1->unk0.unkC[2] + settings->velocity.min[0], settings->velocity.min[1], settings->velocity.min[2], + settings->velocity.max[0], settings->velocity.max[1], settings->velocity.max[2] ); - particleEmitter_setParticleSpawnPositionRange( this, - arg1->unk18.unk0[0], arg1->unk18.unk0[1], arg1->unk18.unk0[2], - arg1->unk18.unkC[0], arg1->unk18.unkC[1], arg1->unk18.unkC[2] + particleEmitter_setSpawnPositionRange( this, + settings->spawn_position.min[0], settings->spawn_position.min[1], settings->spawn_position.min[2], + settings->spawn_position.max[0], settings->spawn_position.max[1], settings->spawn_position.max[2] ); } -void particleEmitter_setPositionVelocityAndAccelerationRanges(ParticleEmitter *this, struct43s* arg1){ +void particleEmitter_setVelocityAccelerationAndPositionRanges(ParticleEmitter *this, ParticleSettingsVelocityAccelerationPosition *settings) { particleEmitter_setParticleVelocityRange(this, - arg1->unk0.unk0[0], arg1->unk0.unk0[1], arg1->unk0.unk0[2], - arg1->unk0.unkC[0], arg1->unk0.unkC[1], arg1->unk0.unkC[2] + settings->velocity.min[0], settings->velocity.min[1], settings->velocity.min[2], + settings->velocity.max[0], settings->velocity.max[1], settings->velocity.max[2] ); - particleEmitter_setParticleAccelerationRange(this, - arg1->unk18.unk0[0], arg1->unk18.unk0[1], arg1->unk18.unk0[2], - arg1->unk18.unkC[0], arg1->unk18.unkC[1], arg1->unk18.unkC[2] + + particleEmitter_setAccelerationRange(this, + settings->acceleration.min[0], settings->acceleration.min[1], settings->acceleration.min[2], + settings->acceleration.max[0], settings->acceleration.max[1], settings->acceleration.max[2] ); - particleEmitter_setParticleSpawnPositionRange( this, - arg1->unk30.unk0[0], arg1->unk30.unk0[1], arg1->unk30.unk0[2], - arg1->unk30.unkC[0], arg1->unk30.unkC[1], arg1->unk30.unkC[2] + + particleEmitter_setSpawnPositionRange( this, + settings->spawn_position.min[0], settings->spawn_position.min[1], settings->spawn_position.min[2], + settings->spawn_position.max[0], settings->spawn_position.max[1], settings->spawn_position.max[2] ); } @@ -710,7 +717,7 @@ void func_802F053C(ParticleEmitter *this, f32 arg1[3]){ particleEmitter_setRGB(this, D_803689B8); particleEmitter_setFade(this, 0.0f, 0.1f); particleEmitter_setStartingFrameRange(this, 0, 7); - particleEmitter_setParticleSpawnPositionRange(this, -80.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); + particleEmitter_setSpawnPositionRange(this, -80.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); particleEmitter_setPosition(this, arg1); particleEmitter_setStartingScaleRange(this, 1.0f, 1.0f); particleEmitter_setFinalScaleRange(this, 2.0f, 3.0f); @@ -720,11 +727,11 @@ void func_802F053C(ParticleEmitter *this, f32 arg1[3]){ } void func_802F066C(ParticleEmitter *this, f32 position[3]){ - particleEmitter_setParticleAccelerationRange(this, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); - func_802EF9F8(this, 0.6f); - func_802EFA18(this, 3); + particleEmitter_setAccelerationRange(this, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); + particleEmitter_func_802EF9F8(this, 0.6f); + particleEmitter_func_802EFA18(this, 3); particleEmitter_setModel(this, ASSET_896_MODEL_GOLD_ROCK); - particleEmitter_setParticleSpawnPositionRange(this, + particleEmitter_setSpawnPositionRange(this, -120.0f, -60.0f, -120.0f, 120.0f, 60.0f, 120.0f ); diff --git a/src/core2/spawnqueue.c b/src/core2/spawnqueue.c index 95c3318c..912d0b4c 100644 --- a/src/core2/spawnqueue.c +++ b/src/core2/spawnqueue.c @@ -356,7 +356,7 @@ void spawnQueue_reset(void){ lair_func_8038A0C4(); break; case OVERLAY_E_BATTLE: - fight_func_803863F0(); + fight_addSpawnableActors(); break; case OVERLAY_C_INTRO: cutscene_func_8038C4E0(); diff --git a/src/cutscenes/code_0.c b/src/cutscenes/code_0.c index 4e33d4b9..1b78d781 100644 --- a/src/cutscenes/code_0.c +++ b/src/cutscenes/code_0.c @@ -182,10 +182,10 @@ void func_80386AC8(s32 arg0) { particleEmitter_setModel(pCtrl, 0x47B); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -350.0f, -400.0f, -350.0f, 350.0f, 450.0f, 350.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1100.0f, 0.0f, 0.0f, -1100.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1100.0f, 0.0f, 0.0f, -1100.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D350); particleEmitter_emitN(pCtrl, 10); } @@ -203,10 +203,10 @@ void func_80386C34(s32 arg0) { particleEmitter_setModel(pCtrl, 0x47B); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -350.0f, -400.0f, -350.0f, 350.0f, 450.0f, 350.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1100.0f, 0.0f, 0.0f, -1100.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1100.0f, 0.0f, 0.0f, -1100.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D378); particleEmitter_emitN(pCtrl, 15); } @@ -224,10 +224,10 @@ void func_80386DA0(s32 arg0) { particleEmitter_setModel(pCtrl, 0x47B); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -700.0f, 0.0f, 0.0f, -700.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 1500.0f, -50.0f, 50.0f, 1500.0f, 50.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -700.0f, 0.0f, 0.0f, -700.0f, 0.0f); + particleEmitter_setSpawnPositionRange(pCtrl, -50.0f, 1500.0f, -50.0f, 50.0f, 1500.0f, 50.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3A0); particleEmitter_emitN(pCtrl, 1); } @@ -245,9 +245,9 @@ void func_80386EF8(s32 arg0) { particleEmitter_setModel(pCtrl, 0x344); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -150.0f, 150.0f, -150.0f, 150.0f, 360.0f, 150.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f); - func_802EF9F8(pCtrl, 0.01f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.01f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3C8); particleEmitter_emitN(pCtrl, 8); } @@ -266,9 +266,9 @@ void func_8038702C(s32 arg0) { particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -250.0f, 250.0f, -250.0f, 250.0f, 360.0f, 250.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); - func_802EF9F8(pCtrl, 0.4f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.4f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3F0); particleEmitter_emitN(pCtrl, 8); } @@ -287,16 +287,16 @@ void func_80387170(s32 arg0) { particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -250.0f, 250.0f, -250.0f, 250.0f, 360.0f, 250.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); - func_802EF9F8(pCtrl, 0.4f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.4f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D418); particleEmitter_emitN(pCtrl, 8); } void func_803872B4(s32 arg0) { - static struct40s D_8038D440 = {{{1.8f, 1.8f}, {3.3f, 3.8f}, {0.0f, 0.01f}, {9.0f, 9.5f}, 0.1f, 0.4f}, 4.0f, 4.0f}; - static struct42s D_8038D470 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D440 = {{{1.8f, 1.8f}, {3.3f, 3.8f}, {0.0f, 0.01f}, {9.0f, 9.5f}, 0.1f, 0.4f}, 4.0f, 4.0f}; + static ParticleSettingsVelocityPosition D_8038D470 = { {{ 40.0f, 5.0f, -40.0f}, { 40.0f, 10.0f, -40.0f}}, {{-150.0f, 50.0f, -150.0f}, {150.0f, 50.0f, 150.0f}} }; @@ -312,14 +312,14 @@ void func_803872B4(s32 arg0) { func_8034A174((struct5Bs *)sp44->marker->unk44, 7, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D470); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D440.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D440.scale_and_lifetime); particleEmitter_emitN(pCtrl, 4); } void func_80387364(s32 arg0) { static s32 D_8038D4A0[3] = {0xA, 0xFF, 0xA}; - static struct40s D_8038D4AC = {{{2.8f, 2.8f}, {3.5f, 3.9f}, {0.0f, 0.01f}, {9.0f, 9.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; - static struct42s D_8038D4DC = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D4AC = {{{2.8f, 2.8f}, {3.5f, 3.9f}, {0.0f, 0.01f}, {9.0f, 9.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_8038D4DC = { {{-40.0f, -30.0f, -40.0f}, {40.0f, 30.0f, 40.0f}}, {{-50.0f, 0.0f, -50.0f}, {50.0f, 100.0f, 50.0f}} }; @@ -336,7 +336,7 @@ void func_80387364(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 8, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D4DC); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D4AC.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D4AC.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } @@ -356,7 +356,7 @@ void func_80387424(s32 arg0) { particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D50C); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -300.0f, 0.0f, 0.0f, -300.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -300.0f, 0.0f, 0.0f, -300.0f, 0.0f); particleEmitter_emitN(pCtrl, 8); } @@ -374,7 +374,7 @@ void cutscenes_func_80387560(s32 arg0) { particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D534); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); particleEmitter_emitN(pCtrl, 11); } @@ -392,14 +392,14 @@ void func_80387680(s32 arg0) { particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D55C); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); particleEmitter_emitN(pCtrl, 11); } void func_803877A0(s32 arg0) { static s32 D_8038D584[3] = {0xFF, 0xFF, 0xFF}; - static struct40s D_8038D590 = {{{0.15f, 0.15f}, {0.4f, 0.4f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; - static struct42s D_8038D5C0 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D590 = {{{0.15f, 0.15f}, {0.4f, 0.4f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_8038D5C0 = { {{-20.0f, 100.0f, -20.0f}, {20.0f, 150.0f, 20.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}} }; @@ -419,7 +419,7 @@ void func_803877A0(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 6, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D5C0); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D590.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D590.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } @@ -436,9 +436,9 @@ void func_803878A4(s32 arg0) { particleEmitter_setModel(pCtrl, 0x47A); particleEmitter_setAngularVelocityRange(pCtrl, -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); - func_802EF9F8(pCtrl, 0.3f); - func_802EFA18(pCtrl, 3); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.3f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D5F0); particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); @@ -458,10 +458,10 @@ void cutscenes_func_803879E0(s32 arg0) { particleEmitter_setModel(pCtrl, 0x47A); particleEmitter_setAngularVelocityRange(pCtrl, -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f); particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setParticleSpawnPositionRange(pCtrl, -40.0f, 0.0f, -40.0f, 40.0f, 20.0f, 40.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); - func_802EF9F8(pCtrl, 0.3f); - func_802EFA18(pCtrl, 3); + particleEmitter_setSpawnPositionRange(pCtrl, -40.0f, 0.0f, -40.0f, 40.0f, 20.0f, 40.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.3f); + particleEmitter_func_802EFA18(pCtrl, 3); particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D618); particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); @@ -469,8 +469,8 @@ void cutscenes_func_803879E0(s32 arg0) { } void func_80387B58(s32 arg0) { - static struct40s D_8038D640 = {{{0.5f, 0.8f}, {3.2f, 3.8f}, {0.0f, 0.3f}, {0.5f, 0.6f}, 0.2f, 0.8f}, 4.0f, 4.0f }; - static struct42s D_8038D670 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D640 = {{{0.5f, 0.8f}, {3.2f, 3.8f}, {0.0f, 0.3f}, {0.5f, 0.6f}, 0.2f, 0.8f}, 4.0f, 4.0f }; + static ParticleSettingsVelocityPosition D_8038D670 = { {{ 0.0f, 100.0f, 0.0f}, { 0.0f, 100.0f, 0.0f}}, {{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}} }; @@ -484,20 +484,20 @@ void func_80387B58(s32 arg0) { particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setAlpha(pCtrl, 0x3C); particleEmitter_setAngularVelocityRange(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -290.0f, 0.0f, 0.0f, -290.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -290.0f, 0.0f, 0.0f, -290.0f, 0.0f); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D670); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D640.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D640.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } void func_80387C64(s32 arg0) { static s32 D_8038D6A0[3] = {0x3C, 0x3C, 0xFF}; - static struct40s D_8038D6AC = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D6AC = { {{0.5f, 0.6f}, {1.4f, 1.6f}, {0.0f, 0.2f}, {0.9f, 1.2f}, 0.2f, 0.8f}, 4.0f, 4.0f }; - static struct42s D_8038D6DC ={ + static ParticleSettingsVelocityPosition D_8038D6DC ={ {{ 0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, {{-5.0f, -5.0f, -5.0f}, {5.0f, 5.0f, 5.0f}} }; @@ -514,17 +514,17 @@ void func_80387C64(s32 arg0) { particleEmitter_setRGB(pCtrl, D_8038D6A0); particleEmitter_setAlpha(pCtrl, 0x64); particleEmitter_setAngularVelocityRange(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D6DC); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D6AC.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D6AC.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } } void func_80387D88(s32 arg0) { - static struct40s D_8038D70C = {{{0.2f, 0.2f}, {0.3f, 0.3f}, {0.0f, 0.2f}, {0.7f, 0.9f}, 0.2f, 0.8f}, 4.0f, 4.0f}; - static struct42s D_8038D73C = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D70C = {{{0.2f, 0.2f}, {0.3f, 0.3f}, {0.0f, 0.2f}, {0.7f, 0.9f}, 0.2f, 0.8f}, 4.0f, 4.0f}; + static ParticleSettingsVelocityPosition D_8038D73C = { {{-800.0f, -800.0f, -800.0f}, {800.0f, 800.0f, 800.0f}}, {{ -25.0f, -25.0f, -25.0f}, { 25.0f, 25.0f, 25.0f}} }; @@ -540,18 +540,18 @@ void func_80387D88(s32 arg0) { particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setAlpha(pCtrl, 0xFF); particleEmitter_setAngularVelocityRange(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D73C); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D70C.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D70C.scale_and_lifetime); particleEmitter_emitN(pCtrl, 25); } } void func_80387E9C(s32 arg0) { static s32 D_8038D76C[3] = {0x32, 0xFF, 0x46}; - static struct40s D_8038D778 ={{{0.2f, 0.2f}, {3.3f, 3.3f}, {0.0f, 0.2f}, {0.6f, 0.7f}, 0.1f, 0.9f}, 4.0f, 4.0f}; - static struct42s D_8038D7A8 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D778 ={{{0.2f, 0.2f}, {3.3f, 3.3f}, {0.0f, 0.2f}, {0.6f, 0.7f}, 0.1f, 0.9f}, 4.0f, 4.0f}; + static ParticleSettingsVelocityPosition D_8038D7A8 = { {{0,0,0}, {0,0,0}}, {{0,0,0}, {0,0,0}} }; @@ -568,17 +568,17 @@ void func_80387E9C(s32 arg0) { particleEmitter_setAlpha(pCtrl, 0xC8); particleEmitter_setRGB(pCtrl, D_8038D76C); particleEmitter_setAngularVelocityRange(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D7A8); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D778.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D778.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } } void func_80387FC0(s32 arg0) { - static struct40s D_8038D7D8 = {{{0.4f, 0.4f}, {3.7f, 3.8f}, {0.0f, 0.03f}, {0.6f, 0.6f}, 0.1f, 0.8f}, 4.0f, 4.0f}; - static struct42s D_8038D808 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D7D8 = {{{0.4f, 0.4f}, {3.7f, 3.8f}, {0.0f, 0.03f}, {0.6f, 0.6f}, 0.1f, 0.8f}, 4.0f, 4.0f}; + static ParticleSettingsVelocityPosition D_8038D808 = { {{0,0,0}, {0,0,0}}, {{0,0,0}, {0,0,0}} }; @@ -595,18 +595,18 @@ void func_80387FC0(s32 arg0) { particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setAlpha(pCtrl, 0x64); particleEmitter_setAngularVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D808); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D7D8.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D7D8.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } } void func_803880C8(s32 arg0) { static s32 D_8038D838[3] = {0xFF, 0xFF, 0XFF}; - static struct40s D_8038D844 = {{{0.15f, 0.15f}, {0.4f, 0.4f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; - static struct42s D_8038D874 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D844 = {{{0.15f, 0.15f}, {0.4f, 0.4f}, {0.0f, 0.01f}, {4.0f, 4.5f}, 0.2f, 0.8f}, 4.0f, 1.0f}; + static ParticleSettingsVelocityPosition D_8038D874 = { {{-20.0f, 70.0f, -20.0f}, {20.0f, 100.0f, 20.0f}}, {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}} }; @@ -626,13 +626,13 @@ void func_803880C8(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 5, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D874); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D844.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D844.scale_and_lifetime); particleEmitter_emitN(pCtrl, 1); } void func_803881CC(s32 arg0) { - static struct40s D_8038D8A4 = {{{0.6f, 0.6f}, {3.0f, 3.4f}, {0.0f, 0.03f}, {1.0f, 1.3f}, 0.1f, 0.6f}, 4.0f, 4.0f}; - static struct42s D_8038D8D4 = { + static ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_8038D8A4 = {{{0.6f, 0.6f}, {3.0f, 3.4f}, {0.0f, 0.03f}, {1.0f, 1.3f}, 0.1f, 0.6f}, 4.0f, 4.0f}; + static ParticleSettingsVelocityPosition D_8038D8D4 = { {{ 0.0f, 0.0f, -200.0f}, { 0.0f, 0.0f, -370.0f}}, /* position*/ {{-40.0f, -40.0f, -40.0f}, {40.0f, 40.0f, 40.0f}} /* velocity*/ }; @@ -648,10 +648,10 @@ void func_803881CC(s32 arg0) { particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setAlpha(pCtrl, 0x50); particleEmitter_setAngularVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, 100.0f, 0.0f, 0.0f, 300.0f, 0.0f); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, 100.0f, 0.0f, 0.0f, 300.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D8D4); - particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D8A4.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D8A4.scale_and_lifetime); particleEmitter_emitN(pCtrl, 2); } } diff --git a/src/cutscenes/code_6730.c b/src/cutscenes/code_6730.c index 8002c806..b5959e81 100644 --- a/src/cutscenes/code_6730.c +++ b/src/cutscenes/code_6730.c @@ -19,7 +19,7 @@ extern ActorAnimationInfo D_8038E700[] ={ extern ActorInfo D_8038E718 = { 0x1F8, 0x1E8, 0x439, 1, D_8038E700, - func_8038CCA8, func_80326224, func_8038CBCC, + func_8038CCA8, actor_update_func_80326224, func_8038CBCC, 0, 0, 0.0f, 0 }; @@ -33,7 +33,7 @@ extern ParticleScaleAndLifetimeRanges D_8038E748 = { 0.05f, 0.9f }; -extern struct41s D_8038E770 ={ +extern ParticleSettingsVelocityAcceleration D_8038E770 ={ { {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f} }, { {0.0f, -200.0f, 0.0f}, {0.0f, -200.0f, 0.0f} } }; diff --git a/src/cutscenes/code_69F0.c b/src/cutscenes/code_69F0.c index 9eb9995a..65f69f57 100644 --- a/src/cutscenes/code_69F0.c +++ b/src/cutscenes/code_69F0.c @@ -27,7 +27,7 @@ ParticleScaleAndLifetimeRanges D_8038E7D0 = { 0.15f, 0.3f }; -struct42s D_8038E7F8 ={ +ParticleSettingsVelocityPosition D_8038E7F8 ={ { {-10.0f, -10.0f, -10.0f}, {10.0f, 10.0f, 10.0f} }, { {0.0f, 30.0f, 0.0f}, {0.0f, 30.0f, 0.0f} } }; @@ -42,7 +42,7 @@ ParticleScaleAndLifetimeRanges D_8038E834 = { 0.01f, 0.3f }; -struct42s D_8038E85C ={ +ParticleSettingsVelocityPosition D_8038E85C ={ { {-5.0f, -5.0f, -5.0f}, {5.0f, 5.0f, 5.0f} }, { {0.0f, 30.0f, 0.0f}, {0.0f, 30.0f, 0.0f} } }; @@ -56,7 +56,7 @@ void func_8038CDE0(ParticleEmitter *pCtrl){ particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E7F8); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E7D0); - func_802EFA78(pCtrl, 1); + particleEmitter_func_802EFA78(pCtrl, 1); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); } @@ -68,7 +68,7 @@ void func_8038CE98(ParticleEmitter *pCtrl){ particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E85C); particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E834); - func_802EFA78(pCtrl, 1); + particleEmitter_func_802EFA78(pCtrl, 1); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); } diff --git a/src/cutscenes/code_6C90.c b/src/cutscenes/code_6C90.c index 24044c9b..8ecee87a 100644 --- a/src/cutscenes/code_6C90.c +++ b/src/cutscenes/code_6C90.c @@ -19,7 +19,7 @@ ActorAnimationInfo D_8038E890[] ={ ActorInfo D_8038E8A8 = { 0x212, 0x342, 0x45F, 1, D_8038E890, - func_8038D218, func_80326224, func_8038D13C, + func_8038D218, actor_update_func_80326224, func_8038D13C, 3000, 0, 0.0f, 0 }; @@ -33,7 +33,7 @@ ParticleScaleAndLifetimeRanges D_8038E8D8 = { 0.05f, 0.9f }; -struct41s D_8038E900 = { +ParticleSettingsVelocityAcceleration D_8038E900 = { { {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, { {0.0f, -30.0f, 0.0f}, {0.0f, -30.0f, 0.0f}} }; diff --git a/src/fight/chbossjinjo.c b/src/fight/chbossjinjo.c index 511b0bee..82075fc8 100644 --- a/src/fight/chbossjinjo.c +++ b/src/fight/chbossjinjo.c @@ -5,18 +5,10 @@ #include #include "core2/particle.h" -extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32); -extern void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]); extern void func_80324CFC(f32, enum comusic_e, s32); -extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32); extern void func_80329904(ActorMarker*, s32, f32*); - -void chBossJinjo_update(Actor *this); -void chBossJinjo_func_8038D014(Actor *this); - -/* .data */ -ActorAnimationInfo chBossJinjoAnimations[] = { +ActorAnimationInfo chBossJinjoAnimationInfo[] = { {0, 0.0f}, {0x264, 1000000.0f}, {0x264, 2.26f}, @@ -25,159 +17,125 @@ ActorAnimationInfo chBossJinjoAnimations[] = { {0x262, 2.0f} }; -ActorInfo chBossJinjoOrange = { - MARKER_27B_BOSS_JINJO_ORANGE, ACTOR_3A5_BOSS_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, - 0x1, chBossJinjoAnimations, - chBossJinjo_update, chBossJinjo_func_8038D014, actor_draw, - 0, 0, 1.0f, 0 -}; +ActorInfo chBossJinjoOrange = { MARKER_27B_BOSS_JINJO_ORANGE, ACTOR_3A5_BOSS_JINJO_ORANGE, ASSET_3BC_MODEL_JINJO_ORANGE, 1, chBossJinjoAnimationInfo, chBossJinjo_update, chBossJinjo_update2, actor_draw, 0, 0, 1.0f, 0 }; +ActorInfo chBossJinjoGreen = { MARKER_27C_BOSS_JINJO_GREEN, ACTOR_3A6_BOSS_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, 1, chBossJinjoAnimationInfo, chBossJinjo_update, chBossJinjo_update2, actor_draw, 0, 0, 1.0f, 0 }; +ActorInfo chBossJinjoPink = { MARKER_27D_BOSS_JINJO_PINK, ACTOR_3A7_BOSS_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, 1, chBossJinjoAnimationInfo, chBossJinjo_update, chBossJinjo_update2, actor_draw, 0, 0, 1.0f, 0 }; +ActorInfo chBossJinjoYellow = { MARKER_27E_BOSS_JINJO_YELLOW, ACTOR_3A8_BOSS_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, 1, chBossJinjoAnimationInfo, chBossJinjo_update, chBossJinjo_update2, actor_draw, 0, 0, 1.0f, 0 }; -ActorInfo chBossJinjoGreen = { - MARKER_27C_BOSS_JINJO_GREEN, ACTOR_3A6_BOSS_JINJO_GREEN, ASSET_3C2_MODEL_JINJO_GREEN, - 0x1, chBossJinjoAnimations, - chBossJinjo_update, chBossJinjo_func_8038D014, actor_draw, - 0, 0, 1.0f, 0 -}; +ParticleSettingsVelocityAccelerationPosition chBossJinjoSpriteSettings1 = { { { -420.0f, 410.0f, -420.0f }, { 480.0f, 860.0f, 480.0f } }, { { 0.0f, -1200.0f, 0.0f }, { 0.0f, -1200.0f, 0.0f } }, { { 0.0f, -20.0f, 0.0f }, { 0.0f, 20.0f, 0.0f } } }; +ParticleSettingsVelocityPosition chBossJinjoSpriteSettings2 = { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }, { { -80.0f, -80.0f, -80.0f }, { 80.0f, 80.0f, 80.0f } } }; +f32 D_80391948[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; +f32 D_80391958[4] = { 0.33f, 0.33f, 0.33f, 1.0f }; +ParticleScaleAndLifetimeRanges sFightBlastParticleSettings = { { 0.1f, 0.1f }, { 10.0f, 10.0f }, { 0.0f, 0.01f }, { 0.8f, 0.8f }, 0.1f, 0.1f }; -ActorInfo chBossJinjoPink = { - MARKER_27D_BOSS_JINJO_PINK, ACTOR_3A7_BOSS_JINJO_PINK, ASSET_3C1_MODEL_JINJO_PINK, - 0x1, chBossJinjoAnimations, - chBossJinjo_update, chBossJinjo_func_8038D014, actor_draw, - 0, 0, 1.0f, 0 -}; - -ActorInfo chBossJinjoYellow = { - MARKER_27E_BOSS_JINJO_YELLOW, ACTOR_3A8_BOSS_JINJO_YELLOW, ASSET_3BB_MODEL_JINJO_YELLOW, - 0x1, chBossJinjoAnimations, - chBossJinjo_update, chBossJinjo_func_8038D014, actor_draw, - 0, 0, 1.0f, 0 -}; - -struct43s D_803918D0 = { - { {-420.0f, 410.0f, -420.0f}, {480.0f, 860.0f, 480.0f}}, - {{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}}, - {{0.0f, -20.0f, 0.0f}, {0.0f, 20.0f, 0.0f}} -}; - -struct42s D_80391918 = { - { {0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}}, - { {-80.0f, -80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}} -}; - -f32 D_80391948[4] = {1.0f, 1.0f, 1.0f, 1.0f}; - -f32 D_80391958[4] = {0.33f, 0.33f, 0.33f, 1.0f}; - -ParticleScaleAndLifetimeRanges D_80391968 = { - {0.1f, 0.1f}, {10.0f, 10.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.1f, 0.1f -}; - -/* .code */ -void fight_func_8038C2C0(f32 position[3], s32 count, enum asset_e id, f32 arg3){ - ParticleEmitter * temp_s0 = partEmitMgr_newEmitter(count); - f32 sp24; - - particleEmitter_setSprite(temp_s0, id); - particleEmitter_setStartingFrameRange(temp_s0, 1, 6); - particleEmitter_setPosition(temp_s0, position); - particleEmitter_setAngularVelocityRange(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); - particleEmitter_setStartingScaleRange(temp_s0, arg3*0.35, arg3*0.65); - particleEmitter_setFinalScaleRange(temp_s0, 0.0f, 0.0f); - func_802EF9F8(temp_s0, 0.5f); - func_802EFA18(temp_s0, 3); - particleEmitter_setSpawnIntervalRange(temp_s0, 0.0f, 0.01f); - particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 3.3f); - particleEmitter_setFade(temp_s0, 0.0f, 0.35f); - particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_803918D0); - particleEmitter_setDrawMode(temp_s0, 4); - particleEmitter_emitN(temp_s0, count); +void chbossjinjo_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id, f32 scale) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, sprite_id); + particleEmitter_setStartingFrameRange(pCtrl, 1, 6); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setStartingScaleRange(pCtrl, scale * 0.35, scale * 0.65); + particleEmitter_setFinalScaleRange(pCtrl, 0.0f, 0.0f); + particleEmitter_func_802EF9F8(pCtrl, 0.5f); + particleEmitter_func_802EFA18(pCtrl, 3); + particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.0f, 3.3f); + particleEmitter_setFade(pCtrl, 0.0f, 0.35f); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &chBossJinjoSpriteSettings1); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_emitN(pCtrl, count); } -void func_8038C424(f32 position[3], s32 count, enum asset_e id, f32 arg3){ - ParticleEmitter * temp_s0 = partEmitMgr_newEmitter(count); - f32 sp24; - - particleEmitter_setSprite(temp_s0, id); - particleEmitter_setStartingFrameRange(temp_s0, 0, 9); - particleEmitter_setParticleFramerateRange(temp_s0, 12.0f, 12.0f); - particleEmitter_setPosition(temp_s0, position); - particleEmitter_setPositionAndVelocityRanges(temp_s0, &D_80391918); - sp24 = arg3 * 5.0; - particleEmitter_setStartingScaleRange(temp_s0, sp24, sp24); - particleEmitter_setFinalScaleRange(temp_s0, sp24, sp24); - particleEmitter_setSpawnIntervalRange(temp_s0, 0.0f, 0.0f); - particleEmitter_setParticleLifeTimeRange(temp_s0, (arg3*0.5), (arg3*0.5)*1.5); - particleEmitter_setFade(temp_s0, 0.7f, 0.8f); - particleEmitter_setDrawMode(temp_s0, PART_EMIT_NO_DEPTH); - particleEmitter_emitN(temp_s0, count); +void chbossjinjo_createNonShrinkingSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id, f32 scale) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + f32 scale_adjusted = scale * 5.0; + particleEmitter_setSprite(pCtrl, sprite_id); + particleEmitter_setStartingFrameRange(pCtrl, 0, 9); + particleEmitter_setParticleFramerateRange(pCtrl, 12.0f, 12.0f); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setPositionAndVelocityRanges(pCtrl, &chBossJinjoSpriteSettings2); + particleEmitter_setStartingScaleRange(pCtrl, scale_adjusted, scale_adjusted); + particleEmitter_setFinalScaleRange(pCtrl, scale_adjusted, scale_adjusted); + particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.0f); + particleEmitter_setParticleLifeTimeRange(pCtrl, scale * 0.5, scale * 0.5 * 1.5); + particleEmitter_setFade(pCtrl, 0.7f, 0.8f); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); + particleEmitter_emitN(pCtrl, count); } -void fight_func_8038C588(void){ - func_80386654(1.0f, &D_80391958, &D_80391948); +void chbossjinjo_func_8038C588(void) { + chfinalboss_func_80386654(1.0f, D_80391958, D_80391948); } -void fight_func_8038C5BC(void){ - func_80386654(1.0f, &D_80391948, &D_80391958); +void chbossjinjo_func_8038C5BC(void) { + chfinalboss_func_80386654(1.0f, D_80391948, D_80391958); } -void chbossjinjo_spawnParticles(Actor *this, enum asset_e arg1, enum asset_e arg2, f32 arg3){ - f32 sp1C[3]; - fight_func_8038C0DC(&sp1C); - fight_func_8038C2C0(this->position, 0x20, arg1, arg3); - func_8038C424(this->position, 4, arg2, arg3); - timedFunc_set_0(0.0f, fight_func_8038C588); - timedFunc_set_0(0.3f, fight_func_8038C5BC); +void chbossjinjo_spawnParticlesAtFinalBoss(Actor *this, enum asset_e sprite1_id, enum asset_e sprite2_id, f32 scale) { + f32 position_finalboss[3]; + + chfinalboss_getPosition(position_finalboss); + chbossjinjo_createSpriteParticles(this->position, 32, sprite1_id, scale); + chbossjinjo_createNonShrinkingSpriteParticles(this->position, 4, sprite2_id, scale); + timedFunc_set_0(0.0f, chbossjinjo_func_8038C588); + timedFunc_set_0(0.3f, chbossjinjo_func_8038C5BC); } -void chbossjinjo_spawnAttackParticles(Actor *this){ +void chbossjinjo_spawnAttackParticles(Actor *this) { s32 sparkle_sprite_id; s32 smoke_sprite_id; - switch(this->marker->id){ + + switch (this->marker->id) { default: sparkle_sprite_id = ASSET_718_SPRITE_SPARKLE_WHITE_2; smoke_sprite_id = ASSET_6C2_SPRITE_SMOKE_WHITE; break; + case MARKER_27B_BOSS_JINJO_ORANGE: sparkle_sprite_id = ASSET_71B_SPRITE_SPARKLE_ORANGE_2; smoke_sprite_id = ASSET_6C5_SPRITE_SMOKE_ORANGE; break; + case MARKER_27C_BOSS_JINJO_GREEN: sparkle_sprite_id = ASSET_719_SPRITE_SPARKLE_GREEN_2; smoke_sprite_id = ASSET_6C3_SPRITE_SMOKE_GREEN; break; + case MARKER_27D_BOSS_JINJO_PINK: sparkle_sprite_id = ASSET_71A_SPRITE_SPARKLE_PINK_2; smoke_sprite_id = ASSET_6C6_SPRITE_SMOKE_PINK; break; + case MARKER_27E_BOSS_JINJO_YELLOW: sparkle_sprite_id = ASSET_717_SPRITE_SPARKLE_YELLOW_2; smoke_sprite_id = ASSET_6C4_SPRITE_SMOKE_YELLOW; break; } - chbossjinjo_spawnParticles(this, sparkle_sprite_id, smoke_sprite_id, 1.0f); + + chbossjinjo_spawnParticlesAtFinalBoss(this, sparkle_sprite_id, smoke_sprite_id, 1.0f); } +void chbossjinjo_rotateYaw(Actor *this, s16 angle) { + f32 old_yaw = this->yaw; -void fight_func_8038C6FC(Actor *this, s16 arg1){ - f32 temp_f2 = this->yaw; - f32 tick = time_getDelta(); - + old_yaw -= (time_getDelta() * angle) / 45.0; - temp_f2 -= (tick*arg1)/45.0; - if(360.0f <= temp_f2){ - temp_f2 -= 360.0f; + if (360.0f <= old_yaw) { + old_yaw -= 360.0f; } - else{ - if(temp_f2 < 0.0f) - temp_f2 += 360.0f; + else { + if (old_yaw < 0.0f) + old_yaw += 360.0f; } - this->yaw = temp_f2; + + this->yaw = old_yaw; } -void func_8038C79C(Actor *this){ +void chbossjinjo_func_8038C79C(Actor *this) { int i; - for(i = 0; i < 4; i++){ - if(randf() < 0.3){ + + for (i = 0; i < 4; i++) { + if (randf() < 0.3) { func_8033E73C(this->marker, i + 5, func_80329904); func_8033E3F0(8, this->marker->unk14_21); } @@ -185,227 +143,246 @@ void func_8038C79C(Actor *this){ } void chBossJinjo_update(Actor *this){ - f32 sp74 = time_getDelta(); + f32 time_delta = time_getDelta(); f32 sp68[3]; - f32 sp5C[3]; - f32 sp50[3]; - f32 sp4C; - int sp48; - s32 sp44; - s16 sp42; - s16 sp40; + f32 velocity_player[3]; + f32 position_finalboss[3]; + f32 yaw_delta; + bool inState3; + s32 pad; + s16 new_yaw; + s16 old_yaw; - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; func_80324CFC(0.0f, SFX_JINJO_STATUE_POWERUP, 32000); func_80324D2C(this->lifetime_value + 2.26, SFX_JINJO_STATUE_POWERUP); - }//L8038C8A4 + } + func_8028E964(sp68); - func_80257F18(this->position, sp68, &sp4C); - sp40 = (this->yaw * 182.04444); - sp42 = sp40 - (s16)(sp4C*182.04444); - switch(this->state){ - case 1: //8038C92C + func_80257F18(this->position, sp68, &yaw_delta); + old_yaw = (this->yaw * 182.04444); + new_yaw = old_yaw - (s16) (yaw_delta * 182.04444); + + switch (this->state) { + case BOSSJINJO_STATE_1_WAKE_UP: animctrl_setAnimTimer(this->animctrl, 0.0f); - if(this->lifetime_value < 0.0) - subaddie_set_state_with_direction(this, 2, 0.001f, 1); - else//L8038C974 - this->lifetime_value -= sp74; + + if (this->lifetime_value < 0.0) { + subaddie_set_state_with_direction(this, BOSSJINJO_STATE_2_YAWN, 0.001f, 1); + } else { + this->lifetime_value -= time_delta; + } break; - case 2: // 8038C980 - if(actor_animationIsAt(this, 0.44f)) + case BOSSJINJO_STATE_2_YAWN: + if (actor_animationIsAt(this, 0.44f)) { func_8030E878(SFX_105_EYRIE_YAWN, randf2(0.95f, 1.05f), 32000, this->position, 1000.0f, 5000.0f); + } - if(actor_animationIsAt(this, 0.999f)){ - subaddie_set_state_with_direction(this, 3, 0.001f, 1); + if (actor_animationIsAt(this, 0.999f)) { + subaddie_set_state_with_direction(this, BOSSJINJO_STATE_3_SPIN_UP, 0.001f, 1); func_8030E878(0x3ee, randf2(0.95f, 1.05f), 32000, this->position, 5000.0f, 12000.0f); } - break; - case 3: // 8038CA48 - case 4: // 8038CA48 - sp48 = (this->state == 3); - if(!sp48 || 0.1 < animctrl_getAnimTimer(this->animctrl)){//L8038CA7C - player_getVelocity(&sp5C); - sp5C[0] *= sp74 * 6.0f; - sp5C[1] *= sp74 * 6.0f; - sp5C[2] *= sp74 * 6.0f; + break; - sp5C[0] = sp5C[0] + sp68[0]; - sp5C[1] = sp5C[1] + sp68[1]; - sp5C[2] = sp5C[2] + sp68[2]; + case BOSSJINJO_STATE_3_SPIN_UP: + case BOSSJINJO_STATE_4_ATTACK: + inState3 = (this->state == BOSSJINJO_STATE_3_SPIN_UP); - sp5C[0] -= this->position_x; - sp5C[1] -= this->position_y; - sp5C[2] -= this->position_z; + if (!inState3 || 0.1 < animctrl_getAnimTimer(this->animctrl)) { + player_getVelocity(&velocity_player); - sp5C[0] *= sp74*3.0f; - sp5C[1] *= sp74*3.0f; - sp5C[2] *= sp74*3.0f; + velocity_player[0] *= time_delta * 6.0f; + velocity_player[1] *= time_delta * 6.0f; + velocity_player[2] *= time_delta * 6.0f; - this->position_x = sp5C[0] + this->position_x; - this->position_y = sp5C[1] + this->position_y; - this->position_z = sp5C[2] + this->position_z; - if(sp48 || animctrl_getAnimTimer(this->animctrl) < 0.8) - func_8038C79C(this); - }//L8038CB9C - if(sp48){ - if(animctrl_getAnimTimer(this->animctrl) < 0.2){ - fight_func_8038C6FC(this, sp42); + velocity_player[0] = velocity_player[0] + sp68[0]; + velocity_player[1] = velocity_player[1] + sp68[1]; + velocity_player[2] = velocity_player[2] + sp68[2]; + + velocity_player[0] -= this->position_x; + velocity_player[1] -= this->position_y; + velocity_player[2] -= this->position_z; + + velocity_player[0] *= time_delta * 3.0f; + velocity_player[1] *= time_delta * 3.0f; + velocity_player[2] *= time_delta * 3.0f; + + this->position_x = velocity_player[0] + this->position_x; + this->position_y = velocity_player[1] + this->position_y; + this->position_z = velocity_player[2] + this->position_z; + + if (inState3 || animctrl_getAnimTimer(this->animctrl) < 0.8) { + chbossjinjo_func_8038C79C(this); + } + } + + if (inState3) { + if(animctrl_getAnimTimer(this->animctrl) < 0.2) { + chbossjinjo_rotateYaw(this, new_yaw); } - if(actor_animationIsAt(this, 0.1f)){ + if (actor_animationIsAt(this, 0.1f)) { this->unk44_31 = func_8030ED2C(0x18, 3); func_8030E2C4(this->unk44_31); func_8025A6EC(COMUSIC_43_ENTER_LEVEL_GLITTER, 0x7fff); FUNC_8030E8B4(SFX_C7_SHWOOP, 0.8f, 32750, this->position, 300, 2000); - }//L8038CC2C + } - if(actor_animationIsAt(this, 0.434f)){ + if (actor_animationIsAt(this, 0.434f)) { FUNC_8030E8B4(SFX_C7_SHWOOP, 0.9f, 32750, this->position, 300, 2000); - }//L8038CC58 + } - if(actor_animationIsAt(this, 0.811f)){ + if (actor_animationIsAt(this, 0.811f)) { FUNC_8030E8B4(SFX_C7_SHWOOP, 1.0f, 32750, this->position, 300, 2000); } - } - else{//L8038CC8C - if(actor_animationIsAt(this, 0.214f)){ + } else { + if (actor_animationIsAt(this, 0.214f)) { FUNC_8030E8B4(SFX_C7_SHWOOP, 1.1f, 32750, this->position, 300, 2000); - }//L8038CCB0 + } - if(actor_animationIsAt(this, 0.55f)){ + if (actor_animationIsAt(this, 0.55f)) { FUNC_8030E8B4(SFX_53_BANJO_HUIII, 1.5f, 32750, this->position, 300, 2000); - }//L8038CCDC + } - if(actor_animationIsAt(this, 0.85f)){ - if(func_8030E3FC(this->unk44_31)) + if (actor_animationIsAt(this, 0.85f)) { + if(func_8030E3FC(this->unk44_31)) { func_8030E394(this->unk44_31); + } + sfxsource_playHighPriority(SFX_19_BANJO_LANDING_08); func_8025A7DC(COMUSIC_43_ENTER_LEVEL_GLITTER); - }//L8038CD20 - } - - if(sp48){ - if(actor_animationIsAt(this, 0.96f)){ - subaddie_set_state_with_direction(this, 4, 0.0f, -1); - actor_playAnimationOnce(this); } } - else{//L8038CD68 - if(actor_animationIsAt(this, 0.9f)){ + + if (inState3) { + if (actor_animationIsAt(this, 0.96f)) { + subaddie_set_state_with_direction(this, BOSSJINJO_STATE_4_ATTACK, 0.0f, -1); + actor_playAnimationOnce(this); + } + } else { + if (actor_animationIsAt(this, 0.9f)) { animctrl_setSmoothTransition(this->animctrl, FALSE); - subaddie_set_state_with_direction(this, 5, 0.001f, 1); + subaddie_set_state_with_direction(this, BOSSJINJO_STATE_5_HIT, 0.001f, 1); FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000); func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f); func_8034A174(this->marker->unk44, 0x1f, this->position); - this->velocity_x = (this->position_x - this->unk1C[0])/ sp74; - this->velocity_y = (this->position_y - this->unk1C[1])/ sp74; - this->velocity_z = (this->position_z - this->unk1C[2])/ sp74; - } - else{//L8038CE50 + this->velocity_x = (this->position_x - this->unk1C[0])/ time_delta; + this->velocity_y = (this->position_y - this->unk1C[1])/ time_delta; + this->velocity_z = (this->position_z - this->unk1C[2])/ time_delta; + } else { func_8034A174(this->marker->unk44, 0x1f, this->unk1C); } } break; - case 5: // 8038CE68 - fight_func_8038C0DC(&sp50); - sp50[1] += 100.0f; - func_80387470(this, sp50, 1200.0f, 3840.0f, 200.0f, 2500.0f, 70.0f); - func_8038C79C(this); + + case BOSSJINJO_STATE_5_HIT: + chfinalboss_getPosition(position_finalboss); + position_finalboss[1] += 100.0f; + chfinalboss_func_80387470(this, position_finalboss, 1200.0f, 3840.0f, 200.0f, 2500.0f, 70.0f); + chbossjinjo_func_8038C79C(this); break; - }//L8038CEC8 + } } -void func_8038CED8(f32 arg0[3], enum asset_e model_id, f32 arg2, f32 arg3){ - ParticleEmitter *s0 = partEmitMgr_newEmitter(1); +void fight_createBlastParticle(f32 position[3], enum asset_e model_id, f32 scale_ratio, f32 fade_in) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); f32 viewport[3]; - f32 sp34[3]; + f32 velocity[3]; - viewport_getPosition_vec3f(&viewport); - - sp34[0] = viewport[0] - arg0[0]; - sp34[1] = viewport[1] - arg0[1]; - sp34[2] = viewport[2] - arg0[2]; - ml_vec3f_set_length(sp34, 20.0f); + viewport_getPosition_vec3f(viewport); + velocity[0] = viewport[0] - position[0]; + velocity[1] = viewport[1] - position[1]; + velocity[2] = viewport[2] - position[2]; + ml_vec3f_set_length(velocity, 20.0f); - particleEmitter_setModel(s0, model_id); - particleEmitter_setPosition(s0, arg0); - particleEmitter_setParticleVelocityRange(s0, sp34[0], sp34[1], sp34[2], sp34[0], sp34[1], sp34[2]); - D_80391968.unk20 = arg3; - D_80391968.unk0[0] *= arg2; - D_80391968.unk24 = arg3; - D_80391968.unk0[1] *= arg2; - D_80391968.unk8[0] *= arg2; - D_80391968.unk8[1] *= arg2; - particleEmitter_setScaleAndLifetimeRanges(s0, &D_80391968); - particleEmitter_setDrawMode(s0, PART_EMIT_NO_DEPTH); - func_802EFA78(s0, 1); - particleEmitter_emitN(s0, 1); + particleEmitter_setModel(pCtrl, model_id); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setParticleVelocityRange(pCtrl, velocity[0], velocity[1], velocity[2], velocity[0], velocity[1], velocity[2]); + + sFightBlastParticleSettings.unk20 = fade_in; + sFightBlastParticleSettings.unk0[0] *= scale_ratio; + sFightBlastParticleSettings.unk24 = fade_in; + sFightBlastParticleSettings.unk0[1] *= scale_ratio; + sFightBlastParticleSettings.unk8[0] *= scale_ratio; + sFightBlastParticleSettings.unk8[1] *= scale_ratio; + + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &sFightBlastParticleSettings); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_emitN(pCtrl, 1); } -void chBossJinjo_func_8038D014(Actor *this){ - s32 temp_a1; +void chBossJinjo_update2(Actor *this) { + enum asset_e blast_asset; - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; this->marker->propPtr->unk8_3 = 0; actor_collisionOff(this); this->alpha_124_19 = 0x7d; actor_setOpacity(this, this->alpha_124_19); this->scale = (f64)this->scale + this->scale; - subaddie_set_state_with_direction(this, 5, 0.001f, 1); + subaddie_set_state_with_direction(this, BOSSJINJO_STATE_5_HIT, 0.001f, 1); func_80343DEC(this); - }//L8038D0B8 + } - if(!func_8038C298()){ + if (!chfinalboss_func_8038C298()) { this->unk58_0 = 0; - }else{//L8038D0DC + } else { this->unk58_0 = 1; func_80343DEC(this); - if(this->state == 5){ - if(this->marker->unk14_21) - func_8038C79C(this); - if(0.98 < this->unk48){ + if (this->state == BOSSJINJO_STATE_5_HIT) { + if(this->marker->unk14_21) { + chbossjinjo_func_8038C79C(this); + } + + if (0.98 < this->unk48) { func_8030E6A4(0x3ee, randf2(1.0f, 1.15f), 32000); timed_playSfx(0.1f, 0x416, 0.6f, 32000); marker_despawn(this->marker); - switch (this->marker->id) - { - case MARKER_27B_BOSS_JINJO_ORANGE: - temp_a1 = 0x557; - break; - case MARKER_27C_BOSS_JINJO_GREEN: - temp_a1 = 0x558; - break; - case MARKER_27D_BOSS_JINJO_PINK: - temp_a1 = 0x559; - break; - case MARKER_27E_BOSS_JINJO_YELLOW: - temp_a1 = 0x556; - break; - default: - temp_a1 = 0x556; - break; + + switch (this->marker->id) { + case MARKER_27B_BOSS_JINJO_ORANGE: + blast_asset = ASSET_557_MODEL_ORANGE_JINJO_BLAST; + break; + + case MARKER_27C_BOSS_JINJO_GREEN: + blast_asset = ASSET_558_MODEL_GREEN_JINJO_BLAST; + break; + + case MARKER_27D_BOSS_JINJO_PINK: + blast_asset = ASSET_559_MODEL_PINK_JINJO_BLAST; + break; + + case MARKER_27E_BOSS_JINJO_YELLOW: + blast_asset = ASSET_556_MODEL_YELLOW_JINJO_BLAST; + break; + + default: + blast_asset = ASSET_556_MODEL_YELLOW_JINJO_BLAST; + break; } - func_8038CED8(this->position, temp_a1, 1.0f, 0.1f); + + fight_createBlastParticle(this->position, blast_asset, 1.0f, 0.1f); func_802BB3DC(0, 12.0f, 0.4f); } } - }//L8038D200 + } } +void chbossjinjo_attack(ActorMarker *marker) { + Actor *actor_bossjinjo = marker_getActor(marker); -void chbossjinjo_attack(ActorMarker *marker){ - Actor *actor = marker_getActor(marker); - chbossjinjo_spawnAttackParticles(actor); - FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor->position, 1000, 6500); - marker_despawn(actor->marker); + chbossjinjo_spawnAttackParticles(actor_bossjinjo); + FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor_bossjinjo->position, 1000, 6500); + marker_despawn(actor_bossjinjo->marker); } -f32 chbossjinjo_8038D268(void){ +f32 chbossjinjo_getWakeUpTime(void) { return 2.26f; } diff --git a/src/fight/chbossjinjobase.c b/src/fight/chbossjinjobase.c index cb435728..d29096b1 100644 --- a/src/fight/chbossjinjobase.c +++ b/src/fight/chbossjinjobase.c @@ -5,113 +5,86 @@ typedef struct { u8 sfxsourceIdx; -}ActorLocal_BossJinjoBase; +} ActorLocal_BossJinjoBase; -enum chBossJinjoBase_states { - CHBOSSJINJOBASE_STATE_1_RAISE = 1, - CHBOSSJINJOBASE_STATE_2_DEFAULT = 2, - CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO = 3 -}; +ActorInfo chBossJinjoBase = { MARKER_27A_JINJO_STATUE_BASE, ACTOR_3A2_JINJO_STATUE_BASE, ASSET_543_MODEL_JINJO_STATUE_BASE, 1, NULL, chBossJinjoBase_update, actor_update_func_80326224, actor_draw, 0, 2048, 0.0f, 0 }; -void chBossJinjoBase_update(Actor *this); +s32 chBossJinjoBase_SmokeColor[3] = { 200, 200, 160 }; +ParticleScaleAndLifetimeRanges chBossJinjoBase_SmokeScaleAndLifetimeSettings = { {1.0f, 1.0f}, {1.7f, 2.7f}, {0.0f, 0.05f}, {2.6f, 3.4f}, 0.0f, 0.1f }; -/* .data */ -ActorInfo chBossJinjoBase = { - MARKER_27A_JINJO_STATUE_BASE, ACTOR_3A2_JINJO_STATUE_BASE, ASSET_543_MODEL_JINJO_STATUE_BASE, - 0x1, NULL, - chBossJinjoBase_update, func_80326224, actor_draw, - 0, 0x800, 0.0f, 0 -}; +void chbossjinjobase_spawnStoneJinjo(ActorMarker *marker) { + Actor *actor_bossjinjobase = marker_getActor(marker); + Actor *childactor_stonejinjo = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &actor_bossjinjobase); -s32 chBossJinjoBase_smokeColor[3] = {0xC8, 0xC8, 0xA0}; - -ParticleScaleAndLifetimeRanges chBossJinjoBase_smokeSettings = { - {1.0f, 1.0f}, - {1.7f, 2.7f}, - {0.0f, 0.05f}, - {2.6f, 3.4f}, - 0.0f, 0.1f -}; - -/* .code */ -void chbossjinjobase_spawnStoneJinjo(ActorMarker *arg0) { - Actor *sp1C = marker_getActor(arg0); - Actor *temp_v0 = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &sp1C); - - temp_v0->unkF4_8 = sp1C->unkF4_8; - temp_v0->position_y = temp_v0->position_y + 172.0f; - sp1C->unk100 = temp_v0->marker; + childactor_stonejinjo->unkF4_8 = actor_bossjinjobase->unkF4_8; + childactor_stonejinjo->position_y = childactor_stonejinjo->position_y + 172.0f; + actor_bossjinjobase->unk100 = childactor_stonejinjo->marker; } -void chBossJinjoBase_emitSmoke(f32 position[3], s32 count) { - ParticleEmitter *p = partEmitMgr_newEmitter(count); - - particleEmitter_setSprite(p, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setRGB(p, chBossJinjoBase_smokeColor); - particleEmitter_setStartingFrameRange(p, 0, 7); - particleEmitter_setPosition(p, position); - particleEmitter_setParticleSpawnPositionRange(p, -90.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); - particleEmitter_setParticleVelocityRange(p, -170.0f, 0.0f, -170.0f, 170.0f, 100.0f, 170.0f); - particleEmitter_setScaleAndLifetimeRanges(p, &chBossJinjoBase_smokeSettings); - particleEmitter_emitN(p, count); +void chBossJinjoBase_createSmokeParticles(f32 position[3], s32 count) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); + particleEmitter_setRGB(pCtrl, chBossJinjoBase_SmokeColor); + particleEmitter_setStartingFrameRange(pCtrl, 0, 7); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setSpawnPositionRange(pCtrl, -90.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); + particleEmitter_setParticleVelocityRange(pCtrl, -170.0f, 0.0f, -170.0f, 170.0f, 100.0f, 170.0f); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &chBossJinjoBase_SmokeScaleAndLifetimeSettings); + particleEmitter_emitN(pCtrl, count); } -void func_8038D3DC(Actor* this, s32 arg1, f32 arg2, f32 arg3, f32 arg4){ +void chBossJinjoBase_func_8038D3DC(Actor *this, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { s32 tmp = func_8034C2C4(this->marker, arg1); - if(tmp){ + if (tmp) { func_8034DE60(tmp, arg2, arg3, arg4, 1); } } void chBossJinjoBase_getHitByEgg(ActorMarker *this, ActorMarker *other) { - Actor *actor_base; - Actor *actor_other; + Actor *actor_bossjinjobase = marker_getActor(this); - actor_base = marker_getActor(this); - - if (actor_base->state != CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO) { + if (actor_bossjinjobase->state != CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO) { comusic_playTrack(COMUSIC_2B_DING_B); - actor_base->unk38_31++; // hit count + actor_bossjinjobase->unk38_31++; - if (actor_base->unk38_31 >= 3) { // spawn Jjnjonator - subaddie_set_state(actor_base, CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO); - chstonejinjo_breakOpen(actor_base->unk100); - func_8038D3DC(actor_base, 0x19A, -100.0f, 0.0f, 1.2f); - func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, actor_base->position, 1000.0f, 2000.0f); + if (actor_bossjinjobase->unk38_31 >= 3) { + subaddie_set_state(actor_bossjinjobase, CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO); + chstonejinjo_breakOpen(actor_bossjinjobase->unk100); + chBossJinjoBase_func_8038D3DC(actor_bossjinjobase, 0x19A, -100.0f, 0.0f, 1.2f); + func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, actor_bossjinjobase->position, 1000.0f, 2000.0f); } } } -void fight_func_8038D510(Actor *arg0) { - ActorLocal_BossJinjoBase *sp18 = (ActorLocal_BossJinjoBase *)&arg0->local; +void chBossJinjoBase_free(Actor *this) { + ActorLocal_BossJinjoBase *local = (ActorLocal_BossJinjoBase *) &this->local; - if ((u8)arg0->unk44_31 != 0) { - func_8030DA44(arg0->unk44_31); - arg0->unk44_31 = 0; + if ((u8)this->unk44_31 != 0) { + func_8030DA44(this->unk44_31); + this->unk44_31 = 0; } - if (sp18->sfxsourceIdx != 0) { - func_8030DA44(sp18->sfxsourceIdx); - sp18->sfxsourceIdx = 0; + if (local->sfxsourceIdx != 0) { + func_8030DA44(local->sfxsourceIdx); + local->sfxsourceIdx = 0; } } void chBossJinjoBase_update(Actor *this) { - ActorLocal_BossJinjoBase *local = (ActorLocal_BossJinjoBase *)&this->local; - + ActorLocal_BossJinjoBase *local = (ActorLocal_BossJinjoBase *) &this->local; f32 delta_time = time_getDelta(); - u32 shake_noise = globalTimer_getTime() & 0xF; - Actor *actor_stone_jinjo; //sp40 + u32 rumbling = globalTimer_getTime() & 0xF; + Actor *actor_stonejinjo; f32 y_delta; f32 position_delta[3]; this->unkF4_29 = 0; marker_loadModelBin(this->marker); - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; marker_setCollisionScripts(this->marker, NULL, chBossJinjoBase_getHitByEgg, NULL); - marker_setFreeMethod(this->marker, fight_func_8038D510); + marker_setFreeMethod(this->marker, chBossJinjoBase_free); this->marker->propPtr->unk8_3 = 1; actor_collisionOn(this); this->unk38_31 = 0; @@ -120,29 +93,29 @@ void chBossJinjoBase_update(Actor *this) { func_8030DD14(this->unk44_31, 2); sfxsource_playSfxAtVolume(this->unk44_31, 1.4f); sfxsource_setSampleRate(this->unk44_31, 32000); - local->sfxsourceIdx = sfxsource_createSfxsourceAndReturnIndex(); sfxsource_setSfxId(local->sfxsourceIdx, SFX_405_UNKNOWN); func_8030DD14(local->sfxsourceIdx, 2); sfxsource_playSfxAtVolume(local->sfxsourceIdx, 0.7f); sfxsource_setSampleRate(local->sfxsourceIdx, 12000); FUNC_8030E624(SFX_3F6_RUBBING, 0.6f, 20000); - func_8038D3DC(this, 0x19a, 0.0f, -200.0f, 0.0f); + chBossJinjoBase_func_8038D3DC(this, 0x19a, 0.0f, -200.0f, 0.0f); TUPLE_COPY(this->unk1C, this->position); this->position_y = -400.0f; - if(0.0f != this->lifetime_value) - this->velocity_y = 400.0f/this->lifetime_value; + + if (0.0f != this->lifetime_value) + this->velocity_y = 400.0f / this->lifetime_value; else this->velocity_y = 100.0f; func_802BB3DC(0, 8.0f, 0.92f); - __spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, 0x3ad, *(s32*)&this->unk1C[0], *(s32*)&this->unk1C[1], *(s32*)&this->unk1C[2]); - chBossJinjoBase_emitSmoke(this->unk1C, 0x10); + __spawnQueue_add_4((GenFunction_4)spawnQueue_actor_f32, ACTOR_3AD_JINJONATOR_STATUE_BASE_ACTIVATOR, *(s32*)&this->unk1C[0], *(s32*)&this->unk1C[1], *(s32*)&this->unk1C[2]); + chBossJinjoBase_createSmokeParticles(this->unk1C, 0x10); SPAWNQUEUE_ADD_1(chbossjinjobase_spawnStoneJinjo, this->marker); } - else{ + else { if(this->state == CHBOSSJINJOBASE_STATE_1_RAISE) { - actor_stone_jinjo = marker_getActor(this->unk100); + actor_stonejinjo = marker_getActor(this->unk100); y_delta = this->velocity_y * delta_time; if(this->position_y + y_delta < this->unk1C[1]) { @@ -151,9 +124,9 @@ void chBossJinjoBase_update(Actor *this) { func_8030E2C4(local->sfxsourceIdx); } - position_delta[0] = (shake_noise & 1) ? 3.0f : -3.0f; + position_delta[0] = (rumbling & 1) ? 3.0f : -3.0f; position_delta[1] = y_delta; - position_delta[2] = (shake_noise & 2) ? 3.0f : -3.0f; + position_delta[2] = (rumbling & 2) ? 3.0f : -3.0f; this->position_x = this->unk1C[0]; this->position_z = this->unk1C[2]; @@ -161,11 +134,11 @@ void chBossJinjoBase_update(Actor *this) { this->position_y = position_delta[1] + this->position_y; this->position_z = position_delta[2] + this->position_z; - actor_stone_jinjo->position_x = this->unk1C[0]; - actor_stone_jinjo->position_z = this->unk1C[2]; - actor_stone_jinjo->position_x = position_delta[0] + actor_stone_jinjo->position_x; - actor_stone_jinjo->position_y = position_delta[1] + actor_stone_jinjo->position_y; - actor_stone_jinjo->position_z = position_delta[2] + actor_stone_jinjo->position_z; + actor_stonejinjo->position_x = this->unk1C[0]; + actor_stonejinjo->position_z = this->unk1C[2]; + actor_stonejinjo->position_x = position_delta[0] + actor_stonejinjo->position_x; + actor_stonejinjo->position_y = position_delta[1] + actor_stonejinjo->position_y; + actor_stonejinjo->position_z = position_delta[2] + actor_stonejinjo->position_z; } else { subaddie_set_state(this, CHBOSSJINJOBASE_STATE_2_DEFAULT); @@ -174,9 +147,9 @@ void chBossJinjoBase_update(Actor *this) { func_8030DA44(local->sfxsourceIdx); local->sfxsourceIdx = 0; TUPLE_COPY(this->position, this->unk1C); - TUPLE_COPY(actor_stone_jinjo->position, this->unk1C); - actor_stone_jinjo->position_y += 172.0f; + TUPLE_COPY(actor_stonejinjo->position, this->unk1C); + actor_stonejinjo->position_y += 172.0f; } } - }//L8038D954 + } } diff --git a/src/fight/chbossshadow.c b/src/fight/chbossshadow.c index 6cc6b843..74915344 100644 --- a/src/fight/chbossshadow.c +++ b/src/fight/chbossshadow.c @@ -3,25 +3,21 @@ #include "variables.h" #include "fight.h" -ActorInfo chBossShadow = { - MARKER_288_GRUNTY_SHADOW, ACTOR_3AF_GRUNTY_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW, 0x1, NULL, - chBossShadow_update, func_80326224, chBossShadow_draw, - 0, 0, 0.0f, 0 -}; +ActorInfo chBossShadow = { MARKER_288_GRUNTY_SHADOW, ACTOR_3AF_GRUNTY_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW, 1, NULL, chBossShadow_update, actor_update_func_80326224, chBossShadow_draw, 0, 0, 0.0f, 0 }; -Actor *chBossShadow_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **vptr) { +Actor *chBossShadow_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { f32 rotation[3]; f32 scale; - Actor *actor; + Actor *actor_bossshadow; // unk1C[0] of ACTOR_3AF_GRUNTY_SHADOW is set in chfinalboss_update to the distance between Gruntilda and the floor triangle below her - actor = marker_getActorAndRotation(this, rotation); - scale = actor->scale * ml_map_f(actor->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f); + actor_bossshadow = marker_getActorAndRotation(marker, rotation); + scale = actor_bossshadow->scale * ml_map_f(actor_bossshadow->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f); modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE); - modelRender_draw(gdl, mptr, actor->position, rotation, scale, NULL, marker_loadModelBin(this)); + modelRender_draw(gfx, mtx, actor_bossshadow->position, rotation, scale, NULL, marker_loadModelBin(marker)); - return actor; + return actor_bossshadow; } void chBossShadow_update(Actor *this) { diff --git a/src/fight/chfinalboss.c b/src/fight/chfinalboss.c index b1f4b6cb..137434fc 100644 --- a/src/fight/chfinalboss.c +++ b/src/fight/chfinalboss.c @@ -4,20 +4,12 @@ #include "fight.h" extern f32 func_8025715C(f32, f32); -extern void func_8025727C(f32, f32, f32, f32, f32, f32, f32*, f32*); extern void func_8028F4B8(f32[3], f32, f32); extern void func_80320ED8(ActorMarker *, f32, s32); - -void func_80387110(ActorMarker *, f32[3], f32, s32); -void func_8038856C(Actor *actor, f32 *arg1); -void chfinalboss_update(Actor *this); -void bundle_setYaw(f32); s32 func_803297C8(Actor*, f32*); Actor *func_8032813C(); -void fight_func_803900DC(ActorMarker *, f32 *, f32, f32); extern Actor* func_80329958(ActorMarker *this, s32 arg1); extern void func_803298D8(); -void timed_exitStaticCamera(f32); extern void func_80324CFC(f32, enum comusic_e, s32); extern void sfxsource_setSampleRate(u8, s32); extern void func_80328FF0(Actor *arg0, f32 arg1); @@ -25,24 +17,16 @@ extern f32 func_80257204(f32, f32, f32, f32); extern void func_8028F85C(f32[3]); extern void player_setIdealRotation(f32[3]); extern f32 func_8033229C(ActorMarker *); +void func_8034DF30(Struct6Ds *, f32[3], f32[3], f32); -Actor *chfinalboss_draw(ActorMarker *arg0, Gfx **arg1, Mtx **arg2, Vtx **arg3); - -void chfinalboss_phase1_setState(Actor *arg0, s32 arg1); -void chfinalboss_phase5_setState(Actor *, s32); -void func_8038B780(); -void chbossjinjo_spawnParticles(Actor *, s32, s32, f32); -void chjinjonator_attack(ActorMarker *, s32 arg1, s32 arg2); -void chjinjonator_finalAttack(ActorMarker *); - -typedef struct ch_fight_180_s{ +typedef struct chfinalboss_s { u8 phase; u8 hits; u8 unk2; u8 unk3; u8 unk4; u8 unk5; - u8 unk6; + u8 player_hit_in_phase3; u8 mirror_phase5; u8 unk8; u8 unk9; @@ -52,7 +36,7 @@ typedef struct ch_fight_180_s{ u8 unkD; u8 unkE; u8 unkF; - s32 unk10; + s32 player_hit_in_phase1; f32 unk14; f32 unk18; f32 unk1C; @@ -60,12 +44,12 @@ typedef struct ch_fight_180_s{ u8 pad24[4]; f32 unk28; f32 unk2C; -}ActorLocal_fight_180; +} ActorLocal_FinalBoss; -/* .data */ -f32 fight_D_80391380[4] = {1.0f, 1.0f, 1.0f, 1.0f}; -f32 fight_D_80391390[4] = {0.33f, 0.33f, 0.33f, 1.0f}; -ActorAnimationInfo D_803913A0[] = { +f32 fight_D_80391380[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; +f32 fight_D_80391390[4] = { 0.33f, 0.33f, 0.33f, 1.0f }; + +ActorAnimationInfo chFinalBossAnimationInfo[] = { { 0, 0.0f}, { 0x1C5, 0.6f}, { 0x1C5, 0.6f}, @@ -112,69 +96,22 @@ ActorAnimationInfo D_803913A0[] = { { 0x266, 4.0f} }; -ActorInfo chFinalBoss = { - MARKER_25E_GRUNTILDA_FINAL_BOSS, ACTOR_38B_GRUNTILDA_FINAL_BOSS, ASSET_53D_MODEL_GRUNTILDA_FINAL_BOSS, - 1, D_803913A0, - chfinalboss_update, func_80326224, chfinalboss_draw, - 0, 0, 0.0f, 0 -}; +ActorInfo chFinalBoss = { MARKER_25E_GRUNTILDA_FINAL_BOSS, ACTOR_38B_GRUNTILDA_FINAL_BOSS, ASSET_53D_MODEL_GRUNTILDA_FINAL_BOSS, 1, chFinalBossAnimationInfo, chfinalboss_update, actor_update_func_80326224, chfinalboss_draw, 0, 0, 0.0f, 0 }; + f32 fight_D_80391524[3] = {0.0f, -8.0f, 400.0f}; - f32 D_80391530[3] = {0.0f, -8.0f, 0.0f}; - -ParticleScaleAndLifetimeRanges D_8039153C ={ - {1.0f, 1.0f}, - {1.0f, 1.0f}, - {0.0f, 0.01f}, - {2.8f, 3.2f}, - 0.5f, 0.7f -}; - -struct43s D_80391564 ={ - {{-300.0f, -300.0f, -300.0f}, {300.0f, 500.0f, 300.0f}}, - {{0.0f, -1200.0f, 0.0f}, {0.0f, -1200.0f, 0.0f}}, - {{-100.0f, -20.0f, -100.0f},{100.0f, 100.0f, 100.0f}} -}; - -s32 D_803915AC[3] = {0x24, 0x24, 0x24}; - -struct42s D_803915B8 = { - {{-70.0f, -50.0f, -70.0f}, {70.0f, 50.0f, 70.0f}}, - {{-100.0f, -20.0f, -100.0f},{100.0f, 100.0f, 100.0f}} -}; - -struct40s D_803915E8 ={ - { - {1.8f, 2.1f}, - {1.3f, 1.4f}, - {0.0f, 0.01f}, - {1.1f, 1.3f}, - 0.15f, 0.3f - }, - 4.0f, 1.0f -}; - -struct42s D_80391618 = { - {{-10.0f, -10.0f, -10.0f}, {10.0f, 10.0f, 10.0f,}}, - {{0.0f, 30.0f, 0.0f}, {0.0f, 30.0f, 0.0f}} -}; - -struct40s D_80391648 = { - {{0.2f, 0.3f}, {0.5f, 0.6f}, {0.0f, 0.01f}, {1.1f, 1.3f}, 0.01, 0.7}, 4.0f, 1.0f -}; - -struct43s D_80391678 = { - {{-50, -50, -50}, {50, 50, 50}}, - {{0, -50, 0}, {0, -50, 0}}, - {{-60, 60, -60}, {60, 60, 60}} -}; - -s32 D_803916C0[3] = {0xff, 0xff, 0xff}; -s32 D_803916CC[3] = {0xff, 0, 0}; -s32 fight_D_803916D8[3] = {0x4B, 0x4B, 0x4B}; - +ParticleScaleAndLifetimeRanges D_8039153C = { { 1.0f, 1.0f }, { 1.0f, 1.0f }, { 0.0f, 0.01f }, { 2.8f, 3.2f }, 0.5f, 0.7f }; +ParticleSettingsVelocityAccelerationPosition D_80391564 = { { { -300.0f, -300.0f, -300.0f }, {300.0f, 500.0f, 300.0f } }, { { 0.0f, -1200.0f, 0.0f }, { 0.0f, -1200.0f, 0.0f } }, { { -100.0f, -20.0f, -100.0f }, { 100.0f, 100.0f, 100.0f } } }; +s32 D_803915AC[3] = { 36, 36, 36 }; +ParticleSettingsVelocityPosition D_803915B8 = { { {-70.0f, -50.0f, -70.0f }, { 70.0f, 50.0f, 70.0f } }, { {-100.0f, -20.0f, -100.0f },{ 100.0f, 100.0f, 100.0f } } }; +ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_803915E8 = { { { 1.8f, 2.1f }, { 1.3f, 1.4f }, { 0.0f, 0.01f }, { 1.1f, 1.3f }, 0.15f, 0.3f }, 4.0f, 1.0f }; +ParticleSettingsVelocityPosition D_80391618 = { { {-10.0f, -10.0f, -10.0f }, { 10.0f, 10.0f, 10.0f } }, { {0.0f, 30.0f, 0.0f }, { 0.0f, 30.0f, 0.0f } } }; +ParticleSettingsScaleAndLifetimeDrawModeEmitCount D_80391648 = { { {0.2f, 0.3f }, { 0.5f, 0.6f }, { 0.0f, 0.01f }, { 1.1f, 1.3f }, 0.01, 0.7 }, 4.0f, 1.0f }; +ParticleSettingsVelocityAccelerationPosition D_80391678 = { { {-50, -50, -50 }, { 50, 50, 50 } }, { {0, -50, 0 }, {0, -50, 0} }, { {-60, 60, -60 }, { 60, 60, 60 } } }; +s32 sFinalBoss_ColorWhite[3] = { 255, 255, 255 }; +s32 sFinalBoss_ColorRed[3] = { 255, 0, 0 }; +s32 sFinalBoss_ColorDarkGrey[3] = { 75, 75, 75 }; f32 D_803916E4[4] = {0.1f, 0.2f, 1.9f, 3.9f}; - f32 D_803916F4[3] = {0.0f, 0.0f, 0.0f}; f32 D_80391700[3] = {0.0f, 0.0f, 0.0f}; s32 D_8039170C = 0; @@ -198,194 +135,179 @@ f32 D_803917EC[3] = {-827.0f, 793.0f, 1700.0f}; f32 D_803917F8[3] = {827.0f, 793.0f, -1700.0f}; f32 D_80391804[3] = {0.0f, 0.0f, 1350.0f}; - -/* .bss */ f32 D_80392750; f32 D_80392758[3]; f32 D_80392768[3]; f32 D_80392778[3]; -f32 D_80392788[3]; -f32 D_80392798[3]; +f32 chFinalBossPlayerPosition[3]; +f32 chFinalBossPosition[3]; ActorMarker *__chFinalBossShadowMarker; ActorMarker *__chFinalBossFlightPadMarker; ActorMarker *__chFinalBossJinjoStatueMarker[4]; f32 D_803927C0; -u8 D_803927C4; +u8 sFinalBossJinjoStatueActivated; u8 __chFinalBossSpellBarrierActive; u8 __chFinalBossJinjonatorHits; u8 D_803927C7; -u8 D_803927C8; -u8 D_803927C9; +u8 chFinalBossJinjoSpawned; +u8 chFinalBossJinjonatorSpawned; f32 D_803927D0[0x13][3]; f32 D_803928B8[3]; s32 D_803928C4; f32 D_803928C8[3]; -/* .code */ Actor *chfinalboss_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { - Actor *this; - ActorLocal_fight_180 *local; + Actor *this = marker_getActor(marker); + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *)&this->local; - this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; func_8033A45C(3, local->unkD); func_8033A45C(4, local->unkE); func_8033A45C(5, local->unkC); - if (local->phase == 1) { - func_8033A25C(0); + + if (local->phase == FINALBOSS_PHASE_1_BROOMSTICK) { + func_8033A25C(FALSE); } + return actor_draw(marker, gfx, mtx, vtx); } -void func_80386600(ActorMarker *arg0, s32 arg1) { - Actor *this; - ActorLocal_fight_180 *local; +void chfinalboss_func_80386600(ActorMarker *marker, s32 arg1) { + Actor *this = marker_getActor(marker); + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *)&this->local; - this = marker_getActor(arg0); - local = (ActorLocal_fight_180 *)&this->local; local->unkC = arg1; } -void func_80386628(ActorMarker *arg0, s32 arg1) { - Actor *temp_v0; - ActorLocal_fight_180 *local; +void chfinalboss_func_80386628(ActorMarker *marker, s32 arg1) { + Actor *this = marker_getActor(marker); + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *)&this->local; - - temp_v0 = marker_getActor(arg0); - local = (ActorLocal_fight_180 *)&temp_v0->local; local->unkD = arg1; local->unkE = arg1; } -void func_8034DF30(Struct6Ds *, f32[3], f32[3], f32); +void chfinalboss_func_80386654(f32 arg0, f32 arg1[4], f32 arg2[4]) { + Struct6Ds *temp_v0 = func_8034C528(0x190); -void func_80386654(f32 arg0, f32 arg1[4], f32 arg2[4]) { - Struct6Ds *temp_v0; - - temp_v0 = func_8034C528(0x190); if (temp_v0 != NULL) { func_8034DF30(temp_v0, arg1, arg2, arg0); } } -void func_80386698(f32 arg0) { - Struct6Ds * temp_v0; +void chfinalboss_func_80386698(f32 arg0) { + Struct6Ds * temp_v0 = func_8034C528(0x19A); - temp_v0 = func_8034C528(0x19A); if (temp_v0 != NULL) { func_8034DDF0(temp_v0, fight_D_80391524, D_80391530, arg0, 1); } } -void chfinalboss_spawnBroomstickParticles(f32 position[3], enum asset_e model_id, s32 n) { - ParticleEmitter *temp_s0; - - temp_s0 = partEmitMgr_newEmitter(n); - particleEmitter_setModel(temp_s0, model_id); - particleEmitter_setPosition(temp_s0, position); - particleEmitter_setAngularVelocityRange(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); - particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_80391564); - particleEmitter_setScaleAndLifetimeRanges(temp_s0, &D_8039153C); - func_802EFA78(temp_s0, 1); - particleEmitter_emitN(temp_s0, n); +void chfinalboss_createBroomstickParticles(f32 position[3], enum asset_e model_id, s32 count) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setModel(pCtrl, model_id); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80391564); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8039153C); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_emitN(pCtrl, count); } -void func_8038679C(f32 arg0[3], s32 arg1, f32 arg2[4]) { - ParticleEmitter *temp_s0; - - temp_s0 = partEmitMgr_newEmitter(arg1); - particleEmitter_setSprite(temp_s0, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setRGB(temp_s0, D_803915AC); - particleEmitter_setStartingFrameRange(temp_s0, 0, 7); - particleEmitter_setPosition(temp_s0, arg0); - particleEmitter_setPositionAndVelocityRanges(temp_s0, &D_803915B8); - particleEmitter_setStartingScaleRange(temp_s0, arg2[0], arg2[1]); - particleEmitter_setFinalScaleRange(temp_s0, arg2[2], arg2[3]); - particleEmitter_setSpawnIntervalRange(temp_s0, 0.0f, 0.01f); - particleEmitter_setParticleLifeTimeRange(temp_s0, 2.8f, 3.2f); - particleEmitter_setFade(temp_s0, 0.3f, 0.4f); - func_802EFA78(temp_s0, 1); - particleEmitter_emitN(temp_s0, arg1); +void chfinalboss_createSmokeParticles(f32 position[3], s32 count, f32 scale_ranges[4]) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); + particleEmitter_setRGB(pCtrl, D_803915AC); + particleEmitter_setStartingFrameRange(pCtrl, 0, 7); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_803915B8); + particleEmitter_setStartingScaleRange(pCtrl, scale_ranges[0], scale_ranges[1]); + particleEmitter_setFinalScaleRange(pCtrl, scale_ranges[2], scale_ranges[3]); + particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 2.8f, 3.2f); + particleEmitter_setFade(pCtrl, 0.3f, 0.4f); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_emitN(pCtrl, count); } -void func_803868A0(f32 arg0[3], s32 arg1[3]) { - ParticleEmitter * temp_s0; - - temp_s0 = partEmitMgr_newEmitter(1); - particleEmitter_setSprite(temp_s0, ASSET_45A_SPRITE_GREEN_GLOW); - particleEmitter_setStartingFrameRange(temp_s0, 2, 2); - particleEmitter_setRGB(temp_s0, arg1); - particleEmitter_setPosition(temp_s0, arg0); - func_802EFA78(temp_s0, 1); - particleEmitter_setPositionAndVelocityRanges(temp_s0, &D_80391618); - func_802EFC28(temp_s0, &D_803915E8); +void chfinalboss_createGreenGlowParticle(f32 position[3], s32 color[3]) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); + particleEmitter_setSprite(pCtrl, ASSET_45A_SPRITE_GREEN_GLOW); + particleEmitter_setStartingFrameRange(pCtrl, 2, 2); + particleEmitter_setRGB(pCtrl, color); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_80391618); + func_802EFC28(pCtrl, &D_803915E8); } -void func_80386934(f32 position[3], enum asset_e sprite_id) { - ParticleEmitter * temp_s0; - - temp_s0 = partEmitMgr_newEmitter(1); - particleEmitter_setSprite(temp_s0, sprite_id); - particleEmitter_setStartingFrameRange(temp_s0, 1, 6); - particleEmitter_setPosition(temp_s0, position); - func_802EFA78(temp_s0, 1); - particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_80391678); - func_802EFC28(temp_s0, &D_80391648); +void chfinalboss_createSingleSpriteParticle(f32 position[3], enum asset_e sprite_id) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); + particleEmitter_setSprite(pCtrl, sprite_id); + particleEmitter_setStartingFrameRange(pCtrl, 1, 6); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80391678); + func_802EFC28(pCtrl, &D_80391648); } -void func_803869BC(Actor *this) { - s32 sp3C; - s32 sp30[3]; - s32 sp2C; - f32 sp20[3]; - u32 temp_t3; +void chfinalboss_spawnBroomstickGlowParticles(Actor *this) { + s32 time_delta; + s32 color[3]; + enum asset_e sprite_id; + f32 position[3]; + u32 state; if (this->marker->unk14_21) { - sp3C = globalTimer_getTime(); - temp_t3 = (u32) this->state; - if ((temp_t3 == 6) || (temp_t3 == 7)) { - sp30[0] = D_803916CC[0]; - sp30[1] = D_803916CC[1]; - sp30[2] = D_803916CC[2]; - sp2C = 0x715; - } else if ((temp_t3 == 8) || (temp_t3 == 9)) { - sp30[0] = fight_D_803916D8[0]; - sp30[1] = fight_D_803916D8[1]; - sp30[2] = fight_D_803916D8[2]; - sp2C = 0x000; + time_delta = globalTimer_getTime(); + state = this->state; + + if ((state == 6) || (state == 7)) { + color[0] = sFinalBoss_ColorRed[0]; + color[1] = sFinalBoss_ColorRed[1]; + color[2] = sFinalBoss_ColorRed[2]; + sprite_id = ASSET_715_SPRITE_SPARKLE_RED; + } else if ((state == 8) || (state == 9)) { + color[0] = sFinalBoss_ColorDarkGrey[0]; + color[1] = sFinalBoss_ColorDarkGrey[1]; + color[2] = sFinalBoss_ColorDarkGrey[2]; + sprite_id = 0; } else { - sp30[0] = D_803916C0[0]; - sp30[1] = D_803916C0[1]; - sp30[2] = D_803916C0[2]; - sp2C = 0x713; + color[0] = sFinalBoss_ColorWhite[0]; + color[1] = sFinalBoss_ColorWhite[1]; + color[2] = sFinalBoss_ColorWhite[2]; + sprite_id = ASSET_713_SPRITE_SPARKLE_YELLOW; } - func_8034A174(this->marker->unk44, 7, sp20); - if (((sp2C == 0x715) && ((sp3C & 1) != 0)) || ((sp2C == 0x713) && ((sp3C & 3) == 0))) { - func_803868A0(sp20, sp30); + + func_8034A174(this->marker->unk44, 7, position); + + if (((sprite_id == ASSET_715_SPRITE_SPARKLE_RED) && ((time_delta & 1) != 0)) || ((sprite_id == ASSET_713_SPRITE_SPARKLE_YELLOW) && ((time_delta & 3) == 0))) { + chfinalboss_createGreenGlowParticle(position, color); } - if (sp2C == 0) { - func_8038856C(this, D_803916E4); + + if (sprite_id == 0) { + chfinalboss_func_8038856C(this, D_803916E4); } - if ((sp2C != 0) && ((sp2C == 0x715) || (sp2C = sp2C, (randf() < 0.62)))) { - func_80386934(sp20, sp2C); + + if ((sprite_id != 0) && ((sprite_id == ASSET_715_SPRITE_SPARKLE_RED) || (sprite_id = sprite_id, (randf() < 0.62)))) { + chfinalboss_createSingleSpriteParticle(position, sprite_id); } } } -void fight_func_80386B54(f32 *arg0, f32 arg1) { - f32 sp34; - f32 sp28[3]; +void chfinalboss_func_80386B54(f32 *arg0, f32 arg1) { + f32 delta_time = time_getDelta(); + f32 player_position[3]; s32 i; - sp34 = time_getDelta(); - player_getPosition(sp28); - for(i = 0; i < 3; i++){ - arg0[i] = (i == 1) ? sp28[i] : sp28[i] + ((sp28[i] - D_80392788[i]) * arg1) / sp34; + player_getPosition(player_position); + + for (i = 0; i < 3; i++) { + arg0[i] = (i == 1) ? player_position[i] : player_position[i] + ((player_position[i] - chFinalBossPlayerPosition[i]) * arg1) / delta_time; } } -bool fight_func_80386BEC(Actor *this, f32 arg1) { +bool chfinalboss_func_80386BEC(Actor *this, f32 arg1) { this->yaw_ideal = (f32) func_80329784(this); func_80328FB0(this, arg1); if ((this->yaw_ideal < (this->yaw + arg1)) && ((this->yaw - arg1) < this->yaw_ideal)) { @@ -394,10 +316,10 @@ bool fight_func_80386BEC(Actor *this, f32 arg1) { return FALSE; } -bool func_80386C68(Actor *this, f32 arg1) { +bool chfinalboss_func_80386C68(Actor *this, f32 arg1) { f32 sp2C[3]; - chjinjonator_8039129C(&sp2C); + chjinjonator_8039129C(sp2C); this->yaw_ideal = (f32) func_803297C8(this, sp2C); func_80328FB0(this, arg1); @@ -407,7 +329,7 @@ bool func_80386C68(Actor *this, f32 arg1) { return FALSE; } -void fight_func_80386CF8(Actor *actor) { +void chfinalboss_func_80386CF8(Actor *actor) { f32 sp4C[3]; f32 sp40[3]; f32 sp34[3]; @@ -430,10 +352,8 @@ void fight_func_80386CF8(Actor *actor) { ncStaticCamera_setPositionAndRotation(sp4C, sp40); } -void __chfinalboss_dropHealth(ActorMarker *arg0) { - Actor *actor; - - actor = marker_getActor(arg0); +void __chfinalboss_dropHealth(ActorMarker *marker) { + Actor *actor = marker_getActor(marker); bundle_setYaw(func_803297C8(actor, D_803916F4)); bundle_spawn_f32(0x14, actor->position); } @@ -453,55 +373,55 @@ void chfinalboss_spawnFlightPad(s32 arg0) { __chFinalBossFlightPadMarker = flight_pad->marker; } -void func_80386EC0(s32 arg0) { +void chfinalboss_func_80386EC0(s32 arg0) { ActorMarker *marker; marker = actor_spawnWithYaw_f32(0x38A, D_80392758, 0)->marker; func_8030E878(SFX_147_GRUNTY_SPELL_ATTACK_2, randf2(0.95f, 1.05f), 32000, D_80392758, 5000.0f, 12000.0f); - fight_func_803900DC(marker, D_80392758, D_80392768[1], D_80392768[2]); + chGreenBlast_func_803900DC(marker, D_80392758, D_80392768[1], D_80392768[2]); } -void func_80386F5C(ActorMarker * arg0, f32 arg1[3], f32 arg2, f32 arg3) { +void chfinalboss_func_80386F5C(ActorMarker * arg0, f32 arg1[3], f32 arg2, f32 arg3) { arg1[1] += 100.0f; D_80392758[0] = (f32) arg1[0]; D_80392758[1] = (f32) arg1[1]; D_80392758[2] = (f32) arg1[2]; D_80392768[1] = arg2; D_80392768[2] = arg3; - SPAWNQUEUE_ADD_1(func_80386EC0, arg0); + SPAWNQUEUE_ADD_1(chfinalboss_func_80386EC0, arg0); } -void func_80386FD8(s32 arg0) { +void chfinalboss_func_80386FD8(s32 arg0) { ActorMarker *marker; marker = actor_spawnWithYaw_f32(0x389, D_80392758, 0)->marker; func_8030E878(SFX_146_GRUNTY_SPELL_ATTACK_1, randf2(0.95f, 1.05f), 32000, D_80392758, 5000.0f, 12000.0f); - fight_func_8038FB84(marker, D_80392758, D_80392768, D_80392778); + chSpellFireball_func_8038FB84(marker, D_80392758, D_80392768, D_80392778); } -void func_80387074(s32 arg0) { +void chfinalboss_func_80387074(s32 arg0) { ActorMarker *marker; marker = actor_spawnWithYaw_f32(0x3AA, D_80392758, 0)->marker; func_8030E878(SFX_146_GRUNTY_SPELL_ATTACK_1, randf2(0.95f, 1.05f), 32000, D_80392758, 5000.0f, 12000.0f); - fight_func_8038FB84(marker, D_80392758, D_80392768, D_80392778); + chSpellFireball_func_8038FB84(marker, D_80392758, D_80392768, D_80392778); } -void func_80387110(ActorMarker *marker, f32 arg1[3], f32 arg2, s32 arg3) { +void chfinalboss_func_80387110(ActorMarker *marker, f32 arg1[3], f32 arg2, s32 arg3) { Actor *temp_v0; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp2C[3]; s32 i; temp_v0 = (Actor*) marker_getActor(marker); - local = (ActorLocal_fight_180 *)&temp_v0->local; + local = (ActorLocal_FinalBoss *)&temp_v0->local; D_80392758[0] = arg1[0]; D_80392758[1] = arg1[1]; D_80392758[2] = arg1[2]; D_80392758[1] += 80.0f; if (arg3 == 0) { - fight_func_80386B54(sp2C, arg2); + chfinalboss_func_80386B54(sp2C, arg2); } else if (local->mirror_phase5 == 0) { sp2C[0] = D_80391710[0]; sp2C[1] = D_80391710[1]; @@ -520,21 +440,21 @@ void func_80387110(ActorMarker *marker, f32 arg1[3], f32 arg2, s32 arg3) { D_80392768[i] = (sp2C[i] - arg1[i]) / arg2 - (D_80392778[i] * arg2 / 2); } if (arg3 == 0) { - SPAWNQUEUE_ADD_1(func_80386FD8, marker); + SPAWNQUEUE_ADD_1(chfinalboss_func_80386FD8, marker); } else{ - SPAWNQUEUE_ADD_1(func_80387074, marker); + SPAWNQUEUE_ADD_1(chfinalboss_func_80387074, marker); } } -void func_803872F8(Actor *arg0) { +void chfinalboss_func_803872F8(Actor *arg0) { f32 vec[3]; func_8034A174(arg0->marker->unk44, 0xA, vec); - func_80387110(arg0->marker, vec, 3.0f, 1); + chfinalboss_func_80387110(arg0->marker, vec, 3.0f, 1); } -s32 fight_func_80387340(Actor *this, f32 arg1) { +s32 chfinalboss_func_80387340(Actor *this, f32 arg1) { f32 sp24[3]; if (actor_animationIsAt(this, 0.50f) != 0) { @@ -545,13 +465,13 @@ s32 fight_func_80387340(Actor *this, f32 arg1) { sp24[1] = this->position_y; sp24[2] = this->position_z; } - func_80387110(this->marker, sp24, arg1, 0); + chfinalboss_func_80387110(this->marker, sp24, arg1, 0); return 1; } return 0; } -void func_803873DC(Actor *actor, f32 arg1, f32 arg2) { +void chfinalboss_func_803873DC(Actor *actor, f32 arg1, f32 arg2) { f32 vec[3]; ActorMarker *marker; @@ -564,11 +484,11 @@ void func_803873DC(Actor *actor, f32 arg1, f32 arg2) { vec[1] = actor->position[1]; vec[2] = actor->position[2]; } - func_80386F5C(actor->marker, vec, arg1, arg2); + chfinalboss_func_80386F5C(actor->marker, vec, arg1, arg2); } } -bool func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 arg5, f32 arg6) { +bool chfinalboss_func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 arg5, f32 arg6) { f32 dt; f32 diff[3]; TUPLE(f32, pos) temp; @@ -615,46 +535,46 @@ bool func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 return FALSE; } -void func_8038770C(Actor *actor) { - ActorLocal_fight_180 *local; +void chfinalboss_func_8038770C(Actor *actor) { + ActorLocal_FinalBoss *local; - local = (ActorLocal_fight_180 *)&actor->local; + local = (ActorLocal_FinalBoss *)&actor->local; local->hits = 0; local->unk2 = 0; local->unk3 = 0; local->unk4 = 0; - local->unk6 = 0; + local->player_hit_in_phase3 = 0; local->unkA = 0; } -void chfinalboss_setPhase(ActorMarker *this, u32 phase_id) +void chfinalboss_setPhase(ActorMarker *this, enum ch_finalboss_phase_e phase_id) { Actor *actor = marker_getActor(this); - ActorLocal_fight_180 *local = (ActorLocal_fight_180 *) &actor->local; + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *) &actor->local; local->phase = phase_id; - func_8038770C(actor); - func_80386600(actor->marker, 0); - func_80386628(actor->marker, 1); + chfinalboss_func_8038770C(actor); + chfinalboss_func_80386600(actor->marker, 0); + chfinalboss_func_80386628(actor->marker, 1); switch(phase_id) { - case 0: + case FINALBOSS_PHASE_0_INTRO: subaddie_set_state_with_direction(actor, 1, 0.0001f, 1); timed_setStaticCameraToNode(0.0f, 0); timed_exitStaticCamera(2.0f); timed_setStaticCameraToNode(2.0f, 1); - timedFunc_set_1(2.0f, (GenFunction_1)func_8038B780, reinterpret_cast(s32, actor->marker)); - return; + timedFunc_set_1(2.0f, (GenFunction_1)chfinalboss_func_8038B780, reinterpret_cast(s32, actor->marker)); + break; - case 1: + case FINALBOSS_PHASE_1_BROOMSTICK: subaddie_set_state_with_direction(actor, 2, 0.0001f, 1); func_8030E878(SFX_EA_GRUNTY_LAUGH_1, randf2(0.95f, 1.05f), 32000, actor->position, 5000.0f, 12000.0f); local->unk5 = 0x0; actor->unk1C_x = D_803927D0[(local->unk5)][0]; actor->unk1C_y = D_803927D0[(local->unk5)][1]; actor->unk1C_z = D_803927D0[(local->unk5)][2]; - local->unk10 = 0; + local->player_hit_in_phase1 = 0; if (actor->unk44_31 == 0) { actor->unk44_31 = (u8)sfxsource_createSfxsourceAndReturnIndex(); @@ -663,9 +583,9 @@ void chfinalboss_setPhase(ActorMarker *this, u32 phase_id) sfxsource_playSfxAtVolume(actor->unk44_31, 1.0f); sfxsource_setSampleRate(actor->unk44_31, 32000); } - return; + break; - case 2: + case FINALBOSS_PHASE_2_AIR: subaddie_set_state_with_direction(actor, 0xE, 0.0001f, 1); local->unk5 = 0x8; actor->unk1C_x = D_803927D0[(local->unk5)][0]; @@ -675,42 +595,43 @@ void chfinalboss_setPhase(ActorMarker *this, u32 phase_id) return; - case 3: + case FINALBOSS_PHASE_3_FLIGHT: subaddie_set_state_with_direction(actor, 0x15, 0.0001f, 1); local->unk5 = 0xC; actor->unk1C_x = D_803927D0[(local->unk5)][0]; actor->unk1C_y = D_803927D0[(local->unk5)][1]; actor->unk1C_z = D_803927D0[(local->unk5)][2]; actor->lifetime_value = 15.0f; - return; + break; - case 4: + case FINALBOSS_PHASE_4_JINJOS: subaddie_set_state_with_direction(actor, 0x1C, 0.0001f, 1); local->unk5 = 0x10; actor->unk1C_x = D_803927D0[(local->unk5)][0]; actor->unk1C_y = D_803927D0[(local->unk5)][1]; actor->unk1C_z = D_803927D0[(local->unk5)][2]; - return; + break; - case 5: - func_80386628(actor->marker, 0); + case FINALBOSS_PHASE_5_JINJONATOR: + chfinalboss_func_80386628(actor->marker, 0); chfinalboss_phase5_setState(actor, 0x24); actor_loopAnimation(actor); + break; } } -void func_80387ACC(Actor *arg0, f32 arg1) { +void chfinalboss_func_80387ACC(Actor *arg0, f32 arg1) { func_80328CA8(arg0, 0); func_80328FF0(arg0, arg1); } -void func_80387B00(Actor *this) { - ActorLocal_fight_180 *local; +void chfinalboss_func_80387B00(Actor *this) { + ActorLocal_FinalBoss *local; f32 sp28[3]; - local = (ActorLocal_fight_180 *) this->local; + local = (ActorLocal_FinalBoss *) this->local; - fight_func_80386B54(sp28, 0.80f); + chfinalboss_func_80386B54(sp28, 0.80f); this->unk1C_x = sp28[0]; this->unk1C_y = sp28[1]; this->unk1C_z = sp28[2]; @@ -735,14 +656,14 @@ void func_80387B00(Actor *this) { local->unk20 = local->unk14; } -void func_80387BFC(Actor *this, f32 arg1) { - ActorLocal_fight_180 *local; +void chfinalboss_func_80387BFC(Actor *this, f32 arg1) { + ActorLocal_FinalBoss *local; f32 sp58; f32 sp54; f32 sp50; f32 sp44[3]; - local = (ActorLocal_fight_180 *) this->local; + local = (ActorLocal_FinalBoss *) this->local; sp58 = local->unk14 * local->unk14; sp54 = local->unk20 * local->unk20; sp50 = local->unk18 - local->unk1C; @@ -761,11 +682,11 @@ void func_80387BFC(Actor *this, f32 arg1) { sp44[2] *= this->actor_specific_1_f; } -void fight_func_80387D4C(Actor *actor) { - ActorLocal_fight_180 *local; +void chfinalboss_func_80387D4C(Actor *actor) { + ActorLocal_FinalBoss *local; f32 sp20[3]; - local = (ActorLocal_fight_180 *) actor->local; + local = (ActorLocal_FinalBoss *) actor->local; actor->position[0] = actor->unk1C[0] + actor->velocity[0] * local->unk20; actor->position[2] = actor->unk1C[2] + actor->velocity[2] * local->unk20; @@ -781,15 +702,15 @@ void fight_func_80387D4C(Actor *actor) { sp20[2] = sp20[2] * actor->actor_specific_1_f; } -void func_80387E1C(Actor *this, f32 arg1[3]) { - ActorLocal_fight_180 *local; +void chfinalboss_func_80387E1C(Actor *this, f32 arg1[3]) { + ActorLocal_FinalBoss *local; f32 dz; f32 distance; f32 dx; f32 min_distance; s32 i; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; min_distance = 1e+8f; for(i = 0; i < 8; i++){ dx = D_803927D0[i][0] - this->position[0]; @@ -807,12 +728,12 @@ void func_80387E1C(Actor *this, f32 arg1[3]) { -void func_80387F70(Actor *actor, f32 *arg1, f32 arg2) { - ActorLocal_fight_180 *temp_v0; +void chfinalboss_func_80387F70(Actor *actor, f32 *arg1, f32 arg2) { + ActorLocal_FinalBoss *temp_v0; f32 vec[3]; f32 playerPos[3]; - temp_v0 = (ActorLocal_fight_180 *) &actor->local; + temp_v0 = (ActorLocal_FinalBoss *) &actor->local; player_getPosition(playerPos); vec[0] = D_803927D0[temp_v0->unk5][0] - playerPos[0]; vec[1] = D_803927D0[temp_v0->unk5][1] - playerPos[1]; @@ -823,41 +744,41 @@ void func_80387F70(Actor *actor, f32 *arg1, f32 arg2) { arg1[2] = D_803927D0[temp_v0->unk5][2] + (arg2 * vec[2]); } -void func_803880A0(Actor *actor, f32 arg1) { +void chfinalboss_func_803880A0(Actor *actor, f32 arg1) { actor->velocity[2] = arg1; actor->velocity[1] = 0.0f; actor->velocity[0] = 0.0f; ml_vec3f_yaw_rotate_copy(actor->velocity, actor->velocity, actor->yaw); } -void func_803880E0(ActorMarker *marker, enum asset_e text_id, s32 arg2) { +void chfinalboss_func_803880E0(ActorMarker *marker, enum asset_e text_id, s32 arg2) { chfinalboss_phase1_setState(marker_getActor(marker), 0xC); } -void func_80388110(ActorMarker *marker, enum asset_e text_id, s32 arg2) { +void chfinalboss_func_80388110(ActorMarker *marker, enum asset_e text_id, s32 arg2) { Actor *actor; - ActorLocal_fight_180 *actorLocal; + ActorLocal_FinalBoss *actorLocal; actor = marker_getActor(marker); - actorLocal = (ActorLocal_fight_180 *)&actor->local; + actorLocal = (ActorLocal_FinalBoss *)&actor->local; ncStaticCamera_exit(); - gcdialog_showText(randi2(0, 5) + 0x1101, 4, NULL, actor->marker, func_803880E0, NULL); + gcdialog_showText(randi2(0, 5) + 0x1101, 4, NULL, actor->marker, chfinalboss_func_803880E0, NULL); actorLocal->unk9 = (u8)1; } void chfinalboss_phase1_setState(Actor *this, s32 next_state) { - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; s32 sp40; f32 sp3C; f32 temp_f12; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp40 = globalTimer_getTime(); sp3C = animctrl_getAnimTimer(this->animctrl); - local->phase = 1; + local->phase = FINALBOSS_PHASE_1_BROOMSTICK; subaddie_set_state_with_direction(this, next_state, 0.0001f, 1); actor_loopAnimation(this); - func_80386600(this->marker, 0); + chfinalboss_func_80386600(this->marker, 0); if (next_state != 9) { if (func_8030E3FC(this->unk44_31)) { func_8030E394(this->unk44_31); @@ -867,7 +788,7 @@ void chfinalboss_phase1_setState(Actor *this, s32 next_state) { } switch (next_state) { case 2: - func_80387E1C(this, this->unk1C); + chfinalboss_func_80387E1C(this, this->unk1C); break; case 5: if ((sp40 & 1) == 0) { @@ -880,10 +801,10 @@ void chfinalboss_phase1_setState(Actor *this, s32 next_state) { break; case 6: local = local; - func_80386600(this->marker, 1); + chfinalboss_func_80386600(this->marker, 1); func_80324D54(0.4f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f); this->actor_specific_1_f = 0.0f; - func_80387B00(this); + chfinalboss_func_80387B00(this); local->unkA = 0; break; case 7: @@ -891,7 +812,7 @@ void chfinalboss_phase1_setState(Actor *this, s32 next_state) { local->unk14 = (local->unk14 < 2700.0f) ? local->unk14 : 2700.0f; local->unk18 = 400.0f; local->unk28 = (-this->actor_specific_1_f * this->actor_specific_1_f) / (2.0 * local->unk14); - func_80386600(this->marker, 1); + chfinalboss_func_80386600(this->marker, 1); animctrl_setAnimTimer(this->animctrl, sp3C); break; case 8: @@ -913,14 +834,14 @@ void chfinalboss_phase1_setState(Actor *this, s32 next_state) { func_8030E878(SFX_131_GRUNTY_WEEEGH, randf2(0.95f, 1.05f), 32000, this->position, 5000.0f, 12000.0f); if ((s32) local->hits >= 4) { SPAWNQUEUE_ADD_1(__chfinalboss_dropHealth, this->marker); - func_80388110(this->marker, 0, 0); + chfinalboss_func_80388110(this->marker, 0, 0); } break; } } -void func_8038856C(Actor *actor, f32 *arg1) { +void chfinalboss_func_8038856C(Actor *actor, f32 *arg1) { f32 vec[3]; ActorMarker *marker; @@ -932,17 +853,17 @@ void func_8038856C(Actor *actor, f32 *arg1) { vec[1] = actor->position[1]; vec[2] = actor->position[2]; } - func_8038679C(vec, 2, arg1); + chfinalboss_createSmokeParticles(vec, 2, arg1); } -void func_803885DC(Actor *this) { +void chfinalboss_func_803885DC(Actor *this) { s32 sp24 = globalTimer_getTime(); if (func_8030E3FC(this->unk44_31) == 0) { func_8030E2C4(this->unk44_31); } if (((sp24 & 7) == 0) && (randf() < 0.5)) { - func_8038856C(this, D_80391728); + chfinalboss_func_8038856C(this, D_80391728); } if ((actor_animationIsAt(this, 0.30f) != 0) || (actor_animationIsAt(this, 0.78f) != 0)) { FUNC_8030E8B4(SFX_1E_HITTING_AN_ENEMY_2, 1.0f, 25000, this->position, 2000, 10000); @@ -955,7 +876,7 @@ void func_803885DC(Actor *this) { } } -s32 func_8038871C(Actor *arg0, f32 arg1, f32 arg2) { +s32 chfinalboss_func_8038871C(Actor *arg0, f32 arg1, f32 arg2) { if (arg0->position[1] + arg2 > arg1) { arg0->position[1] = arg1; return 1; @@ -969,22 +890,22 @@ s32 func_8038871C(Actor *arg0, f32 arg1, f32 arg2) { void chfinalboss_phase1_update(ActorMarker *marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp54; f32 sp50; s32 var_a0; f32 sp40[3]; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp54 = time_getDelta(); switch (this->state) { case 2: - func_80386600(this->marker, 0); - func_803869BC(this); - func_80387ACC(this, 60.0f * sp54); - func_80387F70(this, this->unk1C, 950.0f); - if (func_80387470(this, this->unk1C, 1000.0f, 1800.0f, 200.0f, 1000.0f, 600.0f)) { + chfinalboss_func_80386600(this->marker, 0); + chfinalboss_spawnBroomstickGlowParticles(this); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80387F70(this, this->unk1C, 950.0f); + if (chfinalboss_func_80387470(this, this->unk1C, 1000.0f, 1800.0f, 200.0f, 1000.0f, 600.0f)) { chfinalboss_phase1_setState(this, 3); this->unk1C[0] = D_803927D0[local->unk5][0]; this->unk1C[1] = D_803927D0[local->unk5][1]; @@ -992,25 +913,25 @@ void chfinalboss_phase1_update(ActorMarker *marker) { } break; case 3: - func_80386600(this->marker, 0); - func_803869BC(this); + chfinalboss_func_80386600(this->marker, 0); + chfinalboss_spawnBroomstickGlowParticles(this); sp50 = ml_map_f(ml_distance_vec3f(this->position, this->unk1C), 300.0f, 1000.0f, 100.0f, 1000.0f); - func_80387ACC(this, 60.0f * sp54); - if (func_80387470(this, this->unk1C, sp50, 1800.0f, 200.0f, 500.0f, 300.0f)) { + chfinalboss_func_80387ACC(this, 60.0f * sp54); + if (chfinalboss_func_80387470(this, this->unk1C, sp50, 1800.0f, 200.0f, 500.0f, 300.0f)) { chfinalboss_phase1_setState(this, 4); } break; case 4: - func_80386600(this->marker, 0); - func_803869BC(this); - func_80387ACC(this, 60.0f * sp54); - if (fight_func_80386BEC(this, 240.0f * sp54)) { + chfinalboss_func_80386600(this->marker, 0); + chfinalboss_spawnBroomstickGlowParticles(this); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + if (chfinalboss_func_80386BEC(this, 240.0f * sp54)) { chfinalboss_phase1_setState(this, 5); - func_80386654(1.0f, fight_D_80391380, fight_D_80391390); + chfinalboss_func_80386654(1.0f, fight_D_80391380, fight_D_80391390); } break; case 5: - func_80387B00(this); + chfinalboss_func_80387B00(this); this->lifetime_value += sp54; if (this->lifetime_value < 0.3333333333333333) { this->actor_specific_1_f += 3300.0 * sp54; @@ -1018,28 +939,28 @@ void chfinalboss_phase1_update(ActorMarker *marker) { this->actor_specific_1_f -= 3300.0 * sp54; } local->unk20 += this->actor_specific_1_f * sp54; - func_80387BFC(this, 45.0f * sp54); + chfinalboss_func_80387BFC(this, 45.0f * sp54); func_80328FB0(this, 30.0f * sp54); if (this->lifetime_value > 1.0) { chfinalboss_phase1_setState(this, 6); } break; case 6: - func_803869BC(this); + chfinalboss_spawnBroomstickGlowParticles(this); if (local->unk4 >= (local->hits + 1)) { this->actor_specific_1_f += (D_80391738[local->hits] * sp54) * 0.66; } else { this->actor_specific_1_f += D_80391738[local->hits] * sp54; } local->unk20 -= this->actor_specific_1_f * sp54; - func_80387BFC(this, 180.0f * sp54); + chfinalboss_func_80387BFC(this, 180.0f * sp54); func_80328FB0(this, 30.0f * sp54); if ((local->unkA == 0) && (local->unk20 < (local->unk14 * 0.65))) { local->unkA = 1U; FUNC_8030E8B4(SFX_C4_TWINKLY_MUNCHER_GRR, 0.6f, 28000, this->position, 2000, 10000); } if ((local->unk14 * 0.75) < local->unk20) { - fight_func_80386B54(sp40, 0); + chfinalboss_func_80386B54(sp40, 0); this->unk1C[0] = sp40[0]; this->unk1C[1] = sp40[1]; this->unk1C[2] = sp40[2]; @@ -1064,73 +985,73 @@ void chfinalboss_phase1_update(ActorMarker *marker) { } break; case 7: - func_803869BC(this); + chfinalboss_spawnBroomstickGlowParticles(this); this->actor_specific_1_f = this->actor_specific_1_f + local->unk28 * sp54; local->unk20 = local->unk20 - this->actor_specific_1_f * sp54; - func_80387BFC(this, 180.0f * sp54); + chfinalboss_func_80387BFC(this, 180.0f * sp54); func_80328FB0(this, 30.0f * sp54); if (this->actor_specific_1_f < 0) { chfinalboss_phase1_setState(this, 4); - func_80386654(1.5f, fight_D_80391390, fight_D_80391380); + chfinalboss_func_80386654(1.5f, fight_D_80391390, fight_D_80391380); } break; case 8: - func_803885DC(this); - func_803869BC(this); + chfinalboss_func_803885DC(this); + chfinalboss_spawnBroomstickGlowParticles(this); this->actor_specific_1_f = this->actor_specific_1_f + local->unk28 * sp54; local->unk20 = local->unk20 - this->actor_specific_1_f * sp54; - func_80387ACC(this, 60.0f * sp54); - fight_func_80387D4C(this); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80387D4C(this); func_80328FB0(this, 30.0f * sp54); if (this->actor_specific_1_f < 0) { chfinalboss_phase1_setState(this, 9); - func_80386654(2.0f, fight_D_80391390, fight_D_80391380); + chfinalboss_func_80386654(2.0f, fight_D_80391390, fight_D_80391380); this->lifetime_value = 4.0f; } break; case 9: - func_803885DC(this); + chfinalboss_func_803885DC(this); if (this->lifetime_value > 0.0) { this->lifetime_value -= sp54; } else{ if (actor_animationIsAt(this, 0.9999f)) { chfinalboss_phase1_setState(this, 2); - func_803880A0(this, 2000.0f); + chfinalboss_func_803880A0(this, 2000.0f); } } break; case 10: - func_80387ACC(this, 60.0f * sp54); - fight_func_80386BEC(this, 30.0f); - func_8038871C(this, 460.0f, 400.0f * sp54); - fight_func_80387340(this, 1.0f); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80386BEC(this, 30.0f); + chfinalboss_func_8038871C(this, 460.0f, 400.0f * sp54); + chfinalboss_func_80387340(this, 1.0f); if (actor_animationIsAt(this, 0.9999f)) { chfinalboss_phase1_setState(this, 2); - func_803880A0(this, 2000.0f); + chfinalboss_func_803880A0(this, 2000.0f); } break; case 11: - func_80387ACC(this, 60.0f * sp54); - fight_func_80386BEC(this, 30.0f); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80386BEC(this, 30.0f); if (local->unk9) { - func_8038871C(this, 460.0f, 400.0f * sp54); + chfinalboss_func_8038871C(this, 460.0f, 400.0f * sp54); } break; case 12: - func_80387ACC(this, 60.0f * sp54); - fight_func_80386BEC(this, 30.0f); - func_8038871C(this, 460.0f, 400.0f * sp54); - func_803873DC(this, 600.0f, 2000.0f); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80386BEC(this, 30.0f); + chfinalboss_func_8038871C(this, 460.0f, 400.0f * sp54); + chfinalboss_func_803873DC(this, 600.0f, 2000.0f); if (actor_animationIsAt(this, 0.9999f)) { func_8030DA44(this->unk44_31); this->unk44_31 = 0U; - chfinalboss_setPhase(this->marker, 2); + chfinalboss_setPhase(this->marker, FINALBOSS_PHASE_2_AIR); } break; case 13: - func_80387ACC(this, 60.0f * sp54); - fight_func_80386BEC(this, 30.0f); + chfinalboss_func_80387ACC(this, 60.0f * sp54); + chfinalboss_func_80386BEC(this, 30.0f); if (actor_animationIsAt(this, 0.9999f)) { if (local->hits >= 4) { chfinalboss_phase1_setState(this, 0xB); @@ -1144,10 +1065,10 @@ void chfinalboss_phase1_update(ActorMarker *marker) { } void chfinalboss_phase2_setState(Actor *this, s32 arg1){ - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; s32 sp28; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp28 = globalTimer_getTime(); local->phase = 2; subaddie_set_state_with_direction(this, arg1, 0.0001f, 1); @@ -1184,32 +1105,32 @@ void chfinalboss_phase2_endTextCallback(ActorMarker *marker, enum asset_e text_i void chfinalboss_phase2_update(ActorMarker *marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp4C; s32 sp48; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp4C = time_getDelta(); sp48 = local->hits; switch (this->state) { case 14: - func_803869BC(this); - func_80387ACC(this, 30.0f * sp4C); - if (func_80387470(this, this->unk1C, ml_map_f(ml_distance_vec3f(this->position, this->unk1C), 70.0f, 1000.0f, 100.0f, D_80391758[sp48]), D_80391758[sp48] * 2, 160.0f, 500.0f, 70.0f)) { + chfinalboss_spawnBroomstickGlowParticles(this); + chfinalboss_func_80387ACC(this, 30.0f * sp4C); + if (chfinalboss_func_80387470(this, this->unk1C, ml_map_f(ml_distance_vec3f(this->position, this->unk1C), 70.0f, 1000.0f, 100.0f, D_80391758[sp48]), D_80391758[sp48] * 2, 160.0f, 500.0f, 70.0f)) { local->unkA = 1; chfinalboss_phase2_setState(this, 0xF); } break; case 15: - if (fight_func_80386BEC(this, 9.0f)) { + if (chfinalboss_func_80386BEC(this, 9.0f)) { chfinalboss_phase2_setState(this, 0x10); } break; case 16: - fight_func_80386BEC(this, 3.0f); - fight_func_80387340(this, 1.3f); + chfinalboss_func_80386BEC(this, 3.0f); + chfinalboss_func_80387340(this, 1.3f); if (actor_animationIsAt(this, 0.9999f)) { chfinalboss_phase2_setState(this, 0x12); local->unk3++; @@ -1223,19 +1144,19 @@ void chfinalboss_phase2_update(ActorMarker *marker) { } break; case 17: - fight_func_80386BEC(this, 3.0f); - func_803873DC(this, 1200.0f, 2400.0f); + chfinalboss_func_80386BEC(this, 3.0f); + chfinalboss_func_803873DC(this, 1200.0f, 2400.0f); if (actor_animationIsAt(this, 0.9999f)) { - chfinalboss_setPhase(this->marker, 3); + chfinalboss_setPhase(this->marker, FINALBOSS_PHASE_3_FLIGHT); } break; case 18: - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); if (this->lifetime_value > 0.0) { this->lifetime_value = this->lifetime_value - sp4C; break; } - if (fight_func_80386BEC(this, 3.0f)) { + if (chfinalboss_func_80386BEC(this, 3.0f)) { chfinalboss_phase2_setState(this, 0x10); } break; @@ -1253,48 +1174,48 @@ void chfinalboss_phase2_update(ActorMarker *marker) { } else{ chfinalboss_phase2_setState(this, 0xE); - func_803880A0(this, 2000.0f); + chfinalboss_func_803880A0(this, 2000.0f); } } break; } } -void __chfinalboss_spawnStatue(enum bossjinjo_e statue_id) { +void __chfinalboss_spawnStatue(enum ch_bossjinjo_e statue_id) { s32 pad24_A; f32* D_80392750_ptr = &D_80392750; Actor *sp1C; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; - local = (ActorLocal_fight_180 *)&actorArray_findActorFromActorId(ACTOR_38B_GRUNTILDA_FINAL_BOSS)->local; + local = (ActorLocal_FinalBoss *)&actorArray_findActorFromActorId(ACTOR_38B_GRUNTILDA_FINAL_BOSS)->local; switch (statue_id) { - case BOSSJINJO_ORANGE: + case BOSSJINJO_1_ORANGE: sp1C = actor_spawnWithYaw_f32(ACTOR_3A2_JINJO_STATUE_BASE, D_80391768, 135); __chFinalBossJinjoStatueMarker[0] = sp1C->marker; break; - case BOSSJINJO_GREEN: + case BOSSJINJO_2_GREEN: sp1C = actor_spawnWithYaw_f32(ACTOR_3A2_JINJO_STATUE_BASE, D_80391774, 45); __chFinalBossJinjoStatueMarker[1] = sp1C->marker; break; - case BOSSJINJO_PINK: + case BOSSJINJO_3_PINK: sp1C = actor_spawnWithYaw_f32(ACTOR_3A2_JINJO_STATUE_BASE, D_80391780, 315); __chFinalBossJinjoStatueMarker[2] = sp1C->marker; break; - case BOSSJINJO_YELLOW: + case BOSSJINJO_4_YELLOW: sp1C = actor_spawnWithYaw_f32(ACTOR_3A2_JINJO_STATUE_BASE, D_8039178C, 225); __chFinalBossJinjoStatueMarker[3] = sp1C->marker; break; - case BOSSJINJO_JINJONATOR: + case BOSSJINJO_5_JINJONATOR: *D_80392750_ptr = ((local->mirror_phase5) ? 0.0f : 180.0f); sp1C = actor_spawnWithYaw_f32(ACTOR_3A9_JINJONATOR_STATUE_BASE, D_80391798, (s32)*D_80392750_ptr); break; } - sp1C->lifetime_value = (statue_id == BOSSJINJO_JINJONATOR) ? 5.25f : 1.54f; + sp1C->lifetime_value = (statue_id == BOSSJINJO_5_JINJONATOR) ? 5.25f : 1.54f; sp1C->unkF4_8 = statue_id; } @@ -1320,14 +1241,14 @@ void chfinalboss_phase3_endTextCallback(ActorMarker *marker, enum asset_e text_i actor = marker_getActor(marker); ncStaticCamera_exit(); func_80324E38(0, 0); - chfinalboss_setPhase(actor->marker, 4); + chfinalboss_setPhase(actor->marker, FINALBOSS_PHASE_4_JINJOS); } void chfinalboss_phase3_setState(Actor *this, s32 arg1) { - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; s32 i; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; local->phase = 3; subaddie_set_state_with_direction(this, arg1, 0.0001f, 1); switch (arg1) { @@ -1351,7 +1272,7 @@ void chfinalboss_phase3_setState(Actor *this, s32 arg1) { FUNC_8030E8B4(SFX_131_GRUNTY_WEEEGH, 1.0f, 32000, this->position, 5000, 12000); break; case 26: - fight_func_80386CF8(this); + chfinalboss_func_80386CF8(this); func_80324E38(0.0f, 1); gcdialog_showText(randi2(0, 5) + 0x112C, 0xA8, NULL, this->marker, chfinalboss_phase3_endTextCallback, NULL); break; @@ -1364,7 +1285,7 @@ void chfinalboss_dropHealth(ActorMarker *marker) { void chfinalboss_phase3_update(ActorMarker *marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp3C; s32 sp38; f32 sp34; @@ -1375,13 +1296,13 @@ void chfinalboss_phase3_update(ActorMarker *marker) { u8 temp_v0_2; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp3C = time_getDelta(); sp38 = local->hits; sp34 = animctrl_getAnimTimer(this->animctrl); switch (this->state) { case 21: - func_803869BC(this); + chfinalboss_spawnBroomstickGlowParticles(this); this->lifetime_value -= sp3C; if (this->lifetime_value < 0.0) { if (local->unkA) { @@ -1393,7 +1314,7 @@ void chfinalboss_phase3_update(ActorMarker *marker) { local->unkA = NOT(local->unkA); break; } - if (func_80387470(this, this->unk1C, D_803917A4[sp38], D_803917A4[sp38], 120.0f, 520.0f, 350.0f)) { + if (chfinalboss_func_80387470(this, this->unk1C, D_803917A4[sp38], D_803917A4[sp38], 120.0f, 520.0f, 350.0f)) { chfinalboss_phase3_setState(this, 0x15); if (local->unkB == 0) { local->unkB = 1; @@ -1409,13 +1330,13 @@ void chfinalboss_phase3_update(ActorMarker *marker) { } break; case 23: - if (fight_func_80386BEC(this, 9.0f) && (func_80297C6C() != 3)) { + if (chfinalboss_func_80386BEC(this, 9.0f) && (func_80297C6C() != 3)) { chfinalboss_phase3_setState(this, 0x18); } break; case 24: - fight_func_80386BEC(this, 3.0f); - if (fight_func_80387340(this, 1.3f)) { + chfinalboss_func_80386BEC(this, 3.0f); + if (chfinalboss_func_80387340(this, 1.3f)) { local->unk3++; } if (actor_animationIsAt(this, 0.9999f)) { @@ -1441,9 +1362,9 @@ void chfinalboss_phase3_update(ActorMarker *marker) { } if ((0.1 < sp34) && (sp34 < 0.8)) { func_8034A174(this->marker->unk44, 8, D_803928B8); - func_80386934(D_803928B8, 0x716); + chfinalboss_createSingleSpriteParticle(D_803928B8, 0x716); func_8034A174(this->marker->unk44, 9, D_803928B8); - func_80386934(D_803928B8, 0x716); + chfinalboss_createSingleSpriteParticle(D_803928B8, 0x716); } if (actor_animationIsAt(this, 0.38f) ) { chfinalboss_spawnSpellBarrier(this->marker); @@ -1460,13 +1381,13 @@ void chfinalboss_phase3_update(ActorMarker *marker) { } -void func_80389F54(void) { +void chfinalboss_func_80389F54(void) { fileProgressFlag_set(FILEPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT, TRUE); - D_803927C4 = (u8)0; + sFinalBossJinjoStatueActivated = (u8)0; } void chfinalboss_phase4_setState(Actor *this, s32 arg1) { - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp48; f32 sp3C[3]; // TODO this union is only needed to avoid making D_803928C4 a function static. @@ -1478,7 +1399,7 @@ void chfinalboss_phase4_setState(Actor *this, s32 arg1) { s32 *D_803928C4_ptr; } iter; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp48 = animctrl_getAnimTimer(this->animctrl); local->phase = 4; subaddie_set_state_with_direction(this, arg1, 0.0001f, 1); @@ -1493,25 +1414,25 @@ void chfinalboss_phase4_setState(Actor *this, s32 arg1) { case 30: if ((local->unk3 == 2) && (local->unkA == 0)) { iter.D_803928C4_ptr = &D_803928C4; - D_803927C8 = 1; + chFinalBossJinjoSpawned = TRUE; gcdialog_showText(randi2(0, 5) + 0x1136, 4, NULL, NULL, NULL, NULL); if ( !fileProgressFlag_get(FILEPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT) ) { local->unkA = 1U; - D_803927C4 = 1; + sFinalBossJinjoStatueActivated = 1; func_80324E38(0.0f, 1); - timedFunc_set_1(0.0f, chfinalboss_spawnStatue, BOSSJINJO_ORANGE); + timedFunc_set_1(0.0f, chfinalboss_spawnStatue, BOSSJINJO_1_ORANGE); timed_setStaticCameraToNode(0.0f, 4); timed_exitStaticCamera(2.2f); - timedFunc_set_1(2.2f, chfinalboss_spawnStatue, BOSSJINJO_GREEN); + timedFunc_set_1(2.2f, chfinalboss_spawnStatue, BOSSJINJO_2_GREEN); timed_setStaticCameraToNode(2.2f, 5); timed_exitStaticCamera(4.4f); - timedFunc_set_1(4.4f, chfinalboss_spawnStatue, BOSSJINJO_PINK); + timedFunc_set_1(4.4f, chfinalboss_spawnStatue, BOSSJINJO_3_PINK); timed_setStaticCameraToNode(4.4f, 6); timed_exitStaticCamera(6.6f); - timedFunc_set_1(6.6f, chfinalboss_spawnStatue, BOSSJINJO_YELLOW); + timedFunc_set_1(6.6f, chfinalboss_spawnStatue, BOSSJINJO_4_YELLOW); timed_setStaticCameraToNode(6.6f, 7); timed_exitStaticCamera(8.8f); - timedFunc_set_0(8.8f, func_80389F54); + timedFunc_set_0(8.8f, chfinalboss_func_80389F54); func_80324E38(8.8f, 0); break; } @@ -1531,11 +1452,11 @@ void chfinalboss_phase4_setState(Actor *this, s32 arg1) { timed_playSfx(0.6f, SFX_61_CARTOONY_FALL, 1.0f, 32000); SPAWNQUEUE_ADD_1(__chfinalboss_dropHealth, this->marker); FUNC_8030E624(SFX_D9_WOODEN_CRATE_BREAKING_1, 1.0f, 32000); - func_80386628(this->marker, 0); - chfinalboss_spawnBroomstickParticles(this->position, ASSET_552_MODEL_BROOMSTICK_PIECE_HEAD, 1); - chfinalboss_spawnBroomstickParticles(this->position, ASSET_553_MODEL_BROOMSTICK_PIECE_SHORT, 12); - chfinalboss_spawnBroomstickParticles(this->position, ASSET_554_MODEL_BROOMSTICK_PIECE_LONG, 20); - chfinalboss_spawnBroomstickParticles(this->position, ASSET_555_MODEL_BROOMSTICK_PIECE_EYE, 2); + chfinalboss_func_80386628(this->marker, 0); + chfinalboss_createBroomstickParticles(this->position, ASSET_552_MODEL_BROOMSTICK_PIECE_HEAD, 1); + chfinalboss_createBroomstickParticles(this->position, ASSET_553_MODEL_BROOMSTICK_PIECE_SHORT, 12); + chfinalboss_createBroomstickParticles(this->position, ASSET_554_MODEL_BROOMSTICK_PIECE_LONG, 20); + chfinalboss_createBroomstickParticles(this->position, ASSET_555_MODEL_BROOMSTICK_PIECE_EYE, 2); sp3C[0] = D_803927D0[local->mirror_phase5 + 0x11][0] - this->position[0]; sp3C[1] = D_803927D0[local->mirror_phase5 + 0x11][1] - this->position[1]; sp3C[2] = D_803927D0[local->mirror_phase5 + 0x11][2] - this->position[2]; @@ -1605,7 +1526,7 @@ ActorMarker *chfinalboss_findCollidingJinjo(Actor *this, f32 arg1) { void chfinalboss_phase4_update(ActorMarker *marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 sp74; s32 sp70; ActorMarker *sp6C; @@ -1617,7 +1538,7 @@ void chfinalboss_phase4_update(ActorMarker *marker) { u8 var_v1; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *) &this->local; + local = (ActorLocal_FinalBoss *) &this->local; sp74 = time_getDelta(); sp70 = local->hits; sp6C = chfinalboss_findCollidingJinjo(this, func_8033229C(this->marker)); @@ -1625,7 +1546,7 @@ void chfinalboss_phase4_update(ActorMarker *marker) { chbossjinjo_attack(sp6C); if (!fileProgressFlag_get(FILEPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT)) { fileProgressFlag_set(FILEPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT, TRUE); - D_803927C4 = 0; + sFinalBossJinjoStatueActivated = 0; timed_exitStaticCamera(1.0f); func_80324E38(1.0f, 0); } @@ -1649,22 +1570,22 @@ void chfinalboss_phase4_update(ActorMarker *marker) { } switch (this->state) { case 28: - func_803869BC(this); - if (func_80387470(this, this->unk1C, 500.0f, 1000.0f, 140.0f, 500.0f, 120.0f)) { + chfinalboss_spawnBroomstickGlowParticles(this); + if (chfinalboss_func_80387470(this, this->unk1C, 500.0f, 1000.0f, 140.0f, 500.0f, 120.0f)) { chfinalboss_phase4_setState(this, 0x1D); } break; case 29: - if ((fight_func_80386BEC(this, 9.0f)) && (func_80297C6C() != 3) && (D_803927C4 == 0)) { + if ((chfinalboss_func_80386BEC(this, 9.0f)) && (func_80297C6C() != 3) && (sFinalBossJinjoStatueActivated == 0)) { chfinalboss_phase4_setState(this, 0x1E); } break; case 30: - fight_func_80386BEC(this, 3.0f); - if (D_803927C4 == 0) { - fight_func_80387340(this, 1.0f); + chfinalboss_func_80386BEC(this, 3.0f); + if (sFinalBossJinjoStatueActivated == 0) { + chfinalboss_func_80387340(this, 1.0f); if (actor_animationIsAt(this, 0.9999f)) { local->unk3++; chfinalboss_phase4_setState(this, 0x1F); @@ -1676,12 +1597,12 @@ void chfinalboss_phase4_update(ActorMarker *marker) { break; case 31: - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); if (this->lifetime_value > 0.0) { this->lifetime_value -= sp74; break; } - if (fight_func_80386BEC(this, 3.0f)) { + if (chfinalboss_func_80386BEC(this, 3.0f)) { chfinalboss_phase4_setState(this, 0x1E); } break; @@ -1693,7 +1614,7 @@ void chfinalboss_phase4_update(ActorMarker *marker) { break; case 33: - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); sp5C[0] = this->position[0] + (this->velocity[0] * sp74); sp5C[1] = this->position[1] + (this->velocity[1] * sp74); sp5C[2] = this->position[2] + (this->velocity[2] * sp74); @@ -1735,7 +1656,7 @@ void chfinalboss_phase4_update(ActorMarker *marker) { else if (actor_animationIsAt(this, 0.9999f)) { timed_exitStaticCamera(0.0f); func_80324E38(0.0f, 0); - chfinalboss_setPhase(this->marker, 5); + chfinalboss_setPhase(this->marker, FINALBOSS_PHASE_5_JINJONATOR); func_8030DA44(this->unk44_31); this->unk44_31 = 0U; } @@ -1743,20 +1664,19 @@ void chfinalboss_phase4_update(ActorMarker *marker) { } } -void subaddie_set_state_with_direction(Actor *, s32, f32, s32); -void func_8038AC50(ActorMarker *arg0) { +void chfinalboss_func_8038AC50(ActorMarker *arg0) { subaddie_set_state_with_direction(marker_getActor(arg0), 0x24, 0.0001f, 1); } void chfinalboss_phase5_setState(Actor *this, s32 next_state) { - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; s32 sp28; u8 temp_v0; u8 temp_v0_2; - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; sp28 = 0x12; local->phase = 5; subaddie_set_state_with_direction(this, next_state, 0.0001f, 1); @@ -1770,12 +1690,12 @@ void chfinalboss_phase5_setState(Actor *this, s32 next_state) { timedFunc_set_1(0.0f, chfinalboss_spawnStatue, 5); timed_setStaticCameraToNode(0.0f, sp28); timed_exitStaticCamera(7.5f); - timedFunc_set_1(7.5f, (GenFunction_1)func_8038AC50, (s32) this->marker); + timedFunc_set_1(7.5f, (GenFunction_1)chfinalboss_func_8038AC50, (s32) this->marker); func_80324E38(7.5f, 0); break; case 36: - func_8038AC50(this->marker); + chfinalboss_func_8038AC50(this->marker); break; case 37: @@ -1825,18 +1745,18 @@ void chfinalboss_phase5_setState(Actor *this, s32 next_state) { } } -void func_8038AF84(ActorMarker *arg0) { +void chfinalboss_func_8038AF84(ActorMarker *arg0) { chfinalboss_phase5_setState(marker_getActor(arg0), 0x29); } -void func_8038AFB0(void) { +void chfinalboss_func_8038AFB0(void) { func_802E4078(MAP_87_CS_SPIRAL_MOUNTAIN_5, 0, 1); } void chfinalboss_phase5_update(ActorMarker *marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; f32 dt; s32 sp38; f32 sp34; @@ -1846,7 +1766,7 @@ void chfinalboss_phase5_update(ActorMarker *marker) { this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; dt = time_getDelta(); sp38 = 0x14; sp34 = animctrl_getAnimTimer(this->animctrl); @@ -1866,7 +1786,7 @@ void chfinalboss_phase5_update(ActorMarker *marker) { if (__chFinalBossJinjonatorHits == 9) { sp2C = 0x16; if(local->mirror_phase5) sp2C = 0x25; - timedFunc_set_1(2.4f, (GenFunction_1)func_8038AF84, (s32) this->marker); + timedFunc_set_1(2.4f, (GenFunction_1)chfinalboss_func_8038AF84, (s32) this->marker); timed_setStaticCameraToNode(2.4f, sp2C); timed_exitStaticCamera(4.4f); timed_setStaticCameraToNode(4.4f, sp38 + 3 + __chFinalBossJinjonatorHits); @@ -1892,22 +1812,22 @@ void chfinalboss_phase5_update(ActorMarker *marker) { } switch (this->state) { case 35: - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); break; case 36: - if (fight_func_80386BEC(this, 9.0f) && (func_80297C6C() != 3)) { + if (chfinalboss_func_80386BEC(this, 9.0f) && (func_80297C6C() != 3)) { chfinalboss_phase5_setState(this, 0x25); } break; case 37: - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); if (func_80297C6C() == 3) { chfinalboss_phase5_setState(this, 0x24); break; } - if (fight_func_80387340(this, 1.0f)) { + if (chfinalboss_func_80387340(this, 1.0f)) { local->unk3++; } if ((actor_animationIsAt(this, 0.9999f)) && (local->unk3 >= 5)) { @@ -1916,8 +1836,8 @@ void chfinalboss_phase5_update(ActorMarker *marker) { break; case 38: - fight_func_80386BEC(this, 3.0f); - func_803873DC(this, 700.0f, 2400.0f); + chfinalboss_func_80386BEC(this, 3.0f); + chfinalboss_func_803873DC(this, 700.0f, 2400.0f); if (actor_animationIsAt(this, 0.9999f)) { chfinalboss_phase5_setState(this, 0x27); this->lifetime_value = 4.0f; @@ -1926,17 +1846,17 @@ void chfinalboss_phase5_update(ActorMarker *marker) { case 39: if (local->unk8) { - func_80386C68(this, 4.5f); + chfinalboss_func_80386C68(this, 4.5f); } else { - fight_func_80386BEC(this, 3.0f); + chfinalboss_func_80386BEC(this, 3.0f); } if (this->lifetime_value > 0.0) { this->lifetime_value -= dt; break; } if (local->unk8 == 0) { - if (!D_803927C9) { - D_803927C9 = TRUE; + if (!chFinalBossJinjonatorSpawned) { + chFinalBossJinjonatorSpawned = TRUE; chfinalboss_phase5_setState(this, 0x23); } else{ @@ -1983,7 +1903,7 @@ void chfinalboss_phase5_update(ActorMarker *marker) { case 43: if ((actor_animationIsAt(this, 0.1f)) || (actor_animationIsAt(this, 0.24f))) { - chbossjinjo_spawnParticles(this, 0x718, 0x6C2, 2.0f); + chbossjinjo_spawnParticlesAtFinalBoss(this, 0x718, 0x6C2, 2.0f); } if (actor_animationIsAt(this, 0.3f)) { FUNC_8030E624(SFX_164_EH, 1.0f, 25000); @@ -2001,7 +1921,7 @@ void chfinalboss_phase5_update(ActorMarker *marker) { FUNC_8030E624(SFX_130_GRUNTY_ECHOING_CRY, 1.0f, 32000); } if (actor_animationIsAt(this, 0.85f)) { - func_803872F8(this); + chfinalboss_func_803872F8(this); } if (actor_animationIsAt(this, 0.9f)) { ncStaticCamera_exit(); @@ -2010,8 +1930,8 @@ void chfinalboss_phase5_update(ActorMarker *marker) { } else { ncStaticCamera_setPositionAndTarget(D_803917F8, this->position); } - func_8038FC2C(1); - timedFunc_set_0(4.8, func_8038AFB0); + chSpellFireball_setLastSpellFired(1); + timedFunc_set_0(4.8, chfinalboss_func_8038AFB0); } if (actor_animationIsAt(this, 0.9999f)) { marker_despawn(this->marker); @@ -2027,10 +1947,10 @@ void chfinalboss_phase0_endTextCallback(ActorMarker *marker, enum asset_e text_i func_802BE720(); timed_exitStaticCamera(0); func_8028F784(0); - chfinalboss_setPhase(sp1C->marker, 1); + chfinalboss_setPhase(sp1C->marker, FINALBOSS_PHASE_1_BROOMSTICK); } -void func_8038B780(ActorMarker *marker) { +void chfinalboss_func_8038B780(ActorMarker *marker) { Actor *sp24; sp24 = marker_getActor(marker); @@ -2043,51 +1963,60 @@ void func_8038B780(ActorMarker *marker) { } } -void chfinalboss_phase0_update(ActorMarker *marker) { return; } +void chfinalboss_phase0_update(ActorMarker *marker) { + return; +} -bool func_8038B834(ActorMarker *marker, ActorMarker * arg1) { +bool chfinalboss_func_8038B834(ActorMarker *marker, ActorMarker *other_marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; + switch (local->phase) { - case 1: - if ((this->state == 6) || (this->state == 7)) { - marker->id = 0x260; - } else { - marker->id = 0x25E; - } - break; - case 2: - if (local->unkA == 0) { - marker->id = 0x260; - } else { - marker->id = 0x281; - } - break; - case 3: - marker->id = 0x282; - break; - case 4: - marker->id = 0x283; - break; - case 5: - marker->id = 0x283; - break; - default: - marker->id = 0x25E; - break; + case FINALBOSS_PHASE_1_BROOMSTICK: + if ((this->state == 6) || (this->state == 7)) { + marker->id = 0x260; + } else { + marker->id = 0x25E; + } + break; + + case FINALBOSS_PHASE_2_AIR: + if (local->unkA == 0) { + marker->id = 0x260; + } else { + marker->id = 0x281; + } + break; + + case FINALBOSS_PHASE_3_FLIGHT: + marker->id = 0x282; + break; + + case FINALBOSS_PHASE_4_JINJOS: + marker->id = 0x283; + break; + + case FINALBOSS_PHASE_5_JINJONATOR: + marker->id = 0x283; + break; + + default: + marker->id = MARKER_25E_GRUNTILDA_FINAL_BOSS; + break; } + return TRUE; } -void func_8038B9AC(ActorMarker *marker, ActorMarker *other_marker) { +void chfinalboss_collisionPassive(ActorMarker *marker, ActorMarker *other_marker) { Actor *this; - ActorLocal_fight_180 *local; + ActorLocal_FinalBoss *local; this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; + local = (ActorLocal_FinalBoss *)&this->local; switch (local->phase) { case 1: if (local->hits == 0) { @@ -2132,39 +2061,35 @@ void func_8038B9AC(ActorMarker *marker, ActorMarker *other_marker) { } } -void func_8038BB8C(ActorMarker *marker, ActorMarker *other_marker) { - Actor *this; - ActorLocal_fight_180 *local; - u8 temp_v0_2; +void chfinalboss_collisionActive(ActorMarker *marker, ActorMarker *other_marker) { + Actor *this = marker_getActor(marker); + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *)&this->local; - this = marker_getActor(marker); - local = (ActorLocal_fight_180 *)&this->local; - if (local->phase == 1) { + if (local->phase == FINALBOSS_PHASE_1_BROOMSTICK) { func_8030E878(SFX_EA_GRUNTY_LAUGH_1, randf2(0.95f, 1.05f), 32000, this->position, 5000.0f, 12000.0f); - if (local->unk10 == 0) { - if (gcdialog_showText(randi2(0, 5) + 0x10ED, 0, NULL, NULL, NULL, NULL)) { - local->unk10++; + + if (local->player_hit_in_phase1 == 0) { + if (gcdialog_showText(randi2(0, 5) + ASSET_10ED_TEXT_FINALBOSS_PHASE_1_HIT_PLAYER_OPTION_1, 0, NULL, NULL, NULL, NULL)) { + local->player_hit_in_phase1++; } } } - if (local->phase == 3) { - temp_v0_2 = local->unk6; - if ((local->unk6 == 0) && (this->state != 0x1A)) { - local->unk6++; - gcdialog_showText(randi2(0, 5) + 0x111D, 0, NULL, NULL, NULL, NULL); + + if (local->phase == FINALBOSS_PHASE_3_FLIGHT) { + if ((local->player_hit_in_phase3 == 0) && (this->state != 0x1A)) { + local->player_hit_in_phase3++; + gcdialog_showText(randi2(0, 5) + ASSET_111D_TEXT_FINALBOSS_PHASE_2_HIT_PLAYER_OPTION_1, 0, NULL, NULL, NULL, NULL); } } } void chfinalboss_spawnShadow(ActorMarker *marker) { - Actor *sp1C; - - sp1C = marker_getActor(marker); - __chFinalBossShadowMarker = spawn_child_actor(ACTOR_3AF_GRUNTY_SHADOW, &sp1C)->marker; + Actor *actor = marker_getActor(marker); + __chFinalBossShadowMarker = spawn_child_actor(ACTOR_3AF_GRUNTY_SHADOW, &actor)->marker; } void chfinalboss_update(Actor *this){ - ActorLocal_fight_180 *local = (ActorLocal_fight_180 *) &this->local; + ActorLocal_FinalBoss *local = (ActorLocal_FinalBoss *) &this->local; s32 i; s32 tmp_s0; Actor *shadow; @@ -2172,10 +2097,10 @@ void chfinalboss_update(Actor *this){ f32 sp40[3]; f32 sp34[3]; - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; - func_803300C0(this->marker, func_8038B834); - marker_setCollisionScripts(this->marker, func_8038BB8C, func_8038B9AC, NULL); + func_803300C0(this->marker, chfinalboss_func_8038B834); + marker_setCollisionScripts(this->marker, chfinalboss_collisionActive, chfinalboss_collisionPassive, NULL); this->marker->propPtr->unk8_3 = 0; actor_collisionOn(this); for(i = 0x38C; i < 0x39F; i++){ @@ -2183,12 +2108,12 @@ void chfinalboss_update(Actor *this){ } __chFinalBossFlightPadMarker = NULL; __chFinalBossShadowMarker = NULL; - D_803927C4 = 0; + sFinalBossJinjoStatueActivated = 0; __chFinalBossSpellBarrierActive = FALSE; __chFinalBossJinjonatorHits = 0; - D_803927C7 = 0; - D_803927C8 = 0; - D_803927C9 = 0; + D_803927C7 = FALSE; + chFinalBossJinjoSpawned = FALSE; + chFinalBossJinjonatorSpawned = FALSE; local->unk8 = 0; local->unk9 = 0; @@ -2199,68 +2124,76 @@ void chfinalboss_update(Actor *this){ } __spawnQueue_add_1((GenFunction_1) chfinalboss_spawnShadow, (s32) this->marker); - chfinalboss_setPhase(this->marker, 0); + chfinalboss_setPhase(this->marker, FINALBOSS_PHASE_0_INTRO); local->hits = 0; - func_80386600(this->marker, 0); - func_80386628(this->marker, 1); - func_8038FC00(); + chfinalboss_func_80386600(this->marker, 0); + chfinalboss_func_80386628(this->marker, 1); + chSpellFireball_resetSpellHits(); - func_80386654(1.0f, fight_D_80391380, fight_D_80391390); + chfinalboss_func_80386654(1.0f, fight_D_80391380, fight_D_80391390); func_8028F784(1); func_8028F4B8(D_80391804, 2000.0f, -2800.0f); func_8028FA14(0x93, 2); func_8034C9B0(0); - func_80386698(2.0f); + chfinalboss_func_80386698(2.0f); tmp_s0 = func_802F9AA8(SFX_9A_MECHANICAL_CLOSING); func_802F9DB8(tmp_s0, 0.6f, 0.6f, 0.0f); func_802F9FD0(tmp_s0, 0.0f, 2.0f, 0.0f); func_802FA060(tmp_s0, 25000, 25000, 0); timed_playSfx(2.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 32000); }//L8038BF0C - switch(local->phase){ - case 0: + + switch(local->phase) { + case FINALBOSS_PHASE_0_INTRO: chfinalboss_phase0_update(this->marker); break; - case 1: + + case FINALBOSS_PHASE_1_BROOMSTICK: chfinalboss_phase1_update(this->marker); break; - case 2: + + case FINALBOSS_PHASE_2_AIR: chfinalboss_phase2_update(this->marker); break; - case 3: + + case FINALBOSS_PHASE_3_FLIGHT: chfinalboss_phase3_update(this->marker); break; - case 4: + + case FINALBOSS_PHASE_4_JINJOS: chfinalboss_phase4_update(this->marker); break; - case 5: + + case FINALBOSS_PHASE_5_JINJONATOR: chfinalboss_phase5_update(this->marker); break; } + volatileFlag_setN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, local->phase, 3); - player_getPosition(D_80392788); - D_80392798[0] = this->position[0]; - D_80392798[1] = this->position[1]; - D_80392798[2] = this->position[2]; + player_getPosition(chFinalBossPlayerPosition); + chFinalBossPosition[0] = this->position[0]; + chFinalBossPosition[1] = this->position[1]; + chFinalBossPosition[2] = this->position[2]; + if(this->unk100 != NULL && __chFinalBossSpellBarrierActive){ - func_8038EB90(this->unk100, this->position); + fight_setPositionWithDisplacement(this->unk100, this->position); } if(__chFinalBossShadowMarker != NULL){ shadow = marker_getActor(__chFinalBossShadowMarker); - sp4C[0] = this->position[0];\ - sp4C[1] = this->position[1];\ + sp4C[0] = this->position[0]; + sp4C[1] = this->position[1]; sp4C[2] = this->position[2]; sp4C[1] = 200.0f; - sp34[0] = this->position[0];\ - sp34[1] = this->position[1];\ + sp34[0] = this->position[0]; + sp34[1] = this->position[1]; sp34[2] = this->position[2]; sp34[1] = -50.0f; if(func_80309B48(sp4C, sp34, sp40, 0)){ sp34[1] += 6.0f; - shadow->position[0] = sp34[0];\ - shadow->position[1] = sp34[1];\ + shadow->position[0] = sp34[0]; + shadow->position[1] = sp34[1]; shadow->position[2] = sp34[2]; shadow->unk1C[0] = this->position_y - sp34[1]; shadow->scale = this->scale; @@ -2272,32 +2205,27 @@ void chfinalboss_update(Actor *this){ }//L8038C0C8 } -void fight_func_8038C0DC(f32 (*arg0)[3]) { - (*arg0)[0] = D_80392798[0]; - (*arg0)[1] = D_80392798[1]; - (*arg0)[2] = D_80392798[2]; +void chfinalboss_getPosition(f32 position[3]) { + position[0] = chFinalBossPosition[0]; + position[1] = chFinalBossPosition[1]; + position[2] = chFinalBossPosition[2]; } void chfinalboss_spellBarrierInactive() { __chFinalBossSpellBarrierActive = FALSE; } -void func_8038C10C(s32 arg0) { +void chfinalboss_func_8038C10C(s32 arg0) { chfinalboss_phase5_setState(marker_getActor((ActorMarker*)arg0), 0x28); } -void func_8038C138() { - D_803927C7 = 1; +void chfinalboss_func_8038C138() { + D_803927C7 = TRUE; } -f32 chjinjonator_80391234(); -f32 func_8038DFA0(); -void timed_exitStaticCamera(f32); -f32 chjinjonator_80391240(); - -void func_8038C148(void) { +void chfinalboss_setBossDefeated(void) { Actor *sp4C; - ActorLocal_fight_180 *sp48; + ActorLocal_FinalBoss *sp48; f32 temp_f20; f32 sp40; f32 temp_f12; @@ -2305,8 +2233,8 @@ void func_8038C148(void) { f32 sp34; sp4C = actorArray_findActorFromActorId(ACTOR_38B_GRUNTILDA_FINAL_BOSS); - sp48 = (ActorLocal_fight_180 *)&sp4C->local; - sp34 = func_8038DFA0(); + sp48 = (ActorLocal_FinalBoss *)&sp4C->local; + sp34 = chstonejinjo_getBreakUpTime(); temp_f20 = sp34 + chjinjonator_80391234(); sp40 = chjinjonator_80391240(); camera_node = 0x14; @@ -2319,34 +2247,34 @@ void func_8038C148(void) { func_80324E38(0, 1); timed_setStaticCameraToNode(0, camera_node); timed_exitStaticCamera(temp_f20); - timedFunc_set_0(temp_f20 * 0.08, &func_8038C138); + timedFunc_set_0(temp_f20 * 0.08, &chfinalboss_func_8038C138); timed_setStaticCameraToNode(temp_f20, camera_node + 1); timed_exitStaticCamera(temp_f20 + sp40); - timedFunc_set_1(temp_f20 + sp40, func_8038C10C, (s32)sp4C->marker); + timedFunc_set_1(temp_f20 + sp40, chfinalboss_func_8038C10C, (s32)sp4C->marker); timed_setStaticCameraToNode(temp_f20 + sp40, camera_node + 2); timed_exitStaticCamera(temp_f20 + sp40 + 2.88f); timed_setStaticCameraToNode(temp_f20 + sp40 + 2.88f, camera_node + 3); } -void func_8038C27C(s32 arg0) { - D_803927C4 = arg0; +void chfinalboss_setJinjoStatueActivated(bool state) { + sFinalBossJinjoStatueActivated = state; } -f32 func_8038C288() { +f32 chfinalboss_getScreamTime() { return 3.0f; } -s32 func_8038C298() { +s32 chfinalboss_func_8038C298() { return D_803927C7; } -s32 func_8038C2A4() { - return D_803927C8; +bool chfinalboss_isJinjoSpawned() { + return chFinalBossJinjoSpawned; } -s32 func_8038C2B0() { - return D_803927C9; +bool chfinalboss_isJinjonatorSpawned() { + return chFinalBossJinjonatorSpawned; } diff --git a/src/fight/chgreenblast.c b/src/fight/chgreenblast.c index 9821a476..4cefedf8 100644 --- a/src/fight/chgreenblast.c +++ b/src/fight/chgreenblast.c @@ -3,20 +3,9 @@ #include "variables.h" #include "fight.h" -extern void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]); -extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32); extern Actor *func_80325CAC(ActorMarker *, Gfx **, Mtx **, Vtx**); -void chGreenBlast_update(Actor *this); -Actor *chGreenBlast_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3); - -/* .data */ -ActorInfo chGreenBlast = { - MARKER_25D_GREEN_BLAST, ACTOR_38A_GREEN_BLAST, ASSET_6C7_GREEN_BLAST, - 0x1, NULL, - chGreenBlast_update, func_80326224, chGreenBlast_draw, - 0, 0, 1.0f, 0 -}; +ActorInfo chGreenBlast = { MARKER_25D_GREEN_BLAST, ACTOR_38A_GREEN_BLAST, ASSET_6C7_GREEN_BLAST, 1, NULL, chGreenBlast_update, actor_update_func_80326224, chGreenBlast_draw, 0, 0, 1.0f, 0 }; f32 D_80391DE4[4] = {0.6f, 1.0f, 1.0f, 1.0f}; f32 D_80391DF4[4] = {0.3f, 0.3f, 0.3f, 1.0f}; @@ -48,19 +37,18 @@ f32 chGreenBlastSparklesScaleRange[4] = {0.15f, 0.3f, 0.0f, 0.0f}; f32 chGreenBlastSparklesLifetimeRange[4] = {0.0f, 0.01f, 0.7f, 0.8f}; f32 chGreenBlastSparklesFade[2] = {0.0f, 0.65f}; -/* .code */ -Actor *chGreenBlast_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){ +Actor *chGreenBlast_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *actor = marker_getActor(marker); func_80344C2C(1); - return func_80325CAC(marker, gdl, mptr, arg3); + return func_80325CAC(marker, gfx, mtx, vtx); } -void func_8038FC88(void){ - func_80386654(1.0f, &D_80391DF4, &D_80391DE4); +void chGreenBlast_func_8038FC88(void){ + chfinalboss_func_80386654(1.0f, D_80391DF4, D_80391DE4); } -void func_8038FCBC(void){ - func_80386654(1.0f, &D_80391DE4, &D_80391DF4); +void chGreenBlast_func_8038FCBC(void){ + chfinalboss_func_80386654(1.0f, D_80391DE4, D_80391DF4); } void chGreenBlast_collisionDie(ActorMarker *marker, ActorMarker *other_marker){ @@ -73,30 +61,18 @@ void chGreenBlast_collisionDie(ActorMarker *marker, ActorMarker *other_marker){ explosion_position[1] += 160.0f; FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor->position, 1000, 3500); - timedFunc_set_0(0.0f, func_8038FC88); - timedFunc_set_0(0.3f, func_8038FCBC); + timedFunc_set_0(0.0f, chGreenBlast_func_8038FC88); + timedFunc_set_0(0.3f, chGreenBlast_func_8038FCBC); - chSpellFireball_emitSparkles(actor->position, 4, ASSET_710_SPRITE_SPARKLE_PURPLE, - chGreenBlastDieSparklesPositionRange, chGreenBlastDieSparklesAccelerationRange, chGreenBlastDieSparklesVelocityRange, - chGreenBlastDieSparklesScaleRange, chGreenBlastDieSparklesLifetimeRange, chGreenBlastDieSparklesFade - ); - - chSpellFireball_emitSparkles(actor->position, 4, ASSET_711_SPRITE_SPARKLE_DARK_BLUE, - chGreenBlastDieSparklesPositionRange, chGreenBlastDieSparklesAccelerationRange, chGreenBlastDieSparklesVelocityRange, - chGreenBlastDieSparklesScaleRange, chGreenBlastDieSparklesLifetimeRange, chGreenBlastDieSparklesFade - ); - - chSpellFireball_emitSmoke(actor->position, 3, chGreenBlastSmokeLifetime); - - chSpellFireball_emitExplosion(&explosion_position, 0x6C8, 3, - chGreenBlastExplosionStartFrameRange, chGreenBlastExplosionPositionRange, - chGreenBlastExplosionScaleRange, chGreenBlastExplosionLifetimeRange, chGreenBlastExplosionFade - ); + fight_createSpriteParticles(actor->position, 4, ASSET_710_SPRITE_SPARKLE_PURPLE, chGreenBlastDieSparklesPositionRange, chGreenBlastDieSparklesAccelerationRange, chGreenBlastDieSparklesVelocityRange, chGreenBlastDieSparklesScaleRange, chGreenBlastDieSparklesLifetimeRange, chGreenBlastDieSparklesFade); + fight_createSpriteParticles(actor->position, 4, ASSET_711_SPRITE_SPARKLE_DARK_BLUE, chGreenBlastDieSparklesPositionRange, chGreenBlastDieSparklesAccelerationRange, chGreenBlastDieSparklesVelocityRange, chGreenBlastDieSparklesScaleRange, chGreenBlastDieSparklesLifetimeRange, chGreenBlastDieSparklesFade); + fight_createSmokeParticles(actor->position, 3, chGreenBlastSmokeLifetime); + fight_createAnimatedSpriteParticles(explosion_position, 0x6C8, 3, chGreenBlastExplosionStartFrameRange, chGreenBlastExplosionPositionRange, chGreenBlastExplosionScaleRange, chGreenBlastExplosionLifetimeRange, chGreenBlastExplosionFade); marker_despawn(actor->marker); } -void chGreenBlast_update(Actor *this){ +void chGreenBlast_update(Actor *this) { f32 delta_time = time_getDelta(); f32 target_position[3]; @@ -113,42 +89,33 @@ void chGreenBlast_update(Actor *this){ if (globalTimer_getTime() % 4 == 1) { if (randf() < 0.5) { - chSpellFireball_emitSparkles(this->position, 4, ASSET_718_SPRITE_SPARKLE_WHITE_2, - chGreenBlastSparklesPositionRange, chGreenBlastSparklesAccelerationRange, chGreenBlastSparklesVelocityRange, - chGreenBlastSparklesScaleRange, chGreenBlastSparklesLifetimeRange, chGreenBlastSparklesFade - ); - } - else { - chSpellFireball_emitSparkles(this->position, 4, ASSET_719_SPRITE_SPARKLE_GREEN_2, - chGreenBlastSparklesPositionRange, chGreenBlastSparklesAccelerationRange, chGreenBlastSparklesVelocityRange, - chGreenBlastSparklesScaleRange, chGreenBlastSparklesLifetimeRange, chGreenBlastSparklesFade - ); + fight_createSpriteParticles(this->position, 4, ASSET_718_SPRITE_SPARKLE_WHITE_2, chGreenBlastSparklesPositionRange, chGreenBlastSparklesAccelerationRange, chGreenBlastSparklesVelocityRange, chGreenBlastSparklesScaleRange, chGreenBlastSparklesLifetimeRange, chGreenBlastSparklesFade); + } else { + fight_createSpriteParticles(this->position, 4, ASSET_719_SPRITE_SPARKLE_GREEN_2, chGreenBlastSparklesPositionRange, chGreenBlastSparklesAccelerationRange, chGreenBlastSparklesVelocityRange, chGreenBlastSparklesScaleRange, chGreenBlastSparklesLifetimeRange, chGreenBlastSparklesFade); } } player_getPosition(target_position); target_position[1] += 50.0f; - func_80387470(this, target_position, this->unk1C[0], this->unk1C[1], 0.0f, 1400.0f, 70.0f); + chfinalboss_func_80387470(this, target_position, this->unk1C[0], this->unk1C[1], 0.0f, 1400.0f, 70.0f); if (func_8028F25C()) { chGreenBlast_collisionDie(this->marker, 0); - } - else { - if(0.0 <= this->lifetime_value) { + } else { + if (0.0 <= this->lifetime_value) { this->lifetime_value -= delta_time; - } - else { + } else { chGreenBlast_collisionDie(this->marker, 0); } } } -void fight_func_803900DC(ActorMarker *marker, f32 (*arg1)[3], f32 arg2, f32 arg3){ +void chGreenBlast_func_803900DC(ActorMarker *marker, f32 position[3], f32 arg2, f32 arg3) { Actor *actor = marker_getActor(marker); - actor->position_x = (*arg1)[0]; - actor->position_y = (*arg1)[1]; - actor->position_z = (*arg1)[2]; + actor->position_x = position[0]; + actor->position_y = position[1]; + actor->position_z = position[2]; actor->unk1C[0] = arg2; actor->unk1C[1] = arg3; } diff --git a/src/fight/chjinjonator.c b/src/fight/chjinjonator.c index 29afc50a..733844a5 100644 --- a/src/fight/chjinjonator.c +++ b/src/fight/chjinjonator.c @@ -3,33 +3,22 @@ #include "variables.h" #include "fight.h" -extern f32 func_8038C288(void); -extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32); extern void func_80324CFC(f32, s32, s32); extern void func_802F9E44(s32, f32, f32, f32, f32); -extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32); -extern void fight_func_8038C0DC(f32[3]); -extern void chbossjinjo_spawnParticles(Actor *, enum asset_e, enum asset_e, f32); +typedef struct { + f32 velocity_move_up; + f32 boss_scream_time; + f32 position_finalboss[3]; + f32 sfx_volume; + f32 sfx_volume_adjust; + f32 boss_claw_sfx_volume; + s32 final_attack_countdown; + s32 hit_count; + s32 attack_timer; +} ActorLocal_Jinjonator; -typedef struct{ - f32 unk0; - f32 unk4; - f32 unk8[3]; - f32 unk14; - f32 unk18; - f32 unk1C; - s32 unk20; - s32 unk24; - s32 unk28; -}ActorLocal_fight_9850; - -void chjinjonator_update(Actor *this); - -/* .data */ - -//BBC0 -ActorAnimationInfo D_80391FB0[] = { +ActorAnimationInfo chJinjonatorAnimationInfo[] = { {0x000, 00000000}, {0x275, 1000000.0f}, {0x275, 3.3f}, @@ -45,15 +34,10 @@ ActorAnimationInfo D_80391FB0[] = { {0x280, 0.4f} }; -ActorInfo chJinjonator = { - MARKER_285_JINJONATOR, ACTOR_3AC_JINJONATOR, ASSET_551_MODEL_JINJONATOR, - 0x1, D_80391FB0, - chjinjonator_update, func_80326224, actor_draw, - 0, 0, 1.0f, 0 -}; +ActorInfo chJinjonator = { MARKER_285_JINJONATOR, ACTOR_3AC_JINJONATOR, ASSET_551_MODEL_JINJONATOR, 1, chJinjonatorAnimationInfo, chjinjonator_update, actor_update_func_80326224, actor_draw, 0, 0, 1.0f, 0 }; -s32 D_8039203C[] = {0xDC, 0x96, 0x82, 0xB4, 0xD2, 0xAA, 0xC8, 0x96, 0xB4}; -s32 D_80392060[] = { +s32 chJinjonatorHitYawValue[] = { 220, 150, 130, 180, 210, 170, 200, 150, 180 }; +s32 chJinjonatorHitSounds[] = { COMUSIC_9A_JINJONATOR_HITS_GRUNTY_A, COMUSIC_9B_JINJONATOR_HITS_GRUNTY_B, COMUSIC_9C_JINJONATOR_HITS_GRUNTY_C, @@ -65,199 +49,207 @@ s32 D_80392060[] = { COMUSIC_A2_JINJONATOR_HITS_GRUNTY_I }; -/* .bss */ f32 D_80392920[3]; -/* .code */ -void chjinjonator_80390130(f32 position[3], int count, enum asset_e sprite_id){ - ParticleEmitter *s0 = partEmitMgr_newEmitter(count); - particleEmitter_setSprite(s0, sprite_id); - particleEmitter_setStartingFrameRange(s0, 1, 6); - particleEmitter_setPosition(s0, position); - particleEmitter_setParticleAccelerationRange(s0, 0.0f, -200.0f, 0.0f, 0.0f, -200.0f, 0.0f); - particleEmitter_setParticleVelocityRange(s0, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); - particleEmitter_setStartingScaleRange(s0, 0.5f, 0.65f); - particleEmitter_setFinalScaleRange(s0, 0.0f, 0.0f); - particleEmitter_setSpawnIntervalRange(s0, 0.0f, 0.01f); - particleEmitter_setParticleLifeTimeRange(s0, 0.65f, 0.85f); - particleEmitter_setFade(s0, 0.0f, 0.35f); - func_802EFA78(s0, 1); - particleEmitter_setDrawMode(s0, 4); - particleEmitter_emitN(s0, count); +void chjinjonator_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, sprite_id); + particleEmitter_setStartingFrameRange(pCtrl, 1, 6); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setAccelerationRange(pCtrl, 0.0f, -200.0f, 0.0f, 0.0f, -200.0f, 0.0f); + particleEmitter_setParticleVelocityRange(pCtrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); + particleEmitter_setStartingScaleRange(pCtrl, 0.5f, 0.65f); + particleEmitter_setFinalScaleRange(pCtrl, 0.0f, 0.0f); + particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.65f, 0.85f); + particleEmitter_setFade(pCtrl, 0.0f, 0.35f); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_emitN(pCtrl, count); } -void chjinjonator_80390278(Actor *this){ - f32 sp34[3]; +void chjinjonator_spawnSparkleParticles(Actor *this) { + f32 position[3]; int i; - for(i = 0; i < 4; i++){ - if(randf() < 0.3){ - func_8034A174(this->marker->unk44, i + 5, sp34); - chjinjonator_80390130(sp34, 1, ASSET_718_SPRITE_SPARKLE_WHITE_2); + + for (i = 0; i < 4; i++) { + if (randf() < 0.3) { + func_8034A174(this->marker->unk44, i + 5, position); + chjinjonator_createSpriteParticles(position, 1, ASSET_718_SPRITE_SPARKLE_WHITE_2); } } } -void chjinjonator_spawnAttackParticles(Actor *this, s32 arg1){ - s32 sp1C; - s32 sp18; +void chjinjonator_spawnAttackParticles(Actor *this, s32 hit_id){ + s32 sparkle_sprite_id; + s32 smoke_sprite_id; - switch(arg1){ + switch (hit_id) { case 1: case 5: - sp1C = ASSET_71B_SPRITE_SPARKLE_ORANGE_2; - sp18 = ASSET_6C5_SPRITE_SMOKE_ORANGE; + sparkle_sprite_id = ASSET_71B_SPRITE_SPARKLE_ORANGE_2; + smoke_sprite_id = ASSET_6C5_SPRITE_SMOKE_ORANGE; break; + case 2: case 6: - sp1C = ASSET_719_SPRITE_SPARKLE_GREEN_2; - sp18 = ASSET_6C3_SPRITE_SMOKE_GREEN; + sparkle_sprite_id = ASSET_719_SPRITE_SPARKLE_GREEN_2; + smoke_sprite_id = ASSET_6C3_SPRITE_SMOKE_GREEN; break; + case 3: case 7: - sp1C = ASSET_71A_SPRITE_SPARKLE_PINK_2; - sp18 = ASSET_6C6_SPRITE_SMOKE_PINK; + sparkle_sprite_id = ASSET_71A_SPRITE_SPARKLE_PINK_2; + smoke_sprite_id = ASSET_6C6_SPRITE_SMOKE_PINK; break; + case 4: case 8: - sp1C = ASSET_717_SPRITE_SPARKLE_YELLOW_2; - sp18 = ASSET_6C4_SPRITE_SMOKE_YELLOW; + sparkle_sprite_id = ASSET_717_SPRITE_SPARKLE_YELLOW_2; + smoke_sprite_id = ASSET_6C4_SPRITE_SMOKE_YELLOW; break; + case 9: case 10: - sp1C = ASSET_718_SPRITE_SPARKLE_WHITE_2; - sp18 = ASSET_6C2_SPRITE_SMOKE_WHITE; + sparkle_sprite_id = ASSET_718_SPRITE_SPARKLE_WHITE_2; + smoke_sprite_id = ASSET_6C2_SPRITE_SMOKE_WHITE; break; } - chbossjinjo_spawnParticles(this, sp1C, sp18, 2.0f); + chbossjinjo_spawnParticlesAtFinalBoss(this, sparkle_sprite_id, smoke_sprite_id, 2.0f); } -void chjinjonator_803903C4(Actor *this){ +void chjinjonator_803903C4(Actor *this) { animctrl_setSmoothTransition(this->animctrl, FALSE); - subaddie_set_state_with_direction(this, 7, 0.001f, 1); + subaddie_set_state_with_direction(this, JINJONATOR_STATE_7_ATTACK_END, 0.001f, 1); actor_loopAnimation(this); } -void chjinjonator_8039040C(Actor *this){ - ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local; +void chjinjonator_8039040C(Actor *this) { + ActorLocal_Jinjonator *local = (ActorLocal_Jinjonator *) &this->local; f32 tick = time_getDelta(); - local->unk14 = MIN(1.99, local->unk14 + local->unk18*tick); - sfxsource_playSfxAtVolume(this->unk44_31, local->unk14); - if(func_8030E3FC(this->unk44_31) == 0) + local->sfx_volume = MIN(1.99, local->sfx_volume + local->sfx_volume_adjust * tick); + sfxsource_playSfxAtVolume(this->unk44_31, local->sfx_volume); + + if (func_8030E3FC(this->unk44_31) == 0) func_8030E2C4(this->unk44_31); } void chjinjonator_update(Actor *this){ - ActorLocal_fight_9850 *local = (ActorLocal_fight_9850 *)&this->local; - f32 sp58; - f32 sp54; + ActorLocal_Jinjonator *local = (ActorLocal_Jinjonator *) &this->local; + f32 time_delta = time_getDelta(); + f32 sp54 = animctrl_getDuration(this->animctrl); f32 sp50; s32 sp4C; f32 sp48; - - sp58 = time_getDelta(); - sp54 = animctrl_getDuration(this->animctrl); - - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; - local->unk18 = 0.40000000000000013 / (this->lifetime_value + 3.3); - local->unk14 = 0.7f; + local->sfx_volume_adjust = 0.40000000000000013 / (this->lifetime_value + 3.3); + local->sfx_volume = 0.7f; func_8025A6EC(JINGLE_MENACING_GRUNTILDA_B, 20000); func_8025A58C(0, 0x7fff); this->unk44_31 = func_8030ED2C(SFX_17A_SHIPHORN, 3); sfxsource_setSampleRate(this->unk44_31, 25000); - sfxsource_playSfxAtVolume(this->unk44_31, local->unk14); + sfxsource_playSfxAtVolume(this->unk44_31, local->sfx_volume); func_8030E2C4(this->unk44_31); - local->unk28 = 0xC; - }//L80390574 + local->attack_timer = 12; + } - if(0.0 < local->unk4){ - local->unk4 -= sp58; + if (0.0 < local->boss_scream_time) { + local->boss_scream_time -= time_delta; return; } - - - switch(this->state){ - case 1: //803905D4 + + switch (this->state) { + case JINJONATOR_STATE_1_RELEASE: chjinjonator_8039040C(this); animctrl_setAnimTimer(this->animctrl, 0.0f); - this->lifetime_value -= sp58; - if(this->lifetime_value < 0.0){ - subaddie_set_state_with_direction(this, 2, 0.001f, 1); + this->lifetime_value -= time_delta; + + if (this->lifetime_value < 0.0) { + subaddie_set_state_with_direction(this, JINJONATOR_STATE_2_WAKE_UP, 0.001f, 1); actor_playAnimationOnce(this); } + break; - case 2: //80390648 + case JINJONATOR_STATE_2_WAKE_UP: chjinjonator_8039040C(this); - if(actor_animationIsAt(this, 0.27f)) + + if (actor_animationIsAt(this, 0.27f)) FUNC_8030E624(SFX_D0_GRIMLET_SQUEAK, 0.7f, 29000); - if(actor_animationIsAt(this, 0.44f)){ + if (actor_animationIsAt(this, 0.44f)) { FUNC_8030E624(SFX_176_JINJONATOR_JINJOOO_1, 1.0f, 25000); timed_playSfx(0.66f, SFX_176_JINJONATOR_JINJOOO_1, 0.9f, 25000); } - if(actor_animationIsAt(this, 0.999f)){ - subaddie_set_state_with_direction(this, 3, 0.001f, 1); + if (actor_animationIsAt(this, 0.999f)) { + subaddie_set_state_with_direction(this, JINJONATOR_STATE_3_MOVE_UPWARD, 0.001f, 1); actor_playAnimationOnce(this); func_8030E394(this->unk44_31); func_8030DA44(this->unk44_31); this->unk44_31 = 0; - local->unk0 = (320.0f - this->position_y) * 0.5; + local->velocity_move_up = (320.0f - this->position_y) * 0.5; func_80324CFC(0.0f, COMUSIC_8C_JINJONATOR_POWERUP, 32000); } + break; - case 3: //8039073C - chjinjonator_80390278(this); - if(this->position_y < 320.0f){ - this->position_y = MIN(320.0f, this->position_y + local->unk0*sp58); - }//L803907A0 + case JINJONATOR_STATE_3_MOVE_UPWARD: + chjinjonator_spawnSparkleParticles(this); - if(320.0f == this->position_y){ - subaddie_set_state_with_direction(this, 4, 0.001f, 1); - actor_loopAnimation(this); - local->unk4 = func_8038C288(); + if (this->position_y < 320.0f) { + this->position_y = MIN(320.0f, this->position_y + local->velocity_move_up * time_delta); } + + if (320.0f == this->position_y) { + subaddie_set_state_with_direction(this, JINJONATOR_STATE_4_PREPARE_SPIN_UP, 0.001f, 1); + actor_loopAnimation(this); + local->boss_scream_time = chfinalboss_getScreamTime(); + } + break; - case 4: //803907D4 - chjinjonator_80390278(this); - subaddie_set_state_with_direction(this, 5, 0.001f, 1); + case JINJONATOR_STATE_4_PREPARE_SPIN_UP: + chjinjonator_spawnSparkleParticles(this); + subaddie_set_state_with_direction(this, JINJONATOR_STATE_5_SPIN_UP, 0.001f, 1); actor_playAnimationOnce(this); break; - case 5: //80390804 - chjinjonator_80390278(this); - if(actor_animationIsAt(this, 0.998f)){ + case JINJONATOR_STATE_5_SPIN_UP: + chjinjonator_spawnSparkleParticles(this); + + if (actor_animationIsAt(this, 0.998f)) { animctrl_setSmoothTransition(this->animctrl, FALSE); - subaddie_set_state_with_direction(this, 6, 0.0001f, 1); + subaddie_set_state_with_direction(this, JINJONATOR_STATE_6_ATTACK, 0.0001f, 1); actor_loopAnimation(this); - if(this->unk44_31 == 0){ - local->unk18 = 0.1f; - local->unk14 = 0.4f; + + if (this->unk44_31 == 0) { + local->sfx_volume_adjust = 0.1f; + local->sfx_volume = 0.4f; this->unk44_31 = func_8030ED2C(0x416, 3); sfxsource_setSampleRate(this->unk44_31, 26000); - sfxsource_playSfxAtVolume(this->unk44_31, local->unk14); + sfxsource_playSfxAtVolume(this->unk44_31, local->sfx_volume); func_8030E2C4(this->unk44_31); - }//L803908AC - local->unk1C = 0.5f; + } + + local->boss_claw_sfx_volume = 0.5f; } break; - case 6: //803908BC - this->position[1] = MIN(1e+8f, this->position[1] + 80.0f*sp58); - animctrl_setDuration(this->animctrl, MAX(0.4, sp54 - (0.5*sp58))); - chjinjonator_80390278(this); + case JINJONATOR_STATE_6_ATTACK: + this->position[1] = MIN(1e+8f, this->position[1] + 80.0f * time_delta); + animctrl_setDuration(this->animctrl, MAX(0.4, sp54 - (0.5 * time_delta))); + chjinjonator_spawnSparkleParticles(this); if(actor_animationIsAt(this, 0.25f) || actor_animationIsAt(this, 0.75f)){ - FUNC_8030E624(SFX_2_CLAW_SWIPE, local->unk1C, 26000); - local->unk1C += 0.04; - }//L80390A4C + FUNC_8030E624(SFX_2_CLAW_SWIPE, local->boss_claw_sfx_volume, 26000); + local->boss_claw_sfx_volume += 0.04; + } chjinjonator_8039040C(this); if(actor_animationIsAt(this, 0.5f)){ - if(--local->unk28 <= 0){ + if(--local->attack_timer <= 0){ chjinjonator_803903C4(this); FUNC_8030E8B4(SFX_135_CARTOONY_SPRING, 1.0f, 32000, this->position, 10000, 16000); func_80324D54(0.1f, SFX_C1_BUZZBOMB_ATTACK, 0.85f, 32000, this->position, 5000.0f, 12000.0f); @@ -268,24 +260,26 @@ void chjinjonator_update(Actor *this){ } func_80324D2C(0.0f, COMUSIC_8C_JINJONATOR_POWERUP); func_8034A174(this->marker->unk44, 0x1f, this->position); - this->velocity[0] = (this->position[0] - this->unk1C[0]) / sp58; - this->velocity[1] = (this->position[1] - this->unk1C[1]) / sp58; - this->velocity[2] = (this->position[2] - this->unk1C[2]) / sp58; + this->velocity[0] = (this->position[0] - this->unk1C[0]) / time_delta; + this->velocity[1] = (this->position[1] - this->unk1C[1]) / time_delta; + this->velocity[2] = (this->position[2] - this->unk1C[2]) / time_delta; } - }//L80390B60 + } else{ func_8034A174(this->marker->unk44, 0x1f, this->unk1C); } break; - case 7: //80390B78 - sp50 = local->unk24*0.11 + 1.0; - chjinjonator_80390278(this); - fight_func_8038C0DC(local->unk8); - local->unk8[1] += 100.0f; - func_80387470(this, local->unk8, sp50*2400.0f, sp50*2400.0f*4.2, 170.0f, sp50*2500.0f, 0.0f); + + case JINJONATOR_STATE_7_ATTACK_END: + sp50 = local->hit_count*0.11 + 1.0; + chjinjonator_spawnSparkleParticles(this); + chfinalboss_getPosition(local->position_finalboss); + local->position_finalboss[1] += 100.0f; + chfinalboss_func_80387470(this, local->position_finalboss, sp50*2400.0f, sp50*2400.0f*4.2, 170.0f, sp50*2500.0f, 0.0f); break; - case 8: //80390C48 + + case JINJONATOR_STATE_8: if(actor_animationIsAt(this, 0.16f) || actor_animationIsAt(this, 0.47f)) FUNC_8030E624(SFX_2_CLAW_SWIPE, 1.0f, 28000); @@ -297,129 +291,134 @@ void chjinjonator_update(Actor *this){ this->velocity[2] = 0.0f; this->velocity[1] = 0.0f; this->velocity[0] = 0.0f; - } break; - case 9: //80390D20 - if(actor_animationIsAt(this, 0.16f) || actor_animationIsAt(this, 0.47f)) + case JINJONATOR_STATE_9_FINAL_ATTACK_POWER_UP: + if (actor_animationIsAt(this, 0.16f) || actor_animationIsAt(this, 0.47f)) { FUNC_8030E624(SFX_2_CLAW_SWIPE, 1.0f, 28000); + } - if(actor_animationIsAt(this, 0.8f)){ + if (actor_animationIsAt(this, 0.8f)) { sp4C = func_802F9AA8(SFX_141_MECHANICAL_WINCH); func_802F9F80(sp4C, 0.0f, 5.92f, 0.0f); func_802F9E44(sp4C, 0.1f, 5.92f, 0.3f, 1.0f); func_802FA060(sp4C, 32000, 32000, 0.0f); } - if(actor_animationIsAt(this, 0.999f)){ - subaddie_set_state_with_direction(this, 0xA, 0.001f, 1); + if (actor_animationIsAt(this, 0.999f)) { + subaddie_set_state_with_direction(this, JINJONATOR_STATE_10_FINAL_ATTACK_PREPARE, 0.001f, 1); actor_loopAnimation(this); - local->unk20 = 0xE; + local->final_attack_countdown = 14; } break; - case 10: //80390E1C - if(actor_animationIsAt(this, 0.999f)){ - local->unk20--; + case JINJONATOR_STATE_10_FINAL_ATTACK_PREPARE: + if (actor_animationIsAt(this, 0.999f)) { + local->final_attack_countdown--; } - if(local->unk20 == 2 && actor_animationIsAt(this, 0.1f)){ + if (local->final_attack_countdown == 2 && actor_animationIsAt(this, 0.1f)) { FUNC_8030E624(SFX_176_JINJONATOR_JINJOOO_1, 1.0f, 32000); timed_playSfx(0.66f, SFX_176_JINJONATOR_JINJOOO_1, 0.9f, 32000); - }//L80390E90 + } - if(local->unk20 <= 0){ + if (local->final_attack_countdown <= 0) { s32 text_id; - subaddie_set_state_with_direction(this, 0xB, 0.001f, 1); + subaddie_set_state_with_direction(this, JINJONATOR_STATE_11_FINAL_ATTACK, 0.001f, 1); actor_playAnimationOnce(this); func_802BB41C(0); text_id = 0x115e + randi2(0,5); gcdialog_showText(text_id, 0x20, 0, 0, 0, 0); } break; - case 11: //80390EF8 - if(actor_animationIsAt(this, 0.999f)){ + + case JINJONATOR_STATE_11_FINAL_ATTACK: + if (actor_animationIsAt(this, 0.999f)) { func_8034A174(this->marker->unk44, 0x1f, this->position); FUNC_8030E624(SFX_17B_AIRPLANE_FALLING, 1.0f, 32000); FUNC_8030E624(SFX_147_GRUNTY_SPELL_ATTACK_2, 1.0f, 32000); animctrl_setSmoothTransition(this->animctrl, 0); - subaddie_set_state_with_direction(this, 0xC, 0.001f, 1); + subaddie_set_state_with_direction(this, JINJONATOR_STATE_12_FINAL_ATTACK_END, 0.001f, 1); actor_playAnimationOnce(this); this->velocity[2] = 0.0f; this->velocity[1] = 0.0f; this->velocity[0] = 0.0f; - } + break; - case 12: //80390F7C - sp48 = local->unk24*0.11 + 1.0; - chjinjonator_80390278(this); - fight_func_8038C0DC(local->unk8); - local->unk8[1] += 100.0f; - func_80387470(this, local->unk8, sp48*2400.0f, sp48*2400.0f*4.2, 170.0f, sp48*2500.0f, 0.0f); + + case JINJONATOR_STATE_12_FINAL_ATTACK_END: + sp48 = local->hit_count * 0.11 + 1.0; + chjinjonator_spawnSparkleParticles(this); + chfinalboss_getPosition(local->position_finalboss); + local->position_finalboss[1] += 100.0f; + chfinalboss_func_80387470(this, local->position_finalboss, sp48*2400.0f, sp48*2400.0f*4.2, 170.0f, sp48*2500.0f, 0.0f); break; - }//L80391044 + } + func_8034A174(this->marker->unk44, 0x1f, D_80392920); } void chjinjonator_attack(ActorMarker *marker, s32 hit_count, bool mirrored) { - Actor *temp_s0; - ActorLocal_fight_9850 *local; + Actor *actor_jinjonator = marker_getActor(marker); + ActorLocal_Jinjonator *local = (ActorLocal_Jinjonator *) &actor_jinjonator->local; s32 pad; - - temp_s0 = marker_getActor(marker); - local = (ActorLocal_fight_9850 *)&temp_s0->local; - func_8025A6EC(D_80392060[hit_count-1], 20000); + func_8025A6EC(chJinjonatorHitSounds[hit_count - 1], 20000); - chjinjonator_spawnAttackParticles(temp_s0, hit_count); - FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, temp_s0->position, 1000, 6500); + chjinjonator_spawnAttackParticles(actor_jinjonator, hit_count); + FUNC_8030E8B4(SFX_1B_EXPLOSION_1, 1.0f, 32000, actor_jinjonator->position, 1000, 6500); - temp_s0->velocity[2] = 0.0f; - temp_s0->velocity[1] = 0.0f; - temp_s0->velocity[0] = 0.0f; + actor_jinjonator->velocity[2] = 0.0f; + actor_jinjonator->velocity[1] = 0.0f; + actor_jinjonator->velocity[0] = 0.0f; - temp_s0->yaw = (f32)D_8039203C[hit_count-1]; + actor_jinjonator->yaw = (f32)chJinjonatorHitYawValue[hit_count - 1]; if (mirrored) { - temp_s0->yaw = (f32) (temp_s0->yaw + 180.0f); + actor_jinjonator->yaw = (f32) (actor_jinjonator->yaw + 180.0f); } - local->unk24 = hit_count; - animctrl_setSmoothTransition(temp_s0->animctrl, 1); - actor_playAnimationOnce(temp_s0); - if (&D_8039203C[hit_count] >= D_80392060) { - subaddie_set_state_with_direction(temp_s0, 9, 0.001f, 1); + + local->hit_count = hit_count; + animctrl_setSmoothTransition(actor_jinjonator->animctrl, 1); + actor_playAnimationOnce(actor_jinjonator); + + if (&chJinjonatorHitYawValue[hit_count] >= chJinjonatorHitSounds) { + subaddie_set_state_with_direction(actor_jinjonator, JINJONATOR_STATE_9_FINAL_ATTACK_POWER_UP, 0.001f, 1); return; } - subaddie_set_state_with_direction(temp_s0, 8, 0.001f, 1); - animctrl_setDuration(temp_s0->animctrl, (f32) (1.75 - 0.11 * local->unk24)); + + subaddie_set_state_with_direction(actor_jinjonator, JINJONATOR_STATE_8, 0.001f, 1); + animctrl_setDuration(actor_jinjonator->animctrl, (f32) (1.75 - 0.11 * local->hit_count)); } -void chjinjonator_finalAttack(ActorMarker *marker){ +void chjinjonator_finalAttack(ActorMarker *marker) { Actor *actor = marker_getActor(marker); - chjinjonator_spawnAttackParticles(actor, 0xa); + chjinjonator_spawnAttackParticles(actor, 10); marker_despawn(actor->marker); } -f32 chjinjonator_80391234(void){ +f32 chjinjonator_80391234(void) { return 3.3f; } -f32 chjinjonator_80391240(void){ +f32 chjinjonator_80391240(void) { return 2.0; } -f32 chjinjonator_80391250(void){ +f32 chjinjonator_80391250(void) { return 4.62f; } -bool chjinjonator_8039125C(ActorMarker *marker){ +bool chjinjonator_8039125C(ActorMarker *marker) { u32 state = (u32) (marker_getActor(marker))->state; - if (state == 0x7 || state == 0xC) { + + if (state == JINJONATOR_STATE_7_ATTACK_END || state == JINJONATOR_STATE_12_FINAL_ATTACK_END) { return TRUE; } + return FALSE; } diff --git a/src/fight/chjinjonatorbase.c b/src/fight/chjinjonatorbase.c index 594645ea..0a7e9f68 100644 --- a/src/fight/chjinjonatorbase.c +++ b/src/fight/chjinjonatorbase.c @@ -4,61 +4,36 @@ #include "fight.h" typedef struct { - u8 unk0[4]; -}ActorLocal_fight_7BE0; + u8 egg_hits[4]; +} ActorLocal_BossJinjonatorBase; -void chjinjonatorbase_update(Actor *); +ActorInfo chJinjonatorBase = { MARKER_27F_JINJONATOR_STATUE_BASE, ACTOR_3A9_JINJONATOR_STATUE_BASE, ASSET_544_MODEL_JINJONATOR_STATUE_BASE, 1, NULL, chjinjonatorbase_update, actor_update_func_80326224, actor_draw, 0, 2048, 0.0f, 0 }; -/* .data */ -ActorInfo chJinjonatorBase = { - MARKER_27F_JINJONATOR_STATUE_BASE, ACTOR_3A9_JINJONATOR_STATUE_BASE, ASSET_544_MODEL_JINJONATOR_STATUE_BASE, - 0x1, NULL, - chjinjonatorbase_update, func_80326224, actor_draw, - 0, 0x800, 0.0f, 0 -}; +s32 chJinjonatorBase_SmokeColor[3] = { 200, 200, 160 }; +ParticleScaleAndLifetimeRanges chJinjonatorBase_SmokeScaleAndLifetimeSettings = { {1.0f, 1.0f}, {1.7f, 2.7f}, {0.0f, 0.05f}, {2.6f, 3.4f}, 0.0f, 0.1f }; +ParticleSettingsVelocityPosition chJinjonatorBase_SmokeVelocityPositionSettings = { { {-170.0f, 0.0f, -170.0f}, {170.0f, 100.0f, 170.0f} }, { {-90.0f, 0.0f, -80.0f}, {80.0f, 60.0f, 80.0f} } }; -s32 D_80391A64[3] = {0xC8, 0xC8, 0xA0}; - -ParticleScaleAndLifetimeRanges fight_D_80391A70 = { - {1.0f, 1.0f}, - {1.7f, 2.7f}, - {0.0f, 0.05f}, - {2.6f, 3.4f}, - 0.0f, 0.1f -}; - -struct42s D_80391A98 = { - { {-170.0f, 0.0f, -170.0f}, {170.0f, 100.0f, 170.0f}}, - { {-90.0f, 0.0f, -80.0f}, - {80.0f, 60.0f, 80.0f} - } -}; - -/* .code */ void chjinjonatorbase_spawnStoneJinjo(ActorMarker *marker) { - Actor *this; - Actor *stone_jinjo; + Actor *actor_jinjonatorbase = marker_getActor(marker); + Actor *actor_stonejinjo = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &actor_jinjonatorbase); - this = marker_getActor(marker); - stone_jinjo = spawn_child_actor(ACTOR_3A1_STONE_JINJO, &this); - stone_jinjo->unkF4_8 = this->unkF4_8; - stone_jinjo->position_y = stone_jinjo->position_y + 155.0f; - this->unk100 = stone_jinjo->marker; + actor_stonejinjo->unkF4_8 = actor_jinjonatorbase->unkF4_8; + actor_stonejinjo->position_y = actor_stonejinjo->position_y + 155.0f; + actor_jinjonatorbase->unk100 = actor_stonejinjo->marker; } -void func_8038E03C(f32 arg0[3], u32 arg1) { - ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); - - particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setRGB(temp_v0, D_80391A64); - particleEmitter_setStartingFrameRange(temp_v0, 0, 7); - particleEmitter_setPosition(temp_v0, arg0); - particleEmitter_setPositionAndVelocityRanges(temp_v0, &D_80391A98); - particleEmitter_setScaleAndLifetimeRanges(temp_v0, &fight_D_80391A70); - particleEmitter_emitN(temp_v0, arg1); +void chjinjonatorbase_createSmokeParticles(f32 position[3], s32 count) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); + particleEmitter_setRGB(pCtrl, chJinjonatorBase_SmokeColor); + particleEmitter_setStartingFrameRange(pCtrl, 0, 7); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setPositionAndVelocityRanges(pCtrl, &chJinjonatorBase_SmokeVelocityPositionSettings); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &chJinjonatorBase_SmokeScaleAndLifetimeSettings); + particleEmitter_emitN(pCtrl, count); } -void func_8038E0D4(Actor *arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { +void chjinjonatorbase_func_8038E0D4(Actor *arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { s32 temp_v0 = func_8034C2C4(arg0->marker, arg1); if (temp_v0) { @@ -66,67 +41,70 @@ void func_8038E0D4(Actor *arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) { } } -void func_8038E120(ActorMarker * marker, ActorMarker *arg1){ - Actor *actor = marker_getActor(marker); - ActorLocal_fight_7BE0 * local = (ActorLocal_fight_7BE0 *)&actor->local; - int indx; - s32 remaining; - f32 pad; - +void chjinjonatorbase_getHitByEgg(ActorMarker *this, ActorMarker *other) { + Actor *actor_jinjonatorbase = marker_getActor(this); + ActorLocal_BossJinjonatorBase *local = (ActorLocal_BossJinjonatorBase *) &actor_jinjonatorbase->local; + int indx = this->unk40_31 - 1; + s32 remaining_hits; + f32 pad; - indx = marker->unk40_31 - 1; - if(actor->state != 3){ - if(local->unk0[indx]){ - local->unk0[indx]--; + if (actor_jinjonatorbase->state != CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO) { + if (local->egg_hits[indx]) { + local->egg_hits[indx]--; comusic_playTrack(COMUSIC_2B_DING_B); - if(local->unk0[indx] <= 0){ - func_8038E0D4(actor, indx + 0x19a, -100.0f, 0.0f, 1.2f); - func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, actor->position, 1000.0f, 2000.0f); + + if (local->egg_hits[indx] <= 0) { + chjinjonatorbase_func_8038E0D4(actor_jinjonatorbase, indx + 0x19a, -100.0f, 0.0f, 1.2f); + func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, actor_jinjonatorbase->position, 1000.0f, 2000.0f); } - }//L8038E210 - remaining = local->unk0[0] + local->unk0[1] + local->unk0[2] + local->unk0[3]; - if( remaining <= 0){ - func_8038C148(); - subaddie_set_state(actor, 3); - chstonejinjo_breakOpen(actor->unk100); } - }//L8038E24C + + remaining_hits = local->egg_hits[0] + local->egg_hits[1] + local->egg_hits[2] + local->egg_hits[3]; + + if (remaining_hits <= 0) { + chfinalboss_setBossDefeated(); + subaddie_set_state(actor_jinjonatorbase, CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO); + chstonejinjo_breakOpen(actor_jinjonatorbase->unk100); + } + } } -void func_8038E260(ActorMarker *arg0) { - Actor *sp24 = marker_getActor(arg0); +void chjinjonatorbase_spawnActivator(ActorMarker *marker) { + Actor *sp24 = marker_getActor(marker); func_802BB3DC(0, 18.0f, 0.92f); - __spawnQueue_add_4((GenFunction_4) spawnQueue_actor_f32, 0x3AD, *(u32 *)(&sp24->unk1C_x), *(u32 *)(&sp24->unk1C_y), *(u32 *)(&sp24->unk1C_z)); - func_8038E03C(sp24->unk1C, 0x10); + __spawnQueue_add_4((GenFunction_4) spawnQueue_actor_f32, ACTOR_3AD_JINJONATOR_STATUE_BASE_ACTIVATOR, *(u32 *)(&sp24->unk1C_x), *(u32 *)(&sp24->unk1C_y), *(u32 *)(&sp24->unk1C_z)); + chjinjonatorbase_createSmokeParticles(sp24->unk1C, 16); } -void func_8038E2CC(ActorMarker *arg0) { - func_8032BB88(marker_getActor(arg0), -1, 0x7FFF); +void chjinjonatorbase_func_8038E2CC(ActorMarker *marker) { + func_8032BB88(marker_getActor(marker), -1, 0x7FFF); } void chjinjonatorbase_update(Actor *this){ - ActorLocal_fight_7BE0 *local = (ActorLocal_fight_7BE0 *)&this->local; - f32 sp58 = time_getDelta(); - s32 temp_s1 = globalTimer_getTime() & 0xf; + ActorLocal_BossJinjonatorBase *local = (ActorLocal_BossJinjonatorBase *) &this->local; + f32 delta_time = time_getDelta(); + s32 rumbling = globalTimer_getTime() & 0x0F; s32 temp_s0; int i; - Actor *other; - f32 temp_f20; - f32 sp38[3]; - + Actor *actor_jinjonator; + f32 y_delta; + f32 position_delta[3]; marker_loadModelBin(this->marker); - if(!this->volatile_initialized){ + + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, func_8038E120, NULL); + marker_setCollisionScripts(this->marker, NULL, chjinjonatorbase_getHitByEgg, NULL); this->marker->propPtr->unk8_3 = 1; actor_collisionOn(this); - for(i = 0; i < 4; i++){ - local->unk0[i] = 5; - func_8038E0D4(this, 0x19a + i, 0.0f, -300.0f, 0.0f); + + for (i = 0; i < 4; i++) { + local->egg_hits[i] = 5; + chjinjonatorbase_func_8038E0D4(this, 0x19a + i, 0.0f, -300.0f, 0.0f); } + this->unk44_31 = sfxsource_createSfxsourceAndReturnIndex(); sfxsource_setSfxId(this->unk44_31, 0x3f9); func_8030DD14(this->unk44_31, 3); @@ -140,70 +118,70 @@ void chjinjonatorbase_update(Actor *this){ func_802FA060(temp_s0, 17000, 17000, 0.0f); func_8025A6EC(JINGLE_MENACING_GRUNTILDA_A, 15000); func_8032BB88(this, 0, 0x7fff); - timedFunc_set_1(8.0f, (GenFunction_1)func_8038E2CC, reinterpret_cast(s32,this->marker)); + timedFunc_set_1(8.0f, (GenFunction_1)chjinjonatorbase_func_8038E2CC, reinterpret_cast(s32,this->marker)); this->unk1C[0] = this->position_x; this->unk1C[1] = this->position_y; this->unk1C[2] = this->position_z; this->position_y = -600.0f; FUNC_8030E624(SFX_3F6_RUBBING, 0.6f, 25000); - if(0.0f != this->lifetime_value){ + + if (0.0f != this->lifetime_value){ this->velocity_y = 600.0f/this->lifetime_value; - }else{ + } else { this->velocity_y = 100.0f; } - timedFunc_set_1(this->lifetime_value* 0.05, (GenFunction_1)func_8038E260, reinterpret_cast(s32,this->marker)); - timedFunc_set_1(this->lifetime_value* 0.28, (GenFunction_1) func_8038E260, reinterpret_cast(s32,this->marker)); - timedFunc_set_1(this->lifetime_value* 0.46, (GenFunction_1) func_8038E260, reinterpret_cast(s32,this->marker)); - timedFunc_set_1(this->lifetime_value* 0.58, (GenFunction_1) func_8038E260, reinterpret_cast(s32,this->marker)); + + timedFunc_set_1(this->lifetime_value* 0.05, (GenFunction_1)chjinjonatorbase_spawnActivator, reinterpret_cast(s32,this->marker)); + timedFunc_set_1(this->lifetime_value* 0.28, (GenFunction_1) chjinjonatorbase_spawnActivator, reinterpret_cast(s32,this->marker)); + timedFunc_set_1(this->lifetime_value* 0.46, (GenFunction_1) chjinjonatorbase_spawnActivator, reinterpret_cast(s32,this->marker)); + timedFunc_set_1(this->lifetime_value* 0.58, (GenFunction_1) chjinjonatorbase_spawnActivator, reinterpret_cast(s32,this->marker)); SPAWNQUEUE_ADD_1(chjinjonatorbase_spawnStoneJinjo, this->marker); - } - else{//L8038E5CC - if(this->state == 1){ - other = marker_getActor(this->unk100); - temp_f20 = this->velocity_y * sp58; - if(this->position_y + temp_f20 < this->unk1C[1]){ - if(!func_8030E3FC(this->unk44_31)){ + else { + if(this->state == CHBOSSJINJOBASE_STATE_1_RAISE) { + actor_jinjonator = marker_getActor(this->unk100); + y_delta = this->velocity_y * delta_time; + + if(this->position_y + y_delta < this->unk1C[1]) { + if (!func_8030E3FC(this->unk44_31)) { func_8030E2C4(this->unk44_31); } - sp38[0] = (temp_s1 & 1) ? 3.0f : -3.0f; - sp38[1] = temp_f20; - sp38[2] = (temp_s1 & 2) ? 3.0f : -3.0f; + position_delta[0] = (rumbling & 1) ? 3.0f : -3.0f; + position_delta[1] = y_delta; + position_delta[2] = (rumbling & 2) ? 3.0f : -3.0f; this->position_x = this->unk1C[0]; this->position_z = this->unk1C[2]; - this->position_x = sp38[0] + this->position_x; - this->position_y = sp38[1] + this->position_y; - this->position_z = sp38[2] + this->position_z; + this->position_x = position_delta[0] + this->position_x; + this->position_y = position_delta[1] + this->position_y; + this->position_z = position_delta[2] + this->position_z; - other->position_x = this->unk1C[0]; - other->position_z = this->unk1C[2]; + actor_jinjonator->position_x = this->unk1C[0]; + actor_jinjonator->position_z = this->unk1C[2]; - other->position_x = sp38[0] + other->position_x; - other->position_y = sp38[1] + other->position_y; - other->position_z = sp38[2] + other->position_z; + actor_jinjonator->position_x = position_delta[0] + actor_jinjonator->position_x; + actor_jinjonator->position_y = position_delta[1] + actor_jinjonator->position_y; + actor_jinjonator->position_z = position_delta[2] + actor_jinjonator->position_z; } - else{//L8038E6FC - subaddie_set_state(this, 2); + else { + subaddie_set_state(this, CHBOSSJINJOBASE_STATE_2_DEFAULT); + FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 32000); func_8030E394(this->unk44_31); func_8030DA44(this->unk44_31); this->unk44_31 = 0; + this->position_x = this->unk1C[0]; this->position_y = this->unk1C[1]; this->position_z = this->unk1C[2]; - other->position_x = this->unk1C[0]; - other->position_y = this->unk1C[1]; - other->position_z = this->unk1C[2]; - - other->position_y += 155.0f; - + actor_jinjonator->position_x = this->unk1C[0]; + actor_jinjonator->position_y = this->unk1C[1]; + actor_jinjonator->position_z = this->unk1C[2]; + actor_jinjonator->position_y += 155.0f; } } - }//L8038E768 + } } - - diff --git a/src/fight/chspellbarrier.c b/src/fight/chspellbarrier.c index 849dfb63..ad12941b 100644 --- a/src/fight/chspellbarrier.c +++ b/src/fight/chspellbarrier.c @@ -3,10 +3,7 @@ #include "variables.h" #include "fight.h" -extern ActorMarker *chfinalboss_findCollidingJinjo(Actor*, f32); -void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]); - -typedef struct { +typedef struct chspellbarrier_s { s32 unk0; u8 unk4; u8 unk5; @@ -21,57 +18,49 @@ typedef struct { u8 unkE; u8 unkF; u8 sfxsourceIdx; -} ActorLocal_fight_8390; +} ActorLocal_SpellBarrier; -void chspellbarrier_update(Actor *this); +ActorInfo chSpellBarrier = { MARKER_284_GRUNTY_SPELL_BARRIER, ACTOR_3AB_GRUNTY_SPELL_BARRIER, ASSET_546_MODEL_GRUNTY_SPELL_BARRIER, 1, NULL, chspellbarrier_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0 }; -/* .data */ -ActorInfo chSpellBarrier = { - MARKER_284_GRUNTY_SPELL_BARRIER, ACTOR_3AB_GRUNTY_SPELL_BARRIER, ASSET_546_MODEL_GRUNTY_SPELL_BARRIER, - 0x1, NULL, - chspellbarrier_update, func_80326224, actor_draw, - 0, 0, 0.0f, 0 -}; +void chspellbarrier_collisionPassive(ActorMarker *this, ActorMarker *other) { + Actor *actor_spellbarrier = marker_getActor(this); + ActorLocal_SpellBarrier *local = (ActorLocal_SpellBarrier *) &actor_spellbarrier->local; -/* .code */ -void func_8038E780(ActorMarker *arg0, ActorMarker *arg1) { - Actor *sp1C; - ActorLocal_fight_8390 *sp18; + local->unk0 = 0xFF; + local->unk4 = 0; - sp1C = marker_getActor(arg0); - sp18 = (ActorLocal_fight_8390 *) &sp1C->local; - sp18->unk0 = 0xFF; - sp18->unk4 = 0; - if (func_8030E3FC(sp18->sfxsourceIdx) == 0) { - func_8030E2C4(sp18->sfxsourceIdx); + if (func_8030E3FC(local->sfxsourceIdx) == 0) { + func_8030E2C4(local->sfxsourceIdx); } - if (func_8030E3FC(sp1C->unk44_31) == 0) { - func_8030E2C4(sp1C->unk44_31); + + if (func_8030E3FC(actor_spellbarrier->unk44_31) == 0) { + func_8030E2C4(actor_spellbarrier->unk44_31); } } -void func_8038E7EC(Actor *arg0) { - ActorLocal_fight_8390 *local = (ActorLocal_fight_8390 *)&arg0->local; +void chspellbarrier_free(Actor *this) { + ActorLocal_SpellBarrier *local = (ActorLocal_SpellBarrier *) &this->local; - if ((u8)arg0->unk44_31) { - func_8030DA44(arg0->unk44_31); - arg0->unk44_31 = 0; + if ((u8) this->unk44_31) { + func_8030DA44(this->unk44_31); + this->unk44_31 = 0; } + if (local->sfxsourceIdx != 0) { func_8030DA44(local->sfxsourceIdx); - local->sfxsourceIdx = (u8)0; + local->sfxsourceIdx = 0; } } -void chspellbarrier_update(Actor *this){ - ActorLocal_fight_8390 *local = (ActorLocal_fight_8390 *)&this->local; - f32 sp38 = time_getDelta(); +void chspellbarrier_update(Actor *this) { + ActorLocal_SpellBarrier *local = (ActorLocal_SpellBarrier *) &this->local; + f32 delta_time = time_getDelta(); ActorMarker *jinjo_marker; - if(!this->volatile_initialized){ + if (!this->volatile_initialized){ this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, func_8038E780, NULL); - marker_setFreeMethod(this->marker, func_8038E7EC); + marker_setCollisionScripts(this->marker, NULL, chspellbarrier_collisionPassive, NULL); + marker_setFreeMethod(this->marker, chspellbarrier_free); this->marker->propPtr->unk8_3 = 0; actor_collisionOn(this); local->unk0 = 0; @@ -85,51 +74,54 @@ void chspellbarrier_update(Actor *this){ func_8030DB04(local->sfxsourceIdx, 32000, this->position, 4000.0f, 12000.0f); sfxsource_playSfxAtVolume(local->sfxsourceIdx, 1.0f); FUNC_8030E8B4(SFX_416, 0.8f, 32000, this->position, 10000, 25000); - }//L8038E97C + } + jinjo_marker = chfinalboss_findCollidingJinjo(this, 600.0f); - if(jinjo_marker){ - if(jinjo_marker->id == MARKER_285_JINJONATOR){ + + if (jinjo_marker) { + if (jinjo_marker->id == MARKER_285_JINJONATOR) { marker_despawn(this->marker); chfinalboss_spellBarrierInactive(); return; - } - else{ + } else { local->unk0 = 0; local->unk4 = 1; actor_setOpacity(this, 0); this->unk58_0 = 0; - this->lifetime_value = 2.0f; + this->lifetime_value = 2.0f; } - } //L8038E9F4 - if(this->state == 1){ - this->yaw += 30.0f*sp38; - if(this->scale < 1.0){ - this->scale = MIN(1.0, this->scale + ((f64)sp38 + (f64)sp38)); - }//L8038EA68 + } - if(0.0 < this->lifetime_value){ - this->unk58_0 = 0; - this->lifetime_value -= sp38; + if (this->state == 1) { + this->yaw += 30.0f * delta_time; + if (this->scale < 1.0) { + this->scale = MIN(1.0, this->scale + ((f64)delta_time + (f64)delta_time)); } - else{ //L8038EAA4 + + if (0.0 < this->lifetime_value) { + this->unk58_0 = 0; + this->lifetime_value -= delta_time; + } else { this->unk58_0 = 1; - if(local->unk4){ - local->unk0 = MIN(0x64, local->unk0 + (s32)(60.0f*sp38)); + + if (local->unk4) { + local->unk0 = MIN(0x64, local->unk0 + (s32)(60.0f * delta_time)); + if(local->unk0 >= 0x64){ local->unk0 = 0x64; local->unk4 = 0; } - } - else{//L8038EB20 - local->unk0 = MAX(0, local->unk0 - (s32)(60.0f*sp38)); - if(local->unk0 <= 0){ + } else { + local->unk0 = MAX(0, local->unk0 - (s32)(60.0f*delta_time)); + + if (local->unk0 <= 0) { local->unk0 = 0; local->unk4 = 1; this->lifetime_value = 0.25f; } - }//L8038EB74 + } + actor_setOpacity(this, local->unk0); } } - //L8038EB80 } diff --git a/src/fight/chspellfireball.c b/src/fight/chspellfireball.c index 25def0c1..3b4bcc8e 100644 --- a/src/fight/chspellfireball.c +++ b/src/fight/chspellfireball.c @@ -5,405 +5,361 @@ #include "core2/particle.h" extern void func_80324CFC(f32, s32, s32); -extern void func_80386654(f32 arg0, f32 arg1[4], f32 arg2[4]); -extern void func_8038E03C(f32*, u32); extern Actor *func_80325CAC(ActorMarker*, Gfx**, Mtx**, Vtx **); bool func_80320C94(f32 [3], f32[3], f32, f32[3], s32, u32); f32 func_8033229C(ActorMarker *); -void func_8038CED8(f32 [3], s32, f32, f32); -void chbossjinjo_spawnParticles(Actor *, s32, s32, f32); -typedef struct { - f32 unk0; -}ActorLocal_fight_87A0; - -void func_8038F620(Actor *this); +typedef struct chspellfireball_s { + f32 explosion_lifetime; +} ActorLocal_SpellFireball; /* .data */ -ActorInfo chSpellFireball = { - MARKER_25C_GRUNTY_SPELL_FIREBALL, ACTOR_389_GRUNTY_SPELL_FIREBALL, ASSET_541_SPRITE_FIREBALL_SPELL_ATTACK, - 0x1, NULL, - func_8038F620, func_80326224, actor_draw, - 0, 0, 1.0f, 0 -}; +ActorInfo chSpellFireball = { MARKER_25C_GRUNTY_SPELL_FIREBALL, ACTOR_389_GRUNTY_SPELL_FIREBALL, ASSET_541_SPRITE_FIREBALL_SPELL_ATTACK, 1, NULL, chSpellFireball_update, actor_update_func_80326224, actor_draw, 0, 0, 1.0f, 0 }; +ActorInfo chSpellGreen = { MARKER_280_GRUNTY_SPELL_GREEN_ATTACK, ACTOR_3AA_GRUNTY_SPELL_GREEN_ATTACK, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK, 1, NULL, chSpellFireball_update, actor_update_func_80326224, func_80325CAC, 0, 0, 1.0f, 0 }; -ActorInfo chSpellGreen = { - MARKER_280_GRUNTY_SPELL_GREEN_ATTACK, ACTOR_3AA_GRUNTY_SPELL_GREEN_ATTACK, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK, - 0x1, NULL, - func_8038F620, func_80326224, func_80325CAC, - 0, 0, 1.0f, 0 -}; +static s32 sFightSmokeColor[3] = { 186, 186, 186 }; +ParticleSettingsVelocityPosition sFightSmokeVelocityPosition = { { { -70.0f, 50.0f, -70.0f }, { 70.0f, 100.0f, 70.0f } }, { { -55.0f, 0.0f, -55.0f }, { 55.0f, 20.0f, 55.0f } } }; +static f32 D_80391B84[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; +static f32 D_80391B94[4] = { 0.3f, 0.3f, 0.3f, 1.0f }; +static s32 sFightExplosionStartFrameRange[2] = { 1, 9 }; +static f32 sFightExplosionScaleRange[4] = { 4.5f, 4.5f, 4.5f, 4.5f }; +static f32 sFightExplosionLifetimeRange[4] = { 0.0f, 0.0f, 1.0f, 1.0f }; +static f32 D_80391BCC[4] = { 0.0f, 0.0f, 0.85f, 1.35f }; +static f32 sFightExplosionFadeRange[2] = { 0.6f, 0.7f }; +static f32 sFightExplosionSpawnPositionRange[6] = { -130.0f, 0.0f, -130.0f, 130.0f, 0.0f, 130.0f }; +static f32 D_80391BFC[4] = { 1.1f, 1.1f, 4.0f, 5.4f }; +static f32 D_80391C0C[6] = { -20.0f, 0.0f, -20.0f, 20.0f, 40.0f, 20.0f }; +static f32 D_80391C24[6] = { 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f }; +static f32 D_80391C3C[6] = { -420.0f, 410.0f, -420.0f, 480.0f, 860.0f, 480.0f }; +static f32 D_80391C54[4] = { 0.35f, 0.65f, 0.0f, 0.0f }; +static f32 D_80391C64[4] = { 0.0f, 0.01f, 2.0f, 2.3f }; +static f32 D_80391C74[2] = { 0.0f, 0.35f }; +static f32 D_80391C7C[6] = { 0.0f, 50.0f, 0.0f, 0.0f, 50.0f, 0.0f }; +static f32 D_80391C94[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; +static f32 D_80391CA4[4] = { 0.0f, 0.0f, 0.0f, 0.0f }; +static f32 D_80391CB4[2] = { 0.0f, 0.0f }; +static f32 D_80391CBC[4] = { 0.0f, 0.0f, 0.2f, 0.25f }; +static f32 D_80391DCC[2] = { 2.3f, 2.5f }; +static f32 D_80391DD4[6] = { 0.0f, 0.0f, 0.34f, 0.34f, 0.7f, 0.8f }; +static s32 sFightExplosionStartFrameRange2[2] = { 2, 15 }; +static f32 D_80391CF4[4] = { 2.0f, 2.0f, 0.4f, 0.4f }; +static f32 D_80391D04[4] = { 0.0f, 0.0f, 0.24f, 0.24f }; +static f32 D_80391D14[2] = { 0.1f, 0.2f }; +static f32 D_80391D1C[4] = { 0.0f, 0.0f, 0.44f, 0.44f }; +static f32 D_80391D2C[2] = { 0.4f, 0.5f }; +static f32 D_80391D34[6] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; +static f32 sFightUnused1[6] = { -50.0f, -50.0f, -50.0f, 50.0f, 50.0f, 50.0f }; +static f32 sFightUnused2[6] = { 0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f }; +static f32 sFightUnused3[6] = { -260.0f, -260.0f, -260.0f, 260.0f, 260.0f, 260.0f }; +static f32 sFightUnused4[4] = { 0.15f, 0.3f, 0.0f, 0.0f }; +static f32 sFightUnused5[4] = { 0.0f, 0.01f, 0.7f, 0.8f }; +static f32 sFightUnused6[2] = { 0.0f, 0.65f }; +static u8 sFightPlayerHitBySpellInPhase1; +static u8 sFightPlayerHitBySpellInPhase2; +static u8 sFightPlayerHitBySpellInPhase3; +static u8 sFightPlayerHitBySpellInPhase4; +static u8 sFightPlayerHitBySpellInPhase5; +static u8 sFightLastSpellFired; // The big green spell that Gruntilda fires before she falls off the tower -s32 D_80391B48[3] = {0xBA, 0xBA, 0xBA}; -struct42s D_80391B54 = { - { {-70.0f, 50.0f, -70.0f}, {70.0f, 100.0f, 70.0f}}, - { {-55.0f, 0.0f, -55.0f}, {55.0f, 20.0f, 55.0f}} -}; -f32 D_80391B84[4] = {1.0f, 1.0f, 1.0f, 1.0f}; -f32 D_80391B94[4] = {0.3f, 0.3f, 0.3f, 1.0f}; -s32 D_80391BA4[2] = {1, 9}; -f32 D_80391BAC[4] = {4.5f, 4.5f, 4.5f, 4.5f}; -f32 D_80391BBC[4] = {0.0f, 0.0f, 1.0f, 1.0f}; -f32 D_80391BCC[4] = {0.0f, 0.0f, 0.85f, 1.35f}; -f32 D_80391BDC[2] = {0.6f, 0.7f}; -f32 D_80391BE4[6] = {-130.0f, 0.0f, -130.0f, 130.0f, 0.0f, 130.0f}; -f32 D_80391BFC[4] = {1.1f, 1.1f, 4.0f, 5.4f}; +void fight_setPositionWithDisplacement(ActorMarker *marker, f32 *position) { + Actor *actor; -f32 D_80391C0C[6] = {-20.0f, 0.0f, -20.0f, 20.0f, 40.0f, 20.0f}; -f32 D_80391C24[6] = {0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f}; -f32 D_80391C3C[6] = {-420.0f, 410.0f, -420.0f, 480.0f, 860.0f, 480.0f}; -f32 D_80391C54[4] = {0.35f, 0.65f, 0.0f, 0.0f}; -f32 D_80391C64[4] = {0.0f, 0.01f, 2.0f, 2.3f}; -f32 D_80391C74[2] = {0.0f, 0.35f}; - -f32 D_80391C7C[6] = {0.0f, 50.0f, 0.0f, 0.0f, 50.0f, 0.0f}; -f32 D_80391C94[4] = {0.0f, 0.0f, 0.0f, 0.0f}; -f32 D_80391CA4[4] = {0.0f, 0.0f, 0.0f, 0.0f}; -f32 D_80391CB4[2] = {0.0f, 0.0f}; -f32 D_80391CBC[4] = {0.0f, 0.0f, 0.2f, 0.25f}; -f32 D_80391DCC[2] = {2.3f, 2.5f}; -f32 D_80391DD4[6] = {0.0f, 0.0f, 0.34f, 0.34f, 0.7f, 0.8f}; - -s32 D_80391CEC[2] = {2, 0xf}; -f32 D_80391CF4[4] = {2.0f, 2.0f, 0.4f, 0.4f}; -f32 D_80391D04[4] = {0.0f, 0.0f, 0.24f, 0.24f}; -f32 D_80391D14[2] = {0.1f, 0.2f}; -f32 D_80391D1C[4] = {0.0f, 0.0f, 0.44f, 0.44f}; -f32 D_80391D2C[2] = {0.4f, 0.5f}; -f32 D_80391D34[6] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f}; - -f32 D_80391D4C[6] = {-50.0f, -50.0f, -50.0f, 50.0f, 50.0f, 50.0f}; -f32 D_80391D64[6] = {0.0f, -1200.0f, 0.0f, 0.0f, -1200.0f, 0.0f}; -f32 D_80391D7C[6] = {-260.0f, -260.0f, -260.0f, 260.0f, 260.0f, 260.0f}; -f32 fight_D_80391D94[4] = {0.15f, 0.3f, 0.0f, 0.0f}; -f32 D_80391DA4[4] = {0.0f, 0.01f, 0.7f, 0.8f}; -f32 D_80391DB4[2] = {0.0f, 0.65f}; - -/* .bss */ -// u8 pad[0x180]; //TODO!!!! define other file .bss sections -u8 fight_D_803928E0; -u8 D_803928E1; -u8 D_803928E2; -u8 D_803928E3; -u8 D_803928E4; -u8 D_803928E5; - -/* .code */ -void func_8038EB90(ActorMarker *arg0, f32 *arg1) { - Actor *temp_v0; - - temp_v0 = marker_getActor(arg0); - temp_v0->position_x = arg1[0]; - temp_v0->position_y = arg1[1]; - temp_v0->position_z = arg1[2]; - temp_v0->position_y = temp_v0->position_y + 210.0f; + actor = marker_getActor(marker); + actor->position_x = position[0]; + actor->position_y = position[1]; + actor->position_z = position[2]; + actor->position_y = actor->position_y + 210.0f; } -void chSpellFireball_emitSparkles(f32 position[3], u32 count, enum asset_e sprite, f32 position_range[6], f32 acceleration_range[6], f32 velocity_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]) { - ParticleEmitter *pe = partEmitMgr_newEmitter(count); - - particleEmitter_setSprite(pe, sprite); - particleEmitter_setStartingFrameRange(pe, 1, 6); - particleEmitter_setPosition(pe, position); - particleEmitter_setParticleSpawnPositionRange(pe, position_range[0], position_range[1], position_range[2], position_range[3], position_range[4], position_range[5]); - particleEmitter_setParticleAccelerationRange(pe, acceleration_range[0], acceleration_range[1], acceleration_range[2], acceleration_range[3], acceleration_range[4], acceleration_range[5]); - particleEmitter_setParticleVelocityRange(pe, velocity_range[0], velocity_range[1], velocity_range[2], velocity_range[3], velocity_range[4], velocity_range[5]); - particleEmitter_setAngularVelocityRange(pe, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); - particleEmitter_setStartingScaleRange(pe, scale_range[0], scale_range[1]); - particleEmitter_setFinalScaleRange(pe, scale_range[2], scale_range[3]); - func_802EF9F8(pe, 0.5f); - func_802EFA18(pe, 3); - particleEmitter_setSpawnIntervalRange(pe, lifetime_range[0], lifetime_range[1]); - particleEmitter_setParticleLifeTimeRange(pe, lifetime_range[2], lifetime_range[3]); - particleEmitter_setFade(pe, fade[0], fade[1]); - func_802EFA78(pe, 1); - particleEmitter_setDrawMode(pe, 4); - particleEmitter_emitN(pe, count); +void fight_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite, f32 position_range[6], f32 acceleration_range[6], f32 velocity_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, sprite); + particleEmitter_setStartingFrameRange(pCtrl, 1, 6); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setSpawnPositionRange(pCtrl, position_range[0], position_range[1], position_range[2], position_range[3], position_range[4], position_range[5]); + particleEmitter_setAccelerationRange(pCtrl, acceleration_range[0], acceleration_range[1], acceleration_range[2], acceleration_range[3], acceleration_range[4], acceleration_range[5]); + particleEmitter_setParticleVelocityRange(pCtrl, velocity_range[0], velocity_range[1], velocity_range[2], velocity_range[3], velocity_range[4], velocity_range[5]); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setStartingScaleRange(pCtrl, scale_range[0], scale_range[1]); + particleEmitter_setFinalScaleRange(pCtrl, scale_range[2], scale_range[3]); + particleEmitter_func_802EF9F8(pCtrl, 0.5f); + particleEmitter_func_802EFA18(pCtrl, 3); + particleEmitter_setSpawnIntervalRange(pCtrl, lifetime_range[0], lifetime_range[1]); + particleEmitter_setParticleLifeTimeRange(pCtrl, lifetime_range[2], lifetime_range[3]); + particleEmitter_setFade(pCtrl, fade[0], fade[1]); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_emitN(pCtrl, count); } -void chSpellFireball_emitExplosion(f32 position[3], enum asset_e sprite, s32 count, s32 staring_frame_range[2], f32 position_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]) { - ParticleEmitter *pe = partEmitMgr_newEmitter(count); - - particleEmitter_setSprite(pe, sprite); - particleEmitter_setStartingFrameRange(pe, staring_frame_range[0], staring_frame_range[1]); - particleEmitter_setParticleFramerateRange(pe, 8.0f, 8.0f); - particleEmitter_setPosition(pe, position); - particleEmitter_setParticleSpawnPositionRange(pe, position_range[0], position_range[1], position_range[2], position_range[3], position_range[4], position_range[5]); - particleEmitter_setParticleVelocityRange(pe, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - particleEmitter_setStartingScaleRange(pe, scale_range[0], scale_range[1]); - particleEmitter_setFinalScaleRange(pe, scale_range[2], scale_range[3]); - particleEmitter_setSpawnIntervalRange(pe, lifetime_range[0], lifetime_range[1]); - particleEmitter_setParticleLifeTimeRange(pe, lifetime_range[2], lifetime_range[3]); - particleEmitter_setFade(pe, fade[0], fade[1]); - particleEmitter_setDrawMode(pe, PART_EMIT_NO_DEPTH); - func_802EFA78(pe, 1); - particleEmitter_emitN(pe, count); +void fight_createAnimatedSpriteParticles(f32 position[3], enum asset_e sprite, s32 count, s32 staring_frame_range[2], f32 position_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, sprite); + particleEmitter_setStartingFrameRange(pCtrl, staring_frame_range[0], staring_frame_range[1]); + particleEmitter_setParticleFramerateRange(pCtrl, 8.0f, 8.0f); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setSpawnPositionRange(pCtrl, position_range[0], position_range[1], position_range[2], position_range[3], position_range[4], position_range[5]); + particleEmitter_setParticleVelocityRange(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + particleEmitter_setStartingScaleRange(pCtrl, scale_range[0], scale_range[1]); + particleEmitter_setFinalScaleRange(pCtrl, scale_range[2], scale_range[3]); + particleEmitter_setSpawnIntervalRange(pCtrl, lifetime_range[0], lifetime_range[1]); + particleEmitter_setParticleLifeTimeRange(pCtrl, lifetime_range[2], lifetime_range[3]); + particleEmitter_setFade(pCtrl, fade[0], fade[1]); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_emitN(pCtrl, count); } -void chSpellFireball_emitSmoke(f32 position[3], u32 count, f32 *lifetime_and_spawn_range) { - ParticleEmitter *pe = partEmitMgr_newEmitter(count); - - particleEmitter_setSprite(pe, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setRGB(pe, D_80391B48); - particleEmitter_setAlpha(pe, 0xEB); - particleEmitter_setStartingFrameRange(pe, 0, 7); - particleEmitter_setPosition(pe, position); - particleEmitter_setPositionAndVelocityRanges(pe, &D_80391B54); - particleEmitter_setStartingScaleRange(pe, 0.1f, 0.2f); - particleEmitter_setFinalScaleRange(pe, 3.6f, 4.6f); - particleEmitter_setSpawnIntervalRange(pe, lifetime_and_spawn_range[0], lifetime_and_spawn_range[1]); - particleEmitter_setParticleLifeTimeRange(pe, lifetime_and_spawn_range[2], lifetime_and_spawn_range[3]); - particleEmitter_setFade(pe, 0.05f, 0.1f); - particleEmitter_setDrawMode(pe, PART_EMIT_NO_DEPTH); - func_802EFA78(pe, 1); - particleEmitter_emitN(pe, count); +void fight_createSmokeParticles(f32 position[3], s32 count, f32 *lifetime_and_spawn_range) { + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); + particleEmitter_setRGB(pCtrl, sFightSmokeColor); + particleEmitter_setAlpha(pCtrl, 235); + particleEmitter_setStartingFrameRange(pCtrl, 0, 7); + particleEmitter_setPosition(pCtrl, position); + particleEmitter_setPositionAndVelocityRanges(pCtrl, &sFightSmokeVelocityPosition); + particleEmitter_setStartingScaleRange(pCtrl, 0.1f, 0.2f); + particleEmitter_setFinalScaleRange(pCtrl, 3.6f, 4.6f); + particleEmitter_setSpawnIntervalRange(pCtrl, lifetime_and_spawn_range[0], lifetime_and_spawn_range[1]); + particleEmitter_setParticleLifeTimeRange(pCtrl, lifetime_and_spawn_range[2], lifetime_and_spawn_range[3]); + particleEmitter_setFade(pCtrl, 0.05f, 0.1f); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); + particleEmitter_func_802EFA78(pCtrl, 1); + particleEmitter_emitN(pCtrl, count); } -void func_8038F01C(void) { - func_80386654(1.0f, D_80391B94, D_80391B84); +void chSpellFireball_func_8038F01C(void) { + chfinalboss_func_80386654(1.0f, D_80391B94, D_80391B84); } -void func_8038F050(void) { - func_80386654(1.0f, D_80391B84, D_80391B94); +void chSpellFireball_func_8038F050(void) { + chfinalboss_func_80386654(1.0f, D_80391B84, D_80391B94); } -void func_8038F084(ActorMarker *marker){ - static f32 D_803928E8[3]; +void chSpellFireball_createExplosionParticles(ActorMarker *marker) { + static f32 position[3]; Actor *actor = marker_getActor(marker); - ActorLocal_fight_87A0 *local = (ActorLocal_fight_87A0 *)&actor->local; + ActorLocal_SpellFireball *local = (ActorLocal_SpellFireball *) &actor->local; - D_803928E8[0] = actor->position_x; - D_803928E8[1] = actor->position_y; - D_803928E8[2] = actor->position_z; - - D_803928E8[1] += 120.0f; + position[0] = actor->position_x; + position[1] = actor->position_y; + position[2] = actor->position_z; + position[1] += 120.0f; - if(actor->state != 2){//L8038F39C + if (actor->state != SPELLFIREBALL_STATE_2_DESPAWN) { FUNC_8030E8B4(SFX_148_GRUNTY_SPELL_LANDING, 1.0f, 32000, actor->position, 1000, 3500); - timedFunc_set_0(0.0f, func_8038F01C); - timedFunc_set_0(0.3f, func_8038F050); + timedFunc_set_0(0.0f, chSpellFireball_func_8038F01C); + timedFunc_set_0(0.3f, chSpellFireball_func_8038F050); actor->unk58_0 = 0; - actor->scale *= 1.6; - if(actor->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){ - chSpellFireball_emitSparkles(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW, - D_80391C0C, D_80391C24, D_80391C3C, - D_80391C54, D_80391C64, D_80391C74 - ); - chSpellFireball_emitSparkles(actor->position, 4, ASSET_715_SPRITE_SPARKLE_RED, - D_80391C0C, D_80391C24, D_80391C3C, - D_80391C54, D_80391C64, D_80391C74 - ); - chSpellFireball_emitSmoke(actor->position, 3, D_80391BFC); - chSpellFireball_emitExplosion(D_803928E8, ASSET_4A0_SPRITE_EXPLOSION, 1, D_80391BA4, D_80391BE4, - D_80391BAC, D_80391BBC, D_80391BDC - - ); - D_803928E8[1] -= 50.0f; - chSpellFireball_emitExplosion(D_803928E8, ASSET_6C1_SPRITE_SMOKE, 2, D_80391BA4, D_80391BE4, - D_80391BAC, D_80391BBC, D_80391BDC - - ); - } - else{//L8038F304 - chSpellFireball_emitSparkles(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW, - D_80391C0C, D_80391C24, D_80391C3C, - D_80391C54, D_80391BCC, D_80391C74 - ); - chSpellFireball_emitSmoke(actor->position, 3, D_80391BFC); - func_8038CED8(actor->position, 0x558, 0.15f, 0.5f); + actor->scale *= 1.6; + if (actor->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK) { + fight_createSpriteParticles(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW, D_80391C0C, D_80391C24, D_80391C3C, D_80391C54, D_80391C64, D_80391C74); + fight_createSpriteParticles(actor->position, 4, ASSET_715_SPRITE_SPARKLE_RED, D_80391C0C, D_80391C24, D_80391C3C, D_80391C54, D_80391C64, D_80391C74); + fight_createSmokeParticles(actor->position, 3, D_80391BFC); + fight_createAnimatedSpriteParticles(position, ASSET_4A0_SPRITE_EXPLOSION, 1, sFightExplosionStartFrameRange, sFightExplosionSpawnPositionRange, sFightExplosionScaleRange, sFightExplosionLifetimeRange, sFightExplosionFadeRange); + position[1] -= 50.0f; + fight_createAnimatedSpriteParticles(position, ASSET_6C1_SPRITE_SMOKE, 2, sFightExplosionStartFrameRange, sFightExplosionSpawnPositionRange, sFightExplosionScaleRange, sFightExplosionLifetimeRange, sFightExplosionFadeRange); + } else { + fight_createSpriteParticles(actor->position, 4, ASSET_713_SPRITE_SPARKLE_YELLOW, D_80391C0C, D_80391C24, D_80391C3C, D_80391C54, D_80391BCC, D_80391C74); + fight_createSmokeParticles(actor->position, 3, D_80391BFC); + fight_createBlastParticle(actor->position, ASSET_558_MODEL_GREEN_JINJO_BLAST, 0.15f, 0.5f); actor->position_y += 260.0f; - chbossjinjo_spawnParticles(actor, 0x712, ASSET_6C3_SPRITE_SMOKE_GREEN, 1.6f); + chbossjinjo_spawnParticlesAtFinalBoss(actor, 0x712, ASSET_6C3_SPRITE_SMOKE_GREEN, 1.6f); } - local->unk0 = 0.66f; - subaddie_set_state(actor, 2); - }//L8038F39C -} - -void func_8038F3B4(ActorMarker *marker, ActorMarker *other){ - if( other->id == 0x276 - || other->id == 0x27A - || other->id == 0x27F - ) return; - - func_8038F084(marker); - switch(volatileFlag_getN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, 3)){ - case 1: //8038F41C - if(!fight_D_803928E0 && gcdialog_showText(randi2(0, 5) + 0x10f2, 0, 0, 0, 0, 0)) - fight_D_803928E0 = 1; - break; - case 2: //8038F468 - if(!D_803928E1 && gcdialog_showText(randi2(0, 5) + 0x110b, 0, 0, 0, 0, 0)) - D_803928E1 = 1; - break; - case 3: //8038F4B4 - if(!D_803928E2 && gcdialog_showText(randi2(0, 5) + 0x1122, 0, 0, 0, 0, 0)) - D_803928E2 = 1; - break; - case 4: //8038F500 - if( !D_803928E3 - && func_8038C2A4() - && gcdialog_showText(randi2(0, 5) + 0x113b, 0, 0, 0, 0, 0) - ) - D_803928E3 = 1; - break; - case 5: - if( !D_803928E4 - && func_8038C2B0() - && gcdialog_showText(randi2(0, 5) + 0x1154, 0, 0, 0, 0, 0) - ) - D_803928E4 = 1; - break; - }//L8038F5B0 - -} - -s32 func_8038F5BC(f32 *arg0, f32 arg1) { - if (((arg0[0] * arg0[0]) + (arg0[2] * arg0[2])) < arg1) { - return 1; + + local->explosion_lifetime = 0.66f; + subaddie_set_state(actor, SPELLFIREBALL_STATE_2_DESPAWN); } - return 0; } -void func_8038F5F8(Actor *arg0) { +void chSpellFireball_collisionDie(ActorMarker *marker, ActorMarker *other) { + if ((other->id == MARKER_276_STONE_JINJO) || + (other->id == MARKER_27A_JINJO_STATUE_BASE) || + (other->id == MARKER_27F_JINJONATOR_STATUE_BASE)) + { + return; + } + + chSpellFireball_createExplosionParticles(marker); + + switch(volatileFlag_getN(VOLATILE_FLAG_23_FINAL_BOSS_PHASE, 3)) { + case FINALBOSS_PHASE_1_BROOMSTICK: + if (!sFightPlayerHitBySpellInPhase1 && gcdialog_showText(randi2(0, 5) + ASSET_10F2_TEXT_FINALBOSS_PHASE_1_OPTION_1, 0, 0, 0, 0, 0)) + { + sFightPlayerHitBySpellInPhase1 = TRUE; + } + break; + + case FINALBOSS_PHASE_2_AIR: + if (!sFightPlayerHitBySpellInPhase2 && gcdialog_showText(randi2(0, 5) + ASSET_110B_TEXT_FINALBOSS_PHASE_2_OPTION_1, 0, 0, 0, 0, 0)) + { + sFightPlayerHitBySpellInPhase2 = TRUE; + } + break; + + case FINALBOSS_PHASE_3_FLIGHT: + if (!sFightPlayerHitBySpellInPhase3 && gcdialog_showText(randi2(0, 5) + ASSET_1122_TEXT_FINALBOSS_PHASE_3_OPTION_1, 0, 0, 0, 0, 0)) + { + sFightPlayerHitBySpellInPhase3 = TRUE; + } + break; + + case FINALBOSS_PHASE_4_JINJOS: + if (!sFightPlayerHitBySpellInPhase4 && + chfinalboss_isJinjoSpawned() && + gcdialog_showText(randi2(0, 5) + ASSET_113B_TEXT_FINALBOSS_PHASE_4_OPTION_1, 0, 0, 0, 0, 0)) + { + sFightPlayerHitBySpellInPhase4 = TRUE; + } + break; + + case FINALBOSS_PHASE_5_JINJONATOR: + if (!sFightPlayerHitBySpellInPhase5 && + chfinalboss_isJinjonatorSpawned() && + gcdialog_showText(randi2(0, 5) + ASSET_1154_TEXT_FINALBOSS_PHASE_5_OPTION_1, 0, 0, 0, 0, 0)) + { + sFightPlayerHitBySpellInPhase5 = TRUE; + } + break; + } +} + +bool chSpellFireball_isPositionOverThreshold(f32 *position, f32 distance) { + if (((position[0] * position[0]) + (position[2] * position[2])) < distance) { + return TRUE; + } + + return FALSE; +} + +void chSpellFireball_free(Actor *this) { func_80324D2C(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER); } -void func_8038F620(Actor *this){ - static f32 D_803928F8[3]; +void chSpellFireball_update(Actor *this) { + static f32 old_position[3]; static f32 D_80392908[3]; - static f32 D_80392914; + static f32 scale_ratio; - ActorLocal_fight_87A0 * local = (ActorLocal_fight_87A0 *)&this->local; - f32 sp40 = time_getDelta(); + ActorLocal_SpellFireball *local = (ActorLocal_SpellFireball *)&this->local; + f32 time_delta = time_getDelta(); - if(!this->volatile_initialized){ + if (!this->volatile_initialized) { this->volatile_initialized = TRUE; - marker_setCollisionScripts(this->marker, NULL, NULL, func_8038F3B4); + marker_setCollisionScripts(this->marker, NULL, NULL, chSpellFireball_collisionDie); this->marker->propPtr->unk8_3 = 0; actor_collisionOn(this); this->lifetime_value = 8.0f; this->scale = 0.1f; - if( this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){ + + if (this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK) { actor_collisionOff(this); - marker_setFreeMethod(this->marker, func_8038F5F8); + marker_setFreeMethod(this->marker, chSpellFireball_free); func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 32000); timed_playSfx(0.0f, SFX_113_PAD_APPEARS, 1.0f, 32000); timed_playSfx(0.75f, 0x415, 1.0f, 32000); timed_playSfx(2.0f, 0x415, 1.0f, 32000); - - + } else { + func_80324D54(0.26f, SFX_14F_FIREWORK_WHISTLING, 1.0f, 0x61A8, this->position, 1000.0f, 7500.0f); + func_80324D54(0.4f, SFX_14E_SOFT_EXPLOSION, 1.0f, 0x61A8, this->position, 500.0f, 4500.0f); } - else{//L8038F738 - func_80324D54(0.26f, SFX_14F_FIREWORK_WHISTLING, 1.0f, 0x61A8, - this->position, 1000.0f, 7500.0f - ); + } - func_80324D54(0.4f, SFX_14E_SOFT_EXPLOSION, 1.0f, 0x61A8, - this->position, 500.0f, 4500.0f - ); - } - }//L8038F79C - if(D_803928E5 && this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK){ + if (sFightLastSpellFired && this->marker->id == MARKER_280_GRUNTY_SPELL_GREEN_ATTACK) { ncStaticCamera_rotateToTarget(this->position); - }//L8038F7D4 + } - switch(this->state){ - case 1://L8038F7F8 - D_80392914 = sp40*1.4; - this->scale = (this->scale + D_80392914 < 1.0) ? this->scale + D_80392914 : 1.0f; + switch(this->state) { + case SPELLFIREBALL_STATE_1_ACTIVE: + scale_ratio = time_delta * 1.4; + this->scale = (this->scale + scale_ratio < 1.0) ? this->scale + scale_ratio : 1.0f; - switch(this->marker->id){ - case MARKER_25C_GRUNTY_SPELL_FIREBALL://L8038F8AC - chSpellFireball_emitExplosion(this->position, ASSET_4A0_SPRITE_EXPLOSION, 1, - D_80391CEC, D_80391D34, - D_80391CF4, D_80391D04, D_80391D14 - ); + switch (this->marker->id) { + case MARKER_25C_GRUNTY_SPELL_FIREBALL: + fight_createAnimatedSpriteParticles(this->position, ASSET_4A0_SPRITE_EXPLOSION, 1, sFightExplosionStartFrameRange2, D_80391D34, D_80391CF4, D_80391D04, D_80391D14); break; - case MARKER_280_GRUNTY_SPELL_GREEN_ATTACK://L8038F8C8 - chSpellFireball_emitExplosion(this->position, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK, 1, - D_80391CEC, D_80391D34, - D_80391CF4, D_80391D1C, D_80391D2C - ); + + case MARKER_280_GRUNTY_SPELL_GREEN_ATTACK: + fight_createAnimatedSpriteParticles(this->position, ASSET_6C9_SPRITE_GREEN_SPELL_ATTACK, 1, sFightExplosionStartFrameRange2, D_80391D34, D_80391CF4, D_80391D1C, D_80391D2C); globalTimer_getTime(); break; - }//L8038F918 - D_803928F8[0] = this->position[0]; - D_803928F8[1] = this->position[1]; - D_803928F8[2] = this->position[2]; - - this->position[0] += this->velocity_x*sp40; - this->position[1] += this->velocity_y*sp40; - this->position[2] += this->velocity_z*sp40; - - this->velocity[0] += this->unk1C[0]*sp40; - this->velocity[1] += this->unk1C[1]*sp40; - this->velocity[2] += this->unk1C[2]*sp40; - - this->pitch += 200.0f*sp40; - this->yaw += 200.0f*sp40; - - if( this->position_y < -2500.0f - || 5000.0f < this->position_y - || !func_8038F5BC(this->position, 100000000.0f) - ){ - marker_despawn(this->marker); } - else{ - if(this->position_y < 300.0f - && func_8038F5BC(this->position, 16000000.0f) - ){ - if(func_80320C94(D_803928F8, this->position, func_8033229C(this->marker), D_80392908, 8, 0x40000000)){ - func_8038F084(this->marker); - return; - } + + old_position[0] = this->position[0]; + old_position[1] = this->position[1]; + old_position[2] = this->position[2]; + + this->position[0] += this->velocity_x * time_delta; + this->position[1] += this->velocity_y * time_delta; + this->position[2] += this->velocity_z * time_delta; + + this->velocity[0] += this->unk1C[0] * time_delta; + this->velocity[1] += this->unk1C[1] * time_delta; + this->velocity[2] += this->unk1C[2] * time_delta; + + this->pitch += 200.0f * time_delta; + this->yaw += 200.0f * time_delta; + + if ((this->position_y < -2500.0f) || + (5000.0f < this->position_y) || + (!chSpellFireball_isPositionOverThreshold(this->position, 100000000.0f))) + { + marker_despawn(this->marker); + } else { + if ((this->position_y < 300.0f) && + (chSpellFireball_isPositionOverThreshold(this->position, 16000000.0f)) && + (func_80320C94(old_position, this->position, func_8033229C(this->marker), D_80392908, 8, 0x40000000))) + { + chSpellFireball_createExplosionParticles(this->marker); + return; } } - // L8038FABC - if( this->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK - && func_8028F25C() - ){ - func_8038F084(this->marker); - } - else { - if(0.0 <= this->lifetime_value){ - this->lifetime_value -= sp40; - }else{ - func_8038F084(this->marker); + + if ((this->marker->id != MARKER_280_GRUNTY_SPELL_GREEN_ATTACK) && func_8028F25C()) { + chSpellFireball_createExplosionParticles(this->marker); + } else { + if (0.0 <= this->lifetime_value) { + this->lifetime_value -= time_delta; + } else { + chSpellFireball_createExplosionParticles(this->marker); } } + break; - case 2://L8038FB34 - if(local->unk0 < 0.0){ + + case SPELLFIREBALL_STATE_2_DESPAWN: + if (local->explosion_lifetime < 0.0) { marker_despawn(this->marker); - }else{ - local->unk0 -= sp40; + } else { + local->explosion_lifetime -= time_delta; } + break; - }//L8038FB74 + } } -void fight_func_8038FB84(ActorMarker *arg0, f32 *arg1, f32 *arg2, f32 *arg3) { - Actor *temp_v0 = marker_getActor(arg0); +void chSpellFireball_func_8038FB84(ActorMarker *marker, f32 *position, f32 *velocity, f32 *arg3) { + Actor *actor = marker_getActor(marker); - temp_v0->position_x = arg1[0]; - temp_v0->position_y = arg1[1]; - temp_v0->position_z = arg1[2]; - temp_v0->velocity_x = arg2[0]; - temp_v0->velocity_y = arg2[1]; - temp_v0->velocity_z = arg2[2]; - temp_v0->unk1C_x = arg3[0]; - temp_v0->unk1C_y = arg3[1]; - temp_v0->unk1C_z = arg3[2]; + actor->position_x = position[0]; + actor->position_y = position[1]; + actor->position_z = position[2]; + actor->velocity_x = velocity[0]; + actor->velocity_y = velocity[1]; + actor->velocity_z = velocity[2]; + actor->unk1C_x = arg3[0]; + actor->unk1C_y = arg3[1]; + actor->unk1C_z = arg3[2]; } -void func_8038FC00(void) { - fight_D_803928E0 = (u8)0; - D_803928E1 = (u8)0; - D_803928E2 = (u8)0; - D_803928E3 = (u8)0; - D_803928E4 = (u8)0; +void chSpellFireball_resetSpellHits(void) { + sFightPlayerHitBySpellInPhase1 = FALSE; + sFightPlayerHitBySpellInPhase2 = FALSE; + sFightPlayerHitBySpellInPhase3 = FALSE; + sFightPlayerHitBySpellInPhase4 = FALSE; + sFightPlayerHitBySpellInPhase5 = FALSE; } -void func_8038FC2C(s32 arg0) { - D_803928E5 = arg0; +void chSpellFireball_setLastSpellFired(bool value) { + sFightLastSpellFired = value; } diff --git a/src/fight/chstonejinjo.c b/src/fight/chstonejinjo.c index 5dd8469d..30eff85e 100644 --- a/src/fight/chstonejinjo.c +++ b/src/fight/chstonejinjo.c @@ -3,40 +3,28 @@ #include "variables.h" #include "fight.h" -extern Actor *actorArray_findActorFromActorId(); -extern void subaddie_set_state_with_direction(Actor*, s32, f32, s32); -extern f32 chbossjinjo_8038D268(void); - -void chstonejinjo_update(Actor *); - -/* .data */ -ActorAnimationInfo chStoneJinjo_AnimationInfo[] ={ +ActorAnimationInfo chStoneJinjoAnimationInfo[] = { {0, 0.0f}, {0x265, 1e+8f}, {0x265, 1e+8f}, {0x265, 1e+8f}, }; -ActorInfo chStoneJinjo = { - MARKER_276_STONE_JINJO, ACTOR_3A1_STONE_JINJO, ASSET_545_MODEL_STONE_JINJO, - 0x1, chStoneJinjo_AnimationInfo, - chstonejinjo_update, func_80326224, actor_draw, - 0, 0x800, 1.0f, 0 -}; -/* .code */ +ActorInfo chStoneJinjo = { MARKER_276_STONE_JINJO, ACTOR_3A1_STONE_JINJO, ASSET_545_MODEL_STONE_JINJO, 1, chStoneJinjoAnimationInfo, chstonejinjo_update, actor_update_func_80326224, actor_draw, 0, 2048, 1.0f, 0 }; + void chstonejinjo_spawnJinjo(ActorMarker *marker) { - Actor *this; - Actor *jinjo; + Actor *actor_stonejinjo = marker_getActor(marker); + Actor *actor_jinjo; - this = marker_getActor(marker); - if (this->unkF4_8 == BOSSJINJO_JINJONATOR) { - jinjo = spawn_child_actor(ACTOR_3AC_JINJONATOR, &this); + if (actor_stonejinjo->unkF4_8 == BOSSJINJO_5_JINJONATOR) { + actor_jinjo = spawn_child_actor(ACTOR_3AC_JINJONATOR, &actor_stonejinjo); } else { - jinjo = spawn_child_actor((this->unkF4_8) + 0x3A4, &this); + actor_jinjo = spawn_child_actor(ACTOR_3A4_BOSS_JINJO_BASE_IDX + actor_stonejinjo->unkF4_8, &actor_stonejinjo); } - jinjo->unkF4_8 = this->unkF4_8; - jinjo->lifetime_value = this->unk1C[0]; - jinjo->scale = this->scale; + + actor_jinjo->unkF4_8 = actor_stonejinjo->unkF4_8; + actor_jinjo->lifetime_value = actor_stonejinjo->unk1C[0]; + actor_jinjo->scale = actor_stonejinjo->scale; } void chstonejinjo_update(Actor *this) { @@ -44,7 +32,8 @@ void chstonejinjo_update(Actor *this) { this->volatile_initialized = TRUE; this->marker->propPtr->unk8_3 = TRUE; actor_collisionOff(this); - if (this->unkF4_8 == BOSSJINJO_JINJONATOR) { + + if (this->unkF4_8 == BOSSJINJO_5_JINJONATOR) { this->marker->unk40_23 = TRUE; this->marker->unk40_20 = TRUE; this->unk1C[0] = 6.0f; @@ -54,86 +43,95 @@ void chstonejinjo_update(Actor *this) { this->scale *= 1.8; } } + switch (this->state) { - case 1: - animctrl_setAnimTimer(this->animctrl, 0.0f); - break; - case 2: - if (this->unkF4_8 != BOSSJINJO_JINJONATOR) { - if (actor_animationIsAt(this, 0.001f)) { - FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000); - func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f); + case STONEJINJO_STATE_1_IDLE: + animctrl_setAnimTimer(this->animctrl, 0.0f); + break; + + case STONEJINJO_STATE_2_BREAK_OPEN: + if (this->unkF4_8 != BOSSJINJO_5_JINJONATOR) { + if (actor_animationIsAt(this, 0.001f)) { + FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000); + func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f); + } + + if (actor_animationIsAt(this, 0.26f) || + actor_animationIsAt(this, 0.43f) || + actor_animationIsAt(this, 0.55f) || + actor_animationIsAt(this, 0.62f) || + actor_animationIsAt(this, 0.77f)) + { + func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f); + } + } else { + if (actor_animationIsAt(this, 0.001f)) + { + FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000); + func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.4f, 0.6f), 20000, this->position, 1000.0f, 5000.0f); + } + + if (actor_animationIsAt(this, 0.26f) || + actor_animationIsAt(this, 0.43f) || + actor_animationIsAt(this, 0.55f) || + actor_animationIsAt(this, 0.62f) || + actor_animationIsAt(this, 0.77f)) + { + func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.4f, 0.6f), 20000, this->position, 1000.0f, 5000.0f); + } + + if (actor_animationIsAt(this, 0.1f) || + actor_animationIsAt(this, 0.23f) || + actor_animationIsAt(this, 0.34f) || + actor_animationIsAt(this, 0.45f) || + actor_animationIsAt(this, 0.55f) || + actor_animationIsAt(this, 0.65f) || + actor_animationIsAt(this, 0.78f) || + actor_animationIsAt(this, 0.83f) || + actor_animationIsAt(this, 0.9f) || + actor_animationIsAt(this, 0.98f)) + { + func_8030E6A4(SFX_3_DULL_CANNON_SHOT, randf2(1.2f, 1.4f), 20000); + } } - if( actor_animationIsAt(this, 0.26f) - || actor_animationIsAt(this, 0.43f) - || actor_animationIsAt(this, 0.55f) - || actor_animationIsAt(this, 0.62f) - || actor_animationIsAt(this, 0.77f) - ) { - func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.6f, 0.8f), 20000, this->position, 1000.0f, 5000.0f); + + if (actor_animationIsAt(this, 0.999f)) { + subaddie_set_state_with_direction(this, STONEJINJO_STATE_3_OPEN, 0.99999f, 1); + actor_playAnimationOnce(this); + func_80326310(this); } - } else { - if (actor_animationIsAt(this, 0.001f)) { - FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.2f, 25000, this->position, 1000, 5000); - func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.4f, 0.6f), 20000, this->position, 1000.0f, 5000.0f); - } - if( actor_animationIsAt(this, 0.26f) - || actor_animationIsAt(this, 0.43f) - || actor_animationIsAt(this, 0.55f) - || actor_animationIsAt(this, 0.62f) - || actor_animationIsAt(this, 0.77f) - ) { - func_8030E878(SFX_80_YUMYUM_CLACK, randf2(0.4f, 0.6f), 20000, this->position, 1000.0f, 5000.0f); - } - if( actor_animationIsAt(this, 0.1f) - || actor_animationIsAt(this, 0.23f) - || actor_animationIsAt(this, 0.34f) - || actor_animationIsAt(this, 0.45f) - || actor_animationIsAt(this, 0.55f) - || actor_animationIsAt(this, 0.65f) - || actor_animationIsAt(this, 0.78f) - || actor_animationIsAt(this, 0.83f) - || actor_animationIsAt(this, 0.9f) - || actor_animationIsAt(this, 0.98f) - ) { - func_8030E6A4(SFX_3_DULL_CANNON_SHOT, randf2(1.2f, 1.4f), 20000); - } - } - if (actor_animationIsAt(this, 0.999f)) { - subaddie_set_state_with_direction(this, 3, 0.99999f, 1); - actor_playAnimationOnce(this); - func_80326310(this); - } - break; + + break; } } -void chstonejinjo_breakOpen(ActorMarker *marker){ - Actor *actor = marker_getActor(marker); - s32 sp38; - f32 sp34; - f32 sp30; - f32 sp24[3]; +void chstonejinjo_breakOpen(ActorMarker *marker) { + Actor *actor_stonejinjo = marker_getActor(marker); + s32 camera_node; + f32 bossjinjo_wakeup_time; + f32 camera_duration_time; + f32 position_finalboss[3]; - if(actor->state != 2){ - subaddie_set_state_with_direction(actor, 2, 0.0f, 1); - actor_playAnimationOnce(actor); - animctrl_setDuration(actor->animctrl, actor->unk1C[0]); - SPAWNQUEUE_ADD_1(chstonejinjo_spawnJinjo, actor->marker); - if(!fileProgressFlag_get(FILEPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT) && actor->unkF4_8 != BOSSJINJO_JINJONATOR){ - sp38 = 0x30 + actor->unkF4_8*2; - sp34 = chbossjinjo_8038D268(); - sp30 = actor->unk1C[0] + sp34; - fight_func_8038C0DC(&sp24); - func_8028F94C(2, &sp24); - func_8038C27C(1); - timed_setStaticCameraToNode(0 * sp30, sp38); - timed_exitStaticCamera(1 * sp30); - timed_setStaticCameraToNode(1 * sp30, sp38 + 1); + if (actor_stonejinjo->state != STONEJINJO_STATE_2_BREAK_OPEN) { + subaddie_set_state_with_direction(actor_stonejinjo, STONEJINJO_STATE_2_BREAK_OPEN, 0.0f, 1); + actor_playAnimationOnce(actor_stonejinjo); + animctrl_setDuration(actor_stonejinjo->animctrl, actor_stonejinjo->unk1C[0]); + SPAWNQUEUE_ADD_1(chstonejinjo_spawnJinjo, actor_stonejinjo->marker); + + if (!fileProgressFlag_get(FILEPROG_D1_HAS_ACTIVATED_A_JINJO_STATUE_IN_FINAL_FIGHT) && actor_stonejinjo->unkF4_8 != BOSSJINJO_5_JINJONATOR) { + camera_node = 48 + actor_stonejinjo->unkF4_8 * 2; + bossjinjo_wakeup_time = chbossjinjo_getWakeUpTime(); + camera_duration_time = actor_stonejinjo->unk1C[0] + bossjinjo_wakeup_time; + chfinalboss_getPosition(position_finalboss); + func_8028F94C(2, &position_finalboss); + chfinalboss_setJinjoStatueActivated(TRUE); + timed_setStaticCameraToNode(0 * camera_duration_time, camera_node); + timed_exitStaticCamera(1 * camera_duration_time); + timed_setStaticCameraToNode(1 * camera_duration_time, camera_node + 1); } - }//L8038DF8C + } } -f32 func_8038DFA0(void) { - return actorArray_findActorFromActorId(ACTOR_3A1_STONE_JINJO)->unk1C_x; +f32 chstonejinjo_getBreakUpTime(void) { + return actorArray_findActorFromActorId(ACTOR_3A1_STONE_JINJO)->unk1C[0]; } diff --git a/src/fight/code_0.c b/src/fight/fight.c similarity index 97% rename from src/fight/code_0.c rename to src/fight/fight.c index 03421b13..d4967e2f 100644 --- a/src/fight/code_0.c +++ b/src/fight/fight.c @@ -5,9 +5,9 @@ #include "fight.h" #include "actor.h" -u8 pad_fight_80392740[0x10]; +u8 sFightPadding[0x10]; -void fight_func_803863F0(void) +void fight_addSpawnableActors(void) { spawnableActorList_add(&chSpellFireball, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_20); spawnableActorList_add(&chGreenBlast, actor_new, ACTOR_FLAG_UNKNOWN_2 | ACTOR_FLAG_UNKNOWN_6 | ACTOR_FLAG_UNKNOWN_10 | ACTOR_FLAG_UNKNOWN_15 | ACTOR_FLAG_UNKNOWN_20); diff --git a/src/fight/fight.h b/src/fight/fight.h index c2f8d511..4c6e5688 100644 --- a/src/fight/fight.h +++ b/src/fight/fight.h @@ -1,12 +1,71 @@ #ifndef _FIGHT_INTERNAL_H_ #define _FIGHT_INTERNAL_H_ -enum bossjinjo_e{ - BOSSJINJO_ORANGE = 1, - BOSSJINJO_GREEN, - BOSSJINJO_PINK, - BOSSJINJO_YELLOW, - BOSSJINJO_JINJONATOR +enum ch_bossjinjo_e { + BOSSJINJO_0_UNKNOWN, + BOSSJINJO_1_ORANGE, + BOSSJINJO_2_GREEN, + BOSSJINJO_3_PINK, + BOSSJINJO_4_YELLOW, + BOSSJINJO_5_JINJONATOR +}; + +enum chBossJinjoBase_state_e { + CHBOSSJINJOBASE_STATE_1_RAISE = 1, + CHBOSSJINJOBASE_STATE_2_DEFAULT = 2, + CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO = 3 +}; + +enum ch_stonejinjo_state_e { + STONEJINJO_STATE_0_UNKNOWN, + STONEJINJO_STATE_1_IDLE, + STONEJINJO_STATE_2_BREAK_OPEN, + STONEJINJO_STATE_3_OPEN +}; + +enum ch_bossjinjo_state_e { + BOSSJINJO_STATE_0_UNKNOWN, + BOSSJINJO_STATE_1_WAKE_UP, + BOSSJINJO_STATE_2_YAWN, + BOSSJINJO_STATE_3_SPIN_UP, + BOSSJINJO_STATE_4_ATTACK, + BOSSJINJO_STATE_5_HIT +}; + +enum ch_jinjonator_state_e { + JINJONATOR_STATE_0_UNKNOWN, + JINJONATOR_STATE_1_RELEASE, + JINJONATOR_STATE_2_WAKE_UP, + JINJONATOR_STATE_3_MOVE_UPWARD, + JINJONATOR_STATE_4_PREPARE_SPIN_UP, + JINJONATOR_STATE_5_SPIN_UP, + JINJONATOR_STATE_6_ATTACK, + JINJONATOR_STATE_7_ATTACK_END, + JINJONATOR_STATE_8, + JINJONATOR_STATE_9_FINAL_ATTACK_POWER_UP, + JINJONATOR_STATE_10_FINAL_ATTACK_PREPARE, + JINJONATOR_STATE_11_FINAL_ATTACK, + JINJONATOR_STATE_12_FINAL_ATTACK_END +}; + +enum ch_finalboss_phase_e { + FINALBOSS_PHASE_0_INTRO, + FINALBOSS_PHASE_1_BROOMSTICK, + FINALBOSS_PHASE_2_AIR, + FINALBOSS_PHASE_3_FLIGHT, + FINALBOSS_PHASE_4_JINJOS, + FINALBOSS_PHASE_5_JINJONATOR +}; + +enum ch_spellbarrier_state_e { + SPELLBARRIER_STATE_0_UNKNOWN, + SPELLBARRIER_STATE_1_UNKNOWN +}; + +enum ch_spellfireball_state_e { + SPELLFIREBALL_STATE_0_UNKNOWN, + SPELLFIREBALL_STATE_1_ACTIVE, + SPELLFIREBALL_STATE_2_DESPAWN }; extern ActorInfo chFightFlightPad; @@ -25,9 +84,175 @@ extern ActorInfo chGreenBlast; extern ActorInfo chJinjonator; extern ActorInfo chBossShadow; -extern void fight_func_803863F0(void); +// fight.c +extern void fight_addSpawnableActors(void); -extern Actor *chBossShadow_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **vptr); +// chfinalboss.c +extern Actor *chfinalboss_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +extern void chfinalboss_func_80386600(ActorMarker *marker, s32 arg1); +extern void chfinalboss_func_80386628(ActorMarker *marker, s32 arg1); +extern void chfinalboss_func_80386654(f32 arg0, f32 arg1[4], f32 arg2[4]); +extern void chfinalboss_func_80386698(f32 arg0); +extern void chfinalboss_createBroomstickParticles(f32 position[3], enum asset_e model_id, s32 count); +extern void chfinalboss_createSmokeParticles(f32 position[3], s32 count, f32 scale_ranges[4]); +extern void chfinalboss_createGreenGlowParticle(f32 position[3], s32 color[3]); +extern void chfinalboss_createSingleSpriteParticle(f32 position[3], enum asset_e sprite_id); +extern void chfinalboss_spawnBroomstickGlowParticles(Actor *this); +extern void chfinalboss_func_80386B54(f32 *arg0, f32 arg1); +extern bool chfinalboss_func_80386BEC(Actor *this, f32 arg1); +extern bool chfinalboss_func_80386C68(Actor *this, f32 arg1); +extern void chfinalboss_func_80386CF8(Actor *actor); +extern void __chfinalboss_dropHealth(ActorMarker *arg0); +extern void chfinalboss_despawnFlightPad(void); +extern void chfinalboss_spawnFlightPad(s32 arg0); +extern void chfinalboss_func_80386EC0(s32 arg0); +extern void chfinalboss_func_80386F5C(ActorMarker * arg0, f32 arg1[3], f32 arg2, f32 arg3); +extern void chfinalboss_func_80386FD8(s32 arg0); +extern void chfinalboss_func_80387074(s32 arg0); +extern void chfinalboss_func_80387110(ActorMarker *marker, f32 arg1[3], f32 arg2, s32 arg3); +extern void chfinalboss_func_803872F8(Actor *arg0); +extern s32 chfinalboss_func_80387340(Actor *this, f32 arg1); +extern void chfinalboss_func_803873DC(Actor *actor, f32 arg1, f32 arg2); +extern bool chfinalboss_func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 arg5, f32 arg6); +extern void chfinalboss_func_8038770C(Actor *actor); +extern void chfinalboss_setPhase(ActorMarker *this, enum ch_finalboss_phase_e phase_id); +extern void chfinalboss_func_80387ACC(Actor *arg0, f32 arg1); +extern void chfinalboss_func_80387B00(Actor *this); +extern void chfinalboss_func_80387BFC(Actor *this, f32 arg1); +extern void chfinalboss_func_80387D4C(Actor *actor); +extern void chfinalboss_func_80387E1C(Actor *this, f32 arg1[3]); +extern void chfinalboss_func_80387F70(Actor *actor, f32 *arg1, f32 arg2); +extern void chfinalboss_func_803880A0(Actor *actor, f32 arg1); +extern void chfinalboss_func_803880E0(ActorMarker *marker, enum asset_e text_id, s32 arg2); +extern void chfinalboss_func_80388110(ActorMarker *marker, enum asset_e text_id, s32 arg2); +extern void chfinalboss_phase1_setState(Actor *this, s32 next_state); +extern void chfinalboss_func_8038856C(Actor *actor, f32 *arg1); +extern void chfinalboss_func_803885DC(Actor *this); +extern s32 chfinalboss_func_8038871C(Actor *arg0, f32 arg1, f32 arg2); +extern void chfinalboss_phase1_update(ActorMarker *marker); +extern void chfinalboss_phase2_setState(Actor *this, s32 arg1); +extern void chfinalboss_phase2_endTextCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2); +extern void chfinalboss_phase2_update(ActorMarker *marker); +extern void __chfinalboss_spawnStatue(enum ch_bossjinjo_e statue_id); +extern void chfinalboss_spawnStatue(s32 statue_id); +extern void __chfinalboss_spawnSpellBarrier(ActorMarker *marker); +extern void chfinalboss_spawnSpellBarrier(ActorMarker *arg0); +extern void chfinalboss_phase3_endTextCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2); +extern void chfinalboss_phase3_setState(Actor *this, s32 arg1); +extern void chfinalboss_dropHealth(ActorMarker *marker); +extern void chfinalboss_phase3_update(ActorMarker *marker); +extern void chfinalboss_func_80389F54(void); +extern void chfinalboss_phase4_setState(Actor *this, s32 arg1); +extern ActorMarker *chfinalboss_findCollidingJinjo(Actor *this, f32 arg1); +extern void chfinalboss_phase4_update(ActorMarker *marker); +extern void chfinalboss_func_8038AC50(ActorMarker *arg0); +extern void chfinalboss_phase5_setState(Actor *this, s32 next_state); +extern void chfinalboss_func_8038AF84(ActorMarker *arg0); +extern void chfinalboss_func_8038AFB0(void); +extern void chfinalboss_phase5_update(ActorMarker *marker); +extern void chfinalboss_phase0_endTextCallback(ActorMarker *marker, enum asset_e text_id, s32 arg2); +extern void chfinalboss_func_8038B780(ActorMarker *marker); +extern void chfinalboss_phase0_update(ActorMarker *marker); +extern bool chfinalboss_func_8038B834(ActorMarker *marker, ActorMarker *other_marker); +extern void chfinalboss_collisionPassive(ActorMarker *marker, ActorMarker *other_marker); +extern void chfinalboss_collisionActive(ActorMarker *marker, ActorMarker *other_marker); +extern void chfinalboss_spawnShadow(ActorMarker *marker); +extern void chfinalboss_update(Actor *this); +extern void chfinalboss_getPosition(f32 position[3]); +extern void chfinalboss_spellBarrierInactive(); +extern void chfinalboss_func_8038C10C(s32 arg0); +extern void chfinalboss_func_8038C138(); +extern void chfinalboss_setBossDefeated(void); +extern void chfinalboss_setJinjoStatueActivated(bool state); +extern f32 chfinalboss_getScreamTime(); +extern s32 chfinalboss_func_8038C298(); +extern bool chfinalboss_isJinjoSpawned(); +extern bool chfinalboss_isJinjonatorSpawned(); + +// chbossjinfo.c +extern void chbossjinjo_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id, f32 scale); +extern void chbossjinjo_createNonShrinkingSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id, f32 scale); +extern void chbossjinjo_func_8038C588(void); +extern void chbossjinjo_func_8038C5BC(void); +extern void chbossjinjo_spawnParticlesAtFinalBoss(Actor *this, enum asset_e sprite1_id, enum asset_e sprite2_id, f32 scale); +extern void chbossjinjo_spawnAttackParticles(Actor *this); +extern void chbossjinjo_rotateYaw(Actor *this, s16 angle); +extern void chbossjinjo_func_8038C79C(Actor *this); +extern void chBossJinjo_update(Actor *this); +extern void fight_createBlastParticle(f32 position[3], enum asset_e model_id, f32 scale_ratio, f32 fade_in); +extern void chBossJinjo_update2(Actor *this); +extern void chbossjinjo_attack(ActorMarker *marker); +extern f32 chbossjinjo_getWakeUpTime(void); + +// chbossjinjobase.c +extern void chbossjinjobase_spawnStoneJinjo(ActorMarker *marker); +extern void chBossJinjoBase_createSmokeParticles(f32 position[3], s32 count); +extern void chBossJinjoBase_func_8038D3DC(Actor *this, s32 arg1, f32 arg2, f32 arg3, f32 arg4); +extern void chBossJinjoBase_getHitByEgg(ActorMarker *this, ActorMarker *other); +extern void chBossJinjoBase_free(Actor *this); +extern void chBossJinjoBase_update(Actor *this); + +// chstonejinjo.c +extern void chstonejinjo_spawnJinjo(ActorMarker *marker); +extern void chstonejinjo_update(Actor *this); +extern void chstonejinjo_breakOpen(ActorMarker *marker); +extern f32 chstonejinjo_getBreakUpTime(void); + +// chjinjonatorbase.c +extern void chjinjonatorbase_spawnStoneJinjo(ActorMarker *marker); +extern void chjinjonatorbase_createSmokeParticles(f32 position[3], s32 count); +extern void chjinjonatorbase_func_8038E0D4(Actor *arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4); +extern void chjinjonatorbase_getHitByEgg(ActorMarker *this, ActorMarker *other); +extern void chjinjonatorbase_spawnActivator(ActorMarker *marker); +extern void chjinjonatorbase_func_8038E2CC(ActorMarker *marker); +extern void chjinjonatorbase_update(Actor *this); + +// chspellbarrier.c +extern void chspellbarrier_collisionPassive(ActorMarker *this, ActorMarker *other); +extern void chspellbarrier_free(Actor *this); +extern void chspellbarrier_update(Actor *this); + +// chspellfireball.c +extern void fight_setPositionWithDisplacement(ActorMarker *marker, f32 *position); +extern void fight_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite, f32 position_range[6], f32 acceleration_range[6], f32 velocity_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]); +extern void fight_createAnimatedSpriteParticles(f32 position[3], enum asset_e sprite, s32 count, s32 staring_frame_range[2], f32 position_range[6], f32 scale_range[4], f32 lifetime_range[4], f32 fade[2]); +extern void fight_createSmokeParticles(f32 position[3], s32 count, f32 *lifetime_and_spawn_range); +extern void chSpellFireball_func_8038F01C(void); +extern void chSpellFireball_func_8038F050(void); +extern void chSpellFireball_createExplosionParticles(ActorMarker *marker); +extern void chSpellFireball_collisionDie(ActorMarker *marker, ActorMarker *other); +extern bool chSpellFireball_isPositionOverThreshold(f32 *position, f32 distance); +extern void chSpellFireball_free(Actor *this); +extern void chSpellFireball_update(Actor *this); +extern void chSpellFireball_func_8038FB84(ActorMarker *marker, f32 *position, f32 *velocity, f32 *arg3); +extern void chSpellFireball_resetSpellHits(void); +extern void chSpellFireball_setLastSpellFired(bool value); + +// chgreenblast.c +extern Actor *chGreenBlast_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +extern void chGreenBlast_func_8038FC88(void); +extern void chGreenBlast_func_8038FCBC(void); +extern void chGreenBlast_collisionDie(ActorMarker *marker, ActorMarker *other_marker); +extern void chGreenBlast_update(Actor *this); +extern void chGreenBlast_func_803900DC(ActorMarker *marker, f32 position[3], f32 arg2, f32 arg3); + +// chjinjonator.c +extern void chjinjonator_createSpriteParticles(f32 position[3], s32 count, enum asset_e sprite_id); +extern void chjinjonator_spawnSparkleParticles(Actor *this); +extern void chjinjonator_spawnAttackParticles(Actor *this, s32 hit_id); +extern void chjinjonator_803903C4(Actor *this); +extern void chjinjonator_8039040C(Actor *this); +extern void chjinjonator_update(Actor *this); +extern void chjinjonator_attack(ActorMarker *marker, s32 hit_count, bool mirrored); +extern void chjinjonator_finalAttack(ActorMarker *marker); +extern f32 chjinjonator_80391234(void); +extern f32 chjinjonator_80391240(void); +extern f32 chjinjonator_80391250(void); +extern bool chjinjonator_8039125C(ActorMarker *marker); +extern void chjinjonator_8039129C(f32 arg0[3]); + +// chbossshadow.c +extern Actor *chBossShadow_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); extern void chBossShadow_update(Actor *this); #endif diff --git a/src/lair/ch/brentilda.c b/src/lair/ch/brentilda.c index 072330f2..5d145952 100644 --- a/src/lair/ch/brentilda.c +++ b/src/lair/ch/brentilda.c @@ -17,7 +17,7 @@ ActorAnimationInfo chBrentildaAnimations[] ={ {0x26C, 4.0f}, {0x26B, 4.0f}, }; -ActorInfo chBrentilda = { 0x1E0, 0x348, 0x539, 0x1, chBrentildaAnimations, chBrentilda_update, func_80326224, actor_draw, 2000, 0, 2.0f, 0}; +ActorInfo chBrentilda = { 0x1E0, 0x348, 0x539, 0x1, chBrentildaAnimations, chBrentilda_update, actor_update_func_80326224, actor_draw, 2000, 0, 2.0f, 0}; /* .code */ void func_8038BA30(ActorMarker *marker, enum asset_e text_id, s32 arg2){ diff --git a/src/lair/ch/cauldron.c b/src/lair/ch/cauldron.c index bfe7a2b8..e8200e6d 100644 --- a/src/lair/ch/cauldron.c +++ b/src/lair/ch/cauldron.c @@ -33,8 +33,8 @@ ActorAnimationInfo D_80393520[] = { {0x28F, 5.167f}, {0x290, 6.26f} }; -ActorInfo D_80393560 = { MARKER_231_WARP_CAULDRON, ACTOR_23B_WARP_CAULDRON, ASSET_4DF_MODEL_WARP_CAULDRON, 1, D_80393520, chWarpCauldron_update, func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0}; -ActorInfo D_80393584 = { MARKER_244_DINGPOT, ACTOR_2DB_DINGPOT, ASSET_450_MODEL_DINGPOT, 1, D_80393520, chWarpCauldron_update, func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0}; +ActorInfo D_80393560 = { MARKER_231_WARP_CAULDRON, ACTOR_23B_WARP_CAULDRON, ASSET_4DF_MODEL_WARP_CAULDRON, 1, D_80393520, chWarpCauldron_update, actor_update_func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0}; +ActorInfo D_80393584 = { MARKER_244_DINGPOT, ACTOR_2DB_DINGPOT, ASSET_450_MODEL_DINGPOT, 1, D_80393520, chWarpCauldron_update, actor_update_func_80326224, chWarpCauldron_draw, 0, 0, 3.0f, 0}; f32 D_803935A8[][2][3] = { {{1.0f, 1.0f, 1.0f}, {1.0f, 0.0f, 1.0f}}, {{1.0f, 1.0f, 1.0f}, {0.0f, 1.0f, 1.0f}}, diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 4901b5b3..5f9a0c9b 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -114,53 +114,53 @@ ActorAnimationInfo D_80392CB0[] = { {0x271, 3.0f}, {0x271, 1e+08f} }; -ActorInfo lair_D_80392D90 = { 0x270, 0x2D8, 0x3B2, 0x1, NULL, func_802D3D54, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392DB4 = { 0x110, 0x214, 0x4AB, 0x1, D_80392CB0, func_803896D4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392DD8 = { 0x113, 0x217, 0x4A9, 0x1, D_80392CB0, func_803896F4, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392DFC = { 0x115, 0x219, 0x4AA, 0x1, D_80392CB0, func_80389714, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392E20 = { 0x11B, 0x221, 0x4B5, 0x1, D_80392CB0, func_80389734, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392E44 = { 0x11C, 0x222, 0x4B2, 0x1, D_80392CB0, func_8038975C, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392E68 = { 0x11D, 0x223, 0x4B0, 0x1, D_80392CB0, func_80389784, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392E8C = { 0x232, 0x23C, 0x4B8, 0x1, D_80392CB0, func_803897AC, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392EB0 = { 0x23F, 0x246, 0x534, 0x1, D_80392CB0, func_80386D20, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392ED4 = { 0x241, 0x248, 0x540, 0x1, D_80392CB0, func_80386780, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392EF8 = { MARKER_109_BREAKABLE_BRICK_WALL, ACTOR_20D_BREAKABLE_BRICK_WALL, ASSET_4A1_MODEL_BREAKABLE_BRICK_WALL, 0x1, D_80392CB0, lair_func_80386550, func_80326224, actor_draw, 0, 0, 0.0f, 0x85}; -ActorInfo D_80392F1C = { 0x264, 0x2E5, 0x550, 0x19, D_80392CB0, func_80388524, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80392F40 = { MARKER_224_BREAKABLE_FLOOR_COBWEB, ACTOR_230_BREAKABLE_FLOOR_COBWEB, ASSET_4BF_MODEL_FLOOR_COBWEB, 0xB, D_80392CB0, chFloorCobweb_update, func_80326224, actor_draw, 0, 0, 0.0f, 0x88}; -ActorInfo D_80392F64 = { MARKER_225_BREAKABLE_WALL_COBWEB, ACTOR_231_BREAKABLE_WALL_COBWEB, ASSET_4D5_MODEL_WALL_COBWEB, 0xE, D_80392CB0, chWallCobweb_update, func_80326224, actor_draw, 0, 0, 0.0f, 0x88}; -ActorInfo D_80392F88 = { 0x111, 0x215, 0x4A4, 0x1, NULL, func_80388FC8, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392FAC = { 0x112, 0x216, 0x4A5, 0x1, NULL, func_80388FC8, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392FD0 = { 0x114, 0x218, 0x4A6, 0x1, NULL, lair_func_80389204, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80392FF4 = { 0x10D, 0x211, 0x4A3, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80393018 = { 0x22C, 0x23A, 0x4D9, 0x1, NULL, func_803882B0, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_8039303C = { 0x164, 0x259, 0x507, 0x1, NULL, func_803880BC, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80393060 = { 0x165, 0x25A, 0x508, 0x1, NULL, func_8038824C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80393084 = { MARKER_240_LAIR_SWITCH_FLIGHT_PAD, 0x247, 0x48A, 0x1, NULL, func_80386D78, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803930A8 = { 0x242, 0x249, 0x2DD, 0x1, NULL, func_803867A8, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803930CC = { 0x11F, 0x225, 0x4B3, 0x1, NULL, func_8038A064, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803930F0 = { 0x10A, 0x20E, 0x4A2, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_80393114 = { 0x11A, 0x220, 0x4B7, 0x1, NULL, func_80389FF4, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x91}; -ActorInfo D_80393138 = { 0x11E, 0x224, 0x4AF, 0x1, NULL, func_8038A014, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x83}; -ActorInfo D_8039315C = { 0x227, 0x234, 0x4D6, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x93}; -ActorInfo D_80393180 = { 0x228, 0x235, 0x4D7, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8B}; -ActorInfo D_803931A4 = { 0x229, 0x236, 0x4D8, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8B}; -ActorInfo D_803931C8 = { MARKER_121_GLASS_EYE, ACTOR_227_GLASS_EYE, ASSET_4BD_MODEL_GLASS_EYE, 0x1, NULL, func_8038A034, func_80326224, actor_draw, 0, 0, 0.0f, 0x89}; -ActorInfo D_803931EC = { 0x116, 0x21A, 0x4AC, 0x1, NULL, func_803893B8, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x82}; -ActorInfo D_80393210 = { 0x117, 0x21B, 0x4AD, 0x1, NULL, lair_func_803894B0, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x82}; -ActorInfo D_80393234 = { 0x10B, 0x20F, 0x4B4, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x90}; -ActorInfo D_80393258 = { 0x10C, 0x210, 0x4AE, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x84}; -ActorInfo D_8039327C = { 0x10E, 0x212, 0x4A7, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x7F}; -ActorInfo D_803932A0 = { 0x120, 0x226, 0x4BC, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x87}; -ActorInfo D_803932C4 = { 0x122, ACTOR_228_MMM_ENTRANCE_DOOR, 0x4BE, 0x1, NULL, func_80388524, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8C}; -ActorInfo D_803932E8 = { 0x10F, 0x213, 0x4A8, 0x1, NULL, func_803875F0, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x80}; -ActorInfo D_8039330C = { 0x118, 0x21E, 0x4B1, 0x1, NULL, lair_func_8038A084, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8F}; -ActorInfo D_80393330 = { 0x119, 0x21F, 0x4B6, 0x1, NULL, func_8038A0A4, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x92}; -ActorInfo D_80393354 = { 0x266, 0x2E3, 0x563, 0x1, NULL, func_803870DC, func_80326224, lair_func_80387560, 0, 0, 0.0f, 0}; -ActorInfo D_80393378 = { 0x17D, 0x1E1, 0x517, 0x1, NULL, func_80389D08, func_80326224, func_80389E10, 0, 0, 0.0f, 0x8D}; -ActorInfo D_8039339C = { 0x234, 0x23E, 0x4E1, 0x12, D_80392CB0, func_8038982C, func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; -ActorInfo D_803933C0 = { 0x163, 0x258, 0x511, 0x12, D_80392CB0, func_80389898, func_80326224, func_8038664C, 0, 0, 0.0f, 0x8E}; -ActorInfo D_803933E4 = { 0x160, 0x255, 0x509, 0x15, D_80392CB0, func_80389934, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_80393408 = { 0x102, 0x203, 0x491, 0x1, D_80392CB0, func_80387730, func_80326224, func_80387DA8, 0, 0, 0.0f, 0}; +ActorInfo lair_D_80392D90 = { 0x270, 0x2D8, 0x3B2, 0x1, NULL, func_802D3D54, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392DB4 = { 0x110, 0x214, 0x4AB, 0x1, D_80392CB0, func_803896D4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392DD8 = { 0x113, 0x217, 0x4A9, 0x1, D_80392CB0, func_803896F4, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392DFC = { 0x115, 0x219, 0x4AA, 0x1, D_80392CB0, func_80389714, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392E20 = { 0x11B, 0x221, 0x4B5, 0x1, D_80392CB0, func_80389734, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392E44 = { 0x11C, 0x222, 0x4B2, 0x1, D_80392CB0, func_8038975C, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392E68 = { 0x11D, 0x223, 0x4B0, 0x1, D_80392CB0, func_80389784, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392E8C = { 0x232, 0x23C, 0x4B8, 0x1, D_80392CB0, func_803897AC, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392EB0 = { 0x23F, 0x246, 0x534, 0x1, D_80392CB0, func_80386D20, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392ED4 = { 0x241, 0x248, 0x540, 0x1, D_80392CB0, func_80386780, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392EF8 = { MARKER_109_BREAKABLE_BRICK_WALL, ACTOR_20D_BREAKABLE_BRICK_WALL, ASSET_4A1_MODEL_BREAKABLE_BRICK_WALL, 0x1, D_80392CB0, lair_func_80386550, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0x85}; +ActorInfo D_80392F1C = { 0x264, 0x2E5, 0x550, 0x19, D_80392CB0, func_80388524, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80392F40 = { MARKER_224_BREAKABLE_FLOOR_COBWEB, ACTOR_230_BREAKABLE_FLOOR_COBWEB, ASSET_4BF_MODEL_FLOOR_COBWEB, 0xB, D_80392CB0, chFloorCobweb_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0x88}; +ActorInfo D_80392F64 = { MARKER_225_BREAKABLE_WALL_COBWEB, ACTOR_231_BREAKABLE_WALL_COBWEB, ASSET_4D5_MODEL_WALL_COBWEB, 0xE, D_80392CB0, chWallCobweb_update, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0x88}; +ActorInfo D_80392F88 = { 0x111, 0x215, 0x4A4, 0x1, NULL, func_80388FC8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392FAC = { 0x112, 0x216, 0x4A5, 0x1, NULL, func_80388FC8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392FD0 = { 0x114, 0x218, 0x4A6, 0x1, NULL, lair_func_80389204, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80392FF4 = { 0x10D, 0x211, 0x4A3, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80393018 = { 0x22C, 0x23A, 0x4D9, 0x1, NULL, func_803882B0, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_8039303C = { 0x164, 0x259, 0x507, 0x1, NULL, func_803880BC, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80393060 = { 0x165, 0x25A, 0x508, 0x1, NULL, func_8038824C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80393084 = { MARKER_240_LAIR_SWITCH_FLIGHT_PAD, 0x247, 0x48A, 0x1, NULL, func_80386D78, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803930A8 = { 0x242, 0x249, 0x2DD, 0x1, NULL, func_803867A8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803930CC = { 0x11F, 0x225, 0x4B3, 0x1, NULL, func_8038A064, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803930F0 = { 0x10A, 0x20E, 0x4A2, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_80393114 = { 0x11A, 0x220, 0x4B7, 0x1, NULL, func_80389FF4, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x91}; +ActorInfo D_80393138 = { 0x11E, 0x224, 0x4AF, 0x1, NULL, func_8038A014, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x83}; +ActorInfo D_8039315C = { 0x227, 0x234, 0x4D6, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x93}; +ActorInfo D_80393180 = { 0x228, 0x235, 0x4D7, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8B}; +ActorInfo D_803931A4 = { 0x229, 0x236, 0x4D8, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8B}; +ActorInfo D_803931C8 = { MARKER_121_GLASS_EYE, ACTOR_227_GLASS_EYE, ASSET_4BD_MODEL_GLASS_EYE, 0x1, NULL, func_8038A034, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0x89}; +ActorInfo D_803931EC = { 0x116, 0x21A, 0x4AC, 0x1, NULL, func_803893B8, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x82}; +ActorInfo D_80393210 = { 0x117, 0x21B, 0x4AD, 0x1, NULL, lair_func_803894B0, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x82}; +ActorInfo D_80393234 = { 0x10B, 0x20F, 0x4B4, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x90}; +ActorInfo D_80393258 = { 0x10C, 0x210, 0x4AE, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x84}; +ActorInfo D_8039327C = { 0x10E, 0x212, 0x4A7, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x7F}; +ActorInfo D_803932A0 = { 0x120, 0x226, 0x4BC, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x87}; +ActorInfo D_803932C4 = { 0x122, ACTOR_228_MMM_ENTRANCE_DOOR, 0x4BE, 0x1, NULL, func_80388524, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8C}; +ActorInfo D_803932E8 = { 0x10F, 0x213, 0x4A8, 0x1, NULL, func_803875F0, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x80}; +ActorInfo D_8039330C = { 0x118, 0x21E, 0x4B1, 0x1, NULL, lair_func_8038A084, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x8F}; +ActorInfo D_80393330 = { 0x119, 0x21F, 0x4B6, 0x1, NULL, func_8038A0A4, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0x92}; +ActorInfo D_80393354 = { 0x266, 0x2E3, 0x563, 0x1, NULL, func_803870DC, actor_update_func_80326224, lair_func_80387560, 0, 0, 0.0f, 0}; +ActorInfo D_80393378 = { 0x17D, 0x1E1, 0x517, 0x1, NULL, func_80389D08, actor_update_func_80326224, func_80389E10, 0, 0, 0.0f, 0x8D}; +ActorInfo D_8039339C = { 0x234, 0x23E, 0x4E1, 0x12, D_80392CB0, func_8038982C, actor_update_func_80326224, actor_drawFullDepth, 0, 0, 0.0f, 0}; +ActorInfo D_803933C0 = { 0x163, 0x258, 0x511, 0x12, D_80392CB0, func_80389898, actor_update_func_80326224, func_8038664C, 0, 0, 0.0f, 0x8E}; +ActorInfo D_803933E4 = { 0x160, 0x255, 0x509, 0x15, D_80392CB0, func_80389934, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_80393408 = { 0x102, 0x203, 0x491, 0x1, D_80392CB0, func_80387730, actor_update_func_80326224, func_80387DA8, 0, 0, 0.0f, 0}; ParticleScaleAndLifetimeRanges D_8039342C = { {0.31f, 0.37f}, {0.17f, 0.22f}, @@ -205,7 +205,7 @@ ParticleScaleAndLifetimeRanges D_803934AC = { {3.8f, 5.0f}, 0.31f, 0.93f }; -struct42s D_803934D4 = { +ParticleSettingsVelocityPosition D_803934D4 = { {{-80.0f, 30.0f, -80.0f}, {80.0f, 270.0f, 80.0f}}, {{40.0f, 0.0f, -50.0f}, {100.0f, 200.0f, 50.0f}}, }; @@ -417,9 +417,9 @@ void func_803867A8(Actor *this) { sp50[0] = this->unk1C[0] + sp5C[0]; sp50[2] = this->unk1C[2] + sp5C[2]; particleEmitter_setPosition(sp44, sp50); - particleEmitter_setParticleSpawnPositionRange(sp44, -25.0f, 0.0f, -25.0f, 25.0f, 6.0f, 25.0f); + particleEmitter_setSpawnPositionRange(sp44, -25.0f, 0.0f, -25.0f, 25.0f, 6.0f, 25.0f); particleEmitter_emitN(sp44, 1); - particleEmitter_setParticleSpawnPositionRange(sp44, -75.0f, 0.0f, -75.0f, 75.0f, 6.0f, 75.0f); + particleEmitter_setSpawnPositionRange(sp44, -75.0f, 0.0f, -75.0f, 75.0f, 6.0f, 75.0f); particleEmitter_emitN(sp44, 1); } } @@ -565,7 +565,7 @@ void func_803870DC(Actor *this) { particleEmitter_setSprite(temp_s5, ASSET_710_SPRITE_SPARKLE_PURPLE); particleEmitter_setStartingScaleRange(temp_s5, 0.13f, 0.18f); particleEmitter_setFinalScaleRange(temp_s5, 0.08f, 0.13f); - particleEmitter_setParticleAccelerationRange(temp_s5, -500.0f, -1800.0f, -500.0f, 500.0f, 1800.0f, 500.0f); + particleEmitter_setAccelerationRange(temp_s5, -500.0f, -1800.0f, -500.0f, 500.0f, 1800.0f, 500.0f); particleEmitter_setSpawnIntervalRange(temp_s5, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(temp_s5, 0.9f, 0.9f); particleEmitter_setParticleVelocityRange(temp_s5, -400.0f, 400.0f, -400.0f, 400.0f, -400.0f, 400.0f); @@ -723,7 +723,7 @@ void func_80387730(Actor *this) { particleEmitter_setSprite(temp_s5, ASSET_710_SPRITE_SPARKLE_PURPLE); particleEmitter_setStartingScaleRange(temp_s5, 0.13f, 0.18f); particleEmitter_setFinalScaleRange(temp_s5, 0.08f, 0.13f); - particleEmitter_setParticleAccelerationRange(temp_s5, -10.0f, 0.0f, -10.0f, 10.0f, 1600.0f, 10.0f); + particleEmitter_setAccelerationRange(temp_s5, -10.0f, 0.0f, -10.0f, 10.0f, 1600.0f, 10.0f); particleEmitter_setSpawnIntervalRange(temp_s5, 0.0f, 0.01f); particleEmitter_setParticleLifeTimeRange(temp_s5, 1.4f, 1.4f); particleEmitter_setParticleVelocityRange(temp_s5, -100.0f, 100.0f, -100.0f, 100.0f, 0.0f, 100.0f); diff --git a/src/lair/code_86F0.c b/src/lair/code_86F0.c index 9905582d..30404a91 100644 --- a/src/lair/code_86F0.c +++ b/src/lair/code_86F0.c @@ -25,8 +25,8 @@ void func_8038F350(Actor *this, s32 next_state); void lair_func_8038F924(Actor *this); /* .data */ -ActorInfo D_803947B0 = { 0x1EB, 0x3B7, 0x48B, 0x1, NULL, lair_func_8038F924, func_80326224, actor_draw, 0, 0, 0.0f, 0}; -ActorInfo D_803947D4 = { 0x1EB, 0x3BC, 0x538, 0x1, NULL, lair_func_8038F924, func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803947B0 = { 0x1EB, 0x3B7, 0x48B, 0x1, NULL, lair_func_8038F924, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; +ActorInfo D_803947D4 = { 0x1EB, 0x3BC, 0x538, 0x1, NULL, lair_func_8038F924, actor_update_func_80326224, actor_draw, 0, 0, 0.0f, 0}; Struct_lair_86F0_0 D_803947F8[0xb] ={ { 1, 0x1, FILEPROG_5D_MM_PUZZLE_PIECES_PLACED}, { 2, 0x2, FILEPROG_5E_TCC_PUZZLE_PIECES_PLACED}, @@ -464,7 +464,7 @@ void lair_func_8038F924(Actor *this) { particleEmitter_setPosition(sp54, this->position); sp58[2] = randf() * 255.0f; particleEmitter_setRGB(sp54, sp58); - particleEmitter_setParticleSpawnPositionRange(sp54, -30.0f, -40.0f, -30.0f, 30.0f, 20.0f, 30.0f); + particleEmitter_setSpawnPositionRange(sp54, -30.0f, -40.0f, -30.0f, 30.0f, 20.0f, 30.0f); particleEmitter_emitN(sp54, 6); } } diff --git a/src/lair/code_9C40.c b/src/lair/code_9C40.c index 24959a29..095bf18b 100644 --- a/src/lair/code_9C40.c +++ b/src/lair/code_9C40.c @@ -12,9 +12,9 @@ ActorAnimationInfo D_80394860[] = { {0, 0.0f}, {0x272, 0.8f} }; -ActorInfo D_80394870 = { 0x16D, 0x1D5, 0x54F, 0x1, D_80394860, func_803902B8, func_80326224, func_80390030, 2500, 0, 1.2f, 0}; -ActorInfo D_80394894 = { 0x16E, 0x1D6, 0x54F, 0x1, D_80394860, func_803902B8, func_80326224, func_80390030, 2500, 0, 1.2f, 0}; -ActorInfo D_803948B8 = { 0x16F, 0x1D7, 0x54F, 0x1, D_80394860, func_803902B8, func_80326224, func_80390030, 2500, 0, 1.2f, 0}; +ActorInfo D_80394870 = { 0x16D, 0x1D5, 0x54F, 0x1, D_80394860, func_803902B8, actor_update_func_80326224, func_80390030, 2500, 0, 1.2f, 0}; +ActorInfo D_80394894 = { 0x16E, 0x1D6, 0x54F, 0x1, D_80394860, func_803902B8, actor_update_func_80326224, func_80390030, 2500, 0, 1.2f, 0}; +ActorInfo D_803948B8 = { 0x16F, 0x1D7, 0x54F, 0x1, D_80394860, func_803902B8, actor_update_func_80326224, func_80390030, 2500, 0, 1.2f, 0}; /* .code */ Actor *func_80390030(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ diff --git a/src/lair/code_A170.c b/src/lair/code_A170.c index 1beb16a4..e413f49f 100644 --- a/src/lair/code_A170.c +++ b/src/lair/code_A170.c @@ -20,9 +20,9 @@ ActorAnimationInfo D_80394900[] = { {0, 0.0f}, {0x26A, 1.6f}, }; -ActorInfo D_80394910 = { 0x170, 0x1D8, 0x547, 0x1, D_803948E0, func_803906A0, func_80326224, func_80390560, 0, 0, 0.7f, 0}; -ActorInfo D_80394934 = { 0x171, 0x1D9, 0x548, 0x1, D_803948F0, func_803906A0, func_80326224, func_80390560, 0, 0, 0.5f, 0}; -ActorInfo D_80394958 = { 0x172, 0x1DA, 0x549, 0x1, D_80394900, func_803906A0, func_80326224, func_80390560, 0, 0, 0.5f, 0}; +ActorInfo D_80394910 = { 0x170, 0x1D8, 0x547, 0x1, D_803948E0, func_803906A0, actor_update_func_80326224, func_80390560, 0, 0, 0.7f, 0}; +ActorInfo D_80394934 = { 0x171, 0x1D9, 0x548, 0x1, D_803948F0, func_803906A0, actor_update_func_80326224, func_80390560, 0, 0, 0.5f, 0}; +ActorInfo D_80394958 = { 0x172, 0x1DA, 0x549, 0x1, D_80394900, func_803906A0, actor_update_func_80326224, func_80390560, 0, 0, 0.5f, 0}; /* .code */ Actor *func_80390560(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ diff --git a/src/lair/code_A430.c b/src/lair/code_A430.c index bf2c0ace..29445e1d 100644 --- a/src/lair/code_A430.c +++ b/src/lair/code_A430.c @@ -5,7 +5,7 @@ void func_80390820(Actor *this); /* .data */ -ActorInfo D_80394980 = { 0x299, 0x3C3, 0x0, 0x0, NULL, func_80390820, func_80326224, func_80325340, 0, 0, 0.0f, 0}; +ActorInfo D_80394980 = { 0x299, 0x3C3, 0x0, 0x0, NULL, func_80390820, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0}; /* .code */ void func_80390820(Actor *this) diff --git a/src/lair/code_A4A0.c b/src/lair/code_A4A0.c index 9affb57a..640004a8 100644 --- a/src/lair/code_A4A0.c +++ b/src/lair/code_A4A0.c @@ -40,9 +40,9 @@ ActorAnimationInfo D_803949B0[] ={ {0x26D, 1000000.0f}, {0x26D, 1000000.0f}, }; -ActorInfo D_80394A08 = { MARKER_1EA_GRUNTLING_RED, ACTOR_367_GRUNTLING_RED, ASSET_54A_MODEL_GRUNTLING_RED, 0x1, D_803949B0, func_80390AE8, func_80326224, actor_draw, 2500, 0, 1.0f, 0}; -ActorInfo D_80394A2C = { MARKER_295_GRUNTLING_BLUE, ACTOR_3BF_GRUNTLING_BLUE, ASSET_561_MODEL_GRUNTLING_BLUE, 0x1, D_803949B0, func_80390AE8, func_80326224, actor_draw, 2500, 0, 1.0f, 0}; -ActorInfo D_80394A50 = { MARKER_1F1_GRUNTLING_BLACK, ACTOR_3C0_GRUNTLING_BLACK, ASSET_562_MODEL_GRUNTLING_BLACK, 0x1, D_803949B0, func_80390AE8, func_80326224, actor_draw, 2500, 0, 1.0f, 0}; +ActorInfo D_80394A08 = { MARKER_1EA_GRUNTLING_RED, ACTOR_367_GRUNTLING_RED, ASSET_54A_MODEL_GRUNTLING_RED, 0x1, D_803949B0, func_80390AE8, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0}; +ActorInfo D_80394A2C = { MARKER_295_GRUNTLING_BLUE, ACTOR_3BF_GRUNTLING_BLUE, ASSET_561_MODEL_GRUNTLING_BLUE, 0x1, D_803949B0, func_80390AE8, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0}; +ActorInfo D_80394A50 = { MARKER_1F1_GRUNTLING_BLACK, ACTOR_3C0_GRUNTLING_BLACK, ASSET_562_MODEL_GRUNTLING_BLACK, 0x1, D_803949B0, func_80390AE8, actor_update_func_80326224, actor_draw, 2500, 0, 1.0f, 0}; /* .code */ void func_80390890(ActorMarker *marker, ActorMarker *other_marker) { diff --git a/src/lair/code_A810.c b/src/lair/code_A810.c index 5f558d25..64bfe284 100644 --- a/src/lair/code_A810.c +++ b/src/lair/code_A810.c @@ -12,7 +12,7 @@ typedef struct { void func_80390E28(Actor *this); /* .data */ -ActorInfo D_80394A80 = { 0x1EC, 0x377, 0x0, 0x0, NULL, func_80390E28, func_80326224, func_80325340, 3000, 0, 0.0f, 0}; +ActorInfo D_80394A80 = { 0x1EC, 0x377, 0x0, 0x0, NULL, func_80390E28, actor_update_func_80326224, func_80325340, 3000, 0, 0.0f, 0}; /* .bss */ f32 D_80395370[0x14][3]; diff --git a/src/lair/code_AD70.c b/src/lair/code_AD70.c index f183cf97..5fc77a21 100644 --- a/src/lair/code_AD70.c +++ b/src/lair/code_AD70.c @@ -18,7 +18,7 @@ typedef struct { void func_80391B04(Actor *this); /* .data */ -ActorInfo D_80394AB0 = { 0x1EF, 0x3BB, 0x54B, 0x1, NULL, func_80391B04, func_80326224, func_80325340, 0, 0, 0.0f, 0}; +ActorInfo D_80394AB0 = { 0x1EF, 0x3BB, 0x54B, 0x1, NULL, func_80391B04, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0}; s32 D_80394AD4[3] = {0xBA, 0xBA, 0xBA}; ParticleScaleAndLifetimeRanges D_80394AE0 = { {0.1f, 0.2f}, @@ -36,13 +36,13 @@ ParticleScaleAndLifetimeRanges D_80394B08 = { 0.4f, 0.6f, }; -struct43s D_80394B30 = { +ParticleSettingsVelocityAccelerationPosition D_80394B30 = { {{-400.0f, 400.0f, -400.0f}, {400.0f, 800.0f, 400.0f}}, {{0.0f, -1000.0f, 0.0f}, {0.0f, -1000.0f, 0.0f}}, {{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}} }; -struct43s D_80394B78 = { +ParticleSettingsVelocityAccelerationPosition D_80394B78 = { {{-50.0f, 200.0f, -50.0f}, {50.0f, 400.0f, 50.0f}}, {{0.0f, -500.0f, 0.0f}, {0.0f, -500.0f, 0.0f}}, {{-40.0f, -40.0f, -40.0f}, {40.0f, 40.0f, 40.0f}} @@ -60,7 +60,7 @@ void func_80391160(f32 pos[3], u32 count) particleEmitter_setAlpha(p, 0xEB); particleEmitter_setStartingFrameRange(p, 0, 7); particleEmitter_setPosition(p, pos); - particleEmitter_setParticleSpawnPositionRange(p, -55, -55, -55, 55, 55, 55); + particleEmitter_setSpawnPositionRange(p, -55, -55, -55, 55, 55, 55); particleEmitter_setParticleVelocityRange(p, -70, -70, -70, 70, 70, 70); particleEmitter_setScaleAndLifetimeRanges(p, &D_80394AE0); particleEmitter_emitN(p, count); @@ -73,7 +73,7 @@ void lair_func_80391254(f32 pos[3], u32 count, enum asset_e sprite) particleEmitter_setDrawMode(p, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(p, 0, 2); particleEmitter_setParticleFramerateRange(p, 4, 6); - particleEmitter_setParticleSpawnPositionRange(p, -80, 0, -80, 80, 0, 80); + particleEmitter_setSpawnPositionRange(p, -80, 0, -80, 80, 0, 80); particleEmitter_setPosition(p, pos); particleEmitter_setFade(p, 0.6f, 0.7f); particleEmitter_setStartingScaleRange(p, 3, 3); @@ -87,10 +87,10 @@ void func_8039137C(f32 pos[3], u32 count, enum asset_e sprite) ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, sprite); particleEmitter_setPosition(p, pos); - func_802EF9F8(p, 0.3f); - func_802EFA18(p, 3); + particleEmitter_func_802EF9F8(p, 0.3f); + particleEmitter_func_802EFA18(p, 3); particleEmitter_setAngularVelocityRange(p, 0, 0, 600, 0, 0, 900); - particleEmitter_setPositionVelocityAndAccelerationRanges(p, &D_80394B30); + particleEmitter_setVelocityAccelerationAndPositionRanges(p, &D_80394B30); particleEmitter_setScaleAndLifetimeRanges(p, &D_80394B08); particleEmitter_setDrawMode(p, 2); particleEmitter_emitN(p, count); @@ -101,14 +101,14 @@ void func_8039144C(f32 pos[3], u32 count) ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, 0x713); particleEmitter_setPosition(p, pos); - particleEmitter_setParticleSpawnPositionRange(p, -40, -40, -40, 40, 40, 40); + particleEmitter_setSpawnPositionRange(p, -40, -40, -40, 40, 40, 40); particleEmitter_setDrawMode(p, 4); particleEmitter_setAngularVelocityRange(p, 0, 0, 200, 0, 0, 300); particleEmitter_setFade(p, 0.1f, 0.2f); particleEmitter_setParticleLifeTimeRange(p, 0.75f, 0.75f); particleEmitter_setStartingScaleRange(p, 0.5f, 0.5f); particleEmitter_setFinalScaleRange(p, 0.2f, 0.2f); - particleEmitter_setParticleAccelerationRange(p, 0, -50, 0, 0, -100, 0); + particleEmitter_setAccelerationRange(p, 0, -50, 0, 0, -100, 0); particleEmitter_emitN(p, count); } @@ -139,7 +139,7 @@ void func_803916BC(f32 position[3], s32 cnt){ particleEmitter_setStartingScaleRange(pCtrl, 2.0f, 2.0f); particleEmitter_setFinalScaleRange(pCtrl, 4.0f, 4.0f); particleEmitter_setParticleLifeTimeRange(pCtrl, 1.0f, 1.5f); - particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80394B78); + particleEmitter_setVelocityAccelerationAndPositionRanges(pCtrl, &D_80394B78); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/lair/code_BBD0.c b/src/lair/code_BBD0.c index 7d1afd44..58dc23e2 100644 --- a/src/lair/code_BBD0.c +++ b/src/lair/code_BBD0.c @@ -21,22 +21,22 @@ ActorAnimationInfo D_80394BE0[] = { }; ActorInfo D_80394C28 = { MARKER_29A_FF_PRIZE, ACTOR_3C4_FF_PRIZE_WASHING_CAULDRON, ASSET_55F_MODEL_FF_PRIZE_WASHING_CAULDRON, 0x1, D_80394BE0, - func_8039217C, func_80326224, actor_draw, + func_8039217C, actor_update_func_80326224, actor_draw, 0, 0, 3.0f, 0 }; ActorInfo D_80394C4C = { MARKER_29A_FF_PRIZE, ACTOR_3C7_FF_PRIZE_GRUNTY_DOLL, ASSET_560_MODEL_FF_PRIZE_GRUNTY_DOLL, 0x3, D_80394BE0, - func_8039217C, func_80326224, actor_draw, + func_8039217C, actor_update_func_80326224, actor_draw, 0, 0, 1.0f, 0 }; ActorInfo D_80394C70 = { MARKER_29A_FF_PRIZE, 0x3C6, 0x34C, 0x0, D_80394BE0, - func_8039217C, func_80326224, actor_draw, + func_8039217C, actor_update_func_80326224, actor_draw, 0, 0, 3.0f, 0 }; ActorInfo D_80394C94 = { MARKER_29A_FF_PRIZE, ACTOR_3C8_FF_PRIZE_TOOTY, ASSET_35B_FF_PRIZE_TOOTY, 0x5, D_80394BE0, - func_8039217C, func_80326224, func_80391FC0, + func_8039217C, actor_update_func_80326224, func_80391FC0, 0, 0, 1.0f, 0 }; diff --git a/src/lair/code_C1C0.c b/src/lair/code_C1C0.c index a1bf66c3..336fcf32 100644 --- a/src/lair/code_C1C0.c +++ b/src/lair/code_C1C0.c @@ -103,7 +103,7 @@ void func_80392918(Actor *this) { } return; } - func_80326224(this); + actor_update_func_80326224(this); if ((this->unk48 > 0.5) && !this->has_met_before) { this->has_met_before = TRUE; ncStaticCamera_setToNode(0x1E); diff --git a/src/lair/code_C6C0.c b/src/lair/code_C6C0.c index d54dc109..7d965c81 100644 --- a/src/lair/code_C6C0.c +++ b/src/lair/code_C6C0.c @@ -7,7 +7,7 @@ extern void func_8028F3D8(f32[3], f32, void(*)(ActorMarker *), ActorMarker *); void func_80392B6C(Actor *this); /* .data */ -ActorInfo D_80394D20 = { 0x29C, 0x3C9, 0x0, 0x0, NULL, func_80392B6C, func_80326224, func_80325340, 0, 0, 0.0f, 0}; +ActorInfo D_80394D20 = { 0x29C, 0x3C9, 0x0, 0x0, NULL, func_80392B6C, actor_update_func_80326224, func_80325340, 0, 0, 0.0f, 0}; /* .code */ void func_80392AB0(ActorMarker *marker, enum asset_e text_id, s32 arg2){