diff --git a/decompressed.us.v10.yaml b/decompressed.us.v10.yaml index 17810b1a..d758a310 100644 --- a/decompressed.us.v10.yaml +++ b/decompressed.us.v10.yaml @@ -147,7 +147,7 @@ segments: - [0xF19A10, c, inflate] #DONE - [0xF1AF50, c, code_1D00] #DONE - [0xF1BE20, c, code_2BD0] - - [0xF1BFF0, c, code_2DA0] #DONE + - [0xF1BFF0, c, defragmanager] #DONE - [0xF1C1F0, c, code_2FA0] #DONE - [0xF1C410, c, code_31C0] #DONE - [0xF1C4A0, c, code_3250] #DONE @@ -164,13 +164,13 @@ segments: - [0xF27D40, c, code_EAF0] #DONE - [0xF29C50, c,code_10A00] - [0xF2AD10, c, code_11AC0] #DONE - - [0xF2C160, c, code_12F10] #DONE + - [0xF2C160, c, rumblemanager] #DONE - [0xF2C890, c, code_13640] #DONE - [0xF2C8D0, c, code_13680] #DONE - - [0xF2C920, c, code_136D0] #DONE + - [0xF2C920, c, overlaymanager] #DONE - [0xF2CBE0, c, code_13990] - [0xF2E840, hasm, code_155F0] #DONE - - [0xF2E880, c, code_15630] #DONE + - [0xF2E880, c, overlay] #DONE - [0xF2E9C0, c, code_15770] #DONE - [0xF2ED80, c, code_15B30] #DONE - [0xF2FCA0, c, memory] #DONE @@ -376,7 +376,7 @@ segments: - [0xF51550, .data, code_EAF0] - [0xF51560, .data, code_10A00] - [0xF51570, .data, code_11AC0] - - [0xF51B00, .data, code_136D0] + - [0xF51B00, .data, overlaymanager] - [0xF51DA0, .data, code_13990] - [0xF51DB0, .data, code_15B30] - [0xF51DC0, .data, memory] @@ -417,8 +417,8 @@ segments: - [0xF53220, .rodata, code_EAF0] - [0xF532A0, .rodata, code_10A00] - [0xF539B0, .rodata, code_11AC0] - - [0xF539C0, .rodata, code_12F10] - - [0xF539D0, .rodata, code_136D0] + - [0xF539C0, .rodata, rumblemanager] + - [0xF539D0, .rodata, overlaymanager] - [0xF53A50, .rodata, code_13990] - [0xF53A70, .rodata, code_18350] - [0xF53B70, .rodata, code_1BE90] @@ -454,7 +454,7 @@ segments: - [0xF55960, .bss, inflate] - [0xF55960, .bss, code_1D00] - [0xF55960, .bss, code_2BD0] - - [0xF55960, .bss, code_2DA0] + - [0xF55960, .bss, defragmanager] - [0xF55960, .bss, code_31C0] - [0xF55960, .bss, code_5650] - [0xF55960, .bss, code_7090] @@ -466,9 +466,9 @@ segments: - [0xF55960, .bss, code_EAF0] - [0xF55960, .bss, code_10A00] - [0xF55960, .bss, code_11AC0] - - [0xF55960, .bss, code_12F10] + - [0xF55960, .bss, rumblemanager] - [0xF55960, .bss, code_13640] - - [0xF55960, .bss, code_136D0] + - [0xF55960, .bss, overlaymanager] - [0xF55960, .bss, code_13990] - [0xF55960, .bss, code_15770] - [0xF55960, .bss, code_15B30] @@ -506,10 +506,10 @@ segments: - [0xF56EB0, c, code_1550] #DONE - [0xF57290, c, code_1930] #DONE - [0xF57BA0, c, code_2240] #DONE - - [0xF581F0, c, code_2890] #DONE + - [0xF581F0, c, ba/anim] #DONE - [0xF58DE0, c, code_3480] #DONE - [0xF59330, c, code_39D0] #DONE - - [0xF5A120, c, code_47C0] #DONE + - [0xF5A120, c, ba/marker] #DONE - [0xF5C490, c, code_6B30] #DONE - [0xF5C9C0, c, code_7060] #DONE - [0xF5E700, c, code_8DA0] #DONE @@ -521,7 +521,7 @@ segments: - [0xF5FF60, c, code_A600] #DONE - [0xF60040, c, code_A6E0] #DONE - [0xF602C0, c, code_A960] #DONE - - [0xF603C0, c, playerModel] #DONE + - [0xF603C0, c, ba/model] #DONE - [0xF60FB0, c, code_B650] #DONE - [0xF611B0, c, code_B850] #DONE - [0xF614B0, c, code_BB50] #DONE @@ -722,7 +722,7 @@ segments: - [0xFBC910, c, code_66FB0] #DONE - [0xFBCDF0, c, gc/bound] #DONE - [0xFBCFB0, c, code_67650] #DONE - - [0xFBD300, c, code_679A0] #DONE + - [0xFBD300, c, particle] #DONE - [0xFBF8C0, c, code_69F60] #DONE - [0xFBFE10, c, code_6A4B0] - [0xFC0850, c, code_6AEF0] #DONE @@ -891,12 +891,12 @@ segments: - [0x1031E10, c, code_DC4B0] #DONE - [0x1031F60, bin, data_DC600] #unreferenced - [0x1031F90, .data, code_1550] - - [0x1031FB0, .data, code_2890] + - [0x1031FB0, .data, ba/anim] - [0x1031FE0, .data, code_3480] - - [0x1032000, .data, code_47C0] + - [0x1032000, .data, ba/marker] - [0x1032060, .data, code_7060] - [0x10320A0, .data, code_90E0] - - [0x1032150, .data, playerModel] + - [0x1032150, .data, ba/model] - [0x1032150, .data, code_B850] - [0x1032170, .data, code_BB50] - [0x10321C0, .data, code_C0E0] @@ -1004,7 +1004,7 @@ segments: - [0x1037230, .data, code_66FB0] - [0x10372B0, .data, gc/bound] - [0x1037300, .data, code_67650] - - [0x1037310, .data, code_679A0] + - [0x1037310, .data, particle] - [0x10373A0, .data, code_6A4B0] - [0x1037470, .data, code_6AEF0] - [0x1037480, .data, code_6B030] @@ -1112,16 +1112,16 @@ segments: - [0x10427C0, ".rodata", animctrl] - [0x10427F0, .rodata, code_AD0] - [0x1042800, .rodata, code_1930] - - [0x1042880, .rodata, code_2890] + - [0x1042880, .rodata, ba/anim] - [0x1042890, .rodata, code_3480] - [0x10428A0, .rodata, code_39D0] - - [0x1042940, .rodata, code_47C0] + - [0x1042940, .rodata, ba/marker] - [0x1042D70, .rodata, code_6B30] - [0x1042E60, .rodata, code_7060] - [0x1042F90, .rodata, code_9450] - [0x1042FC0, .rodata, code_9900] - [0x1042FD0, .rodata, code_9BD0] - - [0x1043010, .rodata, playerModel] + - [0x1043010, .rodata, ba/model] - [0x10430C0, .rodata, code_B650] - [0x10430D0, .rodata, code_B850] - [0x10430F0, .rodata, code_BD20] @@ -1255,7 +1255,7 @@ segments: - [0x1045B50, .rodata, code_5FD90] - [0x1045B60, .rodata, code_66FB0] - [0x1045B70, .rodata, code_67650] - - [0x1045B80, .rodata, code_679A0] + - [0x1045B80, .rodata, particle] - [0x1045BA0, .rodata, code_6A4B0] - [0x1045BB0, .rodata, code_6B030] - [0x1045BC0, .rodata, code_6C3E0] @@ -1361,10 +1361,10 @@ segments: - [0x1048560, .bss, code_10E0] - [0x1048560, .bss, code_1550] - [0x1048560, .bss, code_1930] - - [0x1048560, .bss, code_2890] + - [0x1048560, .bss, ba/anim] - [0x1048560, .bss, code_3480] - [0x1048560, .bss, code_39D0] - - [0x1048560, .bss, code_47C0] + - [0x1048560, .bss, ba/marker] - [0x1048560, .bss, code_6B30] - [0x1048560, .bss, code_7060] - [0x1048560, .bss, code_8DA0] @@ -1375,7 +1375,7 @@ segments: - [0x1048560, .bss, code_9BD0] - [0x1048560, .bss, code_A600] - [0x1048560, .bss, code_A6E0] - - [0x1048560, .bss, playerModel] + - [0x1048560, .bss, ba/model] - [0x1048560, .bss, code_B650] - [0x1048560, .bss, code_BB50] - [0x1048560, .bss, code_BD20] @@ -1511,7 +1511,7 @@ segments: - [0x1048560, .bss, code_66D90] - [0x1048560, .bss, gc/bound] - [0x1048560, .bss, code_67650] - - [0x1048560, .bss, code_679A0] + - [0x1048560, .bss, particle] - [0x1048560, .bss, code_69F60] - [0x1048560, .bss, code_6AEF0] - [0x1048560, .bss, code_6B030] diff --git a/include/core2/ba/model.h b/include/core2/ba/model.h new file mode 100644 index 00000000..b682dd8d --- /dev/null +++ b/include/core2/ba/model.h @@ -0,0 +1,17 @@ +#ifndef _PLAYER_MODEL_H_ +#define _PLAYER_MODEL_H_ + +enum player_model_direction_e { + PLAYER_MODEL_DIR_BANJO = 1, + PLAYER_MODEL_DIR_KAZOOIE = 2, + PLAYER_MODEL_DIR_GLOBAL = 3 +}; + +void baModel_80292048(s32, f32, f32, f32); +void baModel_setDirection(enum player_model_direction_e arg0); +void baModel_setScale(f32); +void baModel_setYDisplacement(f32); +void baModel_8029217C(f32); +void baModel_setVisible(s32 arg0); + +#endif diff --git a/include/core2/particle.h b/include/core2/particle.h new file mode 100644 index 00000000..3de9d085 --- /dev/null +++ b/include/core2/particle.h @@ -0,0 +1,11 @@ +#ifndef _PARTICLE_EMITTER_H_ +#define _PARTICLE_EMITTER_H_ + +#define PART_EMIT_NO_OPA 0x20 +#define PART_EMIT_NO_DEPTH 0x10 +#define PART_EMIT_NO_LOOP 0x8 + +#define PART_EMIT_3D_ROTATE 0x1 + + +#endif diff --git a/include/core2/playerModel.h b/include/core2/playerModel.h deleted file mode 100644 index 798d538d..00000000 --- a/include/core2/playerModel.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _PLAYER_MODEL_H_ -#define _PLAYER_MODEL_H_ - -enum player_model_direction_e { - PLAYER_MODEL_DIR_BANJO = 1, - PLAYER_MODEL_DIR_KAZOOIE = 2, - PLAYER_MODEL_DIR_GLOBAL = 3 -}; - -void playerModel_80292048(s32, f32, f32, f32); -void playerModel_setDirection(enum player_model_direction_e arg0); -void playerModel_setScale(f32); -void playerModel_setYDisplacement(f32); -void playerModel_8029217C(f32); -void playerModel_setVisible(s32 arg0); - -#endif diff --git a/include/functions.h b/include/functions.h index 840e855f..f4e5eef5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -24,7 +24,6 @@ extern f32 fabsf(f32); #pragma intrinsic (fabsf) -#define NOT(boolean) ((boolean) ^ 1) #define TUPLE_ASSIGN(out, a, b, c) {\ out[0] = a;\ @@ -73,8 +72,8 @@ void *realloc(void* ptr, s32 size); f32 ml_map_f(f32 val, f32 in_min, f32 in_max, f32 out_min, f32 out_max); float mlNormalizeAngle(float); -f32 max_f(f32, f32); -f32 min_f(f32, f32); +f32 ml_max_f(f32, f32); +f32 ml_min_f(f32, f32); void ml_vec3f_copy(f32 dst[3], f32 src[3]); void ml_vec3f_add(f32 dst[3], f32 src1[3], f32 src2[3]); @@ -91,7 +90,7 @@ void func_8028A37C(f32); int player_inWater(void); -ActorMarker *_player_getMarker(void); +ActorMarker *baMarker_get(void); u32 player_getTransformation(void); @@ -224,20 +223,20 @@ void func_80324D2C(f32, enum comusic_e); void func_80324DBC(f32 time, enum asset_e text_id, s32 arg2, f32 position[3], ActorMarker *caller, void (*callback_method_1)(ActorMarker *, enum asset_e, s32), void (*callback_method_2)(ActorMarker *, enum asset_e, s32)); void particleEmitter_setSprite(ParticleEmitter *, enum asset_e); void particleEmitter_setPosition(ParticleEmitter *, f32[3]); -ParticleEmitter *partEmitList_pushNew(u32); +ParticleEmitter *partEmitMgr_newEmitter(u32); void func_802BB3DC(s32, f32, f32); void __spawnQueue_add_4(GenMethod_4, s32, s32, s32, s32); Actor *func_802C4140(enum actor_e actor_id, s32 x, s32 y, s32 z); void func_8030DA44(u8); -void func_802EF3F4(ParticleEmitter *, f32[3], f32[3], s32); +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 func_802EFA5C(ParticleEmitter *, f32, f32); -void func_802EFA70(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); @@ -246,12 +245,12 @@ void func_802EFB84(ParticleEmitter *, f32, f32); void func_802EFB98(ParticleEmitter *, struct31s *); void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, struct41s *); void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1); -void func_802EFE24(ParticleEmitter *, f32, f32, f32, f32, f32, f32); +void particleEmitter_setAngularVelocityRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void particleEmitter_setSpawnIntervalRange(ParticleEmitter *, f32, f32); -void func_802EFEC0(ParticleEmitter *, f32, f32); +void particleEmitter_setParticleLifeTimeRange(ParticleEmitter *, f32, f32); void particleEmitter_setParticleVelocityRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void func_802EFF50(ParticleEmitter *, f32); -void func_802EFFA8(ParticleEmitter *this, s32 arg1[3]); +void particleEmitter_setRGB(ParticleEmitter *this, s32 arg1[3]); void particleEmitter_setSpawnInterval(ParticleEmitter *, f32); int func_8024DC04(f32, f32, f32); @@ -260,18 +259,18 @@ OSMesgQueue *pfsManager_getFrameReplyQ(void); void ml_vec3f_clear(f32 dst[3]); void ml_vec3f_roll_rotate_copy(f32[3], f32[3], f32); -void func_80250D94(f32, f32, f32); +void rumbleManager_80250D94(f32, f32, f32); void func_80256E24(f32[3], f32, f32, f32, f32, f32); void func_8025727C(f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2, f32 *o1, f32 *o2); f32 func_80257A44(f32, f32); -f32 func_80257C48(f32, f32, f32); +f32 ml_interpolate_f(f32, f32, f32); f32 func_80257D30(f32, f32, f32, f32, f32); int func_80257F18(f32 src[3], f32 target[3], f32 *yaw); bool func_8025801C(f32[3], f32*); f32 mlAbsF(f32); -f32 mlClamp_f(f32, f32, f32); -f32 func_802588B0(f32, f32); +f32 ml_clamp_f(f32, f32, f32); +f32 ml_remainder_f(f32, f32); void func_802589E4(f32 dst[3], f32 yaw, f32 length); f32 mlDiffDegF(f32, f32); @@ -310,10 +309,10 @@ int func_80291698(s32); int func_80291700(s32, f32); void func_802917E4(s32, f32); -void playerModel_80291A50(s32 arg0, f32* arg1); -void playerModel_80292078(s32, f32); -void playerModel_80292158(f32); -f32 playerModel_80292230(void); +void baModel_80291A50(s32 arg0, f32* arg1); +void baModel_80292078(s32, f32); +void baModel_80292158(f32); +f32 baModel_80292230(void); void func_802927E0(f32, f32); void func_80292974(f32, f32, f32); @@ -405,7 +404,7 @@ Actor *func_802DC7E0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void particleEmitter_emitN(ParticleEmitter *, int); void func_802EFA20(ParticleEmitter *, f32, f32); -ParticleEmitter *func_802F0D74(ParticleEmitter *); +ParticleEmitter *partEmitMgr_defragEmitter(ParticleEmitter *); ParticleEmitter *func_802F4094(f32[3], f32); @@ -525,19 +524,19 @@ Actor *subaddie_getLinkedActor(Actor *); /* used in RBB */ void ml_vec3f_pitch_rotate_copy(f32 dst[3], f32 src[3], f32 pitch); -int func_8025773C(f32 *arg0, f32 arg1); +int ml_timer_update(f32 *arg0, f32 arg1); Actor *func_80325888(ActorMarker *, Gfx**, Mtx**, Vtx **); Actor *func_80325340(ActorMarker *, Gfx **, Mtx **, Vtx **); void func_8032AA58(Actor *, f32); void func_80324E38(f32, s32); void timed_playSfx(f32, enum sfx_e, f32, s32); -f32 ml_vec3f_distance(f32 [3], f32 [3]); +f32 ml_distance_vec3f(f32 [3], f32 [3]); void timed_setCameraToNode(f32, s32); void func_80324E88(f32); int actor_animationIsAt(Actor*, f32); -void func_80250E94(f32, f32, f32, f32, f32, f32); +void rumbleManager_80250E94(f32, f32, f32, f32, f32, f32); void func_802C8F70(f32); @@ -547,7 +546,7 @@ void func_802FA060(s32, s32, s32, f32); Actor *actorArray_findActorFromActorId(enum actor_e); f32 func_8038A6B8(ActorMarker *); void *defrag_asset(void *); -void func_80255FE4(f32 [3], f32 [3], f32 [3], f32); +void ml_interpolate_vec3f(f32 [3], f32 [3], f32 [3], f32); void func_8030DEB4(u8, f32, f32); void func_8030DB04(u8, s32, f32 position[3], f32, f32); void func_80258A4C(f32 [3], f32, f32 [3], f32 *, f32 *, f32 *); diff --git a/include/structs.h b/include/structs.h index d2074924..74e4fc84 100644 --- a/include/structs.h +++ b/include/structs.h @@ -8,6 +8,8 @@ #define UNK_TYPE(t) t typedef int bool; +#define NOT(boolean) ((boolean) ^ 1) +#define BOOL(boolean) ((boolean) ? TRUE : FALSE) typedef struct{ f32 x; @@ -338,16 +340,16 @@ typedef struct struct_21_s{ //particle typedef struct struct_2F_s{ - f32 unk0[3]; - f32 unkC; - f32 frame_10; //frame - f32 framerate_14; //framerate - f32 position_18[3]; - f32 unk24[3]; - f32 size_30; //size + f32 acceleration[3]; + f32 fade; + f32 frame; //frame + f32 framerate; //framerate + f32 position[3]; + f32 rotation[3]; + f32 scale; //size f32 initialSize_34; //initial_size f32 finalSizeDiff; //delta_size - f32 unk3C[3]; + f32 angluar_velocity[3]; f32 age_48; f32 lifetime_4C; f32 velocity_50[3]; @@ -361,25 +363,25 @@ typedef struct struct_30_s{ u32 doneSpawning_0_23:7; //doneSpawning u32 unk0_16:1; u32 assetId_0_15:14; //uid - u32 unk0_1:1; - u32 unk0_0:1; + u32 dead:1; + u32 auto_free:1; f32 unk4[3]; - f32 unk10; - f32 unk14; - u32 unk18; + f32 fade_in; //fade_in_end + f32 fade_out; //fade_out_start + u32 draw_mode; BKSprite *sprite_1C; //sprite_ptr BKModelBin *model_20; //model_ptr f32 particleSpawnTimer_24; //particleSpawnTimer? f32 postion_28[3]; //position BKSpriteDisplayData *unk34; f32 spawnIntervalTimer_38; //spawnIntervalTimer - s32 unk3C[3]; + s32 rgb[3]; u8 sphericalParticleVelocity_48; //sphericalParticalVelocity - u8 unk49; + u8 alpha; u8 pad4A[0x2]; TUPLE_PAIR(f32, particleAccerationRange_4C); s16 unk64; - s16 unk66; + s16 sfx_id; f32 unk68; f32 unk6C; f32 unk70; @@ -395,7 +397,7 @@ typedef struct struct_30_s{ f32 unkBC[3]; f32 unkC8[3]; PAIR(f32, spawnIntervalRange_D4); - f32 unkDC[2]; //particleLifetimeRange + f32 particleLifeTimeRange[2]; union { TUPLE_PAIR(f32, cartisian); @@ -419,12 +421,12 @@ typedef struct struct_30_s{ } ParticleEmitter; typedef struct struct_31_s{ - f32 unk0[2]; - f32 unk8[2]; - f32 unk10[2]; - f32 unk18[2]; - f32 unk20; - f32 unk24; + f32 unk0[2]; //particle_starting_scale_range + f32 unk8[2]; //particle_starting_scale_range + f32 unk10[2]; //particle_spawn_interval_range + f32 unk18[2]; //particle_lifetime_range + f32 unk20; //particle_fade_in + f32 unk24; //particle_fade_in } struct31s; typedef struct struct_32_s{ diff --git a/src/BGS/ch/code_2270.c b/src/BGS/ch/code_2270.c index 2caf485b..662a4111 100644 --- a/src/BGS/ch/code_2270.c +++ b/src/BGS/ch/code_2270.c @@ -306,7 +306,7 @@ void func_80389080(Actor *this){ func_80335924(this->unk148, ASSET_12B_ANIM_TIPTUP_IDLE, 1.0f, 9.0f); unqPtr->unkC = randf2(5.0f, 15.0f); } - if(func_8025773C(&unqPtr->unkC, sp3C)){ + if(ml_timer_update(&unqPtr->unkC, sp3C)){ func_80335924(this->unk148, ASSET_12C_ANIM_TIPTUP_TAPPING, 1.0f, 4.0f); } func_80258A4C(this->position, this->yaw - 90.0f, player_position, &sp38, &sp34, &sp30); @@ -319,7 +319,7 @@ void func_80389080(Actor *this){ } } else{ - if(ml_vec3f_distance(this->position, player_position) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){ + if(ml_distance_vec3f(this->position, player_position) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){ BGS_func_803888E4(this, 2); } } @@ -333,12 +333,12 @@ void func_80389080(Actor *this){ } } //L80389370 else{ - if(ml_vec3f_distance(this->position, player_position) >= 300.0f) + if(ml_distance_vec3f(this->position, player_position) >= 300.0f) BGS_func_803888E4(this, 1); } }//L803893A0 if(this->state == 6){ - if(ml_vec3f_distance(this->position, player_position) < 300.0f && !unqPtr->unk8){ + if(ml_distance_vec3f(this->position, player_position) < 300.0f && !unqPtr->unk8){ unqPtr->unk8 = 1; func_80311480(0xc7d, 4, 0, 0, 0, 0); } diff --git a/src/BGS/ch/flibbit.c b/src/BGS/ch/flibbit.c index 45bd61c4..d5dc5454 100644 --- a/src/BGS/ch/flibbit.c +++ b/src/BGS/ch/flibbit.c @@ -343,7 +343,7 @@ void chflibbit_update(Actor *this){ spB0[2] = player_position[2] - this->position[2]; player_distance = gu_sqrtf(spB0[0]*spB0[0] + spB0[1]*spB0[1] + spB0[2]*spB0[2]); - if(func_8025773C(&local->unk24, spA4)){ + if(ml_timer_update(&local->unk24, spA4)){ func_8030E878(0x3f0, randf2(0.9f, 1.1f), randi2(12000, 19000), this->position, 500.0f, 2500.0f); local->unk24 = randf2(1.0f, 6.0f); }//L80387274 @@ -375,7 +375,7 @@ void chflibbit_update(Actor *this){ sp84[0] = (f32)local->unkE[0]; sp84[1] = (f32)local->unkE[1]; sp84[2] = (f32)local->unkE[2]; - if(ml_vec3f_distance(this->position, sp84) < 30.0f){ + if(ml_distance_vec3f(this->position, sp84) < 30.0f){ func_80386AEC(this, 1); } else{ @@ -421,7 +421,7 @@ void chflibbit_update(Actor *this){ if(this->state == 4 || this->state == 5){ - if(func_8025773C(&local->unk18, spA4)){ + if(ml_timer_update(&local->unk18, spA4)){ func_80386AEC(this, 3); } } diff --git a/src/BGS/ch/mrvile.c b/src/BGS/ch/mrvile.c index f586aa9a..309b9dcb 100644 --- a/src/BGS/ch/mrvile.c +++ b/src/BGS/ch/mrvile.c @@ -156,7 +156,7 @@ void func_8038BDD4(Actor *this) { start_position[0] = this->position[0]; start_position[1] = this->position[1]; start_position[2] = this->position[2]; - func_8025773C(&local->unk14, sp5C); + ml_timer_update(&local->unk14, sp5C); if ((local->unkC == 102) || (local->unkC == 103) || (local->unkC == 104)) { sp44[0] = 0.0f; sp44[1] = 0.0f; @@ -262,7 +262,7 @@ bool func_8038C2A8(ActorMarker *marker) { local = (ActorLocal_MrVile *)&this->local; player_getPosition(player_position); if (this->state == 6) { - return ml_vec3f_distance(this->position, player_position) < 150.0f; + return ml_distance_vec3f(this->position, player_position) < 150.0f; } return local->unk0 == 1; } @@ -353,7 +353,7 @@ void chvile_update(Actor *this) { local->game_marker = actorArray_findClosestActorFromActorId(this->position, 0x138, -1, &sp90)->marker; } player_getPosition(player_position); - sp90 = ml_vec3f_distance(this->position, player_position); + sp90 = ml_distance_vec3f(this->position, player_position); if (sp90 <= 300.0f) { local->unk0 = (local->unk0 == 0) ? 1 : 2; } else if (sp90 > 300.0f) { @@ -413,7 +413,7 @@ void chvile_update(Actor *this) { if (this->state == 4) { player_getPosition(local->target_position); local->unk10 = 500.0f; - if ((local->unkC == 102) && (ml_vec3f_distance(this->position, local->target_position) < 200.0f)) { + if ((local->unkC == 102) && (ml_distance_vec3f(this->position, local->target_position) < 200.0f)) { BGS_func_8038BBA0(this, 103); } if ((local->unkC == 103) && (func_80335794(this->unk148) >= 2)) { @@ -422,7 +422,7 @@ void chvile_update(Actor *this) { } if (this->state == 5) { local->unk10 = 200.0f; - if (ml_vec3f_distance(this->position, local->target_position) < 100.0f) { + if (ml_distance_vec3f(this->position, local->target_position) < 100.0f) { local->target_position[0] = randf2(-500.0f, 500.0f); local->target_position[1] = 0.0f; local->target_position[2] = randf2(-500.0f, 500.0f); @@ -430,12 +430,12 @@ void chvile_update(Actor *this) { } if ((this->state == 6)){ local->unk10 = 400.0f; - if((ml_vec3f_distance(this->position, local->target_position) < 100.0f) || (ml_vec3f_distance(player_position, local->target_position) < 300.0f)) { + if((ml_distance_vec3f(this->position, local->target_position) < 100.0f) || (ml_distance_vec3f(player_position, local->target_position) < 300.0f)) { for(i = 0; i < 10; i++){ random_position[0] = randf2(-500.0f, 500.0f); random_position[1] = 0.0f; random_position[2] = randf2(-500.0f, 500.0f); - if ((i == 0) || (ml_vec3f_distance(player_position, random_position) > ml_vec3f_distance(player_position, local->target_position))) { + if ((i == 0) || (ml_distance_vec3f(player_position, random_position) > ml_distance_vec3f(player_position, local->target_position))) { local->target_position[0] = random_position[0]; local->target_position[1] = random_position[1]; local->target_position[2] = random_position[2]; diff --git a/src/BGS/ch/tanktup.c b/src/BGS/ch/tanktup.c index 74e79742..c8c3b935 100644 --- a/src/BGS/ch/tanktup.c +++ b/src/BGS/ch/tanktup.c @@ -79,11 +79,11 @@ void func_8038F610(Actor *this) { f32 sp24[3]; func_8034A174(this->marker->unk44, 8, sp24); - if (func_80258368(sp24) != 0) { + if (ml_isNonzero_vec3f(sp24) != 0) { func_8028E668(sp24, 200.0f, -600.0f, 300.0f); } func_8034A174(this->marker->unk44, 7, sp24); - if (func_80258368(sp24) != 0) { + if (ml_isNonzero_vec3f(sp24) != 0) { func_8028E668(sp24, 200.0f, -600.0f, 200.0f); } } @@ -140,7 +140,7 @@ void func_8038F6A4(Actor *this) player_getPosition(sp48); if (!this->unk138_24) { - if ((((ml_vec3f_distance(local->unk18, sp48) < 250.0f) && (ml_vec3f_distance(local->unk18, sp48) > 80.0f)) && (!func_8028ECAC())) && (player_getTransformation() == TRANSFORM_1_BANJO)) + if ((((ml_distance_vec3f(local->unk18, sp48) < 250.0f) && (ml_distance_vec3f(local->unk18, sp48) > 80.0f)) && (!func_8028ECAC())) && (player_getTransformation() == TRANSFORM_1_BANJO)) { func_80311480(0xC7E, 0, 0, 0, 0, 0); this->unk138_24 = 1; diff --git a/src/BGS/ch/yellowflibbit.c b/src/BGS/ch/yellowflibbit.c index f758037f..2cc7a973 100644 --- a/src/BGS/ch/yellowflibbit.c +++ b/src/BGS/ch/yellowflibbit.c @@ -34,16 +34,16 @@ f32 BGS_D_80390B10[3] = {0.0f, 0.0f, 0.0f}; void func_8038D1E0(Actor *this) { ParticleEmitter *temp_s0; - temp_s0 = partEmitList_pushNew(4U); + temp_s0 = partEmitMgr_newEmitter(4U); particleEmitter_setSprite(temp_s0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(temp_s0, 0.01f, 0.7f); + particleEmitter_setFade(temp_s0, 0.01f, 0.7f); particleEmitter_setStartingFrameRange(temp_s0, 0, 7); particleEmitter_setPosition(temp_s0, this->position); - func_802EFFA8(temp_s0, D_80390B04); + particleEmitter_setRGB(temp_s0, D_80390B04); func_802EFB70(temp_s0, 1.0f, 1.5f); func_802EFB84(temp_s0, 2.5f, 3.0f); particleEmitter_setParticleVelocityRange(temp_s0, -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f); - func_802EFEC0(temp_s0, 3.0f, 4.0f); + particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 4.0f); particleEmitter_emitN(temp_s0, 4); FUNC_8030E8B4(SFX_30_MAGIC_POOF, 1.0f, 25000, this->position, 500, 2500); } @@ -372,7 +372,7 @@ void BGS_func_8038E034(Actor *this) { spA8[1] = spB4[1] - this->position[1]; spA8[2] = spB4[2] - this->position[2]; spA4 = gu_sqrtf(spA8[0]*spA8[0] + spA8[1]*spA8[1] + spA8[2]*spA8[2]); - if (func_8025773C(&local->unk28, sp9C) != 0) { + if (ml_timer_update(&local->unk28, sp9C) != 0) { func_8030E878(0x3F0, randf2(0.9f, 1.1f), randi2(12000, 19000), this->position, 500.0f, 2500.0f); local->unk28 = randf2(1.0f, 6.0f); } @@ -395,7 +395,7 @@ void BGS_func_8038E034(Actor *this) { } if(this->state == 2){ - if(func_8025773C(&local->unk1C, sp9C)){ + if(ml_timer_update(&local->unk1C, sp9C)){ func_8038D9D0(this, 3); } } @@ -423,7 +423,7 @@ void BGS_func_8038E034(Actor *this) { sp7C[0] = (f32) local->unk10[0]; sp7C[1] = (f32) local->unk10[1]; sp7C[2] = (f32) local->unk10[2]; - if (ml_vec3f_distance(this->position, sp7C) < 30.0f) { + if (ml_distance_vec3f(this->position, sp7C) < 30.0f) { func_8038D9D0(this, 1); } else { func_8038D9D0(this, 5); @@ -464,7 +464,7 @@ void BGS_func_8038E034(Actor *this) { } if(this->state == 7 || this->state == 8){ - if(func_8025773C(&local->unk1C, sp9C)){ + if(ml_timer_update(&local->unk1C, sp9C)){ func_8038D9D0(this, 6); } } diff --git a/src/BGS/ch/yumblie.c b/src/BGS/ch/yumblie.c index 3b917c02..ee847c2d 100644 --- a/src/BGS/ch/yumblie.c +++ b/src/BGS/ch/yumblie.c @@ -162,7 +162,7 @@ void chyumblie_update(Actor *this){ } sp50 = func_80335684(this->unk148); if(this->state == YUMBLIE_STATE_1_UNDER_GROUND){ - if(func_8025773C(&s0->unk8, sp4C)){ + if(ml_timer_update(&s0->unk8, sp4C)){ if(mapSpecificFlags_get(6) && (12 > chvilegame_get_piece_count(s0->game_marker))){ chyumblie_set_state(this, YUMBLIE_STATE_2_APPEAR); } @@ -194,7 +194,7 @@ void chyumblie_update(Actor *this){ } if(this->state == YUMBLIE_STATE_3_ABOVE_GROUND){ - if( func_8025773C(&s0->unk8,sp4C) || !mapSpecificFlags_get(6) ){ + if( ml_timer_update(&s0->unk8,sp4C) || !mapSpecificFlags_get(6) ){ chyumblie_set_state(this,YUMBLIE_STATE_4_DISAPPEAR); } } @@ -210,7 +210,7 @@ void chyumblie_update(Actor *this){ } if(this->state == YUMBLIE_STATE_5_BEING_EATEN){ - if( func_8025773C(&s0->unk8,sp4C)){ + if( ml_timer_update(&s0->unk8,sp4C)){ chyumblie_set_state(this,YUMBLIE_STATE_1_UNDER_GROUND); } } diff --git a/src/BGS/code_3420.c b/src/BGS/code_3420.c index 74308522..8a00bd08 100644 --- a/src/BGS/code_3420.c +++ b/src/BGS/code_3420.c @@ -107,7 +107,7 @@ void BGS_func_80389850(Actor *this, s32 arg1) { sp7C[2] = 0.0f; sp7C[1] = sp94[1]; sp7C[0] = 0.0f; - if(ml_vec3f_distance(sp94, sp7C) <= 1000.0f){ + if(ml_distance_vec3f(sp94, sp7C) <= 1000.0f){ break; } } @@ -366,7 +366,7 @@ void chvilegame_player_consume_piece(Actor *this) { if ((end != begin) && BGS_func_80389810(sp44)){ sp44[1] = 0.0f; for(i_ptr = begin; i_ptr < end; i_ptr++){ - if ((ml_vec3f_distance(i_ptr->position, sp44) < 65.25) && chyumblie_is_edible(i_ptr->marker)) { + if ((ml_distance_vec3f(i_ptr->position, sp44) < 65.25) && chyumblie_is_edible(i_ptr->marker)) { is_correct_type = ((local->current_type != YUMBLIE) && (i_ptr->type != YUMBLIE)) || (((local->current_type == YUMBLIE) && i_ptr->type == YUMBLIE)); if (is_correct_type) { local->player_score++; @@ -404,7 +404,7 @@ bool chvilegame_cpu_consume_piece(ActorMarker *marker, f32 position[3]) { begin = vector_getBegin(local->game_pieces); end = vector_getEnd(local->game_pieces); for(i_ptr = begin; i_ptr < end; i_ptr++){ - if ((ml_vec3f_distance(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) { + if ((ml_distance_vec3f(i_ptr->position, position) < 50.0f) && func_8038B684(i_ptr->marker)) { local->vile_score++; timedFunc_set_1(0.0f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE); timedFunc_set_1(0.5f, (GenMethod_1)func_802FDCB8, ITEM_1B_VILE_VILE_SCORE); @@ -483,12 +483,12 @@ bool chvilegame_find_closest_piece(ActorMarker *marker, f32 position[0], f32 yaw piece_direction[0] = i_ptr->position[0] - position[0]; piece_direction[1] = i_ptr->position[1] - position[1]; piece_direction[2] = i_ptr->position[2] - position[2]; - distance = ml_vec3f_distance(i_ptr->position, position); + distance = ml_distance_vec3f(i_ptr->position, position); angle_diff = func_80256AB4(target_direction[0], target_direction[2], piece_direction[0], piece_direction[2]); if( (distance > 300.0f) || ((-0.8 < angle_diff) && (angle_diff < 0.8) && ((piece_direction[0]*target_direction[0] + piece_direction[1]*target_direction[1] + piece_direction[2]*target_direction[2]) >= 0.0f)) ) { - if ((closest_piece == NULL) || (distance < ml_vec3f_distance(position, closest_piece->position))){ + if ((closest_piece == NULL) || (distance < ml_distance_vec3f(position, closest_piece->position))){ closest_piece = i_ptr; } } @@ -601,7 +601,7 @@ void chvilegame_update(Actor *this) { } else { chvilegame_player_consume_piece(this); if ((local->unkC == 3) || (local->unkC == 6)) { - if (func_8025773C(&local->type_change_timer, sp50)) { + if (ml_timer_update(&local->type_change_timer, sp50)) { local->current_type = !local->current_type; if (func_803203FC(2)) { local->type_change_timer = 5.0f; diff --git a/src/CC/code_0.c b/src/CC/code_0.c index b5020f58..24b33f83 100644 --- a/src/CC/code_0.c +++ b/src/CC/code_0.c @@ -61,7 +61,7 @@ void func_803864D4(Actor *this){ func_80388B4C(&sp4C); TUPLE_ASSIGN(sp40, 2640.0f, 5695.0f, -10.0f); local->unk8 += sp3C; - if(func_8025773C(&local->unk4, sp3C)){ + if(ml_timer_update(&local->unk4, sp3C)){ sp30[0] = sp4C[0] - sp40[0]; sp30[1] = 0.0f; sp30[2] = sp4C[2] - sp40[2]; @@ -76,7 +76,7 @@ void func_803864D4(Actor *this){ } }//L80386634 - if(func_8025773C(&local->unk0, sp3C)){ + if(ml_timer_update(&local->unk0, sp3C)){ CC_func_803863F0(this, 4); } diff --git a/src/CC/code_1B90.c b/src/CC/code_1B90.c index f07a7b7d..05109eec 100644 --- a/src/CC/code_1B90.c +++ b/src/CC/code_1B90.c @@ -83,7 +83,7 @@ void func_8038817C(void){ if(D_80389F90.unk0 != 0){ D_80389F90.unk4 += sp20; player_getPosition(sp24); - if(func_8025773C(&D_80389F90.unk8, sp20)){ + if(ml_timer_update(&D_80389F90.unk8, sp20)){ func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_80324E38(0.0f, 3); timed_setCameraToNode(2.0f, 0); diff --git a/src/CC/code_1F70.c b/src/CC/code_1F70.c index d1e3bf2c..854023e7 100644 --- a/src/CC/code_1F70.c +++ b/src/CC/code_1F70.c @@ -23,7 +23,7 @@ extern void ml_vec3f_normalize(f32[3]); extern void func_8033A45C(s32, s32); extern void func_8033A238(s32); extern void func_8028FAB0(f32[3]); -extern void playerModel_802921D4(f32[3]); +extern void baModel_802921D4(f32[3]); /* .data */ f32 D_80389C00[3] = {5700.0f, 4300.0f, 0.0f}; @@ -208,7 +208,7 @@ void CC_func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){ modelRender_draw(gfx, mtx, D_80389FA0.unk28, NULL, 1.0f, NULL, D_80389FA0.unk24); if(func_80340020(D_80389FA0.unk18, D_80389FA0.unk28, 0, 1.0f, 0, D_80389FA0.unk40, spA4, spA4)){ func_8028FAB0(spA4); - playerModel_802921D4(spA4); + baModel_802921D4(spA4); } } @@ -331,7 +331,7 @@ void CC_func_80388F4C(void){ CC_func_80387D4C(); if(D_80389FA0.unk21 != 0 && func_80334904() == 2){ player_getPosition(sp6C); - D_80389FA0.unk20 = (ml_vec3f_distance(sp6C, D_80389FA0.unkC) < 200.0f); + D_80389FA0.unk20 = (ml_distance_vec3f(sp6C, D_80389FA0.unkC) < 200.0f); D_80389FA0.unk38 += sp68; sp64 = func_80335684(D_80389FA0.unk0); @@ -381,7 +381,7 @@ void CC_func_80388F4C(void){ if(D_80389FA0.unk21 == 3){ func_8034A174(D_80389FA0.unk34, 6, sp48); - if(ml_vec3f_distance(sp48, sp6C) <= 130.0f && sp6C[1] - sp48[1] < 50.0f){ + if(ml_distance_vec3f(sp48, sp6C) <= 130.0f && sp6C[1] - sp48[1] < 50.0f){ func_8031D04C(0x21, 1); } }//L80389260 @@ -400,7 +400,7 @@ void CC_func_80388F4C(void){ } } }//L803892DC - if(func_8025773C(&D_80389FA0.unk3C, sp68)){ + if(ml_timer_update(&D_80389FA0.unk3C, sp68)){ if(D_80389FA0.unk21 == 3){ func_8030E9FC(SFX_D0_GRIMLET_SQUEAK, 0.5f, 0.7f, 20000, D_80389C24, 2000.0f, 4000.0f); }else{ @@ -409,7 +409,7 @@ void CC_func_80388F4C(void){ D_80389FA0.unk3C = randf2(3.0f, 6.0f); }//L803893A0 if(D_80389FA0.unk50 == 0){ - if(func_8025773C(&D_80389FA0.unk54, sp68)) + if(ml_timer_update(&D_80389FA0.unk54, sp68)) D_80389FA0.unk50 = 1; } diff --git a/src/CC/code_BF0.c b/src/CC/code_BF0.c index 172c5a8f..df8bc3c1 100644 --- a/src/CC/code_BF0.c +++ b/src/CC/code_BF0.c @@ -138,7 +138,7 @@ void func_803870F8(Actor *this){ sp3C[0] = this->position_x; sp3C[1] = this->position_y + 100; sp3C[2] = this->position_z; - if(ml_vec3f_distance(&sp3C, &sp70) < 120.0f){ + if(ml_distance_vec3f(&sp3C, &sp70) < 120.0f){ func_8031D04C(0x22, (local->unk0 == 1)? 7 : 6); } }//L80387500 diff --git a/src/CCW/code_14B0.c b/src/CCW/code_14B0.c index 459ca826..16a780bf 100644 --- a/src/CCW/code_14B0.c +++ b/src/CCW/code_14B0.c @@ -45,7 +45,7 @@ void func_803878A0(Actor *this, s32 next_state) { local->unkC[0] = randf2(-500.0f, 500.0f); local->unkC[1] = randf2(400.0f, 900.0f); local->unkC[2] = randf2(-400.0f, 700.0f); - if(ml_vec3f_distance(this->position, local->unkC) > 800.0f) + if(ml_distance_vec3f(this->position, local->unkC) > 800.0f) break; } local->unk8 = randf2(500.0f, 1000.0f); @@ -90,7 +90,7 @@ void CCW_func_80387A40(Actor *this) { sp5C[0] = local->unkC[0] - this->position[0]; sp5C[1] = local->unkC[1] - this->position[1]; sp5C[2] = local->unkC[2] - this->position[2]; - if (ml_vec3f_distance(this->position, local->unkC) < 500.0f) { + if (ml_distance_vec3f(this->position, local->unkC) < 500.0f) { ml_vec3f_set_length(sp5C, local->unk8 * 8.0f); } else { ml_vec3f_set_length(sp5C, local->unk8 * 2); @@ -106,7 +106,7 @@ void CCW_func_80387A40(Actor *this) { } func_80258A4C(this->position, this->yaw - 90.0f, local->unkC, &sp58, &sp54, &sp50); this->yaw += 140.0f * sp50 * sp68; - if (ml_vec3f_distance(this->position, local->unkC) < 100.0f) { + if (ml_distance_vec3f(this->position, local->unkC) < 100.0f) { func_803878A0(this, 1); } } diff --git a/src/CCW/code_160.c b/src/CCW/code_160.c index be86dce8..f8d2ec09 100644 --- a/src/CCW/code_160.c +++ b/src/CCW/code_160.c @@ -172,7 +172,7 @@ void func_8038687C(Actor *this) { other->position[1] = this->position[1] + sp6C[1]; other->position[2] = this->position[2] + sp6C[2]; } - if (func_8025773C(&local->unkC, sp88)) { + if (ml_timer_update(&local->unkC, sp88)) { if ((local->unk4 < 3) && ((local->unk8 + local->unk4) < 10)) { player_getPosition(sp5C); for(phi_s0 = 0; phi_s0 < 20; phi_s0++){ @@ -180,10 +180,10 @@ void func_8038687C(Actor *this) { sp4C[1] = -100.0f; sp4C[2] = randf2(-500.0f, 900.0f); - if(ml_vec3f_distance(this->position, sp4C) < 400.0f) + if(ml_distance_vec3f(this->position, sp4C) < 400.0f) continue; - tmp = ml_vec3f_distance(sp5C, sp4C); + tmp = ml_distance_vec3f(sp5C, sp4C); phi_v0 = (phi_s0 < 0xA) ? 500 : 200; if(tmp < (f32) phi_v0) continue; @@ -204,7 +204,7 @@ void func_8038687C(Actor *this) { func_803865F4(this, 3); } else if ((local->unk0 != NULL) && (map_get() == MAP_5A_CCW_SUMMER_ZUBBA_HIVE)) { player_getPosition(sp40); - if ((ml_vec3f_distance(this->position, sp40) < 300.0f) && (player_getTransformation() == TRANSFORM_1_BANJO)) { + if ((ml_distance_vec3f(this->position, sp40) < 300.0f) && (player_getTransformation() == TRANSFORM_1_BANJO)) { func_803865F4(this, 2); } } diff --git a/src/CCW/code_2270.c b/src/CCW/code_2270.c index e9da61c7..103de066 100644 --- a/src/CCW/code_2270.c +++ b/src/CCW/code_2270.c @@ -161,7 +161,7 @@ void chGobiCCW_update(Actor *this) { if(this->state == 1){ if (!this->unk138_24) { player_getPosition(sp48); - if (ml_vec3f_distance(this->position, sp48) < 600.0f) { + if (ml_distance_vec3f(this->position, sp48) < 600.0f) { if (local->unk0->unk2 != 0) { func_80311480((s32) local->unk0->unk2, 4, NULL, NULL, NULL, NULL); } diff --git a/src/CCW/code_3310.c b/src/CCW/code_3310.c index 0cd099c5..a68e9016 100644 --- a/src/CCW/code_3310.c +++ b/src/CCW/code_3310.c @@ -272,7 +272,7 @@ void CCW_func_80389BFC(Actor *this) { } if ((local->unk0->map_id != MAP_43_CCW_SPRING) && ((this->position[0] + 500.0f) < sp4C[0])) { func_8028F364(this->position, 1110.0f, 200.0f, ACTOR_2A2_CATERPILLAR, &this); - if ((local->unk0->unkE != 0) && (carriedObj_getActorId() == ACTOR_2A2_CATERPILLAR) && (ml_vec3f_distance(this->position, sp4C) < 1010.0f) && (func_8028FC34() != 0)) { + if ((local->unk0->unkE != 0) && (carriedObj_getActorId() == ACTOR_2A2_CATERPILLAR) && (ml_distance_vec3f(this->position, sp4C) < 1010.0f) && (func_8028FC34() != 0)) { func_8028FA54(D_8038FDE0); if ((local->unk0->map_id == MAP_44_CCW_SUMMER) && (local->unk4 == 0)) { func_80311480(0xCD8, 4, NULL, NULL, NULL, NULL); diff --git a/src/CCW/code_3DA0.c b/src/CCW/code_3DA0.c index 6dd61181..8087600d 100644 --- a/src/CCW/code_3DA0.c +++ b/src/CCW/code_3DA0.c @@ -111,13 +111,13 @@ void chcaterpillar_update(Actor *this){ if(this->state == 1){ func_8033568C(this->unk148, &sp64, &sp60); player_getPosition(sp74); - if(ml_vec3f_distance(this->position, local->unk0) < 10.0f){ + if(ml_distance_vec3f(this->position, local->unk0) < 10.0f){ for(i = 0; i < 10; i++){ local->unk0[0] = randf2(-300.0f, 300.0f) + this->position_x; local->unk0[1] = this->position_y; local->unk0[2] = randf2(-300.0f, 300.0f) + this->position_z; - if( !(ml_vec3f_distance(local->unk0, this->position) < 50.0f) && func_80329210(this, local->unk0)) + if( !(ml_distance_vec3f(local->unk0, this->position) < 50.0f) && func_80329210(this, local->unk0)) break; }//L8038A544 if(i == 10){ @@ -150,7 +150,7 @@ void chcaterpillar_update(Actor *this){ } }//L8038A714 - if(ml_vec3f_distance(this->position, sp74) < 50.0f){ + if(ml_distance_vec3f(this->position, sp74) < 50.0f){ func_8028F030(ACTOR_2A2_CATERPILLAR); if(!func_803203FC(0xb2)){ func_80311480(0xcc7, 4, NULL, NULL, NULL, NULL); @@ -177,7 +177,7 @@ void chcaterpillar_update(Actor *this){ local->unk24 += 3.3333333333333335*sp84; local->unk24 = (1.0 < local->unk24) ? 1.0 : local->unk24; - func_80255FE4(this->position, local->unkC, local->unk18, local->unk24); + ml_interpolate_vec3f(this->position, local->unkC, local->unk18, local->unk24); this->position[1] += 50.0f*sinf(local->unk24*3.141592654); if(1.0 == local->unk24){ diff --git a/src/CCW/code_4530.c b/src/CCW/code_4530.c index e6cbd3d7..3d473fe6 100644 --- a/src/CCW/code_4530.c +++ b/src/CCW/code_4530.c @@ -101,7 +101,7 @@ void func_8038AA8C(Actor *this) { } player_getPosition(sp54); - if (ml_vec3f_distance(this->position, sp54) < 850.0f) { + if (ml_distance_vec3f(this->position, sp54) < 850.0f) { func_8038A950(this, 2); } } diff --git a/src/CCW/code_4D00.c b/src/CCW/code_4D00.c index 847072c0..da8ce407 100644 --- a/src/CCW/code_4D00.c +++ b/src/CCW/code_4D00.c @@ -67,7 +67,7 @@ void func_8038B19C(Actor *this) { func_8038B0F0(this, 1); } - if ((this->state == 1) && func_8025773C(&local->unk0, tick)) { + if ((this->state == 1) && ml_timer_update(&local->unk0, tick)) { func_8038B0F0(this, 2); } diff --git a/src/CCW/code_5540.c b/src/CCW/code_5540.c index 0782589c..30ee1830 100644 --- a/src/CCW/code_5540.c +++ b/src/CCW/code_5540.c @@ -133,7 +133,7 @@ void chnabnut_update(Actor *this) { if (this->state == NABNUT_STATE_1_SAD) { player_getPosition(sp30); - if (!this->unk138_24 && (ml_vec3f_distance(this->position, sp30) < 400.0f)) { + if (!this->unk138_24 && (ml_distance_vec3f(this->position, sp30) < 400.0f)) { this->unk138_24 = TRUE; func_80311480(0xCCA, 0xE, this->position, NULL, NULL, NULL); } @@ -143,7 +143,7 @@ void chnabnut_update(Actor *this) { } if (this->unk138_24 && !func_803114B0()) { func_8028F364(this->position, 500.0f, 200.0f, ACTOR_2A9_ACORN, &this); - if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_vec3f_distance(this->position, sp30) < 300.0f) && func_8028FC34()) { + if ((carriedObj_getActorId() == ACTOR_2A9_ACORN) && (ml_distance_vec3f(this->position, sp30) < 300.0f) && func_8028FC34()) { func_8028FA54(D_8038F350); local->returned_acorn_count++; if (local->returned_acorn_count == 6) { diff --git a/src/CCW/code_5BF0.c b/src/CCW/code_5BF0.c index 5972aea8..efa64e78 100644 --- a/src/CCW/code_5BF0.c +++ b/src/CCW/code_5BF0.c @@ -114,7 +114,7 @@ void func_8038C41C(Actor *this) { if ((this->marker->unk14_20 == 0x1CB) && (this->state == 2)) { player_getPosition(sp2C); - if (!this->unk138_24 && (ml_vec3f_distance(this->position, sp2C) < 400.0f)) { + if (!this->unk138_24 && (ml_distance_vec3f(this->position, sp2C) < 400.0f)) { this->unk138_24 = TRUE; func_80311480(0xCCD, 0, NULL, NULL, NULL, NULL); } diff --git a/src/CCW/code_61E0.c b/src/CCW/code_61E0.c index 22a7dd98..1ba6eb65 100644 --- a/src/CCW/code_61E0.c +++ b/src/CCW/code_61E0.c @@ -73,7 +73,7 @@ void func_8038C7A8(Actor *this) { if (this->state == 1) { player_getPosition(sp38); - if (ml_vec3f_distance(this->position, sp38) < 50.0f) { + if (ml_distance_vec3f(this->position, sp38) < 50.0f) { func_8028F030(0x2A9); FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 500, 2500); CCW_func_8038C6A0(this, 5); @@ -91,7 +91,7 @@ void func_8038C7A8(Actor *this) { if (this->state == 3) { local->unk18 += 3.3333333333333333 * sp44; local->unk18 = (local->unk18 > 1.0) ? 1.0 : local->unk18; - func_80255FE4(this->position, local->unk0, local->unkC, local->unk18); + ml_interpolate_vec3f(this->position, local->unk0, local->unkC, local->unk18); this->position[1] += 50.0f * sinf(local->unk18 * BAD_PI); if (local->unk18 == 1.0) { CCW_func_8038C6A0(this, 4); diff --git a/src/CCW/code_6620.c b/src/CCW/code_6620.c index 8e63be4e..f8de0e67 100644 --- a/src/CCW/code_6620.c +++ b/src/CCW/code_6620.c @@ -115,7 +115,7 @@ void func_8038CC4C(Actor *this) { } if (!this->unk138_24) { player_getPosition(sp38); - if (ml_vec3f_distance(this->position, sp38) < 900.0f) { + if (ml_distance_vec3f(this->position, sp38) < 900.0f) { if (local->unk0->map_id != MAP_46_CCW_WINTER || func_8028F2FC()) { func_80311480(local->unk0->unk4, 4, NULL, NULL, NULL, NULL); this->unk138_24 = TRUE; diff --git a/src/CCW/code_6AC0.c b/src/CCW/code_6AC0.c index 5bc876f6..8dff9f61 100644 --- a/src/CCW/code_6AC0.c +++ b/src/CCW/code_6AC0.c @@ -116,7 +116,7 @@ void func_8038CFB4(Actor *this) { if (this->state == 1) { if (!this->unk138_24) { player_getPosition(sp60); - if (ml_vec3f_distance(this->position, sp60) < 900.0f) { + if (ml_distance_vec3f(this->position, sp60) < 900.0f) { func_80311480(0xCCF, 4, NULL, NULL, NULL, NULL); this->unk138_24 = TRUE; } diff --git a/src/CCW/code_6EC0.c b/src/CCW/code_6EC0.c index 9a2a6396..78b0761e 100644 --- a/src/CCW/code_6EC0.c +++ b/src/CCW/code_6EC0.c @@ -68,7 +68,7 @@ void func_8038D368(Actor *this) { if(!this->unk138_24){ player_getPosition(plyr_pos); - if (ml_vec3f_distance(this->position, plyr_pos) < 600.0f) { + if (ml_distance_vec3f(this->position, plyr_pos) < 600.0f) { if (!jiggyscore_isCollected(JIGGY_4B_CCW_GNAWTY)) { func_80311480(local->unk0->unk2, 4, NULL, NULL, NULL, NULL); } else { diff --git a/src/CCW/code_7120.c b/src/CCW/code_7120.c index 55e9791e..181b73f7 100644 --- a/src/CCW/code_7120.c +++ b/src/CCW/code_7120.c @@ -25,16 +25,16 @@ void CCW_func_8038D510(Actor *this) { }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(6); + pCtrl = partEmitMgr_newEmitter(6); particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(pCtrl, 0.01f, 0.5f); + particleEmitter_setFade(pCtrl, 0.01f, 0.5f); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, this->position); func_802EFB70(pCtrl, 1.0f, 2.0f); func_802EFB84(pCtrl, 3.0f, 4.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038F670); - func_802EFFA8(pCtrl, D_8038F664); - func_802EFEC0(pCtrl, 3.0f, 4.0f); + particleEmitter_setRGB(pCtrl, D_8038F664); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.0f, 4.0f); particleEmitter_emitN(pCtrl, 6); } @@ -47,18 +47,18 @@ void func_8038D5DC(Actor *this) { ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(30); + pCtrl = partEmitMgr_newEmitter(30); func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 3); particleEmitter_setModel(pCtrl, 0x896); particleEmitter_setPosition(pCtrl, this->position); func_802EFB70(pCtrl, 0.05f, 0.3f); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f ); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 10.0f, 10.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038F6A0); particleEmitter_emitN(pCtrl, 30); } @@ -116,7 +116,7 @@ void func_8038D85C(Actor *this) { return; } if(this->state == 2){ - if (func_8025773C(&local->unk0, tick) ) { + if (ml_timer_update(&local->unk0, tick) ) { func_8038D6D8(this, 3); } } diff --git a/src/CCW/code_8050.c b/src/CCW/code_8050.c index 5a17387a..952b6d84 100644 --- a/src/CCW/code_8050.c +++ b/src/CCW/code_8050.c @@ -70,7 +70,7 @@ void func_8038E440(ParticleEmitter *pCtrl, Actor *actor, enum asset_e model_id){ }; func_802DABA0(pCtrl, actor->position, actor->scale, model_id); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f ); @@ -85,7 +85,7 @@ void func_8038E4C0(ActorMarker* marker, s32 arg1) { func_80328B8C(actor, 5, 0.0f, 1); actor_playAnimationOnce(actor); FUNC_8030E8B4(SFX_C2_GRUBLIN_EGH, 1.0f, 32000, actor->position, 1250, 2500); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); func_8038E440(pCtrl, actor, ASSET_52D_MODEL_GRUBLIN_HOOD_HAT); __spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32,actor->position_x), reinterpret_cast(s32,actor->position_y), reinterpret_cast(s32,actor->position_z)); actor_collisionOff(actor); diff --git a/src/FP/ch/wozzasjig.c b/src/FP/ch/wozzasjig.c index a599629e..74c0e3e9 100644 --- a/src/FP/ch/wozzasjig.c +++ b/src/FP/ch/wozzasjig.c @@ -80,7 +80,7 @@ void func_8038FF54(Actor *this){ marker_despawn(this->marker); } else if(this->marker->unk14_21){//L8039016C - sp3C = partEmitList_pushNew(1); + sp3C = partEmitMgr_newEmitter(1); func_8034A174(this->marker->unk44, 5, sp40); particleEmitter_setSprite(sp3C, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(sp3C, 1, 6); diff --git a/src/FP/code_2350.c b/src/FP/code_2350.c index dd6eddaa..85a38d24 100644 --- a/src/FP/code_2350.c +++ b/src/FP/code_2350.c @@ -229,8 +229,8 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){ func_8025A58C(0, 4000); func_8024BD08(0); func_802BE720(); - local->unk0 = partEmitList_pushNew(16); - local->unk4 = partEmitList_pushNew(16); + local->unk0 = partEmitMgr_newEmitter(16); + local->unk4 = partEmitMgr_newEmitter(16); func_80388EE8(local->unk0); func_80388EE8(local->unk4); func_80328B8C(this, 4, 0.0001f, 1); @@ -256,10 +256,10 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){ void func_80388EE8(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); - func_802EFFA8(pCtrl, D_80391D24); + particleEmitter_setRGB(pCtrl, D_80391D24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_80391D58); func_802EFB98(pCtrl, &D_80391D30); - func_802F0D54(pCtrl); + particleEmitter_manualFree(pCtrl); } void FP_func_80388F4C(Actor *this){} diff --git a/src/FP/code_5CC0.c b/src/FP/code_5CC0.c index 5b3afa98..777659ab 100644 --- a/src/FP/code_5CC0.c +++ b/src/FP/code_5CC0.c @@ -91,22 +91,22 @@ Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ void func_8038C260(f32 position[3], s32 count, enum asset_e model_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392028); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.0f ); func_802EFB70(pCtrl, 0.1f, 0.2f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f); - func_802EFEC0(pCtrl, 1.5f, 1.5f); - func_802EFA5C(pCtrl, 0.0f, 0.3f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 1.5f, 1.5f); + particleEmitter_setFade(pCtrl, 0.0f, 0.3f); func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 0); func_802EFA20(pCtrl, 1.0f, 1.3f); - func_802EF9EC(pCtrl, 0x7B, 8000); + particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000); particleEmitter_emitN(pCtrl, count); } diff --git a/src/FP/code_6AE0.c b/src/FP/code_6AE0.c index 3d6f7552..9dd63f2f 100644 --- a/src/FP/code_6AE0.c +++ b/src/FP/code_6AE0.c @@ -127,11 +127,11 @@ Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392134); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, 100.0f, 100.0f, 100.0f, 200.0f, 200.0f, 200.0f ); @@ -144,8 +144,8 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); - func_802EFFA8(pCtrl, D_803921A4); + pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setRGB(pCtrl, D_803921A4); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803921B0); @@ -156,11 +156,11 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392220); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, 200.0f, 200.0f, 200.0f, 300.0f, 300.0f, 300.0f ); @@ -173,7 +173,7 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392290); @@ -186,8 +186,8 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); - func_802EFFA8(pCtrl, D_80392300); + pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setRGB(pCtrl, D_80392300); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8039230C); diff --git a/src/FP/code_790.c b/src/FP/code_790.c index 5c914be8..0df40e08 100644 --- a/src/FP/code_790.c +++ b/src/FP/code_790.c @@ -47,7 +47,7 @@ Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ void FP_func_80386BEC(Actor *this){ f32 plyr_pos[3]; - ParticleEmitter *pCtrl = partEmitList_pushNew(12); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(12); player_getPosition(plyr_pos); func_80328B8C(this, 2, 0.01f, 1); @@ -55,7 +55,7 @@ void FP_func_80386BEC(Actor *this){ func_8025A6EC(COMUSIC_2B_DING_B, 28000); FUNC_8030E624(SFX_90_SWITCH_PRESS, 1.0f, 32000); func_8038AB40(); - func_802EFFA8(pCtrl, D_80391B44); + particleEmitter_setRGB(pCtrl, D_80391B44); particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); particleEmitter_setPosition(pCtrl, plyr_pos); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80391AFC); diff --git a/src/FP/code_8330.c b/src/FP/code_8330.c index 2f5fc9e8..7c4e55b8 100644 --- a/src/FP/code_8330.c +++ b/src/FP/code_8330.c @@ -47,7 +47,7 @@ void func_8038E7CC(ActorMarker *this_marker, ActorMarker *other_marker){ void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ static struct31s D_80392444 = {{0.4f, 0.6f}, {0.8f, 1.8f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f}; - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setParticleSpawnPositionRange(pCtrl, diff --git a/src/FP/code_8E20.c b/src/FP/code_8E20.c index 2300b2a2..135a231c 100644 --- a/src/FP/code_8E20.c +++ b/src/FP/code_8E20.c @@ -140,7 +140,7 @@ bool func_8038F5D4(Actor *this, f32 arg1[3], f32 arg2, f32 arg3, s32 arg4){ } this->unk28 = (1.0f- sp24)*arg2; func_80329054(this, 2); - if(ml_vec3f_distance(this->position, arg1) <= arg4) + if(ml_distance_vec3f(this->position, arg1) <= arg4) return TRUE; return FALSE; diff --git a/src/FP/code_A500.c b/src/FP/code_A500.c index b2a264ad..9ddd8edb 100644 --- a/src/FP/code_A500.c +++ b/src/FP/code_A500.c @@ -27,11 +27,11 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ {{ 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*/ }; - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8039277C); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, 100.0f, 100.0f, 100.0f, 250.0f, 250.0f, 250.0f ); @@ -39,7 +39,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 0); func_802EFA20(pCtrl, 1.0f, 1.3f); - func_802EF9EC(pCtrl, 0x7B, 8000); + particleEmitter_setSfx(pCtrl, SFX_7B_ICE_BREAKING_1, 8000); particleEmitter_emitN(pCtrl, cnt); } @@ -51,8 +51,8 @@ void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ {{ -50.0f, 0.0f, -50.0f}, { 50.0f, 200.0f, 50.0f}} /*acceleration*/ }; static s32 D_80392834[3] = {0xDC, 0xDC, 0xE6}; - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); - func_802EFFA8(pCtrl, D_80392834); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); + particleEmitter_setRGB(pCtrl, D_80392834); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803927EC); diff --git a/src/FP/code_A880.c b/src/FP/code_A880.c index 7b694169..702a02c2 100644 --- a/src/FP/code_A880.c +++ b/src/FP/code_A880.c @@ -18,11 +18,11 @@ 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 s32 D_80392894[3] = {0xFF, 0XFF, 0xFF}; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80392894); - func_802EF9E4(pCtrl, 0x41); + particleEmitter_setRGB(pCtrl, D_80392894); + particleEmitter_setAlpha(pCtrl, 0x41); particleEmitter_setPosition(pCtrl, position); particleEmitter_setParticleSpawnPositionRange(pCtrl, -40.0f, 110.0f, -40.0f, @@ -39,11 +39,11 @@ 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 s32 D_803928D0[3] = {0xFF, 0xFF, 0xFF}; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_803928D0); - func_802EF9E4(pCtrl, 0xFF); + particleEmitter_setRGB(pCtrl, D_803928D0); + particleEmitter_setAlpha(pCtrl, 0xFF); particleEmitter_setPosition(pCtrl, position); particleEmitter_setParticleSpawnPositionRange(pCtrl, -40.0f, 50.0,-40.0f, diff --git a/src/GV/ch/gobi1.c b/src/GV/ch/gobi1.c index 23100c20..46ebdc22 100644 --- a/src/GV/ch/gobi1.c +++ b/src/GV/ch/gobi1.c @@ -136,13 +136,13 @@ void chGobi1_update(Actor *this){ return; }//L80387514 - if(func_8025773C(&local->unk8, tick)) + if(ml_timer_update(&local->unk8, tick)) sp6C = 5; - if(func_8025773C(&local->unkC, tick)) + if(ml_timer_update(&local->unkC, tick)) FUNC_8030E8B4(SFX_84_GOBI_CRYING, 0.9f, 32000, this->position, 1500, 2500); - if(func_8025773C(&local->unk10, tick)){ + if(ml_timer_update(&local->unk10, tick)){ for(i = 0; i < 2; i++){ sfxsource_setSfxId(local->unk0[i], SFX_3F9_UNKNOWN); func_8030DD14(local->unk0[i], 3); @@ -151,7 +151,7 @@ void chGobi1_update(Actor *this){ } } - if(func_8025773C(&local->unk14, tick)){ + if(ml_timer_update(&local->unk14, tick)){ local->unk10 = 0.75f; local->unk8 = 7.5f; timed_setCameraToNode(0.5f, 0xa); @@ -191,7 +191,7 @@ void chGobi1_update(Actor *this){ sp6C = 6; }//L803877F0 else{ - if(func_8025773C(&local->unk4, tick)) + if(ml_timer_update(&local->unk4, tick)) sp6C = 2; } }//L80387808 diff --git a/src/GV/ch/gobirock.c b/src/GV/ch/gobirock.c index 1eef268f..c34d54fc 100644 --- a/src/GV/ch/gobirock.c +++ b/src/GV/ch/gobirock.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -extern void func_802EF3A8(ParticleEmitter *, Gfx **, Mtx **, Vtx**); +extern void particleEmitter_draw(ParticleEmitter *, Gfx **, Mtx **, Vtx**); typedef struct { f32 unk0[3]; @@ -61,8 +61,8 @@ Actor *chGobiRock_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx ActorLocal_chGobiRock *local = (ActorLocal_chGobiRock *)&this->local; f32 sp3C[3]; - func_802EF3A8(local->unkC, gfx, mtx, vtx); - func_802EF3A8(local->unk10, gfx, mtx, vtx); + particleEmitter_draw(local->unkC, gfx, mtx, vtx); + particleEmitter_draw(local->unk10, gfx, mtx, vtx); if(this->state == 0 || this->state == 2) return this; @@ -84,8 +84,8 @@ bool chGobiRock_isDestroyed(void){ void chGobiRock_free(Actor *this){ ActorLocal_chGobiRock *local = (ActorLocal_chGobiRock *)&this->local; __chGobiRock_setState(this, 0); - func_802EF684(local->unkC); - func_802EF684(local->unk10); + particleEmitter_free(local->unkC); + particleEmitter_free(local->unk10); } void chGobiRock_update(Actor *this){ @@ -119,12 +119,12 @@ void chGobiRock_update(Actor *this){ else{//L80388ED0 particleEmitter_update(local->unkC); particleEmitter_update(local->unk10); - if(func_8025773C(&local->unk14, sp24)){ + if(ml_timer_update(&local->unk14, sp24)){ jiggySpawn(JIGGY_44_GV_GOBI_1, jiggy_position); func_802BB3DC(0, 60.0f, 0.65f); } if(this->state == 2){ - if(func_802EF648(local->unkC) && func_802EF648(local->unk10)){ + if(particleEmitter_isDone(local->unkC) && particleEmitter_isDone(local->unk10)){ marker_despawn(sp34); } } diff --git a/src/GV/ch/mazectrl.c b/src/GV/ch/mazectrl.c index 5c76e387..71f91de3 100644 --- a/src/GV/ch/mazectrl.c +++ b/src/GV/ch/mazectrl.c @@ -175,7 +175,7 @@ void chMazeCtrl_update(Actor *this){ __chMazeCtrl_setState(this, 2); } if( !levelSpecificFlags_get(0x15) - && func_8025773C(&local->unk8, sp34) + && ml_timer_update(&local->unk8, sp34) && func_80311480(ASSET_A81_TEXT_SANDYBUTT_ENTER, 0, NULL, NULL, NULL, NULL) ){ levelSpecificFlags_set(0x15, TRUE); diff --git a/src/GV/code_3BB0.c b/src/GV/code_3BB0.c index 5be0d749..3f319c31 100644 --- a/src/GV/code_3BB0.c +++ b/src/GV/code_3BB0.c @@ -28,11 +28,11 @@ s32 D_80390F94[3] = {0xFF, 0xFF, 0x9B}; /* .code */ void func_80389FA0(f32 position[3]){ - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80390F94); - func_802EF9E4(pCtrl, 100); + particleEmitter_setRGB(pCtrl, D_80390F94); + particleEmitter_setAlpha(pCtrl, 100); particleEmitter_setPosition(pCtrl, position); particleEmitter_setParticleSpawnPositionRange( pCtrl, -700.0f, 0.0f, -700.0f, diff --git a/src/GV/code_4740.c b/src/GV/code_4740.c index 370d7c02..cf92f477 100644 --- a/src/GV/code_4740.c +++ b/src/GV/code_4740.c @@ -39,19 +39,19 @@ f32 GV_D_80391A70[3]; /* .code */ void func_8038AB30(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){ if(map_get() != MAP_1A_GV_INSIDE_JINXY) - func_802EFFA8(pCtrl, D_803910BC); + particleEmitter_setRGB(pCtrl, D_803910BC); else - func_802EFFA8(pCtrl, D_803910C8); + particleEmitter_setRGB(pCtrl, D_803910C8); - func_802EF9E4(pCtrl, 0xBE); + particleEmitter_setAlpha(pCtrl, 0xBE); particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); - func_802EFA5C(pCtrl, 0.0f, 0.01f); + particleEmitter_setFade(pCtrl, 0.0f, 0.01f); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, position); } void func_8038ABD8(f32 position[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038AB30(pCtrl, position, cnt); particleEmitter_setParticleSpawnPositionRange(pCtrl, -40.0f, -5.0f, -40.0f, @@ -64,12 +64,12 @@ void func_8038ABD8(f32 position[3], s32 cnt){ func_802EFB70(pCtrl, 0.1f, 0.5f); func_802EFB84(pCtrl, 1.2f, 2.6f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 0.5f, 1.4f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_emitN(pCtrl, cnt); } void func_8038ACEC(f32 pos[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038AB30(pCtrl, pos, cnt); particleEmitter_setParticleSpawnPositionRange(pCtrl, -80.0f, 20.0f, -80.0f, @@ -82,23 +82,23 @@ void func_8038ACEC(f32 pos[3], s32 cnt){ func_802EFB70(pCtrl, 1.0f, 2.6f); func_802EFB84(pCtrl, 3.0f, 5.5f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 1.2f, 3.2f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 3.2f); particleEmitter_emitN(pCtrl, cnt); } void func_8038ADFC(f32 pos[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setModel(pCtrl, 0x389); particleEmitter_setPosition(pCtrl, pos); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803910D4); - func_802EFE24(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f); func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 2); func_802EFB70(pCtrl, 1.0f, 1.0f); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 4.0f, 6.0f); - func_802EFA5C(pCtrl, 0.0f, 0.05f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 6.0f); + particleEmitter_setFade(pCtrl, 0.0f, 0.05f); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/GV/code_5570.c b/src/GV/code_5570.c index bd603420..58537fca 100644 --- a/src/GV/code_5570.c +++ b/src/GV/code_5570.c @@ -109,16 +109,16 @@ void func_8038BB6C(Actor *jiggy, ActorMarker * grabba_marker) } void func_8038BBFC(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){ - func_802EFFA8(pCtrl, D_8039117C); - func_802EF9E4(pCtrl, 0x96); + particleEmitter_setRGB(pCtrl, D_8039117C); + particleEmitter_setAlpha(pCtrl, 0x96); particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); - func_802EFA5C(pCtrl, 0.0f, 0.01f); + particleEmitter_setFade(pCtrl, 0.0f, 0.01f); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, position); } void func_8038BC7C(f32 position[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038BBFC(pCtrl, position, cnt); particleEmitter_setParticleSpawnPositionRange(pCtrl, -60.0f, 0.0f, -60.0f, @@ -131,12 +131,12 @@ void func_8038BC7C(f32 position[3], s32 cnt){ func_802EFB70(pCtrl, 0.1f, 0.5f); func_802EFB84(pCtrl, 2.0f, 2.6f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 0.5f, 1.4f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_emitN(pCtrl, cnt); } void func_8038BD8C(f32 position[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); func_8038BBFC(pCtrl, position, cnt); particleEmitter_setParticleSpawnPositionRange(pCtrl, -40.0f, 0.0f, -40.0f, @@ -149,7 +149,7 @@ void func_8038BD8C(f32 position[3], s32 cnt){ func_802EFB70(pCtrl, 0.1f, 0.5f); func_802EFB84(pCtrl, 1.2, 1.6f); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 0.5f, 1.4f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 1.4f); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/GV/code_6370.c b/src/GV/code_6370.c index 23cadc96..690b3418 100644 --- a/src/GV/code_6370.c +++ b/src/GV/code_6370.c @@ -94,7 +94,7 @@ void func_8038C8A0(Actor *this, s32 next_state){ local->unk18[1] = this->position_y; local->unk18[2] = this->position_z; if(this->state == 1){ - func_80250E94(0.0f, 0.6f, 1.0f, 0, 1.3f, 0.0f); + rumbleManager_80250E94(0.0f, 0.6f, 1.0f, 0, 1.3f, 0.0f); timed_playSfx(1.0f, SFX_3F6_UNKNOWN, 0.8f, 30000); } }//L8038CA6C @@ -125,13 +125,13 @@ void func_8038C8A0(Actor *this, s32 next_state){ local->unk18[0] = this->position_x; local->unk18[1] = this->position_y; local->unk18[2] = this->position_z; - func_80250D94(0.7f, 0.5f, 1.3f); + rumbleManager_80250D94(0.7f, 0.5f, 1.3f); FUNC_8030E624(SFX_3F6_UNKNOWN, 0.8f, 30000); } if(next_state == 8){ if(this->state == 7){ - func_80250D94(0.8f, 0.7f, 3.0f); + rumbleManager_80250D94(0.8f, 0.7f, 3.0f); func_8038C760(this, *local->unk8 + 1); } marker_despawn(this->marker); diff --git a/src/GV/code_7060.c b/src/GV/code_7060.c index f95ef1c8..5e2b5737 100644 --- a/src/GV/code_7060.c +++ b/src/GV/code_7060.c @@ -72,7 +72,7 @@ void func_8038D47C(Actor *this){ if(!mapSpecificFlags_get(0x14)){ player_getPosition(sp3C); if(func_8028ECAC() == 0){ - if( ml_vec3f_distance(sp3C, this->unk1C) < 100.0f || ml_vec3f_distance(sp3C, this->velocity) < 100.0f){ + if( ml_distance_vec3f(sp3C, this->unk1C) < 100.0f || ml_distance_vec3f(sp3C, this->velocity) < 100.0f){ if(func_80311480(ASSET_A7B_TEXT_JINXY_MEET, 0, NULL, NULL, NULL, NULL)){ mapSpecificFlags_set(0x14, 1); } diff --git a/src/MM/ch/hut.c b/src/MM/ch/hut.c index 97449214..505bc33b 100644 --- a/src/MM/ch/hut.c +++ b/src/MM/ch/hut.c @@ -116,6 +116,6 @@ void chhut_update(Actor *this){ } -void func_80386C90(void){ +void mm_resetHuts(void){ D_8037DCB0 = 0; } diff --git a/src/MM/ch/orangepad.c b/src/MM/ch/orangepad.c index 3228a654..ace3f098 100644 --- a/src/MM/ch/orangepad.c +++ b/src/MM/ch/orangepad.c @@ -59,7 +59,7 @@ void func_80386444(ActorMarker *arg0){ }// L803865D8 //emmit sparkles - s0 = partEmitList_pushNew(30); + s0 = partEmitMgr_newEmitter(30); particleEmitter_setPosition(s0, orange_pad->position); particleEmitter_setModel(s0, 0x89f); func_802EFB70(s0, 0.09f, 0.19f); @@ -75,12 +75,12 @@ void func_80386444(ActorMarker *arg0){ 0.0f, -1200.0f, 0.0f ); - func_802EFE24(s0, + particleEmitter_setAngularVelocityRange(s0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f ); particleEmitter_setSpawnIntervalRange(s0, 0.0f, 0.01f); - func_802EFEC0(s0, 4.0f, 4.0f); + particleEmitter_setParticleLifeTimeRange(s0, 4.0f, 4.0f); func_802EF9F8(s0, 0.01f); func_802EFA18(s0, 3); func_802EFA20(s0, 1.0f, 1.3f); diff --git a/src/MMM/ch/napper.c b/src/MMM/ch/napper.c index 0791e074..cee15ac1 100644 --- a/src/MMM/ch/napper.c +++ b/src/MMM/ch/napper.c @@ -180,7 +180,7 @@ void chnapper_update(Actor *this){ } }//L80386F74 - if(this->state == 2 && func_8025773C(&local->unk8, sp68)){ + if(this->state == 2 && ml_timer_update(&local->unk8, sp68)){ player_getPosition(player_position); sp30[0] = player_position[0] - this->position_x; sp30[1] = player_position[1] - this->position_y; diff --git a/src/MMM/code_16B0.c b/src/MMM/code_16B0.c index f849f118..0e29d7e3 100644 --- a/src/MMM/code_16B0.c +++ b/src/MMM/code_16B0.c @@ -125,8 +125,8 @@ void func_80387DF8(f32 position[3], s32 count, enum asset_e sprite_id) { }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); - func_802EFFA8(pCtrl, D_8038BAF4); + pCtrl = partEmitMgr_newEmitter(count); + particleEmitter_setRGB(pCtrl, D_8038BAF4); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038BB28); @@ -143,16 +143,16 @@ void func_80387E84(f32 position[3], s32 count, enum asset_e model_id) { }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038BB98); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); func_802EF9F8(pCtrl, 0.4f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); - func_802EF9EC(pCtrl, 0x2F, 0x3E80); - func_802EFA70(pCtrl, 2); + particleEmitter_setSfx(pCtrl, SFX_2F_ORANGE_SPLAT, 16000); + particleEmitter_setDrawMode(pCtrl, 2); func_802EFB98(pCtrl, &D_8038BB70); particleEmitter_emitN(pCtrl, count); } @@ -189,7 +189,7 @@ void func_80388028(Actor *this){ }//L803880B4 player_getPosition(plyr_position); - plyr_dist = ml_vec3f_distance(this->position, plyr_position); + plyr_dist = ml_distance_vec3f(this->position, plyr_position); if(this->state == 4) actor_collisionOn(this); @@ -214,7 +214,7 @@ void func_80388028(Actor *this){ }//L80388204 if(this->state == 3){ - if(func_8025773C(&local->unk0, sp58)){ + if(ml_timer_update(&local->unk0, sp58)){ func_80387B14(this, 4); } } diff --git a/src/MMM/code_3420.c b/src/MMM/code_3420.c index b827b638..796f105f 100644 --- a/src/MMM/code_3420.c +++ b/src/MMM/code_3420.c @@ -366,7 +366,7 @@ void organMinigame_update(void){ if(func_8038769C(D_8038C4F0.motzhand_marker)){ player_getPosition(plyr_pos); motzhand_2 = marker_getActor(D_8038C4F0.motzhand_marker); - if( ml_vec3f_distance(motzhand_2->position, plyr_pos) < 400.0f + if( ml_distance_vec3f(motzhand_2->position, plyr_pos) < 400.0f && motzhand_2->position_y - 50.0f <= plyr_pos[1] ){ organMinigame_setState(2); diff --git a/src/MMM/code_DC0.c b/src/MMM/code_DC0.c index c22e31e0..7f44ea8e 100644 --- a/src/MMM/code_DC0.c +++ b/src/MMM/code_DC0.c @@ -41,7 +41,7 @@ void MMM_func_803871FC(Actor *this){ func_803255FC(this); } -void func_80387260() { +void mm_resetFlowerPots() { func_803871D4(5); } diff --git a/src/RBB/code_1570.c b/src/RBB/code_1570.c index 5e91bc94..e6af72d9 100644 --- a/src/RBB/code_1570.c +++ b/src/RBB/code_1570.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" @@ -124,39 +125,39 @@ void func_80387C5C(void){ ParticleEmitter *actor; func_802BB3DC(0, 60.0f, 0.9f); - actor = partEmitList_pushNew(1); + actor = partEmitMgr_newEmitter(1); particleEmitter_setSprite(actor, ASSET_4A0_SPRITE_EXPLOSION); - func_802EFA5C(actor, 0.1f, 0.2f); - func_802EFA70(actor, 8); + particleEmitter_setFade(actor, 0.1f, 0.2f); + particleEmitter_setDrawMode(actor, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(actor, 0, 0); particleEmitter_setParticleFramerateRange(actor, 4.0f, 4.0f); func_802EFB70(actor, 10.0f, 10.0f); func_802EFB84(actor, 15.0f, 20.0f); - func_802EFEC0(actor, 4.0f, 4.0f); + particleEmitter_setParticleLifeTimeRange(actor, 4.0f, 4.0f); particleEmitter_setParticleVelocityRange(actor, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); - func_802EF3F4(actor, &D_803902D4, &D_803902E0, 1); + particleEmitter_emitInVolume(actor, &D_803902D4, &D_803902E0, 1); } void func_80387D80(void){ - ParticleEmitter *actor = partEmitList_pushNew(3); + ParticleEmitter *actor = partEmitMgr_newEmitter(3); particleEmitter_setSprite(actor, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setStartingFrameRange(actor, 0, 7); func_802EFB98(actor, &D_80390304); particleEmitter_setParticleVelocityRange(actor, 0.0f, 100.0f, 0.0f, 0.0f, 200.0f ,0.0f); - func_802EF3F4(actor, &D_803902EC, &D_803902F8, 3); + particleEmitter_emitInVolume(actor, &D_803902EC, &D_803902F8, 3); } void func_80387E20(void){ - ParticleEmitter *actor = partEmitList_pushNew(0x19); + ParticleEmitter *actor = partEmitMgr_newEmitter(0x19); func_802EF9F8(actor, 0.6f); func_802EFA18(actor, 3); particleEmitter_setModel(actor, 0x427); func_802EFB70(actor, 0.05f, 0.4f); - func_802EFE24(actor, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(actor, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setSpawnIntervalRange(actor, 0.0f, 0.01f); - func_802EFEC0(actor, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(actor, 10.0f, 10.0f); particleEmitter_setVelocityAndAccelerationRanges(actor, &D_80390344); - func_802EF3F4(actor, &D_8039032C, &D_80390338, 0x19); + particleEmitter_emitInVolume(actor, &D_8039032C, &D_80390338, 0x19); } void RBB_func_80387F18(ActorMarker *marker, s32 arg1){ @@ -164,7 +165,7 @@ void RBB_func_80387F18(ActorMarker *marker, s32 arg1){ } void RBB_func_80387F44(void){ - func_80250E94(0.5f, 1.0f, 1.5f, 0.0f, 1.0f, 1.5f); + rumbleManager_80250E94(0.5f, 1.0f, 1.5f, 0.0f, 1.0f, 1.5f); } void func_80387F88(ActorMarker *marker){ diff --git a/src/RBB/code_2A70.c b/src/RBB/code_2A70.c index b5c07402..5ab34648 100644 --- a/src/RBB/code_2A70.c +++ b/src/RBB/code_2A70.c @@ -111,7 +111,7 @@ void func_803890BC(Actor *this){ func_80388EB8(this, 1); }//L80389164 - if(func_8025773C(&local->unk24, sp38)) + if(ml_timer_update(&local->unk24, sp38)) func_80388EB8(this, (this->state == 1) ? 2 : 1); //L803891A8 @@ -119,7 +119,7 @@ void func_803890BC(Actor *this){ local->unk1C += 0.25 * sp38; if(1.0f < local->unk1C) local->unk1C = 1.0f; - func_80255FE4(sp2C, local->unk4, local->unk10, local->unk1C); + ml_interpolate_vec3f(sp2C, local->unk4, local->unk10, local->unk1C); this->pitch = sp2C[0]; this->yaw = sp2C[1]; this->roll = sp2C[2]; diff --git a/src/RBB/code_2E90.c b/src/RBB/code_2E90.c index 2ec51eb9..eea4b0d8 100644 --- a/src/RBB/code_2E90.c +++ b/src/RBB/code_2E90.c @@ -143,7 +143,7 @@ void func_8038944C(Actor *this){ } }//L80389508 - if(func_8025773C(&local->unk28, tick)){ + if(ml_timer_update(&local->unk28, tick)){ if(this->state == 2) func_803892D8(this, 3); else if(this->state == 3) diff --git a/src/RBB/code_40F0.c b/src/RBB/code_40F0.c index 444aec03..95aa6767 100644 --- a/src/RBB/code_40F0.c +++ b/src/RBB/code_40F0.c @@ -148,7 +148,7 @@ void func_8038A724(Actor *this){ if(this->state == 2){ if(0.0f < local->unk1C){ - if(func_8025773C(&local->unk1C, sp1C)){ + if(ml_timer_update(&local->unk1C, sp1C)){ func_8038A524(this, 3); }//L8038AA8C }else{ @@ -163,7 +163,7 @@ void func_8038A724(Actor *this){ if(this->state == 3){ if(0.0f < local->unk1C){ - if(func_8025773C(&local->unk1C, sp1C)){ + if(ml_timer_update(&local->unk1C, sp1C)){ func_8038A524(this, 2); }//L8038AA8C }else{ diff --git a/src/RBB/code_47D0.c b/src/RBB/code_47D0.c index 53b86281..d407e56f 100644 --- a/src/RBB/code_47D0.c +++ b/src/RBB/code_47D0.c @@ -143,7 +143,7 @@ void func_8038AEB8(Actor *this){ func_8038AC18(this, 1); }//L8038AF88 - if(func_8025773C(&local->unk8, sp20)) + if(ml_timer_update(&local->unk8, sp20)) func_8038AC18(this, 1); if(this->state == 2){ diff --git a/src/RBB/code_4C70.c b/src/RBB/code_4C70.c index 9b18851b..0a03b506 100644 --- a/src/RBB/code_4C70.c +++ b/src/RBB/code_4C70.c @@ -75,7 +75,7 @@ void RBB_func_8038B0B8(Actor *this, s32 arg1){ func_80335924(this->unk148, local->unk0->unk12, 0.0f, 0.5f); func_80335A8C(this->unk148, 2); timed_playSfx(0.1f, local->unk0->unk14, 1.0f, 0x7d00); - other = partEmitList_pushNew(0xa); + other = partEmitMgr_newEmitter(0xa); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setParticleAccelerationRange(other, 0.0f, 100.0f, 0.0f, diff --git a/src/RBB/code_5F80.c b/src/RBB/code_5F80.c index b76bc78a..ed3228bc 100644 --- a/src/RBB/code_5F80.c +++ b/src/RBB/code_5F80.c @@ -99,11 +99,11 @@ void RBB_func_8038C370(ActorMarker *marker, s32 arg1){ void func_8038C39C(Actor *this){ ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; - ParticleEmitter *other = partEmitList_pushNew(local->unk0->unkE); + ParticleEmitter *other = partEmitMgr_newEmitter(local->unk0->unkE); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(other, 0.0f, 0.1f); + particleEmitter_setFade(other, 0.0f, 0.1f); particleEmitter_setStartingFrameRange(other, 0, 7); - func_802EFA70(other, 4); + particleEmitter_setDrawMode(other, 4); particleEmitter_setPosition(other, this->position); func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); func_802EFB84(other, 3.0f*local->unk0->unk4, local->unk0->unk4*7.0f); @@ -115,16 +115,16 @@ void func_8038C39C(Actor *this){ -50.0f, 100.0f, -50.0f, 50.0f, 200.0f, 50.0f ); - func_802EFEC0(other, 0.5f, 1.0f); + particleEmitter_setParticleLifeTimeRange(other, 0.5f, 1.0f); particleEmitter_emitN(other, local->unk0->unkE); } void RBB_func_8038C538(Actor *this){ ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; - ParticleEmitter *other = partEmitList_pushNew(3*local->unk0->unkE); + ParticleEmitter *other = partEmitMgr_newEmitter(3*local->unk0->unkE); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(other, 0.1f, 0.3f); - func_802EFA70(other, 4); + particleEmitter_setFade(other, 0.1f, 0.3f); + particleEmitter_setDrawMode(other, 4); particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setPosition(other, this->position); func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*6.0f); @@ -137,19 +137,19 @@ void RBB_func_8038C538(Actor *this){ -70.0f, 50.0f, -70.0f, 70.0f, 100.0f, 70.0f ); - func_802EFFA8(other, &D_80390C60); - func_802EFEC0(other, 3.0f, 4.0f); + particleEmitter_setRGB(other, &D_80390C60); + particleEmitter_setParticleLifeTimeRange(other, 3.0f, 4.0f); particleEmitter_emitN(other, 3*local->unk0->unkE); } void RBB_func_8038C70C(Actor *this){ ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; - ParticleEmitter *other = partEmitList_pushNew(0xa); + ParticleEmitter *other = partEmitMgr_newEmitter(0xa); func_802EF9F8(other, 0.6f); func_802EFA18(other, 3); - func_802EFA70(other, 4); + particleEmitter_setDrawMode(other, 4); particleEmitter_setModel(other, 0x427); particleEmitter_setParticleSpawnPositionRange(other, local->unk0->unk4 * -300.0f, local->unk0->unk4 * 100.0f, local->unk0->unk4 * -300.0f, @@ -157,12 +157,12 @@ void RBB_func_8038C70C(Actor *this){ ); particleEmitter_setPosition(other, this->position); func_802EFB70(other, local->unk0->unk4*0.3, local->unk0->unk4*0.8); - func_802EFE24(other, + particleEmitter_setAngularVelocityRange(other, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f ); particleEmitter_setSpawnIntervalRange(other, 0.0f, 0.01f); - func_802EFEC0(other, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(other, 10.0f, 10.0f); particleEmitter_setVelocityAndAccelerationRanges(other, &D_80390C6C); particleEmitter_emitN(other, 10); @@ -170,7 +170,7 @@ void RBB_func_8038C70C(Actor *this){ void func_8038C8A8(Actor * this){ ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; - ParticleEmitter *other = partEmitList_pushNew(5); + ParticleEmitter *other = partEmitMgr_newEmitter(5); f32 sp24[3]; @@ -178,15 +178,15 @@ void func_8038C8A8(Actor * this){ sp24[1] += 50.0f; particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(other, 0.0, 0.5f); - func_802EFA70(other, 4); + particleEmitter_setFade(other, 0.0, 0.5f); + particleEmitter_setDrawMode(other, 4); particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setPosition(other, sp24); func_802EFB70(other, local->unk0->unk4*1, local->unk0->unk4*3.0f); func_802EFB84(other, local->unk0->unk4*3.0f, local->unk0->unk4*6.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(other, &D_80390CA8); - func_802EFEC0(other, 1.0f, 2.0f); - func_802EFFA8(other, &D_80390C9C); + particleEmitter_setParticleLifeTimeRange(other, 1.0f, 2.0f); + particleEmitter_setRGB(other, &D_80390C9C); particleEmitter_emitN(other, 5); } @@ -547,7 +547,7 @@ void func_8038D8BC(Actor *this){ } } else{//L8038DAA8 - if(ml_vec3f_distance(this->position, player_position) < 1200.0f){ + if(ml_distance_vec3f(this->position, player_position) < 1200.0f){ RBB_func_8038CC9C(this, 2); } } @@ -583,7 +583,7 @@ void func_8038D8BC(Actor *this){ func_8033568C(this->unk148, &sp54, &sp50); if(0.1 <= sp50 && sp50 <= 0.6){ sp4C = (sp50 - 0.1)/0.5; - func_80255FE4(this->position, local->unk8, local->unk14, sp4C); + ml_interpolate_vec3f(this->position, local->unk8, local->unk14, sp4C); this->yaw = local->unk24 + sp4C*(local->unk28 - local->unk24); } @@ -601,7 +601,7 @@ void func_8038D8BC(Actor *this){ tmp_f2 = tmp_f2/0.3; else tmp_f2 = 1.0f; - func_80255FE4(this->position, local->unk8, local->unk14, tmp_f2); + ml_interpolate_vec3f(this->position, local->unk8, local->unk14, tmp_f2); } }//L8038DE10 diff --git a/src/RBB/code_7B20.c b/src/RBB/code_7B20.c index c3fee3ac..63581433 100644 --- a/src/RBB/code_7B20.c +++ b/src/RBB/code_7B20.c @@ -72,12 +72,12 @@ void func_8038DF6C(Actor* this){ } } } - if(func_8025773C(&local->unk24[1], sp68)){ + if(ml_timer_update(&local->unk24[1], sp68)){ local->unk24[1] = randf2(1.5f, 2.5f); FUNC_8030E8B4(SFX_40E_UNKNOWN, 1.5f, 20000, this->position, 500, 1500); }//L8038E118 - if(func_8025773C(&local->unk24[2], sp68)){ + if(ml_timer_update(&local->unk24[2], sp68)){ local->unk24[2] = randf2(3.5f, 5.5f); func_8030E878(SFX_69_WHIPCRACK_CREAKING, randf2(1.1f, 1.2f), 0x55f0, this->position, 500.0f, 1500.0f); }//L8038E184 diff --git a/src/RBB/code_7FD0.c b/src/RBB/code_7FD0.c index a379cc67..3e72451b 100644 --- a/src/RBB/code_7FD0.c +++ b/src/RBB/code_7FD0.c @@ -55,7 +55,7 @@ void func_8038E3D8(Actor *this){ func_8038E3C0(this, 1); }//L8038E4C8 - if(func_8025773C(&local->unk2C, sp5C)){ + if(ml_timer_update(&local->unk2C, sp5C)){ local->unk2C = randf2(3.5f, 5.5f); func_8030E878(SFX_69_WHIPCRACK_CREAKING, randf2(1.1f, 1.2f), 22000, &this->position, 500.0f, 1500.0f); }//L8038E544 diff --git a/src/RBB/code_8520.c b/src/RBB/code_8520.c index 7358e862..20c5b994 100644 --- a/src/RBB/code_8520.c +++ b/src/RBB/code_8520.c @@ -1,8 +1,10 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" -extern void func_80255FE4(f32 [3], f32 [3], f32 [3], f32); + +extern void ml_interpolate_vec3f(f32 [3], f32 [3], f32 [3], f32); extern void func_802C8F70(f32); extern int func_80309EB0(f32(*)[3], f32, f32 (*)[3], s32); extern int func_803342AC(f32(*)[3], f32(*)[3],f32); @@ -64,71 +66,71 @@ void func_8038E92C(Actor *this){ if(this->state == 2 && local->unk34 == 0) return; - if(func_8025773C( &local->unk30, time_getDelta())) + if(ml_timer_update( &local->unk30, time_getDelta())) func_8038F190(this, 3); } void func_8038E998(Actor *this){ - ParticleEmitter *other = partEmitList_pushNew(2); + ParticleEmitter *other = partEmitMgr_newEmitter(2); f32 temp_f0; particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(other, 0.0f, 0.1f); + particleEmitter_setFade(other, 0.0f, 0.1f); particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setPosition(other, this->position); func_802EFB70(other, 0.25f, 0.75f); func_802EFB84(other, 0.75f, 1.75f); particleEmitter_setParticleSpawnPositionRange(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); - func_802EFEC0(other, 0.5f, 1.0f); + particleEmitter_setParticleLifeTimeRange(other, 0.5f, 1.0f); particleEmitter_emitN(other, 2); } void func_8038EAB4(Actor *this){ ParticleEmitter *other; func_802BB3DC(0, 60.0f, 0.9f); - other = partEmitList_pushNew(1); + other = partEmitMgr_newEmitter(1); particleEmitter_setSprite(other, ASSET_4A0_SPRITE_EXPLOSION); - func_802EFA5C(other, 0.1f, 0.2f); - func_802EFA70(other, 8); + particleEmitter_setFade(other, 0.1f, 0.2f); + 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_setPosition(other, this->position); func_802EFB70(other, 3.0f, 3.0f); func_802EFB84(other, 8.0f, 8.0f); - func_802EFEC0(other, 0.5f, 0.5f); + particleEmitter_setParticleLifeTimeRange(other, 0.5f, 0.5f); particleEmitter_setParticleVelocityRange(other, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_emitN(other, 1); } void func_8038EC14(Actor *this){ ParticleEmitter *other; - other = partEmitList_pushNew(6); + other = partEmitMgr_newEmitter(6); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(other, 0.05f, 0.1f); + particleEmitter_setFade(other, 0.05f, 0.1f); particleEmitter_setStartingFrameRange(other, 0, 7); particleEmitter_setPosition(other, this->position); func_802EFB70(other, 1.0f, 1.5f); func_802EFB84(other, 2.0f, 3.0f); particleEmitter_setParticleSpawnPositionRange(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); - func_802EFFA8(other, &RBB_D_80390DD0); - func_802EFEC0(other, 3.0f, 4.0f); + particleEmitter_setRGB(other, &RBB_D_80390DD0); + particleEmitter_setParticleLifeTimeRange(other, 3.0f, 4.0f); particleEmitter_emitN(other, 6); } void func_8038ED3C(Actor * actor, s32 arg1){ - ParticleEmitter *other = partEmitList_pushNew(0xa); + 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_setModel(other, arg1); particleEmitter_setPosition(other, actor->position); func_802EFB70(other, 0.05f, 0.4f); - func_802EFE24(other, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(other, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setSpawnIntervalRange(other, 0.0f, 0.01f); - func_802EFEC0(other, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(other, 10.0f, 10.0f); particleEmitter_setParticleVelocityRange(other, -700.0f, 200.0f, -700.0f, 700.0f, 500.0f, 700.0f); particleEmitter_emitN(other, 0xa); } @@ -274,7 +276,7 @@ void func_8038F430(ActorMarker *marker, s32 arg1){ if(actor->state < 3){ player_getPosition(&sp18); - if(ml_vec3f_distance(&actor->position, &sp18) < 300.0f) + if(ml_distance_vec3f(&actor->position, &sp18) < 300.0f) func_8028F55C(5, actor->marker); func_8038F190(actor, 3); }//L8038F4A4 @@ -351,7 +353,7 @@ void func_8038F618(Actor *this){ } func_8038E92C(this); if(this->state == 1){ - if(sp78 && ml_vec3f_distance(&this->position, &sp7C) < 500.0f){ + if(sp78 && ml_distance_vec3f(&this->position, &sp7C) < 500.0f){ func_8038F190(this, 2); } }//L8038F7A0 @@ -370,7 +372,7 @@ void func_8038F618(Actor *this){ func_8033568C(this->unk148, &sp6C, &sp68); if(0.1 <= sp68 && sp68 <= 0.6) - func_80255FE4(this->position, &local->unk14, &local->unk20, (sp68 - 0.1) /0.5 ); + ml_interpolate_vec3f(this->position, &local->unk14, &local->unk20, (sp68 - 0.1) /0.5 ); if(sp6C < 0.6 && 0.6 <= sp68) func_8030E878(SFX_6C_LOCKUP_CLOSING, 1.1 + randf2(-0.05f, 0.05f), 20000, this->position, 500.0f, 1000.0f); @@ -385,7 +387,7 @@ void func_8038F618(Actor *this){ this->yaw += (sp44*400.0f)*sp70; if(func_80335794(this->unk148) > 0){ - if(ml_vec3f_distance(&this->position, &local->unk8) < 10.0f){ + if(ml_distance_vec3f(&this->position, &local->unk8) < 10.0f){ func_8038F190(this, 1); }else{ func_8038F190(this, 2); diff --git a/src/RBB/code_99F0.c b/src/RBB/code_99F0.c index 37bb0856..07f677b5 100644 --- a/src/RBB/code_99F0.c +++ b/src/RBB/code_99F0.c @@ -56,7 +56,7 @@ void func_8038FF70(void){ func_8038FDE0(1); if(D_803912C8 == 1) - if(func_8025773C(&D_803912CC,time_getDelta())) + if(ml_timer_update(&D_803912CC,time_getDelta())) func_8038FDE0(2); if(D_803912C8 == 2) diff --git a/src/RBB/code_CA0.c b/src/RBB/code_CA0.c index 543389b8..e9c7a2ec 100644 --- a/src/RBB/code_CA0.c +++ b/src/RBB/code_CA0.c @@ -101,7 +101,7 @@ void func_80387488(ActorMarker *marker){ player_getPosition(&sp1C); if(-50.0f < sp1C[1] && sp1C[1] < 600.0f){ sp1C[1] = 0; - if(ml_vec3f_distance(&sp1C, &D_80390264) < 500.0f){ + if(ml_distance_vec3f(&sp1C, &D_80390264) < 500.0f){ timedFunc_set_1(1.0f, (GenMethod_1) func_80387488, (s32)actor->marker); return; } diff --git a/src/SM/ch/vegetables.c b/src/SM/ch/vegetables.c index 89cd830b..8342551c 100644 --- a/src/SM/ch/vegetables.c +++ b/src/SM/ch/vegetables.c @@ -138,7 +138,7 @@ struct43s D_8038AF0C ={ /* .code */ void func_80387910(ParticleEmitter *arg0, f32 *arg1, s32 arg2){ s32 sp24[3] = D_8038ADA0; - func_802EFFA8(arg0, sp24); + particleEmitter_setRGB(arg0, sp24); particleEmitter_setSprite(arg0, ASSET_700_SPRITE_DUST); particleEmitter_setStartingFrameRange(arg0, 0, 7); particleEmitter_setPosition(arg0, arg1); @@ -152,8 +152,8 @@ void func_803879B8(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e mode func_802EFA18(arg0, 2); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); - func_802EFA70(arg0, 2); - func_802EFE24(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setDrawMode(arg0, 2); + particleEmitter_setAngularVelocityRange(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB98(arg0, &D_8038AE04); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE2C); particleEmitter_emitN(arg0, arg2); @@ -164,8 +164,8 @@ void func_80387A80(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e mode func_802EFA18(arg0, 3); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); - func_802EFA70(arg0, 2); - func_802EFE24(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setDrawMode(arg0, 2); + particleEmitter_setAngularVelocityRange(arg0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB98(arg0, &D_8038AE74); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE9C); particleEmitter_emitN(arg0, arg2); @@ -176,9 +176,9 @@ void func_80387B48(ParticleEmitter *arg0, f32 arg1[3], s32 arg2, enum asset_e mo func_802EFA18(arg0, 4); particleEmitter_setModel(arg0, model_id); particleEmitter_setPosition(arg0, arg1); - func_802EFA70(arg0, 2); - func_802EFE24(arg0, 150.0f, -300.0f, -300.0f, 300.0f, 300.0f, -150.0f); - func_802EF9EC(arg0, 0x1f, 0x1f40); + 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); func_802EFB98(arg0, &D_8038AEE4); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AF0C); particleEmitter_emitN(arg0, arg2); @@ -194,11 +194,11 @@ void func_80387C28(Actor * this){ sp30[1] = this->position_y; sp30[2] = this->position_z; sp30[1] += 50.0f; - func_80387B48(partEmitList_pushNew(0xC), sp30, 0xC, 0x4F4); - func_803879B8(partEmitList_pushNew(4), sp30, 0x4, 0x4F2); - func_803879B8(partEmitList_pushNew(4), sp30, 0x4, 0x4F3); + func_80387B48(partEmitMgr_newEmitter(0xC), sp30, 0xC, 0x4F4); + func_803879B8(partEmitMgr_newEmitter(4), sp30, 0x4, 0x4F2); + func_803879B8(partEmitMgr_newEmitter(4), sp30, 0x4, 0x4F3); sp30[1] += 50.0f; - func_80387910(partEmitList_pushNew(8), sp30, 8); + func_80387910(partEmitMgr_newEmitter(8), sp30, 8); }//L80387D18 if(this->unk38_31){ this->position_y += 100.0f; @@ -423,7 +423,7 @@ void func_80388080(Actor *this){ if(gu_sqrtf(this->velocity_z*this->velocity_z + (this->velocity_x*this->velocity_x + this->velocity_y*this->velocity_y)) > 50.0f){ ml_vec3f_set_length(this->velocity, 50.0f); } - if(ml_vec3f_distance(this->position, this->unk1C) < 20.0f){ + if(ml_distance_vec3f(this->position, this->unk1C) < 20.0f){ func_80387E64(this); } this->unk28 = 5.0f; @@ -484,7 +484,7 @@ void func_80388080(Actor *this){ if(local->unkC == 1) sp54[1] += 150.0f; this->unk138_24 = 0; - func_80387A80(partEmitList_pushNew(3), sp54, 3, (local->unkC == 1)? 0x4f0: 0x4f1); + func_80387A80(partEmitMgr_newEmitter(3), sp54, 3, (local->unkC == 1)? 0x4f0: 0x4f1); }//L80388CC4 if(actor_animationIsAt(this, 0.75f)) diff --git a/src/SM/code_2990.c b/src/SM/code_2990.c index 3502d6fc..34938819 100644 --- a/src/SM/code_2990.c +++ b/src/SM/code_2990.c @@ -427,7 +427,7 @@ void func_803899B0(Actor * this){ || (this->unkF4_8 == 8 && mapSpecificFlags_get(3) && !mapSpecificFlags_get(0xF)) ){//L80389C50 - if( ((ml_vec3f_distance(sp44, this->unk1C) < this->unk28) && func_8028F20C()) + if( ((ml_distance_vec3f(sp44, this->unk1C) < this->unk28) && func_8028F20C()) || mapSpecificFlags_get(0x10) ){//L80389C8C if(func_80329530(this, 0x96)) diff --git a/src/SM/code_44D0.c b/src/SM/code_44D0.c index 4356ef8e..ef98f0d5 100644 --- a/src/SM/code_44D0.c +++ b/src/SM/code_44D0.c @@ -40,7 +40,7 @@ void func_8038A8F8(Actor *this){ this->unk16C_4 = 1; }//L8038A968 player_getPosition(this->velocity); - sp2C = ml_vec3f_distance(this->velocity, this->position); + sp2C = ml_distance_vec3f(this->velocity, this->position); if(sp2C < (f32) this->unkF4_8) func_80388D48(); @@ -48,7 +48,7 @@ void func_8038A8F8(Actor *this){ if( !mapSpecificFlags_get(2) || (mapSpecificFlags_get(3) && !mapSpecificFlags_get(0xf)) ){ //L8038AA54 - this->yaw_ideal = ml_vec3f_distance(this->velocity, this->unk1C) / 150.0; + this->yaw_ideal = ml_distance_vec3f(this->velocity, this->unk1C) / 150.0; func_8028F3D8(this->unk1C, this->yaw_ideal, func_8038A8C0, this->marker); mapSpecificFlags_set(0x10, 1); } diff --git a/src/SM/code_5B0.c b/src/SM/code_5B0.c index ab62ac89..c64755a3 100644 --- a/src/SM/code_5B0.c +++ b/src/SM/code_5B0.c @@ -72,29 +72,29 @@ 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); - func_802EFA5C(p_ctrl, 0.00f, 0.75f); + particleEmitter_setFade(p_ctrl, 0.00f, 0.75f); particleEmitter_setModel(p_ctrl, 0x42E); particleEmitter_setPosition(p_ctrl, arg1); - func_802EFA70(p_ctrl, 2); + particleEmitter_setDrawMode(p_ctrl, 2); func_802EFB70(p_ctrl, arg3, arg3); func_802EFB84(p_ctrl, arg3, arg3); - func_802EFE24(p_ctrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); + particleEmitter_setAngularVelocityRange(p_ctrl, -100.0f, -100.0f, -100.0f, 100.0f, 100.0f, 100.0f); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.00f, 0.01f); - func_802EFEC0(p_ctrl, 2.0f, 2.0f); + particleEmitter_setParticleLifeTimeRange(p_ctrl, 2.0f, 2.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB48); particleEmitter_emitN(p_ctrl, arg2); } void func_80386C2C(ParticleEmitter *p_ctrl, f32 *arg1, s32 arg2, f32 arg3) { - func_802EFFA8(p_ctrl, D_8038AB90); + particleEmitter_setRGB(p_ctrl, D_8038AB90); particleEmitter_setSprite(p_ctrl, ASSET_700_SPRITE_DUST); - func_802EFA5C(p_ctrl, 0.00f, 0.01f); + particleEmitter_setFade(p_ctrl, 0.00f, 0.01f); particleEmitter_setStartingFrameRange(p_ctrl, 0, 7); particleEmitter_setPosition(p_ctrl, arg1); func_802EFB70(p_ctrl, (arg3 * 0.1), (arg3 * 0.5)); func_802EFB84(p_ctrl, (arg3 * 1.5), (arg3 * 3.0)); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); - func_802EFEC0(p_ctrl, 1.5f, 2.0f); + particleEmitter_setParticleLifeTimeRange(p_ctrl, 1.5f, 2.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_8038AB9C); particleEmitter_emitN(p_ctrl, arg2); } @@ -108,8 +108,8 @@ void SM_func_80386D68(Actor *this){ sfxsource_setSampleRate(this->unk44_31, 32000); func_8030DBB4(this->unk44_31, (0.01 < (2.0 - this->scale))? (2.0 - this->scale): 0.01); func_8030E2C4(this->unk44_31); - func_80386B04(partEmitList_pushNew(0xA), this->position, 0xA, this->scale); - func_80386C2C(partEmitList_pushNew(0x10), this->position, 0x10, this->scale); + func_80386B04(partEmitMgr_newEmitter(0xA), this->position, 0xA, this->scale); + func_80386C2C(partEmitMgr_newEmitter(0x10), this->position, 0x10, this->scale); if(this->unk100 && func_803870E8(this->unk100)){ func_802CA1CC(HONEYCOMB_18_SM_QUARRIES); diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index 320031ec..c68e5782 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -141,11 +141,11 @@ void __chClam_particalEmitterInit(ParticleEmitter *pCtrl, f32 position[3]){ func_802EF9F8(pCtrl, 0.7f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 0.8f, 1.0f); - func_802EF9EC(pCtrl, 0x1f, 10000); + particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 3.5f, 3.5f); - func_802EFA5C(pCtrl, 0.0f, 0.65f); - func_802EFA70(pCtrl, 2); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.5f, 3.5f); + particleEmitter_setFade(pCtrl, 0.0f, 0.65f); + particleEmitter_setDrawMode(pCtrl, 2); } void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ @@ -155,11 +155,11 @@ void __chClam_emitLargeShellParticles(f32 position[3], s32 count){ }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); __chClam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37C_MODEL_CLAM_LARGE_SHELL_PIECE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C3F4); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); func_802EFB70(pCtrl, 1.0f, 1.0f); particleEmitter_emitN(pCtrl, count); } @@ -171,11 +171,11 @@ void __chClam_emitEyeParticles(f32 position[3], s32 count){ }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); __chClam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37D_MODEL_CLAM_EYE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C424); - func_802EFE24(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB70(pCtrl, 1.0f, 1.0f); particleEmitter_emitN(pCtrl, count); } @@ -187,11 +187,11 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); __chClam_particalEmitterInit(pCtrl, position); particleEmitter_setModel(pCtrl, ASSET_37E_MODEL_CLAM_SMALL_SHELL_PIECE); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C454); - func_802EFE24(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); func_802EFB70(pCtrl, 0.5f, 0.8f); particleEmitter_emitN(pCtrl, count); } @@ -212,7 +212,7 @@ void __chClam_emitEatenCollectableParticles(f32 position[3], enum asset_e sprite ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, position); diff --git a/src/TTC/code_19D0.c b/src/TTC/code_19D0.c index 12d4dda8..4cd929ab 100644 --- a/src/TTC/code_19D0.c +++ b/src/TTC/code_19D0.c @@ -39,10 +39,10 @@ void func_80387DC0(f32 *position, s32 count) { }; ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(count); + pCtrl = partEmitMgr_newEmitter(count); pCtrl = pCtrl; particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); - func_802EFFA8(pCtrl, D_8038C5A4); + particleEmitter_setRGB(pCtrl, D_8038C5A4); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, position); particleEmitter_setParticleSpawnPositionRange(pCtrl, diff --git a/src/TTC/code_35D0.c b/src/TTC/code_35D0.c index 5d75a064..bf6e161f 100644 --- a/src/TTC/code_35D0.c +++ b/src/TTC/code_35D0.c @@ -158,8 +158,8 @@ void func_80389CC4(s16 arg0[3], s32 arg1){ D_8038D708[2] = (f32)arg0[2]; D_8038D708[1] = func_80309724(D_8038D708); __spawnQueue_add_4((GenMethod_4)func_802C4140, 0xF4, reinterpret_cast(s32, D_8038D708[0]), reinterpret_cast(s32, D_8038D708[1]), reinterpret_cast(s32, D_8038D708[2])); - D_8038D700 = partEmitList_pushNew(3); - func_802EFFA8(D_8038D700, D_8038C91C); + D_8038D700 = partEmitMgr_newEmitter(3); + particleEmitter_setRGB(D_8038D700, D_8038C91C); particleEmitter_setSprite(D_8038D700, ASSET_700_SPRITE_DUST); particleEmitter_setStartingFrameRange(D_8038D700, 0, 7); particleEmitter_setPosition(D_8038D700, D_8038D708); @@ -175,7 +175,7 @@ void func_80389CC4(s16 arg0[3], s32 arg1){ }//L80389E70 } -void func_80389E84(void){ +void ttc_resetTresureHunt(void){ D_8037DCB4 = 0; } diff --git a/src/core1/code_0.c b/src/core1/code_0.c index b2c6a2a0..6b8b87d3 100644 --- a/src/core1/code_0.c +++ b/src/core1/code_0.c @@ -5,7 +5,7 @@ #include "gc/gctransition.h" -void func_8023E00C(s32); +void func_8023E00C(enum map_e); void func_8023DFF0(s32); @@ -26,7 +26,7 @@ u32 D_8027A130; u8 pad_8027A138[0x400]; u64 D_8027A538; u8 pad_8027A540[0x17F8]; -OSThread D_8027BD38; +OSThread s_MainThread; s32 D_8027BEE8; s32 D_8027BEEC; u64 D_8027BEF0; @@ -98,12 +98,12 @@ void func_8023DBDC(void){ func_8023DFF0(3); } -void func_8023DC0C(void){ +void core1_init(void){ func_80255C30(); func_8023E00C(func_8023DBA4()); rarezip_init(); //initialize decompressor's huft table func_8024BE30(); - func_80251308(); + overlayManagerloadCore2(); D_8027BEF0 = D_8027A538; heap_init(); func_80254028(); @@ -111,10 +111,10 @@ void func_8023DC0C(void){ func_8033EF58(); assetCache_init(); pfsManager_init(); - func_80250C84(); + rumbleManager_init(); audioManager_init(); func_8025425C(); - func_80257424(); + ml_init(); gctransition_reset(); D_8027A130 = 0; D_80275618 = 0; @@ -132,9 +132,9 @@ void func_8023DCF4(void){ #ifndef NOMATCHING -#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_0/func_8023DD0C.s") +#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_0/mainLoop.s") #else -void func_8023DD0C(void){ +void mainLoop(void){ s32 x; s32 y; s32 r; @@ -152,7 +152,7 @@ void func_8023DD0C(void){ if(!D_8027BEEC) func_8024E7C8(); D_8027BEEC = 0; - func_80250C08(); + rumbleManager_80250C08(); if(!mapSpecificFlags_validateCRC1()){ write_file_blocks(0, 0, 0x80397AD0, 0x40); @@ -200,11 +200,11 @@ void func_8023DD0C(void){ } #endif -void func_8023DF9C(void *arg0){ - func_8023DC0C(); +void __mainMethod(void *arg0){ + core1_init(); sns_write_payload_over_heap(); while(1){ //main loop - func_8023DD0C(); + mainLoop(); } } @@ -216,18 +216,18 @@ s32 func_8023E000(void){ return D_8027A130; } -void func_8023E00C(s32 arg0){ - D_8027BEE8 = arg0; +void func_8023E00C(enum map_e map_id){ + D_8027BEE8 = map_id; } -void func_8023E018(void){ +void mainThread_create(void){ // 5th argument should be a pointer to the end of an array, but the start is unknown // D_8027A538 is not the right symbol, but the end of the array is the important port and this is the closest symbol currently - osCreateThread(&D_8027BD38, 6, func_8023DF9C, NULL, ((u8*)&D_8027A538) + 0x1800, 0x14); + osCreateThread(&s_MainThread, 6, __mainMethod, NULL, ((u8*)&D_8027A538) + 0x1800, 0x14); } -OSThread *func_8023E060(void){ - return &D_8027BD38; +OSThread *mainThread_get(void){ + return &s_MainThread; } void func_8023E06C(void){ diff --git a/src/core1/code_18350.c b/src/core1/code_18350.c index 1da30e8f..34e780e2 100644 --- a/src/core1/code_18350.c +++ b/src/core1/code_18350.c @@ -119,28 +119,28 @@ f32 func_80255F14(f32 vec1[3], f32 vec2[3]) } //ml_vec3f_cross_product -void func_80255F74(f32 dst[3], f32 src1[3], f32 src2[3]) +void ml_crossProduct_vec3f(f32 dst[3], f32 src1[3], f32 src2[3]) { dst[0] = src1[1] * src2[2] - src1[2] * src2[1]; dst[1] = src1[2] * src2[0] - src1[0] * src2[2]; dst[2] = src1[0] * src2[1] - src1[1] * src2[0]; } -void func_80255FE4(f32 dst[3], f32 vec1[3], f32 vec2[3], f32 scale) +void ml_interpolate_vec3f(f32 dst[3], f32 vec1[3], f32 vec2[3], f32 scale) { dst[0] = vec1[0] + (vec2[0] - vec1[0]) * scale; dst[1] = vec1[1] + (vec2[1] - vec1[1]) * scale; dst[2] = vec1[2] + (vec2[2] - vec1[2]) * scale; } -f32 ml_vec3f_dot_product(f32 vec1[3], f32 vec2[3]) +f32 ml_dotProduct_vec3f(f32 vec1[3], f32 vec2[3]) { return vec1[0] * vec2[0] + vec1[1] * vec2[1] + vec1[2] * vec2[2]; } -f32 ml_vec3f_distance(f32 vec1[3], f32 vec2[3]) +f32 ml_distance_vec3f(f32 vec1[3], f32 vec2[3]) { f32 diff[3]; @@ -167,7 +167,7 @@ f32 func_802560D0(f32 arg0[3], f32 arg1[3], f32 arg2[3]) { sp24[2] = arg1[2] - arg0[2]; sp20 = gu_sqrtf(sp24[0]*sp24[0] + sp24[1]*sp24[1] + sp24[2]*sp24[2]); if (sp20 < 0.01) { - return ml_vec3f_distance(arg0, arg2); + return ml_distance_vec3f(arg0, arg2); } sp3C[0] = arg2[0] - arg0[0]; @@ -183,10 +183,10 @@ f32 func_802560D0(f32 arg0[3], f32 arg1[3], f32 arg2[3]) { sp4C[0] = arg0[0] + (sp24[0] * sp30); sp4C[1] = arg0[1] + (sp24[1] * sp30); sp4C[2] = arg0[2] + (sp24[2] * sp30); - return ml_vec3f_distance(sp4C, arg2); + return ml_distance_vec3f(sp4C, arg2); } -f32 ml_vec3f_distance_squared(f32 vec1[3], f32 vec2[3]) +f32 ml_distanceSquared_vec3f(f32 vec1[3], f32 vec2[3]) { f32 diff[3]; @@ -564,7 +564,7 @@ void func_8025727C(f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z2, f32 *o1, f32 } //ml_init -void func_80257424(void) +void ml_init(void) { u16 i; @@ -583,7 +583,7 @@ void func_80257424(void) * Deallocates the ushort table used for asin */ //ml_free -void func_80257594(void) +void ml_free(void) { free(D_80276CB8); D_80276CB8 = NULL; @@ -629,7 +629,7 @@ void func_802576F8(void) //ml_timer_update //decrement a counter and returns True if timer reaches 0 -bool func_8025773C(f32 *timer, f32 delta) +bool ml_timer_update(f32 *timer, f32 delta) { if (*timer > 0) { @@ -658,9 +658,9 @@ void func_8025778C(f32 dst[3], f32 arg1[3], f32 arg2[3][3]){ func_802596AC(sp34, arg2[1], arg2[2], arg1); func_802596AC(sp28, arg2[2], arg2[0], arg1); - sp54 = ml_vec3f_distance_squared(sp40, arg1); - sp50 = ml_vec3f_distance_squared(sp34, arg1); - sp4C = ml_vec3f_distance_squared(sp28, arg1); + sp54 = ml_distanceSquared_vec3f(sp40, arg1); + sp50 = ml_distanceSquared_vec3f(sp34, arg1); + sp4C = ml_distanceSquared_vec3f(sp28, arg1); if(sp54 < sp50){ if(sp4C < sp54){ @@ -688,7 +688,7 @@ void func_802578A4(f32 dst[3], f32 vec1[3], f32 vec2[3]) ml_vec3f_diff_copy(tmp1, &vec2[3], vec2); ml_vec3f_diff_copy(tmp2, &vec2[6], vec2); - func_80255F74(tmp3, tmp1, tmp2); + ml_crossProduct_vec3f(tmp3, tmp1, tmp2); ml_vec3f_normalize(tmp3); func_80257918(dst, vec1, vec2, tmp3); } @@ -712,19 +712,19 @@ bool func_802579B0(f32 vec[3], f32 x1, f32 z1, f32 x2, f32 z2) f32 func_80257A44(f32 val1, f32 val2) { - return func_802588B0(val1, val2) / val2; + return ml_remainder_f(val1, val2) / val2; } f32 func_80257A6C(f32 val1, f32 val2) { - f32 tmp = func_802588B0(val1, val2) / val2; + f32 tmp = ml_remainder_f(val1, val2) / val2; return (sinf(tmp * (2*BAD_PI)) + 1.0) / 2.0; } f32 func_80257AD4(f32 val1, f32 val2) { - return sinf((func_802588B0(val1, val2) / val2) * (2*BAD_PI)); + return sinf((ml_remainder_f(val1, val2) / val2) * (2*BAD_PI)); } f32 ml_map_f(f32 a, f32 b, f32 c, f32 d, f32 e) @@ -768,8 +768,7 @@ f32 func_80257BFC(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) return arg4; } -//ml_f_interpolate -f32 func_80257C48(f32 arg0, f32 arg1, f32 arg2) +f32 ml_interpolate_f(f32 arg0, f32 arg1, f32 arg2) { return arg0 * (arg2 - arg1) + arg1; } @@ -805,7 +804,7 @@ void func_80257DB0(f32 arg0[3], f32 arg1[3], f32 arg2[3]) f32 tmp[3]; ml_vec3f_scale_copy(arg0, arg1, -1); - dot_product = ml_vec3f_dot_product(arg0, arg2); + dot_product = ml_dotProduct_vec3f(arg0, arg2); ml_vec3f_scale_copy(tmp, arg2, 2 * dot_product); ml_vec3f_diff_copy(arg0, tmp, arg0); } @@ -821,8 +820,7 @@ void func_80257E14(f32 v[3], f32 a) } } -// int clamp -s32 func_80257EA8(s32 val, s32 min, s32 max) +s32 ml_clamp_w(s32 val, s32 min, s32 max) { if (val < min) return min; @@ -833,16 +831,15 @@ s32 func_80257EA8(s32 val, s32 min, s32 max) return val; } -//ml_clamp_f -f32 mlClamp_f(f32 arg0, f32 arg1, f32 arg2) +f32 ml_clamp_f(f32 val, f32 min, f32 max) { - if (arg0 < arg1) - return arg1; + if (val < min) + return min; - if (arg0 > arg2) - return arg2; + if (val > max) + return max; - return arg0; + return val; } //ml_vec3f_yaw_between @@ -948,14 +945,12 @@ int func_80258210(f32 x, f32 y, f32 *dst) return TRUE; } -//ml_vec3f_is_zero -int func_802582EC(f32 vec[3]) +int ml_isZero_vec3f(f32 vec[3]) { return !(vec[0] != 0 || vec[1] != 0 || vec[2] != 0); } -//ml_vec3f_is_not_zero -bool func_80258368(f32 vec[3]) +bool ml_isNonzero_vec3f(f32 vec[3]) { return vec[0] != 0 || vec[1] != 0 || vec[2] != 0; } @@ -1062,19 +1057,19 @@ f32 mlNormalizeAngle(f32 angle) return angle; } -f32 func_802588B0(f32 arg0, f32 arg1) +f32 ml_remainder_f(f32 arg0, f32 arg1) { f32 val = arg0 / arg1; return (val - (s32)val) * arg1; } -f32 max_f(f32 arg0, f32 arg1) +f32 ml_max_f(f32 arg0, f32 arg1) { return arg0 > arg1 ? arg0 : arg1; } -f32 min_f(f32 arg0, f32 arg1) +f32 ml_min_f(f32 arg0, f32 arg1) { return arg0 < arg1 ? arg0 : arg1; } @@ -1471,9 +1466,9 @@ void func_802596AC(f32 a0[3], f32 a1[3], f32 a2[3], f32 a3[3]) func_80259554(a0, a1, a2, a3); - a = ml_vec3f_distance_squared(a1, a2); - b = ml_vec3f_distance_squared(a1, a0); - c = ml_vec3f_distance_squared(a2, a0); + a = ml_distanceSquared_vec3f(a1, a2); + b = ml_distanceSquared_vec3f(a1, a0); + c = ml_distanceSquared_vec3f(a2, a0); if (a < b || a < c) { diff --git a/src/core1/code_1BE90.c b/src/core1/code_1BE90.c index ca9f5071..b8338904 100644 --- a/src/core1/code_1BE90.c +++ b/src/core1/code_1BE90.c @@ -126,7 +126,7 @@ void func_80259BD0(void) { for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){ if (var_s0->unk10 >= 0) { temp_lo = var_s0 - D_80276E30; - var_s0->unk4 = min_f(var_s0->unk4 + sp3C, 600.0f); + var_s0->unk4 = ml_min_f(var_s0->unk4 + sp3C, 600.0f); if ((var_s0->unk4 > 1.0f) && func_80250074(temp_lo)) { func_8025A7DC(var_s0->unk10); } diff --git a/src/core1/code_2BD0.c b/src/core1/code_2BD0.c index 7d1f0906..122c0804 100644 --- a/src/core1/code_2BD0.c +++ b/src/core1/code_2BD0.c @@ -35,7 +35,7 @@ void func_802405F0(u32 arg0, u32 arg1, s32 size){ } #endif -void func_80240754(void){ +void piMgr_create(void){ osCreateMesgQueue(&D_8027E0AC, &D_8027E0A8, 1); osCreateMesgQueue(&D_8027E108, &D_8027E0C8[0], 16); osCreatePiManager(OS_PRIORITY_PIMGR, &D_8027E108, &D_8027E0C8[0], 16); diff --git a/src/core1/code_31C0.c b/src/core1/code_31C0.c index b39d114f..d215c7ad 100644 --- a/src/core1/code_31C0.c +++ b/src/core1/code_31C0.c @@ -14,14 +14,14 @@ void func_80240BE0(void){ osStartThread(&D_8027ED10); } -void func_80240754(void); -void func_8023E018(void); -OSThread *func_8023E060(void); +void piMgr_create(void); +void mainThread_create(void); +OSThread *mainThread_get(void); void func_80240C30(void *arg) { - func_80240754(); - func_8023E018(); - osStartThread(func_8023E060()); + piMgr_create(); + mainThread_create(); + osStartThread(mainThread_get()); while (1); } diff --git a/src/core1/code_72B0.c b/src/core1/code_72B0.c index 6a720b04..2be552f9 100644 --- a/src/core1/code_72B0.c +++ b/src/core1/code_72B0.c @@ -5,7 +5,7 @@ int func_802458E0(f32 arg0[3], Actor *arg1, s32 arg2); extern bool func_80320DB0(f32[3], f32, f32[3], u32); extern bool func_80323240(struct56s *, f32, f32[3]); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); extern BKCollisionTri *func_80320B98(f32[3], f32[3], f32[3], u32); extern BKCollisionTri *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5); extern f32 func_8031C5D4(struct0*); @@ -122,7 +122,7 @@ void func_802450DC(f32 arg0[3], f32 arg1[3], f32 arg2[3], f32 arg3[3], f32 arg4[ ml_vec3f_diff_copy(sp3C, arg1, arg0); ml_vec3f_diff_copy(sp30, arg3, arg2); ml_vec3f_diff_copy(sp24, sp3C, sp30); - phi_f12 = -ml_vec3f_dot_product(arg4, sp24); + phi_f12 = -ml_dotProduct_vec3f(arg4, sp24); phi_f12 = MAX(5.0f, phi_f12); arg1[0] += phi_f12 * arg4[0]; arg1[1] += phi_f12 * arg4[1]; @@ -145,13 +145,13 @@ void func_802451A4(f32 arg0[3], f32 arg1[3], f32 arg2[3], f32 arg3[3], f32 arg4[ ml_vec3f_diff_copy(sp54, sp6C, sp60); ml_vec3f_normalize_copy(sp3C, sp54); ml_vec3f_yaw_rotate_copy(sp30, sp3C, 90.0f); - sp28 = ml_vec3f_dot_product(arg4, sp3C); + sp28 = ml_dotProduct_vec3f(arg4, sp3C); if (arg5 != 0) { - D_8027EF30 = ml_vec3f_dot_product(arg4, sp30); + D_8027EF30 = ml_dotProduct_vec3f(arg4, sp30); } phi_v0 = (D_8027EF30 < 0.0f) ? -1 : 1; ml_vec3f_yaw_rotate_copy(sp48, arg4,(phi_v0 * sp28) * 45.0); - phi_f12 = -ml_vec3f_dot_product(sp48, sp54); + phi_f12 = -ml_dotProduct_vec3f(sp48, sp54); phi_f12 = MAX(5.0f, phi_f12); arg1[0] += phi_f12 * sp48[0]; arg1[1] += phi_f12 * sp48[1]; @@ -280,7 +280,7 @@ void func_8024560C(f32 arg0[3], struct0 *arg1, UNK_TYPE(s32) arg2, u8 *arg3, f32 } BKCollisionTri *func_8024575C(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5){ - if(arg2 < ml_vec3f_distance(arg0, arg1)){ + if(arg2 < ml_distance_vec3f(arg0, arg1)){ return NULL; } return func_80320C94(arg0, arg1, arg2, arg3, arg4, arg5); diff --git a/src/core1/code_8C50.c b/src/core1/code_8C50.c index 3e045533..9187e78b 100644 --- a/src/core1/code_8C50.c +++ b/src/core1/code_8C50.c @@ -399,7 +399,7 @@ void func_8024730C(void){ } else { osViSetMode(&D_802759F8); } - func_80250FC0(); //stop controller motors + rumbleManager_80250FC0(); //stop controller motors do{ osDpSetStatus(DPC_STATUS_FLUSH); }while(1); diff --git a/src/core1/code_E360.c b/src/core1/code_E360.c index d015a3b5..8158d989 100644 --- a/src/core1/code_E360.c +++ b/src/core1/code_E360.c @@ -145,8 +145,8 @@ void func_8024BFD8(s32 arg0){ static s32 D_80280E90; osSetThreadPri(NULL, 0x7f); - func_802408EC(0x1E); - func_80240874(); + defragManager_setPriority(0x1E); + defragManager_80240874(); if(arg0){ osRecvMesg(&D_802807B0, NULL, OS_MESG_BLOCK); } @@ -167,9 +167,9 @@ void func_8024BFD8(s32 arg0){ }//L8024C178 D_80280724 = D_802808D8; D_802808D8 = 0; - func_802408B0(); + defragManager_802408B0(); osSetThreadPri(NULL, 0x14); - func_802408EC(0xA); + defragManager_setPriority(0xA); } void func_8024C1B4(void){ diff --git a/src/core1/code_EAF0.c b/src/core1/code_EAF0.c index 2a6c44d5..53a12cd7 100644 --- a/src/core1/code_EAF0.c +++ b/src/core1/code_EAF0.c @@ -3,7 +3,7 @@ #include "variables.h" extern void guPerspective(Mtx *, u16*, f32, f32, f32, f32, f32); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); /* .data */ f32 D_80275D20 = 40.0f; //fovy @@ -48,7 +48,7 @@ void func_8024C510(f32 arg0){ } void func_8024C584(f32 arg0[3]){ - ml_vec3f_distance(arg0, D_80280EB0); + ml_distance_vec3f(arg0, D_80280EB0); } void func_8024C5A8(f32 arg0[3]){ @@ -355,7 +355,7 @@ bool func_8024DB50(f32 arg0[3], f32 arg1) { sp3C[1] = arg0[1] - D_80280EB0[1]; sp3C[2] = arg0[2] - D_80280EB0[2]; for(i = 0; i < 4; i++){ - if(arg1 <= ml_vec3f_dot_product(sp3C, D_80280ED0[i])){ + if(arg1 <= ml_dotProduct_vec3f(sp3C, D_80280ED0[i])){ return FALSE; } } diff --git a/src/core1/code_2DA0.c b/src/core1/defragmanager.c similarity index 57% rename from src/core1/code_2DA0.c rename to src/core1/defragmanager.c index f7e95db9..01d64000 100644 --- a/src/core1/code_2DA0.c +++ b/src/core1/defragmanager.c @@ -2,53 +2,53 @@ #include "functions.h" #include "variables.h" -void func_80240924(s32 arg0); +void __defrag_thread(s32 arg0); OSMesgQueue D_8027E120; OSMesg D_8027E138; OSMesgQueue D_8027E140; OSMesg D_8027E158; -OSThread D_8027E160; -u8 D_8027E310[0x800]; +OSThread defragThread; +u8 defragStack[0x800]; /* .code */ -void func_802407C0(void){ +void defragManager_init(void){ osCreateMesgQueue(&D_8027E120, &D_8027E138, 1); osCreateMesgQueue(&D_8027E140, &D_8027E158, 1); - osCreateThread(&D_8027E160, 2, func_80240924, NULL, &D_8027E310[0x800], 10); - osStartThread(&D_8027E160); + osCreateThread(&defragThread, 2, __defrag_thread, NULL, &defragStack[0x800], 10); + osStartThread(&defragThread); } -void func_80240844(void){ - osStopThread(&D_8027E160); - osDestroyThread(&D_8027E160); +void defragManager_free(void){ + osStopThread(&defragThread); + osDestroyThread(&defragThread); } -void func_80240874(void){ +void defragManager_80240874(void){ if(func_8023E000() == 3){ osSendMesg(&D_8027E120, NULL, OS_MESG_BLOCK); } } -void func_802408B0(void){ +void defragManager_802408B0(void){ if(func_8023E000() == 3){ osSendMesg(&D_8027E140, NULL, OS_MESG_BLOCK); } } -void func_802408EC(OSPri pri){ +void defragManager_setPriority(OSPri pri){ if(func_8023E000() == 3){ - osSetThreadPri(&D_8027E160, pri); + osSetThreadPri(&defragThread, pri); } } -void func_80240924(s32 arg0){ +void __defrag_thread(s32 arg0){ int tmp_v0; do{ osRecvMesg(&D_8027E120, NULL, OS_MESG_BLOCK); if(!D_8027E140.validCount){ do{ - tmp_v0 = func_802E48D8(); + tmp_v0 = game_defrag(); }while(!D_8027E140.validCount && tmp_v0); } osRecvMesg(&D_8027E140, NULL, OS_MESG_BLOCK); diff --git a/src/core1/code_15630.c b/src/core1/overlay.c similarity index 98% rename from src/core1/code_15630.c rename to src/core1/overlay.c index f75b923d..0bb23cf1 100644 --- a/src/core1/code_15630.c +++ b/src/core1/overlay.c @@ -15,7 +15,7 @@ extern u8 D_8002D500; extern u32 D_8027BF2C; extern u32 D_8027BF30; -void func_80253050( +void overlay_load( s32 overlay_id, u32 ram_start, u32 ram_end, u32 rom_start, u32 rom_end, u32 code_start, u32 code_end, u32 data_start, u32 data_end, u32 bss_start, u32 bss_end ){ diff --git a/src/core1/code_136D0.c b/src/core1/overlaymanager.c similarity index 55% rename from src/core1/code_136D0.c rename to src/core1/overlaymanager.c index 4b30f7a2..21a9f7e2 100644 --- a/src/core1/code_136D0.c +++ b/src/core1/overlaymanager.c @@ -14,7 +14,7 @@ typedef struct struct_2a_s{ u8* data_end; u8* bss_start; u8* bss_end; -} struct2As; +} OverlayAddressMap; extern u8 D_803A5D00; @@ -56,7 +56,7 @@ SEGMENT_EXTERNS(fight); {#realname, segname##_VRAM, segname##_VRAM_END, segname##_ROM_START, segname##_ROM_END, NULL, NULL, NULL, NULL, NULL, NULL} /* .data */ -struct2As D_802762D0[] = { +static OverlayAddressMap overlayAddressMap[] = { SEGMENT_ENTRY(core2, gs), DUMMY_SEGMENT_ENTRY(emptyLvl, coshow), SEGMENT_ENTRY(CC, whale), @@ -73,117 +73,116 @@ struct2As D_802762D0[] = { SEGMENT_ENTRY(lair, witch), SEGMENT_ENTRY(fight, battle), }; -s32 D_80276564 = sizeof(D_802762D0) / sizeof(D_802762D0[0]); +static s32 overlayCount = sizeof(overlayAddressMap) / sizeof(overlayAddressMap[0]); /* .bss */ -enum overlay_e D_80282800; +enum overlay_e overlayMgrLoadedId; -void func_802513A4(void); +void overlayManagerdebug(void); /* .code */ -struct2As *func_802510F0(void){ - //returns struct2As ptr with largest RAM size +OverlayAddressMap *__overlayManagergetLargetOverlayAddressMap(void){ + //returns OverlayAddressMap ptr with largest RAM size int i; - struct2As * v1; + OverlayAddressMap * largest_overlay; - v1 = &D_802762D0[1]; - for(i = 1; i < D_80276564; i++){ - if(v1->ram_end - v1->ram_start < (u32)(D_802762D0[i].ram_end - D_802762D0[i].ram_start)){ - v1 = &D_802762D0[i]; + largest_overlay = &overlayAddressMap[1]; + for(i = 1; i < overlayCount; i++){ + if(largest_overlay->ram_end - largest_overlay->ram_start < (u32)(overlayAddressMap[i].ram_end - overlayAddressMap[i].ram_start)){ + largest_overlay = &overlayAddressMap[i]; } } - return v1; + return largest_overlay; } -s32 func_80251170(void){ +s32 __overlayManager80251170(void){ return 0; } -s32 func_80251178(void){ +s32 __overlayManager80251178(void){ int sp24; - struct2As *sp20; + OverlayAddressMap *largest_overlay; s32 sp1C; s32 sp18; - sp20 = func_802510F0(); + largest_overlay = __overlayManagergetLargetOverlayAddressMap(); sp18 = func_802546DC(); - sp1C = func_80251170(); + sp1C = __overlayManager80251170(); - return ((sp1C + &D_803A5D00) - sp20->ram_end) + sp18; + return ((sp1C + &D_803A5D00) - largest_overlay->ram_end) + sp18; } -void func_802511C4(void){ +void __overlayManager802511C4(void){ s32 sp24; int sp20; int sp1C; - int sp18; + int heap_size; u32 tmp_v0; - sp24 = func_80251178(); - sp18 = heap_get_size(); + sp24 = __overlayManager80251178(); + heap_size = heap_get_size(); sp20 = func_802546DC(); - sp1C = sp18 - sp20; + sp1C = heap_size - sp20; if(sp24 < 0){ - func_802513A4(); + overlayManagerdebug(); tmp_v0 = sp1C + sp24; while( tmp_v0 & 0xF){tmp_v0--;} } } -int get_loaded_overlay_id(void){ - return D_80282800; +int overlayManagergetLoadedId(void){ + return overlayMgrLoadedId; } -int is_overlay_loaded(int overlay_id){ - return D_80282800 == overlay_id; +bool overlayManagerisOverlayLoaded(int overlay_id){ + return overlayMgrLoadedId == overlay_id; } -bool load_overlay(enum overlay_e overlay_id){ - enum overlay_e rom_addr; +bool overlayManagerload(enum overlay_e overlay_id){ + s32 rom_addr; if(overlay_id == 0) return FALSE; - if(overlay_id == D_80282800) + if(overlay_id == overlayMgrLoadedId) return FALSE; - D_80282800 = overlay_id; - rom_addr = D_802762D0 + overlay_id; + overlayMgrLoadedId = overlay_id; + rom_addr = (s32)(overlayAddressMap + overlay_id); - func_80253050( + overlay_load( overlay_id, - ((struct2As*)rom_addr)->ram_start, - ((struct2As*)rom_addr)->ram_end, - ((struct2As*)rom_addr)->unkC, - ((struct2As*)rom_addr)->unk10, - ((struct2As*)rom_addr)->code_start, - ((struct2As*)rom_addr)->code_end, - ((struct2As*)rom_addr)->data_start, - ((struct2As*)rom_addr)->data_end, - ((struct2As*)rom_addr)->bss_start, - ((struct2As*)rom_addr)->bss_end + ((OverlayAddressMap*)rom_addr)->ram_start, + ((OverlayAddressMap*)rom_addr)->ram_end, + ((OverlayAddressMap*)rom_addr)->unkC, + ((OverlayAddressMap*)rom_addr)->unk10, + ((OverlayAddressMap*)rom_addr)->code_start, + ((OverlayAddressMap*)rom_addr)->code_end, + ((OverlayAddressMap*)rom_addr)->data_start, + ((OverlayAddressMap*)rom_addr)->data_end, + ((OverlayAddressMap*)rom_addr)->bss_start, + ((OverlayAddressMap*)rom_addr)->bss_end ); return TRUE; } -//clear_loaded_overlay_id -s32 func_802512FC(void){ - D_80282800 = 0; +s32 overlayManagerclearLoadedId(void){ + overlayMgrLoadedId = 0; } -void func_80251308(void){ - func_802512FC(); - func_80253050(0, +void overlayManagerloadCore2(void){ + overlayManagerclearLoadedId(); + overlay_load(0, core2_VRAM, core2_VRAM_END, core2_ROM_START, core2_ROM_END, core2_TEXT_START, core2_TEXT_END, core2_DATA_START, core2_RODATA_END, core2_BSS_START, core2_BSS_END ); - func_802511C4(); + __overlayManager802511C4(); } -void func_802513A4(void){} +void overlayManagerdebug(void){} diff --git a/src/core1/code_12F10.c b/src/core1/rumblemanager.c similarity index 63% rename from src/core1/code_12F10.c rename to src/core1/rumblemanager.c index ae14f63e..cfcc6174 100644 --- a/src/core1/code_12F10.c +++ b/src/core1/rumblemanager.c @@ -15,13 +15,13 @@ f32 D_80282420; f32 D_80282424; f32 D_80282428; f32 D_8028242C; -OSThread D_80282430; -u8 D_802825E0[0x200]; +OSThread rumbleThread; +u8 rumbleStack[0x200]; /* .code */ -void func_80250D94(f32, f32, f32); +void rumbleManager_80250D94(f32, f32, f32); -void func_80250890(void){ +void __rumbleManager_startRumble(void){ u32 motor_status; if(D_802823B0){ @@ -32,7 +32,7 @@ void func_80250890(void){ } } -void func_802508E0(void){ +void __rumbleManager_stopRumble(void){ u32 motor_status; if(D_802823B0){ @@ -54,14 +54,14 @@ void func_80250930(void){ } } -void func_8025098C(void *arg0) { +void __rumbleUpdate(void *arg0) { static s32 D_802827E0; - static s32 D_802827E4; + static s32 rumble_state; f32 temp_f2; f32 temp_f0; f32 temp_f12; f32 temp_f14; - s32 temp_a0; + s32 prev_state; s32 var_v0; s32 var_v1; @@ -71,42 +71,42 @@ void func_8025098C(void *arg0) { if (!D_802823B0 && ((D_802827E0 % 60) == 0)) { func_80250930(); } - temp_a0 = D_802827E4; + prev_state = rumble_state; if (D_80282424 != D_80282420) { temp_f2 = D_80282428 + ((D_8028242C - D_80282428) * D_80282424 / D_80282420); var_v0 = (s32) (((1.0 - temp_f2) * 8.0) + 1); if (var_v0 < 2) { - D_802827E4 = var_v0; + rumble_state = var_v0; } else { - D_802827E4 = (D_802827E0 % var_v0) == 0; + rumble_state = (D_802827E0 % var_v0) == 0; } } else { - D_802827E4 = 0; + rumble_state = 0; } - if (D_802827E4 != temp_a0) { - D_802827E4 = D_802827E4; - if (D_802827E4) { - func_80250890(); //start_motor + + if (rumble_state != prev_state) { + if (rumble_state) { + __rumbleManager_startRumble(); //start_motor } else{ - func_802508E0(); //stop_motor + __rumbleManager_stopRumble(); //stop_motor } } }while(1); } -void func_80250BA4(s32 arg0, s32 arg1, s32 arg2){ +void __rumbleManager_80250BA4(s32 arg0, s32 arg1, s32 arg2){ f64 f0 = 524288.0; - func_80250D94(arg0/f0, arg1/f0, arg2/f0); + rumbleManager_80250D94(arg0/f0, arg1/f0, arg2/f0); } -void func_80250C08(void) { +void rumbleManager_80250C08(void) { if (D_802823AC != 0) { D_80282424 = MIN(D_80282420, D_80282424 + time_getDelta()); } } -void func_80250C84(void){ +void rumbleManager_init(void){ s32 pfs_status; func_8024F35C(4); @@ -120,15 +120,15 @@ void func_80250C84(void){ D_802823B0 = D_802823AC; if(D_802823AC){ osCreateMesgQueue(&D_80282390, &D_802823A8, 1); - osCreateThread(&D_80282430, 8, func_8025098C, NULL, &D_802825E0[0x200], 0x19); - osStartThread(&D_80282430); + osCreateThread(&rumbleThread, 8, __rumbleUpdate, NULL, &rumbleStack[0x200], 0x19); + osStartThread(&rumbleThread); func_8024BDAC(&D_80282390, 0); } } -void func_80250D8C(void){} +void __rumbleManager_80250D8C(void){} -void func_80250D94(f32 arg0, f32 arg1, f32 arg2){ +void rumbleManager_80250D94(f32 arg0, f32 arg1, f32 arg2){ f32 f4; if(arg2 != 0.0f && D_802823AC){ if(func_802E4A08() == 0){ @@ -142,21 +142,20 @@ void func_80250D94(f32 arg0, f32 arg1, f32 arg2){ } } -void func_80250E6C(f32 arg0, f32 arg1){ - func_80250D94(arg0, arg0, arg1); +void rumbleManager_80250E6C(f32 arg0, f32 arg1){ + rumbleManager_80250D94(arg0, arg0, arg1); } -void func_80250E94(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5){ - +void rumbleManager_80250E94(f32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5){ if(D_802823AC){ - timedFunc_set_3(0.0f, (GenMethod_3) func_80250BA4, 0, (s32) (arg0 * 524288.0f), (s32) (arg2*524288.0f)); - timedFunc_set_3(arg2, (GenMethod_3) func_80250BA4, (s32) (arg0 * 524288.0f), (s32) (arg1 * 524288.0f), (s32) (arg3*524288.0f)); - timedFunc_set_3(arg2 + arg3, (GenMethod_3) func_80250BA4, (s32) (arg1 * 524288.0f), (s32) (arg1 * 524288.0f), (s32) (arg4*524288.0f)); - timedFunc_set_3(arg2 + arg3 + arg4, (GenMethod_3) func_80250BA4, (s32) (arg1 * 524288.0f), 0, (s32) (arg5*524288.0f)); + timedFunc_set_3(0.0f, (GenMethod_3) __rumbleManager_80250BA4, 0, (s32) (arg0 * 524288.0f), (s32) (arg2*524288.0f)); + timedFunc_set_3(arg2, (GenMethod_3) __rumbleManager_80250BA4, (s32) (arg0 * 524288.0f), (s32) (arg1 * 524288.0f), (s32) (arg3*524288.0f)); + timedFunc_set_3(arg2 + arg3, (GenMethod_3) __rumbleManager_80250BA4, (s32) (arg1 * 524288.0f), (s32) (arg1 * 524288.0f), (s32) (arg4*524288.0f)); + timedFunc_set_3(arg2 + arg3 + arg4, (GenMethod_3) __rumbleManager_80250BA4, (s32) (arg1 * 524288.0f), 0, (s32) (arg5*524288.0f)); } } -void func_80250FC0(void){ +void rumbleManager_80250FC0(void){ int i; u32 motor_status; if(D_802823B0){ diff --git a/src/core2/animctrl.c b/src/core2/animctrl.c index 7d827ce9..1987b5bb 100644 --- a/src/core2/animctrl.c +++ b/src/core2/animctrl.c @@ -16,7 +16,7 @@ void animctrl_80286F90(AnimCtrl *this){ anim = animctrl_getAnimPtr(this); duration = anim_getDuration(anim); if( duration < 1.0f ){ - anim_setDuration(anim, min_f(1.0f, time_getDelta()/animctrl_getTransistionDuration(this) + duration)); + anim_setDuration(anim, ml_min_f(1.0f, time_getDelta()/animctrl_getTransistionDuration(this) + duration)); } } } diff --git a/src/core2/code_2890.c b/src/core2/ba/anim.c similarity index 58% rename from src/core2/code_2890.c rename to src/core2/ba/anim.c index 787dd28f..321a6602 100644 --- a/src/core2/code_2890.c +++ b/src/core2/ba/anim.c @@ -12,7 +12,7 @@ f32 D_803635E0[3] = {0.0f, 5.0f, 0.0f}; s32 D_803635EC[7] = {0x4, 0x3, 0x60, 0x18, 0x1B, 0x67, 0x80}; /* .bss */ -AnimCtrl *D_8037BF20; +AnimCtrl *playerAnimCtrl; s32 D_8037BF24; f32 D_8037BF28; f32 D_8037BF2C; @@ -39,13 +39,13 @@ void func_8028982C(void) { sp24 = (D_8037BF30.unk14 != 0) ? D_8037BF30.unk10 : 1.0f; _get_velocity(sp2C); temp_f12 = func_80257BFC(gu_sqrtf(sp2C[0]*sp2C[0] + sp2C[2] * sp2C[2]), D_8037BF30.unk0, D_8037BF30.unk4, D_8037BF30.unk8 * sp24, D_8037BF30.unkC * sp24); - animctrl_setDuration(D_8037BF20, mlClamp_f(temp_f12, D_8037BF28, D_8037BF2C)); - animctrl_update(D_8037BF20); + animctrl_setDuration(playerAnimCtrl, ml_clamp_f(temp_f12, D_8037BF28, D_8037BF2C)); + animctrl_update(playerAnimCtrl); } void func_802898F8(void) { - animctrl_setDuration(D_8037BF20, mlClamp_f(func_80257BFC(mlAbsF(func_80297AAC()), D_8037BF30.unk0, D_8037BF30.unk4, D_8037BF30.unk8, D_8037BF30.unkC), D_8037BF28, D_8037BF2C)); - animctrl_update(D_8037BF20); + animctrl_setDuration(playerAnimCtrl, ml_clamp_f(func_80257BFC(mlAbsF(func_80297AAC()), D_8037BF30.unk0, D_8037BF30.unk4, D_8037BF30.unk8, D_8037BF30.unkC), D_8037BF28, D_8037BF2C)); + animctrl_update(playerAnimCtrl); } @@ -106,10 +106,10 @@ void func_80289A78(s32 arg0, s32 arg1) { } if (map_get() == MAP_A_TTC_SANDCASTLE) { if ((D_8037BF4C & 0x80) && (player_getTransformation() != TRANSFORM_7_WISHWASHY)) { - func_8028FB88(7); + func_8028FB88(TRANSFORM_7_WISHWASHY); } if (!(D_8037BF4C & 0x80) && (player_getTransformation() == TRANSFORM_7_WISHWASHY)) { - func_8028FB88(1); + func_8028FB88(TRANSFORM_1_BANJO); } } if (D_8037BF48 != NULL) { @@ -117,11 +117,11 @@ void func_80289A78(s32 arg0, s32 arg1) { } } -void func_80289D1C(void){ - D_8037BF20 = animctrl_new(1); - func_80287784(D_8037BF20, 0); - animctrl_setSmoothTransition(D_8037BF20, FALSE); - func_8028746C(D_8037BF20, func_80289A78); +void baAnim_init(void){ + playerAnimCtrl = animctrl_new(1); + func_80287784(playerAnimCtrl, 0); + animctrl_setSmoothTransition(playerAnimCtrl, FALSE); + func_8028746C(playerAnimCtrl, func_80289A78); D_8037BF48 = NULL; func_80289F30(); D_8037BF24 = 0; @@ -132,11 +132,11 @@ void func_80289D1C(void){ D_8037BF30.unk10 = 1.0f; } -void func_80289DDC(void){ - animctrl_free(D_8037BF20); +void baAnim_free(void){ + animctrl_free(playerAnimCtrl); } -void func_80289E00(void){ +void baAnim_update(void){ switch(D_8037BF24){ case 2: func_8028982C(); @@ -147,7 +147,7 @@ void func_80289E00(void){ break; case 1: - animctrl_update(D_8037BF20); + animctrl_update(playerAnimCtrl); break; case 0: @@ -155,8 +155,8 @@ void func_80289E00(void){ } } -void func_80289E74(void){ - D_8037BF20 = animctrl_defrag(D_8037BF20); +void baAnim_defrag(void){ + playerAnimCtrl = animctrl_defrag(playerAnimCtrl); } s32 func_80289E9C(void){ @@ -193,98 +193,98 @@ void func_80289F30(void){ f32 sp1C[3]; _player_getPosition(sp1C); - func_8028781C(D_8037BF20, sp1C, 1); + func_8028781C(playerAnimCtrl, sp1C, 1); } AnimCtrl *_player_getAnimCtrlPtr(void){ - return D_8037BF20; + return playerAnimCtrl; } f32 func_80289F70(void){ - return animctrl_getAnimTimer(D_8037BF20); + return animctrl_getAnimTimer(playerAnimCtrl); } bool func_80289F94(enum asset_e anim_id){ - return animctrl_getIndex(D_8037BF20) == anim_id; + return animctrl_getIndex(playerAnimCtrl) == anim_id; } bool baanim_isStopped(void){ - return animctrl_isStopped(D_8037BF20); + return animctrl_isStopped(playerAnimCtrl); } bool baanim_isAt(f32 time){ - return animctrl_isAt(D_8037BF20, time); + return animctrl_isAt(playerAnimCtrl, time); } void func_8028A010(enum asset_e anim_id, f32 duration){ - animctrl_reset(D_8037BF20); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - animctrl_setPlaybackType(D_8037BF20, 2); - func_802875AC(D_8037BF20, "baanim.c", 0x188); + animctrl_reset(playerAnimCtrl); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + animctrl_setPlaybackType(playerAnimCtrl, 2); + func_802875AC(playerAnimCtrl, "baanim.c", 0x188); } void func_8028A084(enum asset_e anim_id, f32 duration){ - animctrl_reset(D_8037BF20); - animctrl_setSmoothTransition(D_8037BF20, FALSE); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - animctrl_setPlaybackType(D_8037BF20, 2); - func_802875AC(D_8037BF20, "baanim.c", 0x193); + animctrl_reset(playerAnimCtrl); + animctrl_setSmoothTransition(playerAnimCtrl, FALSE); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + animctrl_setPlaybackType(playerAnimCtrl, 2); + func_802875AC(playerAnimCtrl, "baanim.c", 0x193); } void func_8028A100(enum asset_e anim_id, f32 duration, f32 arg2){ - animctrl_reset(D_8037BF20); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - func_8028774C(D_8037BF20, arg2); - animctrl_setPlaybackType(D_8037BF20, 2); - func_802875AC(D_8037BF20, "baanim.c", 0x19e); + animctrl_reset(playerAnimCtrl); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + func_8028774C(playerAnimCtrl, arg2); + animctrl_setPlaybackType(playerAnimCtrl, 2); + func_802875AC(playerAnimCtrl, "baanim.c", 0x19e); } void func_8028A180(enum asset_e anim_id, f32 duration){ - animctrl_reset(D_8037BF20); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - animctrl_setPlaybackType(D_8037BF20, 1); - func_802875AC(D_8037BF20, "baanim.c", 0x1a8); + animctrl_reset(playerAnimCtrl); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + animctrl_setPlaybackType(playerAnimCtrl, 1); + func_802875AC(playerAnimCtrl, "baanim.c", 0x1a8); } void func_8028A1F4(enum asset_e anim_id, f32 duration, f32 arg2){ - animctrl_reset(D_8037BF20); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - func_8028774C(D_8037BF20, arg2); - animctrl_setPlaybackType(D_8037BF20, 1); - func_802875AC(D_8037BF20, "baanim.c", 0x1b3); + animctrl_reset(playerAnimCtrl); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + func_8028774C(playerAnimCtrl, arg2); + animctrl_setPlaybackType(playerAnimCtrl, 1); + func_802875AC(playerAnimCtrl, "baanim.c", 0x1b3); } void func_8028A274(enum asset_e anim_id, f32 duration){ - animctrl_reset(D_8037BF20); - animctrl_setSmoothTransition(D_8037BF20, FALSE); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - animctrl_setPlaybackType(D_8037BF20, 1); - func_802875AC(D_8037BF20, "baanim.c", 0x1bd); + animctrl_reset(playerAnimCtrl); + animctrl_setSmoothTransition(playerAnimCtrl, FALSE); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + animctrl_setPlaybackType(playerAnimCtrl, 1); + func_802875AC(playerAnimCtrl, "baanim.c", 0x1bd); } void func_8028A2F0(enum asset_e anim_id, f32 duration, f32 arg2){ - animctrl_reset(D_8037BF20); - animctrl_setSmoothTransition(D_8037BF20, FALSE); - animctrl_setIndex(D_8037BF20, anim_id); - animctrl_setDuration(D_8037BF20, duration); - func_8028774C(D_8037BF20, arg2); - animctrl_setPlaybackType(D_8037BF20, 1); - func_802875AC(D_8037BF20, "baanim.c", 0x1c9); + animctrl_reset(playerAnimCtrl); + animctrl_setSmoothTransition(playerAnimCtrl, FALSE); + animctrl_setIndex(playerAnimCtrl, anim_id); + animctrl_setDuration(playerAnimCtrl, duration); + func_8028774C(playerAnimCtrl, arg2); + animctrl_setPlaybackType(playerAnimCtrl, 1); + func_802875AC(playerAnimCtrl, "baanim.c", 0x1c9); } void func_8028A37C(f32 arg0){ - animctrl_setSubRange(D_8037BF20, 0.0f, arg0); - animctrl_setPlaybackType(D_8037BF20, 1); + animctrl_setSubRange(playerAnimCtrl, 0.0f, arg0); + animctrl_setPlaybackType(playerAnimCtrl, 1); } void func_8028A3B8(f32 arg0, f32 arg1){ - animctrl_setSubRange(D_8037BF20, 0.0f, arg0); - animctrl_setDuration(D_8037BF20, arg1); - animctrl_setPlaybackType(D_8037BF20, 1); + animctrl_setSubRange(playerAnimCtrl, 0.0f, arg0); + animctrl_setDuration(playerAnimCtrl, arg1); + animctrl_setPlaybackType(playerAnimCtrl, 1); } diff --git a/src/core2/code_47C0.c b/src/core2/ba/marker.c similarity index 79% rename from src/core2/code_47C0.c rename to src/core2/ba/marker.c index 9a1d8dac..5528398d 100644 --- a/src/core2/code_47C0.c +++ b/src/core2/ba/marker.c @@ -7,8 +7,8 @@ extern void func_803012F8(void); extern f32 func_8024DDD8(f32[3], f32); -extern f32 ml_vec3f_distance_squared(f32 arg0[3], f32 arg1[3]); -extern void func_8028BA00(s32); +extern f32 ml_distanceSquared_vec3f(f32 arg0[3], f32 arg1[3]); +extern void __baMarker_8028BA00(s32); extern void func_802C418C(void); extern void func_802A6388(f32); extern f32 chwadingboots_802D6E4C(Actor *); @@ -20,11 +20,11 @@ extern void func_8035644C(s32); extern void func_8035646C(s32 arg0); extern void func_80291634(ActorMarker *, ActorMarker *); extern void func_80291610(ActorMarker *, ActorMarker *); -extern void playerModel_80291AAC(void); -extern void func_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags); +extern Actor *baModel_80291AAC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); +extern void baMarker_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags); extern void func_802EE6CC(f32[3], s32, s32[4], s32, f32, f32, s32,s32,s32); extern void func_80320ED8(ActorMarker *, f32, s32); - +extern NodeProp *cubeList_findNodePropByActorId(enum actor_e actor_id, s32 position[3]); typedef struct { @@ -34,7 +34,7 @@ typedef struct } tmp_struct_type; -void func_8028D638(s32 arg0, s32 arg1); +void baMarker_8028D638(s32 arg0, s32 arg1); /* .data */ s32 D_80363630[2] = {0x20, 0x1C}; @@ -59,7 +59,7 @@ s32 D_80363680[4] = {0xff, 0xff, 0xff, 0xc8}; /* .bss */ ActorMarker *playerMarker; s32 D_8037BF74; -s32 carriedObject_actorID; +s32 baMarkerCarriedObjActorId; s32 D_8037BF7C; s32 D_8037BF80[2]; s32 D_8037BF88; @@ -67,7 +67,7 @@ ActorMarker *D_8037BF8C; u8 D_8037BF90; /* .code */ -s32 *func_8028B750(void){ +s32 *__baMarker_8028B750(void){ if(D_8037BF80[0]){ return D_8037BF80; } @@ -101,7 +101,7 @@ s32 *func_8028B750(void){ } } -void func_8028B7F4(void){ +void __baMarker_8028B7F4(void){ yaw_setIdeal(func_8029B41C()); func_802991A8(1); func_8029957C(3); @@ -110,7 +110,7 @@ void func_8028B7F4(void){ func_8029151C(0xC); } -void func_8028B848(void){ +void __baMarker_8028B848(void){ s32 s0 = 0; if(map_get() == MAP_69_GL_MM_LOBBY){ s0 = 0xf57; @@ -121,18 +121,18 @@ void func_8028B848(void){ if(s0){ if(player_getTransformation() == TRANSFORM_1_BANJO){ - func_8028B7F4(); + __baMarker_8028B7F4(); } func_80311480(s0, 0x2A, NULL, NULL, NULL, 0); } } -void func_8028B8DC(void){ +void __baMarker_8028B8DC(void){ func_8028F918(1); D_8037BF88 = 1; } -void func_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){ +void __baMarker_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){ f32 sp1C[3]; sp1C[0] = reinterpret_cast(s16, arg0); @@ -153,38 +153,37 @@ void func_8028B904(s32 arg0, s32 arg1, s32 arg2, s32 arg3){ } -void func_8028B9A8(s32 arg0){ - s16 *tmp_v0; +void __baMarker_8028B9A8(s32 arg0){ + NodeProp *tmp_v0; s32 ideal_yaw[3]; tmp_v0 = cubeList_findNodePropByActorId(0x1F6, 0); func_80304D4C(tmp_v0, &ideal_yaw); func_802CA1CC(arg0); - func_8032811C(0x47, &ideal_yaw, 0); + func_8032811C(ACTOR_47_EMPTY_HONEYCOMB, &ideal_yaw, 0); func_8025A6EC(COMUSIC_2B_DING_B, 28000); } -void func_8028BA00(s32 arg0){ - __spawnQueue_add_1((GenMethod_1)func_8028B9A8, arg0); - if(arg0); +void __baMarker_8028BA00(s32 arg0){ + __spawnQueue_add_1((GenMethod_1)__baMarker_8028B9A8, reinterpret_cast(s32, arg0)); } -void func_8028BA2C(s32 arg0) { - if (func_802FADD4(0x1B) == 0) { +void __baMarker_resolveMusicNoteCollision(Prop *arg0) { + if (!func_802FADD4(ITEM_1B_VILE_VILE_SCORE)) { item_inc(ITEM_C_NOTE); } else { func_803463F4(ITEM_C_NOTE, 1); } if (item_getCount(ITEM_C_NOTE) < 100) { - func_8025A6EC(COMUSIC_9_NOTE_COLLECTED, 0x3E80); + func_8025A6EC(COMUSIC_9_NOTE_COLLECTED, 16000); timedFunc_set_1(0.75f, func_8035644C, 3); } - func_802F379C(arg0 + 4); + func_802F379C(arg0->unk4); } -void func_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){ +void __baMarker_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){ if(jiggyscore_isCollected(jiggy_id)) return; @@ -195,7 +194,7 @@ void func_8028BAB0(enum jiggy_e jiggy_id, s32 arg1, s32 arg2, s32 arg3){ func_8030E6D4(SFX_90_SWITCH_PRESS); } -void func_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ +void __baMarker_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6){ u32 sp24; if(arg0 != 1) return; @@ -222,15 +221,15 @@ void func_8028BB1C(s32 arg0, u32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s } } -int func_8028BC20(ActorMarker *marker){ +int __baMarker_8028BC20(ActorMarker *marker){ return D_8037BF90 == 1 && player_getActiveHitbox(marker) == HITBOX_5_PECK; } -int func_8028BC60(void){ +int __baMarker_8028BC60(void){ return D_8037BF90 == 1 && player_getActiveHitbox(NULL) == HITBOX_5_PECK; } -void func_8028BCA0(Prop *prop){ +void __baMarker_resolveCollision(Prop *other_prop){ s32 plyr_collision_type; s32 obj_collision_type; s32 plyr_hitbox_type; @@ -252,10 +251,10 @@ void func_8028BCA0(Prop *prop){ tmp_struct_type sp64; s32 tmp1; - if(*((u32*)(((u32)prop) + 8)) & 1){ + if(*((u32*)(((u32)other_prop) + 8)) & 1){ plyr_collision_type = 0; obj_collision_type = 0; - marker = prop->actorProp.marker; + marker = other_prop->actorProp.marker; actor = NULL; if(marker->unk3E_0){ actor = marker_getActor(marker); @@ -294,18 +293,18 @@ void func_8028BCA0(Prop *prop){ break; case MARKER_B5_RED_FEATHER_COLLECTABLE: //L8028BEF4 - if(func_8028BC20(marker) != HITBOX_0_NONE) + if(__baMarker_8028BC20(marker) != HITBOX_0_NONE) return; - if(chcollectable_collectRedFeather(prop)){ + if(chcollectable_collectRedFeather(other_prop)){ marker_despawn(marker); } break; case MARKER_1E5_GOLD_FEATHER_COLLECTABLE: //L8028BF24 - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; - if(chcollectable_collectGoldFeather(prop)){ + if(chcollectable_collectGoldFeather(other_prop)){ marker_despawn(marker); } break; @@ -333,12 +332,12 @@ void func_8028BCA0(Prop *prop){ case MARKER_F5_BGS_ELEVATED_WALKWAY_SWITCH: //L8028BFB0 if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER) - func_8028BAB0(JIGGY_20_BGS_ELEVATED_WALKWAY, 1, 3, 7); + __baMarker_8028BAB0(JIGGY_20_BGS_ELEVATED_WALKWAY, 1, 3, 7); break; case MARKER_FD_BGS_MAZE_SWITCH: //L8028BFD4 if(plyr_hitbox_type == HITBOX_1_BEAK_BUSTER) - func_8028BAB0(JIGGY_25_BGS_MAZE, 0xa, 0xc, 8); + __baMarker_8028BAB0(JIGGY_25_BGS_MAZE, 0xa, 0xc, 8); break; case MARKER_EC_GV_SUN_SWITCH: //L8028BFF8 @@ -354,7 +353,7 @@ void func_8028BCA0(Prop *prop){ mapSpecificFlags_set(0xD, 1); func_8030E6D4(SFX_90_SWITCH_PRESS); func_802BAFE4(0x14); - timedFunc_set_1(1.5f, func_8028BA00, 0xB); + timedFunc_set_1(1.5f, __baMarker_8028BA00, 0xB); } } break; @@ -365,7 +364,7 @@ void func_8028BCA0(Prop *prop){ mapSpecificFlags_set(0,1); func_8030E6D4(SFX_90_SWITCH_PRESS); func_802BAFE4(0x7E); - timedFunc_set_1(1.5f, func_8028BA00, 0xf); + timedFunc_set_1(1.5f, __baMarker_8028BA00, 0xf); } } break; @@ -455,62 +454,62 @@ void func_8028BCA0(Prop *prop){ break; case 0x241: //L8028C31C - func_8028BB1C(plyr_hitbox_type, 0xC6, 0x6E, 0x81, 0x2C, 0xA, 0xC7); + __baMarker_8028BB1C(plyr_hitbox_type, 0xC6, 0x6E, 0x81, 0x2C, 0xA, 0xC7); break; case MARKER_23C_GV_SNS_SWITCH: //L8028C350 - func_8028BB1C(plyr_hitbox_type, 0xA3, 0x92, 0x7F, 0x1A, 0xA, 0xA4); + __baMarker_8028BB1C(plyr_hitbox_type, 0xA3, 0x92, 0x7F, 0x1A, 0xA, 0xA4); break; case MARKER_161_GV_WITCH_SWITCH: //L8028C384 - func_8028BB1C(plyr_hitbox_type, 0x4000BE, 0x6E, 0x7D, 0x19, 0x14, 0xA0); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000BE, 0x6E, 0x7D, 0x19, 0x14, 0xA0); break; case MARKER_162_BGS_WITCH_SWITCH: //L8028C3BC - func_8028BB1C(plyr_hitbox_type, 0x4000BD, 0x71, 0x7C, 0x18, 0x14, 0x9F); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000BD, 0x71, 0x7C, 0x18, 0x14, 0x9F); break; case MARKER_166_CC_WITCH_SWITCH: //L8028C3F4 - func_8028BB1C(plyr_hitbox_type, 0x4000BC, 0x6A, 0x7A, 0x17, 0x14, 0x9A); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000BC, 0x6A, 0x7A, 0x17, 0x14, 0x9A); break; case MARKER_22B_FP_WITCH_SWITCH: //L8028C42C - func_8028BB1C(plyr_hitbox_type, 0x4000BB, 0x6F, 0x3A, 0x13, 0x15, 0x47); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000BB, 0x6F, 0x3A, 0x13, 0x15, 0x47); break; case MARKER_22A_CCW_WITCH_SWITCH: //L8028C464 - func_8028BB1C(plyr_hitbox_type, 0x4000BA, 0x79, 0x39, 0x12, 0x15, 0x46); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000BA, 0x79, 0x39, 0x12, 0x15, 0x46); break; case MARKER_103_MM_WITCH_SWITCH: //L8028C49C - func_8028BB1C(plyr_hitbox_type, 0x4000B6, 0x69, 0x26, 1, 4, 0x18); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000B6, 0x69, 0x26, 1, 4, 0x18); break; case MARKER_104_MMM_WITCH_SWITCH: //L8028C4D4 - func_8028BB1C(plyr_hitbox_type, 0x4000B7, 0x6F, 0x27, 2, 0x14, 0x19); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000B7, 0x6F, 0x27, 2, 0x14, 0x19); break; case MARKER_105_TTC_WITCH_SWITCH: //L8028C50C - func_8028BB1C(plyr_hitbox_type, 0x4000B8, 0x6D, 0x28, 3, 0x14, 0x1A); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000B8, 0x6D, 0x28, 3, 0x14, 0x1A); break; case MARKER_106_RBB_WITCH_SWITCH: //L8028C544 - func_8028BB1C(plyr_hitbox_type, 0x4000B9, 0x76, 0x29, 4, 0xe, 0x1C); + __baMarker_8028BB1C(plyr_hitbox_type, 0x4000B9, 0x76, 0x29, 4, 0xe, 0x1C); break; case MARKER_11B_WATER_LEVEL_SWITCH_1: //L8028C57C - func_8028BB1C(plyr_hitbox_type, 0x22, 0x77, 0x2D, 5, 0xA, 0x23); + __baMarker_8028BB1C(plyr_hitbox_type, 0x22, 0x77, 0x2D, 5, 0xA, 0x23); break; case MARKER_11C_WATER_LEVEL_SWITCH_2: //L8028C5B0 - func_8028BB1C(plyr_hitbox_type, 0x24, 0x77, 0x2E, 6, 0xA, 0x25); + __baMarker_8028BB1C(plyr_hitbox_type, 0x24, 0x77, 0x2E, 6, 0xA, 0x25); break; case MARKER_11D_WATER_LEVEL_SWITCH_3: //L8028C5E4 - func_8028BB1C(plyr_hitbox_type, 0x26, 0x76, 0x2F, 0x7, 0xA, 0x27); + __baMarker_8028BB1C(plyr_hitbox_type, 0x26, 0x76, 0x2F, 0x7, 0xA, 0x27); break; case 0x232: //L8028C618 - func_8028BB1C(plyr_hitbox_type, 0x53, 0x6b, 0x3b, 0x14, 0x12, 0x54); + __baMarker_8028BB1C(plyr_hitbox_type, 0x53, 0x6b, 0x3b, 0x14, 0x12, 0x54); break; case MARKER_F3_GV_KAZOOIE_TARGET: //L8028C64C @@ -523,13 +522,13 @@ void func_8028BCA0(Prop *prop){ case MARKER_52_JIGGY: //L8028C66C { - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; player_getPosition(spA0); jiggy_id = chjiggy_getJiggyId(actor); if( jiggy_id != JIGGY_2F_FP_XMAS_TREE - || (func_8028B2E8() && !(3600.0f < ml_vec3f_distance_squared(actor->position, spA0))) + || (func_8028B2E8() && !(3600.0f < ml_distanceSquared_vec3f(actor->position, spA0))) ){ jiggyscore_setCollected(jiggy_id, TRUE); func_803463F4(ITEM_26_JIGGY_TOTAL, 1); @@ -537,14 +536,14 @@ void func_8028BCA0(Prop *prop){ func_802D6924(); } if(jiggyscore_total() < 3){ - func_8028B848(); + __baMarker_8028B848(); } if(func_8025AD7C(COMUSIC_30_5TH_JINJO_COLLECTED)){ - func_8028B8DC(); + __baMarker_8028B8DC(); } - __spawnQueue_add_4((GenMethod_4)func_8028B904, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z), jiggy_id); + __spawnQueue_add_4((GenMethod_4)__baMarker_8028B904, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z), jiggy_id); marker_despawn(marker); } } @@ -553,7 +552,7 @@ void func_8028BCA0(Prop *prop){ case MARKER_53_EMPTY_HONEYCOMB: //L8028C774 { - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; sp98 = func_802CA1C4(marker_getActor(marker)); if(sp98 != HONEYCOMB_12_MMM_FLOORBOARD || player_getTransformation() == TRANSFORM_3_PUMPKIN) @@ -565,7 +564,7 @@ void func_8028BCA0(Prop *prop){ if(!(item_getCount(ITEM_13_EMPTY_HONEYCOMB) < 6)){ gcpausemenu_80314AC8(0); } - func_802F36DC(&prop->actorProp.x); + func_802F36DC(&other_prop->actorProp.x); marker_despawn(marker); } } @@ -574,12 +573,12 @@ void func_8028BCA0(Prop *prop){ case 0x54: //L8028C820 func_8025A6EC(COMUSIC_19_LOW_PITCH_FLUTES, 28000); func_803012F8(); - __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z)); + __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z)); marker_despawn(marker); break; case MARKER_55_HONEYCOMB: //L8028C86C - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; if( map_get() == MAP_8E_GL_FURNACE_FUN @@ -593,7 +592,7 @@ void func_8028BCA0(Prop *prop){ func_8025A6EC(COMUSIC_16_HONEYCOMB_COLLECTED, 28000); timedFunc_set_1(0.75f, func_8035644C, 0xA); item_inc(ITEM_14_HEALTH); - func_802F373C(&prop->actorProp.x); + func_802F373C(&other_prop->actorProp.x); marker_despawn(marker); break; @@ -670,17 +669,17 @@ void func_8028BCA0(Prop *prop){ break; case MARKER_5F_MUSIC_NOTE: //L8028CCC8 - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; - func_8028BA2C(prop); + __baMarker_resolveMusicNoteCollision(other_prop); marker_despawn(marker); break; case MARKER_60_BLUE_EGG_COLLECTABLE: //L8028CCF0 - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; - if(chcollectable_collectEgg(prop)){ + if(chcollectable_collectEgg(other_prop)){ marker_despawn(marker); } break; @@ -692,7 +691,7 @@ void func_8028BCA0(Prop *prop){ break; case MARKER_61_EXTRA_LIFE: //L8028CD50 - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; if( map_get() == MAP_8E_GL_FURNACE_FUN && func_803203FC(0) @@ -703,7 +702,7 @@ void func_8028BCA0(Prop *prop){ } func_8025A6EC(COMUSIC_15_EXTRA_LIFE_COLLECTED, 0x7FFF); timedFunc_set_1(1.5f, func_8035646C, 0xC); - func_802F3B3C(&prop->actorProp.x); + func_802F3B3C(&other_prop->actorProp.x); item_inc(ITEM_16_LIFE); marker_despawn(marker); break; @@ -733,7 +732,7 @@ void func_8028BCA0(Prop *prop){ break; case MARKER_11_WADING_BOOTS: //L8028CE8C - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; if(_player_getTransformation() != TRANSFORM_1_BANJO) return; @@ -747,12 +746,12 @@ void func_8028BCA0(Prop *prop){ miscflag_set(MISC_FLAG_E_TOUCHING_WADING_BOOTS); func_802A6388(chwadingboots_802D6E4C(actor)); bs_checkInterrupt(BS_INTR_1B); - __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z)); + __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z)); chwadingboots_802D6E54(actor); break; case MARKER_38_TURBO_TALON_TRAINERS: //L8028CF38 - if(func_8028BC20(marker)) + if(__baMarker_8028BC20(marker)) return; tmp1 = _player_getTransformation(); @@ -771,7 +770,7 @@ void func_8028BCA0(Prop *prop){ miscflag_set(MISC_FLAG_10_TOUCHING_TURBO_TRAINERS); func_80294AE8(chtrainers_802CA748(actor)); bs_checkInterrupt(BS_INTR_1A); - __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, prop->actorProp.x), reinterpret_cast(u32, prop->actorProp.y), reinterpret_cast(u32, prop->actorProp.z)); + __spawnQueue_add_4((GenMethod_4)func_802C418C, 0x4E, reinterpret_cast(u32, other_prop->actorProp.x), reinterpret_cast(u32, other_prop->actorProp.y), reinterpret_cast(u32, other_prop->actorProp.z)); chtrainers_802CA750(actor); break; @@ -806,9 +805,9 @@ void func_8028BCA0(Prop *prop){ func_8032B258(actor, obj_collision_type); } } - else if(prop->unk8_1)//L8028D0B0 //ModelProp + else if(other_prop->unk8_1)//L8028D0B0 //ModelProp { - tmp2 = prop->modelProp.unk0_31 + 0x2D1; + tmp2 = other_prop->modelProp.unk0_31 + 0x2D1; switch (tmp2) { case 0x2E8: @@ -823,31 +822,31 @@ void func_8028BCA0(Prop *prop){ } } else{//L8028D10C //SpriteProp - tmp3 = prop->spriteProp.unk0_31 + 0x572; + tmp3 = other_prop->spriteProp.unk0_31 + 0x572; switch (tmp3) { case 0x6D6: //L8028D144 - if(!func_8028BC60()){ - prop->spriteProp.unk8_4 = 0; - func_8028BA2C(prop); + if(!__baMarker_8028BC60()){ + other_prop->spriteProp.unk8_4 = 0; + __baMarker_resolveMusicNoteCollision(other_prop); } break; case 0x6D7: //L8028D16C - if(!func_8028BC60()){ - prop->spriteProp.unk8_4 = 0; - chcollectable_collectEgg(prop); + if(!__baMarker_8028BC60()){ + other_prop->spriteProp.unk8_4 = 0; + chcollectable_collectEgg(other_prop); } break; case 0x580: //L8028D194 - if(!func_8028BC60()){ - prop->spriteProp.unk8_4 = 0; - chcollectable_collectRedFeather(prop); + if(!__baMarker_8028BC60()){ + other_prop->spriteProp.unk8_4 = 0; + chcollectable_collectRedFeather(other_prop); } break; case 0x6D1: //L8028D1BC - if(!func_8028BC60()){ - prop->spriteProp.unk8_4 = 0; - chcollectable_collectGoldFeather(prop); + if(!__baMarker_8028BC60()){ + other_prop->spriteProp.unk8_4 = 0; + chcollectable_collectGoldFeather(other_prop); } break; default: @@ -857,31 +856,30 @@ void func_8028BCA0(Prop *prop){ } } -//player_initMarker -void playerMarker_init(void){ +void baMarker_init(void){ f32 sp1C[3]; _player_getPosition(sp1C); - playerMarker = func_8032FBE4(sp1C, playerModel_80291AAC, 1, 0); + playerMarker = func_8032FBE4(sp1C, baModel_80291AAC, 1, 0); playerMarker->unk2C_1 = 1; marker_setCollisionScripts(playerMarker, NULL, func_80291634, func_80291610); - func_803300B8(playerMarker, func_8028D7B8); + func_803300B8(playerMarker, baMarker_8028D7B8); miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD); miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD); miscflag_clear(8); - func_8028D638(0,0); + baMarker_8028D638(0,0); func_8033D2F4(); D_8037BF8C = 0; D_8037BF90 = 0xff; } -void playerMarker_free(void){ +void baMarker_free(void){ marker_free(playerMarker); playerMarker = NULL; } -void func_8028D2E4(void){ +void baMarker_update(void){ f32 sp174[3]; f32 sp168[3]; s32 temp_s0; @@ -889,7 +887,7 @@ void func_8028D2E4(void){ Prop *sp58[65]; s32 *temp_s0_2; s32 temp_s2; - Prop *temp_s1; + Prop *other_prop; if ((D_8037BF88 != 0)){ temp_s0 = func_8024FEEC(func_8025ADD4(COMUSIC_30_5TH_JINJO_COLLECTED) & 0xFF); @@ -900,26 +898,26 @@ void func_8028D2E4(void){ }//L8028D364 miscflag_clear(8); if(playerMarker->collidable){ - temp_s0_2 = func_8028B750(); + temp_s0_2 = __baMarker_8028B750(); miscflag_clear(MISC_FLAG_1_ON_FLIGHT_PAD); miscflag_clear(MISC_FLAG_2_ON_SPRING_PAD); _player_getPosition(sp168); func_8032F64C(sp168, playerMarker); for(D_8037BF8C = NULL, i = 0, temp_s2 = 0; i < 2;i++){//L8028D3DC D_8037BF90 = i; - playerModel_80292284(sp174, i); //get top of player? + baModel_80292284(sp174, i); //get top of player? playerMarker->unk38[0] = sp174[0] - sp168[0]; playerMarker->unk38[1] = sp174[1] - sp168[1]; playerMarker->unk38[2] = sp174[2] - sp168[2]; func_80320ED8(playerMarker, temp_s0_2[i], 1); - while(temp_s1 = func_8032F528()){//L8028D480 - if(!temp_s1->unk8_2){ - if(!D_8037BF8C && temp_s1->markerFlag && temp_s1->unk8_1){ - D_8037BF8C = temp_s1->actorProp.marker; + while(other_prop = func_8032F528()){//L8028D480 + if(!other_prop->unk8_2){ + if(!D_8037BF8C && other_prop->markerFlag && other_prop->unk8_1){ + D_8037BF8C = other_prop->actorProp.marker; } - func_8028BCA0(temp_s1); - temp_s1->unk8_2 = 1; - sp58[temp_s2] = temp_s1; + __baMarker_resolveCollision(other_prop); + other_prop->unk8_2 = 1; + sp58[temp_s2] = other_prop; temp_s2++; }//L8028D4E0 }//L8028D4F0 @@ -932,52 +930,52 @@ void func_8028D2E4(void){ } } -ActorMarker *_player_getMarker(void){ //_player_getMarker +ActorMarker *baMarker_get(void){ //baMarker_get return playerMarker; } -void func_8028D5DC(void){ //player_collisionOff +void baMarker_collisionOff(void){ //player_collisionOff playerMarker->collidable = 0; } -void func_8028D5F4(void){ //player_collisionOn +void baMarker_collisionOn(void){ //player_collisionOn playerMarker->collidable = 1; } -s32 func_8028D60C(void){ //player_isCollidable - return (playerMarker->collidable)? 1 : 0; +bool baMarker_isCollidable(void){ //player_isCollidable + return BOOL(playerMarker->collidable); } -void func_8028D638(s32 arg0, s32 arg1){ +void baMarker_8028D638(s32 arg0, s32 arg1){ D_8037BF80[0] = arg0; D_8037BF80[1] = arg1; } -void func_8028D64C(s32 arg0){ +void baMarker_8028D64C(s32 arg0){ D_8037BF74 = arg0; } -void carriedObject_setActorID(enum actor_e arg0){ - carriedObject_actorID = arg0; +void baMarker_setCarriedObject(enum actor_e actor_id){ + baMarkerCarriedObjActorId = actor_id; } -s32 func_8028D664(void){ +s32 baMarker_8028D664(void){ return D_8037BF74; } -enum actor_e carriedObject_getActorID(void){ - return carriedObject_actorID; +enum actor_e baMarker_getCarriedObjectActorId(void){ + return baMarkerCarriedObjActorId; } -void func_8028D67C(s32 arg0){ +void baMarker_8028D67C(s32 arg0){ D_8037BF7C = arg0; } -s32 func_8028D688(void){ +s32 baMarker_8028D688(void){ return D_8037BF7C; } -s32 func_8028D694(void) { +s32 baMarker_8028D694(void) { s32 temp_a0; s32 phi_v1; @@ -992,12 +990,12 @@ s32 func_8028D694(void) { } -s32 func_8028D6F0(s32 **arg0){ - *arg0 = func_8028B750(); +s32 baMarker_8028D6F0(s32 **arg0){ + *arg0 = __baMarker_8028B750(); return 2; } -void func_8028D71C(void){ +void baMarker_8028D71C(void){ f32 sp3C[3]; f32 sp30[3]; @@ -1005,10 +1003,9 @@ void func_8028D71C(void){ player_getPosition(sp3C); sp3C[1] += (sp30[1] - sp3C[1])*0.75; func_802EE6CC(sp3C, 0, D_80363680, 1, 0.75f, 0.0f, 0x7d, 0xfa, 0); - } -void func_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags){ +void baMarker_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags){ s32 sp24; s32 sp20 = func_8033D594(collision_flags); s32 sp1C = 0; @@ -1050,15 +1047,15 @@ void func_8028D7B8(s32 arg0, ActorMarker *arg1, struct5Cs *collision_flags){ sp24 = MAX(MIN(sp24, 0xb), 7); sp24 -= 7; func_8028F428(sp24 +8, arg1); - func_80250D94(0.8f, sp24 + 0.2, 0.3f); + rumbleManager_80250D94(0.8f, sp24 + 0.2, 0.3f); break; case 2://L8028DA10 sp24 = MAX(MIN(sp24, 5), 1); sp24--; func_8028F55C(sp24 + 3, arg1); - func_80250D94(1.0f, sp24 + 0.3, 0.5f); + rumbleManager_80250D94(1.0f, sp24 + 0.3, 0.5f); if(actor->unk16C_2 || actor->unk16C_1){ - func_8028D71C(); + baMarker_8028D71C(); } break; case 0: diff --git a/src/core2/ba/model.c b/src/core2/ba/model.c new file mode 100644 index 00000000..2bdafa15 --- /dev/null +++ b/src/core2/ba/model.c @@ -0,0 +1,388 @@ +#include +#include "functions.h" +#include "variables.h" + +#include "core2/ba/model.h" + +void func_80254008(void); +extern void func_80256E24(f32[3], f32, f32, f32, f32, f32); +void assetcache_release(void *); //assetcache_free +extern void ml_vec3f_assign(f32[3], f32, f32, f32); +void func_8033A280(f32); + +extern s32 osCicId; + +/* .data */ +struct5Bs *D_80363780 = NULL; + +/* .bss */ +void *baModelBin; //baModelPtr +s16 baModelId; //baModel asset_id +u8 baModelEnvAlpha; +u8 baModelDirection; +u8 baModelIsVisible; +f32 baModelScale; +f32 baModelPitch; +f32 baModelRoll; +f32 baModelYaw; +f32 D_8037C100[3]; +f32 D_8037C110[3]; +f32 baModelDisplacement[3]; +void (*baModelPostDrawMethod)(Gfx **gfx, Mtx **mtx, Vtx **vtx); +f32 D_8037C130[2][4]; +struct { + u8 unk0; + f32 unk4[3]; +} D_8037C150; + +//public +void baModel_set(enum asset_e asset_id); + +//.data +static void _baModel_updateModelYaw(void){ + switch(baModelDirection){ + case PLAYER_MODEL_DIR_KAZOOIE: + baModelYaw = mlNormalizeAngle(yaw_get() + 180.0f); + break; + default: + baModelYaw = yaw_get(); + break; + case PLAYER_MODEL_DIR_GLOBAL: + break; + } +} + +void baModel_80291A50(s32 arg0, f32 dst[3]){ + func_8034A174(D_80363780, arg0, dst); + if(ml_isZero_vec3f(dst)){ + _player_getPosition(dst); + } +} + +Actor *baModel_80291AAC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ + return NULL; +} + +static void _baModel_preDraw(int arg0){ + baMarker_get()->unk14_21 = 1; +} + +void baModel_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx){ + f32 rotation[3]; + s32 env_color[3]; + f32 plyr_pos[3]; //sp44 + f32 sp38[3]; + + if(!baModelIsVisible) + return; + + _baModel_updateModelYaw(); + baModelRoll = roll_get(); + baModelPitch = pitch_get(); + _player_getPosition(plyr_pos); + plyr_pos[1] += 2.0f; + ml_vec3f_assign(rotation, baModelPitch, baModelYaw, baModelRoll); + func_8029A47C(env_color); + ml_vec3f_copy(sp38, D_8037C100); + + plyr_pos[0] += baModelDisplacement[0];\ + plyr_pos[1] += baModelDisplacement[1];\ + plyr_pos[2] += baModelDisplacement[2]; + + sp38[0] += baModelDisplacement[0];\ + sp38[1] += baModelDisplacement[1];\ + sp38[2] += baModelDisplacement[2]; + + if(baModelBin){ + func_80289F30(); + func_8029DD6C(); + modelRender_setEnvColor(env_color[0], env_color[1], env_color[2], baModelEnvAlpha); + func_8033A280(2.0f); + modelRender_preDraw((GenMethod_1)_baModel_preDraw, 0); + func_8033A450(D_80363780); + modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); + if(D_8037C150.unk0){ + D_8037C150.unk0 = 0; + modelRender_draw(gfx, mtx, D_8037C150.unk4, rotation, baModelScale, sp38, baModelBin); + } + else{ + modelRender_draw(gfx, mtx, plyr_pos, rotation, baModelScale, sp38, baModelBin); + } + }//L80291CD4 + + if(baModelPostDrawMethod){ + baModelPostDrawMethod(gfx, mtx, vtx); + } +} + +void baModel_updateModel(void){ + baModel_set(func_802985F0()); +} + +void baModel_reset(void){ + f32 plyr_pos[3]; + int i; + for(i = 0; i < 2 ; i++){ + baModel_80292048(i, 0.0f, 0.0f, 0.0f); + baModel_80292078(i, 0.0f); + } + baModelEnvAlpha = 0xFF; + baModelBin = NULL; + baModelId = 0; + baModelPostDrawMethod = NULL; + D_80363780 = func_8034A2C8(); + func_8034A130(D_80363780); + ml_vec3f_clear(D_8037C100); + ml_vec3f_clear(D_8037C110); + ml_vec3f_clear(baModelDisplacement); + baModelYaw = baModelRoll = baModelPitch = 0.0f; + D_8037C150.unk0 = 0; + baModel_setVisible(TRUE); + baModel_setScale(1.0f); + baModelDirection = 0; + baModel_setDirection(PLAYER_MODEL_DIR_BANJO); + if(!func_8028ADB4()) + baModel_updateModel(); + player_getPosition(plyr_pos); + __spawnQueue_add_4((GenMethod_4)func_802C4140, + ACTOR_17_PLAYER_SHADOW, + reinterpret_cast(s32, plyr_pos[0]), + reinterpret_cast(s32, plyr_pos[1]), + reinterpret_cast(s32, plyr_pos[2]) + ); +} + +void baModel_free(void){ + assetcache_release(baModelBin); + baModelBin = NULL; + baModelId = 0; + func_8034A2A8(D_80363780); + D_80363780 = NULL; +} + +void baModel_update(void){ + f32 sp1C; + f32 temp_f0; + + sp1C = D_8037C110[1] - D_8037C100[1]; + temp_f0 = mlAbsF(sp1C); + if( temp_f0 < 0.01){ + D_8037C100[1] = D_8037C110[1]; + } + else{ + if(5.0f < temp_f0){ + temp_f0 = 1.0f; + } + if(0.0f < sp1C){ + D_8037C100[1] += temp_f0; + } + else{ + D_8037C100[1] -= temp_f0; + } + {//L80291F7C + baMarker_get()->unk14_21 = 0; + } + } +} + +BKModelBin *baModel_getModelBin(void){ + return baModelBin; +} + +enum asset_e baModel_getModelId(void){ + return baModelId; +} + +void baModel_setEnvAlpha(s32 alpha){ + baModelEnvAlpha = alpha; +} + +void baModel_set(enum asset_e asset_id){ + if(asset_id != baModelId){ + if(baModelBin){ + func_80254008(); + assetcache_release(baModelBin); + baModelBin = NULL; + } + baModelId = asset_id; + if(baModelId) + baModelBin = assetcache_get(baModelId); + } +} + +void baModel_80292048(s32 arg0, f32 arg1, f32 arg2, f32 arg3){ + D_8037C130[arg0][2] = arg1; + D_8037C130[arg0][3] = arg2; + D_8037C130[arg0][1] = arg3; +} + +void baModel_80292078(s32 arg0, f32 arg1){ + D_8037C130[arg0][0] = arg1; +} + +void baModel_setDirection(enum player_model_direction_e direction){ + if(direction != baModelDirection){ + if(direction == PLAYER_MODEL_DIR_KAZOOIE || PLAYER_MODEL_DIR_KAZOOIE == baModelDirection){ + //flip model + yaw_setIdeal(mlNormalizeAngle(yaw_get() + 180.0f)); + yaw_applyIdeal(); + } + } + baModelDirection = direction; +} + +void baModel_setScale(f32 scale){ + if(osCicId + -6103){ + scale = scale*0.25; + } + baModelScale = scale; +} + +void baModel_setYaw(f32 angleDegrees){ + baModelYaw = mlNormalizeAngle(angleDegrees); +} + +void baModel_80292158(f32 arg0){ + D_8037C100[1] = arg0; + baModel_8029217C(arg0); +} + +void baModel_8029217C(f32 arg0){ + D_8037C110[1] = arg0; +} + +void baModel_setPostDraw(void (*draw_func)(Gfx **gfx, Mtx **mtx, Vtx **vtx)){ + baModelPostDrawMethod = draw_func; +} + +void baModel_setDisplacement(f32 arg0[3]){ + ml_vec3f_copy(baModelDisplacement, arg0); +} + +void baModel_setYDisplacement(f32 arg0){ + baModelDisplacement[1] = arg0; +} + +void baModel_setVisible(s32 arg0){ + baModelIsVisible = arg0; +} + +void baModel_802921D4(f32 arg0[3]){ + if(func_8028EE84() == BSWATERGROUP_0_NONE){ + D_8037C150.unk0 = 1; + D_8037C150.unk4[0] = arg0[0]; + D_8037C150.unk4[1] = arg0[1]; + D_8037C150.unk4[2] = arg0[2]; + } +} + +f32 baModel_getYaw(void){ + return baModelYaw; +} + +f32 baModel_80292230(void){ + return D_8037C100[1]; +} + +void baModel_8029223C(f32 arg0[3]){ + baModel_80291A50(8, arg0); +} + +void baModel_80292260(f32 arg0[3]){ + baModel_80291A50(7, arg0); +} + +void baModel_80292284(f32 arg0[3], s32 arg1){ + f32 sp44[3]; + f32 sp38[3]; + + if(baMarker_get()->unk14_21 && baModelIsVisible){ + switch(baModel_getModelId()){ + case 0x34D: + case 0x34E: + case ASSET_34F_MODEL_BANJO_TERMITE: //802922E8 + case ASSET_359_MODEL_BANJO_WALRUS: //802922E8 + case ASSET_362_MODEL_BANJO_BEE: + case ASSET_36F_MODEL_BANJO_PUMPKIN: + case ASSET_374_MODEL_BANJO_CROC: + func_8034A174(D_80363780, arg1 + 1, arg0); + if(ml_isZero_vec3f(arg0)){ + _player_getPosition(arg0); + } + + arg0[1] += D_8037C130[arg1][0]; + if(D_8037C130[arg1][1] != 0.0f){ + func_80256E24(sp44, D_8037C130[arg1][2], mlNormalizeAngle(yaw_get() + D_8037C130[arg1][3]), 0.0f, 0.0f, D_8037C130[arg1][1]); + arg0[0] += sp44[0]; + arg0[1] += sp44[1]; + arg0[2] += sp44[2]; + } + func_802976C0(sp38); + arg0[0] = arg0[0] + sp38[0]; + arg0[1] = arg0[1] + sp38[1]; + arg0[2] = arg0[2] + sp38[2]; + break; + default: ////80292400 + _player_getPosition(arg0); + break; + } + } + else{//L80292410 + _player_getPosition(arg0); + if(arg1){ + arg0[1] += 33.0f; + } + else{ + arg0[1] += 75.0f; + } + } +} + +void baModel_getPosition(f32* dst){ + f32 tmp1[3]; + f32 tmp2[3]; + baModel_80291A50(5,tmp1); + baModel_80291A50(6,tmp2); + ml_vec3f_add(dst, tmp1, tmp2); + ml_vec3f_scale(dst, 0.5); +} + +void baModel_802924B8(f32 arg0[3]){ + baModel_80291A50(0xA, arg0); +} + +enum player_model_direction_e baModel_getDirection(void){ + return baModelDirection; +} + +void baModel_802924E8(f32 arg0[3]){ + switch(player_getTransformation()){ + case TRANSFORM_5_CROC: + baModel_80291A50(5, arg0); + break; + case TRANSFORM_4_WALRUS: //L80292520 + baModel_80291A50(0xB, arg0); + break; + default: //L80292530 + baModel_80291A50(0x9, arg0); + break; + } +} + +s32 baModel_isVisible(void){ + return baModelIsVisible; +} + +void baModel_80292554(f32 arg0[3]){ + baModel_80291A50(0x9, arg0); +} + +void baModel_80292578(f32 arg0[3]){ + baModel_80291A50(0xA, arg0); +} + +void baModel_defrag(void){ + if(D_80363780){ + D_80363780 = func_8034A348(D_80363780); + } +} diff --git a/src/core2/bs/ant.c b/src/core2/bs/ant.c index 5f406ab0..d1d2d007 100644 --- a/src/core2/bs/ant.c +++ b/src/core2/bs/ant.c @@ -42,7 +42,7 @@ void func_8029E48C(void){ func_80297970(0.0f); } else{ - func_80297970(func_80257C48(sp1C, D_80364960, D_80364964)); + func_80297970(ml_interpolate_f(sp1C, D_80364960, D_80364964)); } } @@ -304,7 +304,7 @@ static void __bsant_recoil_init(int take_damage){ func_8029C7F4(1,1,2,3); player_setYVelocity(510.0f); gravity_set(-1200.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); D_8037D294 = 0; } @@ -335,7 +335,7 @@ static void __bsant_recoil_update(void){ static void __bsant_recoil_end(void){ func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_8029E4EC(); } @@ -396,7 +396,7 @@ void bsant_die_init(void){ func_802BF2C0(30.0f); func_8029C984(); D_8037D294 = 0; - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_8029E3C0(0, 2.9f); } diff --git a/src/core2/bs/bFlip.c b/src/core2/bs/bFlip.c index fefc8324..4f60c2bc 100644 --- a/src/core2/bs/bFlip.c +++ b/src/core2/bs/bFlip.c @@ -20,7 +20,7 @@ void _bsbflip_802A2D60(void){ if(!func_8029B300()) func_80297970(0.0f); else - func_80297970(func_80257C48(sp1C, D_80364A2C, D_80364A30)); + func_80297970(ml_interpolate_f(sp1C, D_80364A2C, D_80364A30)); } void _bsbflip_802A2DC0(void){ diff --git a/src/core2/bs/bFly.c b/src/core2/bs/bFly.c index 349ba162..7c025828 100644 --- a/src/core2/bs/bFly.c +++ b/src/core2/bs/bFly.c @@ -3,7 +3,7 @@ #include "variables.h" extern void func_8028FDC8(f32); -extern void playerModel_setYDisplacement(f32); +extern void baModel_setYDisplacement(f32); extern f32 func_8029B2D0(void); extern void func_802BFE50(f32, f32, f32); extern void func_80354030(f32[3], f32); @@ -47,7 +47,7 @@ void func_802A3404(void){ } void func_802A3430(void){ - playerModel_setYDisplacement(60.0f); + baModel_setYDisplacement(60.0f); func_802991A8(3); func_80299234(500.0f, 2.0f); roll_setAngularVelocity(500.0f, 2.0f); @@ -63,7 +63,7 @@ void func_802A34C8(void){ gravity_reset(); func_80297B94(); func_8029E070(0); - playerModel_setYDisplacement(0.0f); + baModel_setYDisplacement(0.0f); func_8029CB84(); func_802991A8(1); func_80291548(); @@ -287,7 +287,7 @@ void bsbfly_update(void){ if(should_beak_bust()) sp54 = BS_F_BBUSTER; - D_8037D320 = max_f(D_8037D320 - time_getDelta(), 0.0f); + D_8037D320 = ml_max_f(D_8037D320 - time_getDelta(), 0.0f); if( D_8037D320 == 0.0f && button_pressed(BUTTON_B) && can_beak_bomb() @@ -462,7 +462,7 @@ void func_802A4430(void){ pitch_setIdeal(0.0f); gravity_reset(); func_80297B94(); - playerModel_setYDisplacement(0.0f); + baModel_setYDisplacement(0.0f); func_80299CF4(SFX_31_BANJO_OHHWAAOOO, 1.0f, 0x7fff); func_80299D2C(SFX_61_CARTOONY_FALL, 1.0f, 0x7fff); D_8037D320 = 0.35f; @@ -532,10 +532,10 @@ void func_802A4748(void) { func_8029E070(1); FUNC_8030E624(SFX_1F_HITTING_AN_ENEMY_3, 0.8f, 32750); func_80299CF4(SFX_36_BANJO_DOH, 1.0f, 28000); - func_80250D94(1.0f, 0.5f, 0.5f); + rumbleManager_80250D94(1.0f, 0.5f, 0.5f); item_dec(ITEM_14_HEALTH); func_802A46C8(); - func_8028D5DC(); + baMarker_collisionOff(); D_8037D344 = 0; } @@ -612,7 +612,7 @@ void func_802A4A40(void) { func_80291548(); func_8029CB84(); func_8029E070(0); - func_8028D5F4(); + baMarker_collisionOn(); } void func_802A4A78(s32 arg0) { @@ -633,7 +633,7 @@ void func_802A4A78(s32 arg0) { func_802BB3DC(2, 100.0f, 0.85f); func_8028A274(0xD3, 1.2f); func_80299BFC(1.0f); - func_80250D94(1.0f, 0.5f, 0.5f); + rumbleManager_80250D94(1.0f, 0.5f, 0.5f); _player_getPosition(sp3C); func_80294980(sp30); func_80257F18(sp30, sp3C, &sp28); @@ -653,7 +653,7 @@ void func_802A4A78(s32 arg0) { func_8029E070(1); func_802914CC(4); func_802BFE50(12.0f, 10000.0f, 800.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_802A3430(); } @@ -672,7 +672,7 @@ void func_802A4C34(s32 arg0) { void func_802A4C88(s32 arg0) { func_80297B3C(); - func_8028D5F4(); + baMarker_collisionOn(); func_80297CA8(); func_8029E070(0); func_80291548(); @@ -726,7 +726,7 @@ void func_802A4D90(void) { func_8029C7F4(1, 1, 2, 3); player_setYVelocity(400.0f); gravity_set(-1800.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_802914CC(4); func_802BFE50(12.0f, 10000.0f, 800.0f); } @@ -749,7 +749,7 @@ void func_802A4EC8(void) { void func_802A4F44(void){ gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_802A34C8(); } diff --git a/src/core2/bs/bLongLeg.c b/src/core2/bs/bLongLeg.c index 70fa66cf..07f1e57f 100644 --- a/src/core2/bs/bLongLeg.c +++ b/src/core2/bs/bLongLeg.c @@ -1,7 +1,7 @@ #include #include "functions.h" #include "variables.h" -#include "core2/playerModel.h" +#include "core2/ba/model.h" /* .data */ const f32 D_80364A40 = 80.0f; @@ -38,7 +38,7 @@ void func_802A524C(void){ if(!func_8029B300()) func_80297970(0.0f); else - func_80297970(func_80257C48(sp1C, D_80364A40, D_80364A44)); + func_80297970(ml_interpolate_f(sp1C, D_80364A40, D_80364A44)); } int bslongleg_inSet(s32 move_indx){ @@ -58,7 +58,7 @@ void func_802A531C(void){ } void func_802A5374(void){ - playerModel_80292078(1, -50.0f); + baModel_80292078(1, -50.0f); func_8029B324(0, 0.03f); func_8029B324(1, 1.0f); func_8029E070(1); @@ -73,12 +73,12 @@ void func_802A5404(void){ if(bslongleg_inSet(bs_getNextState())) return; - playerModel_80292078(1,0); + baModel_80292078(1,0); func_8029B0C0(); func_8029E070(0); func_8029E064(0); func_8029E0F4(0); - playerModel_setDirection(PLAYER_MODEL_DIR_BANJO); + baModel_setDirection(PLAYER_MODEL_DIR_BANJO); pitch_setIdeal(0.0f); roll_setIdeal(0.0f); func_802917C4(2); @@ -155,7 +155,7 @@ void bsblongleg_stand_enter(void){ func_8028A010(ASSET_41_ANIM_BSLONGLEG_IDLE, 1.0f); func_8029C7F4(1,1,1,2); func_80297970(0.0f); - playerModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); + baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); func_802A5374(); } @@ -428,7 +428,7 @@ void bsblongleg_slide_update(void){ func_802A531C(); func_80299AAC(); - D_8037D358 = max_f(D_8037D358 - time_getDelta(), 0.0f); + D_8037D358 = ml_max_f(D_8037D358 - time_getDelta(), 0.0f); if(player_isSliding()){ func_80294480(sp30); @@ -463,7 +463,7 @@ void func_802A6394(void){ func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_802A5374(); - playerModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); + baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); func_8029C674(); } diff --git a/src/core2/bs/bPeck.c b/src/core2/bs/bPeck.c index 31acd06e..767fe794 100644 --- a/src/core2/bs/bPeck.c +++ b/src/core2/bs/bPeck.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -void playerModel_80292048(s32, f32, f32, f32); +void baModel_80292048(s32, f32, f32, f32); void func_802875AC(AnimCtrl *, char *, s32); /* .data */ @@ -42,9 +42,9 @@ void bsbpeck_init(void){ func_8029E070(1); gravity_set(D_80364A60); player_setYVelocity(D_80364A64); - playerModel_80292048(1, -38.0f, 0.0f, 105.0f); - playerModel_80292048(0, -38.0f, 0.0f, -7.0f); - func_8028D638(0x23, 0x2A); + baModel_80292048(1, -38.0f, 0.0f, 105.0f); + baModel_80292048(0, -38.0f, 0.0f, -7.0f); + baMarker_8028D638(0x23, 0x2A); D_8037D375 = 0; D_8037D374 = 0; D_8037D376 = 1; @@ -129,9 +129,9 @@ void bsbpeck_update(void){ void bsbpeck_end(void){ D_8037D376 = 0; ability_use(0xa); - playerModel_80292048(1, 0.0f, 0.0f, 0.0f); - playerModel_80292048(0, 0.0f, 0.0f, 0.0f); - func_8028D638(0, 0); + baModel_80292048(1, 0.0f, 0.0f, 0.0f); + baModel_80292048(0, 0.0f, 0.0f, 0.0f); + baMarker_8028D638(0, 0); func_8029E070(0); gravity_reset(); } diff --git a/src/core2/bs/bShock.c b/src/core2/bs/bShock.c index f9b14680..f1d50860 100644 --- a/src/core2/bs/bShock.c +++ b/src/core2/bs/bShock.c @@ -35,7 +35,7 @@ void bsbshock_charge_init(void){ D_8037D382 = func_8030D90C(); sfxsource_setSfxId(D_8037D382, SFX_2C_PULLING_NOISE); func_8030E04C(D_8037D382, 1.4f, 0.4f, -1.2f); - playerModel_80292158(-50.0f); + baModel_80292158(-50.0f); func_80298528(-50.0f); D_8037D380 = 1; D_8037D381 = 0; @@ -103,7 +103,7 @@ void bsbshock_charge_update(void){ if(animctrl_isAt(aCtrl, 0.5551f)){ player_setYVelocity(180.0f); - playerModel_80292158(0.0f); + baModel_80292158(0.0f); func_80298528(50.0f); } @@ -116,8 +116,8 @@ void bsbshock_charge_end(void){ func_8030DA44(D_8037D382); func_8029E064(0); func_8029E070(0); - if(playerModel_80292230() != 0.0f){ - playerModel_80292158(0.0f); + if(baModel_80292230() != 0.0f){ + baModel_80292158(0.0f); func_80298528(50.0f); } } @@ -146,7 +146,7 @@ void bsbshock_init(void){ func_8029E064(1); func_8029E070(1); ability_use(9); - playerModel_80292158(-50.0f); + baModel_80292158(-50.0f); func_80298528(-50.0f); D_8037D381 = 0; } @@ -190,6 +190,6 @@ void bsbshock_end(void){ func_8029E064(0); func_8029E070(0); - playerModel_80292158(0.0f); + baModel_80292158(0.0f); func_80298528(50.0f); } diff --git a/src/core2/bs/bSwim.c b/src/core2/bs/bSwim.c index d40b176c..e32213d8 100644 --- a/src/core2/bs/bSwim.c +++ b/src/core2/bs/bSwim.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -#include "core2/playerModel.h" +#include "core2/ba/model.h" extern f32 func_8029494C(void); extern f32 func_8029B2D0(void); @@ -40,8 +40,8 @@ void func_802A71D8(void) { func_80299234(250.0f, 20.0f); } else { roll_range = 35.0f; - yaw_range = func_80257C48(sp38, 3.1f, 2.4f); - func_80299234(90.0f, func_80257C48(sp38, 3.8f, 2.2f)); + yaw_range = ml_interpolate_f(sp38, 3.1f, 2.4f); + func_80299234(90.0f, ml_interpolate_f(sp38, 3.8f, 2.2f)); } roll_setIdeal(ml_map_f(sp30, -1.0f, 1.0f, -roll_range, roll_range)); yaw_setIdeal(mlNormalizeAngle(yaw_getIdeal() + ml_map_f(sp30, -1.0f, 1.0f, yaw_range, -yaw_range))); @@ -50,7 +50,7 @@ void func_802A71D8(void) { void func_802A7304() { f32 temp_f0; - pitch_setAngVel(func_80257C48(func_802A716C(), 70.0f, 30.0f), 0.9f); + pitch_setAngVel(ml_interpolate_f(func_802A716C(), 70.0f, 30.0f), 0.9f); temp_f0 = func_8029B2DC(); if (temp_f0 < 0.0f) { pitch_setIdeal(ml_map_f(temp_f0, -1.0f, 0.0f, 275.0f, 360.0f)); @@ -77,7 +77,7 @@ void func_802A744C(void) { func_8029B324(1, 1.0f); func_8029E070(1); func_80294378(3); - playerModel_setYDisplacement(60.0f); + baModel_setYDisplacement(60.0f); func_80297B64(2.0f); } @@ -107,7 +107,7 @@ void func_802A75B0(void) { func_8029B0C0(); func_8029E070(0); func_80294378(1); - playerModel_setYDisplacement(0.0f); + baModel_setYDisplacement(0.0f); } } @@ -189,7 +189,7 @@ void func_802A7838(void) { func_802A7304(); if (D_8037D390 > 0.0f) { func_802A77D8(); - D_8037D390 = max_f(D_8037D390 - 10.0f, 0.0f); + D_8037D390 = ml_max_f(D_8037D390 - 10.0f, 0.0f); } if (animctrl_isAt(anim_ctrl, 0.1f)) { func_8030EB88(SFX_0_BLOOP, 1.2f, 1.4f); @@ -295,7 +295,7 @@ void func_802A7BD0(void) { func_8029797C(sp3C); func_802979AC(sp3C, func_80297A64()); func_8029C7F4(1, 1, 2, 3); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_802A744C(); } @@ -323,7 +323,7 @@ void func_802A7CA8(void) { void func_802A7D74(void) { func_80297CA8(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802A75B0(); } @@ -400,7 +400,7 @@ void func_802A7F6C(void) { pitch_setIdeal(275.0f); roll_setIdeal(0.0f); D_8037D396 = 0; - func_8028D5DC(); + baMarker_collisionOff(); func_8029E3C0(0, 0.0f); func_8029E3C0(1, 0.0f); func_802906A4(3); @@ -463,7 +463,7 @@ void func_802A82D4(void) { func_802906A4(1); func_80291548(); func_8024BD08(0); - func_8028D5F4(); + baMarker_collisionOn(); if (bs_getNextState() != BS_5A_LOADZONE) { func_80346CE8(); } @@ -517,7 +517,7 @@ void func_802A846C(void) { func_8029CCC4(); sp28 = func_8029494C(); if (bs_getPrevState() == 0xF) { - sp28 = max_f(sp28, 600.0f); + sp28 = ml_max_f(sp28, 600.0f); } if (sp28 > 80.0f) { animctrl_reset(temp_s0); @@ -553,7 +553,7 @@ void func_802A85EC(void) { particleEmitter_setParticleVelocityRange(sp34, -30.0f, -30.0f, -30.0f, 30.0f, 30.0f, 30.0f); particleEmitter_emitN(sp34, 1); if (D_8037D398 < 0.0f) { - D_8037D398 += max_f(mlAbsF(D_8037D398) * 0.1, 50.0f); + D_8037D398 += ml_max_f(mlAbsF(D_8037D398) * 0.1, 50.0f); player_setYVelocity(D_8037D398); } if (func_8028B2E8()) { diff --git a/src/core2/bs/bTrot.c b/src/core2/bs/bTrot.c index 51f73506..1941f433 100644 --- a/src/core2/bs/bTrot.c +++ b/src/core2/bs/bTrot.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -#include "core2/playerModel.h" +#include "core2/ba/model.h" /* .data */ f32 D_80364A90 = 30.0f; @@ -91,7 +91,7 @@ void func_802A89D4(void){ func_80297970(0.0f); } else{ - func_80297970(func_80257C48(sp24, func_802A8900(), func_802A88B0())); + func_80297970(ml_interpolate_f(sp24, func_802A8900(), func_802A88B0())); } } @@ -105,7 +105,7 @@ void func_802A8A40(void){ roll_setAngularVelocity(1000.0f, 12.0f); miscflag_set(3); func_8029CF48(4,1,0.24f); - playerModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); + baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); } void func_802A8AD8(void){ @@ -134,7 +134,7 @@ void func_802A8BB0(void){ if(bsbtrot_inSet(next_state)) return; - playerModel_setDirection(PLAYER_MODEL_DIR_BANJO); + baModel_setDirection(PLAYER_MODEL_DIR_BANJO); func_8029B0C0(); func_8029E070(0); func_8029E064(0); @@ -523,7 +523,7 @@ void bsbtrot_slide_update(void){ if(func_80291698(3)) func_802A87C0(); func_80299AAC(); - D_8037D3A0 = max_f(D_8037D3A0-time_getDelta(), 0.0f); + D_8037D3A0 = ml_max_f(D_8037D3A0-time_getDelta(), 0.0f); if(player_shouldSlideTrot()){ func_80294480(sp30); func_8025801C(sp30, &sp2C); @@ -680,7 +680,7 @@ void bsbtrot_unk79_init(void){ func_8029C7F4(1,1,3,2); func_80297970(0.0f); func_802A8A40(); - playerModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); + baModel_setDirection(PLAYER_MODEL_DIR_KAZOOIE); func_8029C674(); } @@ -721,7 +721,7 @@ void bsbtrot_ow_init(void){ func_802978DC(6); player_setYVelocity(func_802987C4()); gravity_set(func_802987E4()); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); } @@ -748,7 +748,7 @@ void bsbtrot_ow_update(void){ void bsbtrot_ow_end(void){ func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802A8BB0(); } diff --git a/src/core2/bs/bWhirl.c b/src/core2/bs/bWhirl.c index f7f51bd2..d03b2084 100644 --- a/src/core2/bs/bWhirl.c +++ b/src/core2/bs/bWhirl.c @@ -19,7 +19,7 @@ void func_802AA400(void){ if(!func_8029B300()){ func_80297970(0.0f); }else{ - func_80297970(func_80257C48(sp1C, D_80364AD0, D_80364AD4)); + func_80297970(ml_interpolate_f(sp1C, D_80364AD0, D_80364AD4)); } } diff --git a/src/core2/bs/bbuster.c b/src/core2/bs/bbuster.c index aee43e70..aedc1235 100644 --- a/src/core2/bs/bbuster.c +++ b/src/core2/bs/bbuster.c @@ -119,7 +119,7 @@ void bsbbuster_update(void){ D_8037D2B4++; } if(D_8037D2B6 == 0 && func_8028B254(0x4b)){ - func_80250D94(1.0f, 0.3f, 0.4f); + rumbleManager_80250D94(1.0f, 0.3f, 0.4f); D_8037D2B6++; } D_8037D2B9 = miscflag_isTrue(8); diff --git a/src/core2/bs/beeFly.c b/src/core2/bs/beeFly.c index 7cb2e071..511ea34d 100644 --- a/src/core2/bs/beeFly.c +++ b/src/core2/bs/beeFly.c @@ -8,7 +8,7 @@ f32 func_8029B33C(void); void func_8029797C(f32); void func_80297970(f32); -void playerModel_setYDisplacement(f32); +void baModel_setYDisplacement(f32); void func_80297BF8(f32); void func_802BFE50(f32, f32, f32); void func_80299234(f32, f32); @@ -94,7 +94,7 @@ void func_802A0750(void){ void _bsbeefly_end(void){ if(bsBeeFly_inSet(bs_getNextState())) return; - playerModel_setYDisplacement(0.0f); + baModel_setYDisplacement(0.0f); roll_setIdeal(0.0f); pitch_setIdeal(0.0f); func_80291548(); @@ -107,7 +107,7 @@ void _bsbeefly_end(void){ void func_802A07F8(void){ if(bsBeeFly_inSet(bs_getPrevState())) return; - playerModel_setYDisplacement(65.0f); + baModel_setYDisplacement(65.0f); func_802991A8(3); roll_setAngularVelocity(500.0f, 2.0f); func_802A0724(); diff --git a/src/core2/bs/beeMain.c b/src/core2/bs/beeMain.c index 170ee558..bcedb272 100644 --- a/src/core2/bs/beeMain.c +++ b/src/core2/bs/beeMain.c @@ -15,7 +15,7 @@ f32 func_80289F70(void); void func_8028A3B8(f32, f32); f32 func_8029B2E8(void); f32 func_8029B33C(void); -f32 func_80257C48(f32, f32, f32); +f32 ml_interpolate_f(f32, f32, f32); f32 func_8029B30C(); /* .data */ @@ -54,7 +54,7 @@ void func_802A1020(void){ func_80297970(0.0f); } else{ - func_80297970(func_80257C48(sp1c, D_803649E0, D_803649E4)); + func_80297970(ml_interpolate_f(sp1c, D_803649E0, D_803649E4)); } } @@ -331,7 +331,7 @@ void func_802A18E8(s32 arg0){ func_8029C7F4(1, 1, 2, 3); player_setYVelocity(510.0f); gravity_set(-1200.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); D_8037D2D4 = 0; } @@ -364,7 +364,7 @@ void func_802A1A50(void){ void func_802A1B28(void){ func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802A02C0(); } @@ -422,7 +422,7 @@ void bsbeemain_die_init(void){ player_setYVelocity(420.0f); gravity_set(-1200.0f); pitch_setAngVel(1000.0f, 12.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_802914CC(0xd); func_802BF2C0(30.0f); @@ -458,7 +458,7 @@ void func_802A1DD8(void){ break; case 3: if(0.0f < D_8037D2D0){ - D_8037D2D0 = max_f(0.0f, D_8037D2D0 - 10.0f); + D_8037D2D0 = ml_max_f(0.0f, D_8037D2D0 - 10.0f); } break; }//L802A1EFC @@ -507,7 +507,7 @@ void func_802A2014(void){ } void func_802A2054(void){ - func_8028D5F4(); + baMarker_collisionOn(); func_8025A2FC(-1, 0xFA0); func_8024BD08(1); func_80291548(); @@ -524,7 +524,7 @@ void func_802A2098(void){ func_8025A2FC(0, 0xFA0); func_8025A6EC(COMUSIC_42_NOTEDOOR_OPENING_FANFARE, -1); func_8029151C(0xC); - func_8028D5DC(); + baMarker_collisionOff(); func_8029E3C0(0, 3.0f); } diff --git a/src/core2/bs/carry.c b/src/core2/bs/carry.c index 276b83b9..c91078fd 100644 --- a/src/core2/bs/carry.c +++ b/src/core2/bs/carry.c @@ -14,7 +14,7 @@ void func_802AAE80(void){ if(func_8029B300() == 0) func_80297970(0.0f); else - func_80297970(func_80257C48(sp1C, D_80364AF0, D_80364AF4)); + func_80297970(ml_interpolate_f(sp1C, D_80364AF0, D_80364AF4)); } void func_802AAEE0(void){ @@ -91,14 +91,14 @@ int bscarry_inSet(enum bs_e state){ void bscarry_interrupt(void){ switch(bs_getInterruptType()){ case 7: - func_802948F8(func_8028D688()); + func_802948F8(baMarker_8028D688()); break; case 8: func_8029A86C(2); bs_setState(BS_3C_TALK); break; case 0x12: - func_8028DE6C(carriedObject_getActorID()); + func_8028DE6C(baMarker_getCarriedObjectActorId()); break; case BS_INTR_16_THROW_CARRIED_OBJ: if(func_802916CC(1)){ diff --git a/src/core2/bs/croc.c b/src/core2/bs/croc.c index cde1138c..913c6bfe 100644 --- a/src/core2/bs/croc.c +++ b/src/core2/bs/croc.c @@ -70,7 +70,7 @@ void func_802ABF54(void){ func_80297970(0.0f); } else{ - func_80297970(func_80257C48(sp1C, D_80364B00, func_802ABDC0())); + func_80297970(ml_interpolate_f(sp1C, D_80364B00, func_802ABDC0())); } } @@ -353,7 +353,7 @@ static void __bscroc_recoil_init(s32 damage){ func_8029C7F4(1,1,2,3); player_setYVelocity(510.0f); gravity_set(-1200.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); D_8037D3EC = 0; } @@ -383,7 +383,7 @@ static void __bscroc_recoil_update(void){ void __bscroc_recoil_end(void){ func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802ABFBC(); } @@ -439,7 +439,7 @@ void bscroc_die_init(void){ player_setYVelocity(420.0f); gravity_set(-1200.0f); pitch_setAngVel(1000.0f, 12.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_802914CC(0xd); func_802BF2C0(30.0f); @@ -477,7 +477,7 @@ void bscroc_die_update(void){ break; case 3: if(0.0f < D_8037D3E0) - D_8037D3E0 = max_f(0.0f, D_8037D3E0 - 10.0f); + D_8037D3E0 = ml_max_f(0.0f, D_8037D3E0 - 10.0f); break; }//L802ACECC @@ -612,7 +612,7 @@ void func_802AD318(void){ void bscroc_eat_good_init(void){ func_8028A010(0x122, 0.25f); func_8029C7F4(1,1,1,2); - playerModel_setPostDraw(func_802AD2A8); + baModel_setPostDraw(func_802AD2A8); D_8037D3E8 = assetcache_get(func_80294974()); D_8037D3F0 = 1.0f; D_8037D3F5 = 0; @@ -628,7 +628,7 @@ void bscroc_eat_good_update(void){ AnimCtrl *aCtrl = _player_getAnimCtrlPtr(); func_802ABE70(); - D_8037D3F0 = max_f(0.1f, D_8037D3F0 - 0.05); + D_8037D3F0 = ml_max_f(0.1f, D_8037D3F0 - 0.05); func_80299628(0); func_802ABF54(); if(animctrl_isAt(aCtrl, 0.99f)){ @@ -661,7 +661,7 @@ void bscroc_eat_good_update(void){ void bscroc_eat_good_end(void){ D_8037D3F5 = 0; assetcache_release(D_8037D3E8); - playerModel_setPostDraw(0); + baModel_setPostDraw(0); func_802ABFBC(); } diff --git a/src/core2/bs/die.c b/src/core2/bs/die.c index 5ebf07ce..252c7295 100644 --- a/src/core2/bs/die.c +++ b/src/core2/bs/die.c @@ -56,7 +56,7 @@ void bsdie_init(void){ func_8029C984(); func_8029E3C0(0,2.9f); D_8037D414 = 0; - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); } @@ -73,7 +73,7 @@ void bsdie_update(void){ player_setYVelocity(400.0f); func_80299DB8(); FUNC_8030E624(SFX_39_BANJO_AYE_2, 1.0f, 18000); - func_80250D94(1.0f, 1.0f, 0.4f); + rumbleManager_80250D94(1.0f, 1.0f, 0.4f); _bsdie_802ADE20(); D_8037D414 = 1; } @@ -82,12 +82,12 @@ void bsdie_update(void){ if(_bsdie_802ADE00()){ func_80299E00(); FUNC_8030E624(SFX_38_BANJO_AYE_1, 1.0f, 18000); - func_80250D94(1.0f, 0.5f, 0.4f); + rumbleManager_80250D94(1.0f, 0.5f, 0.4f); D_8037D414 = 2; } break; case 2://L802AE184 - D_8037D410 = max_f(D_8037D410 - 12.0f, 0.0f); + D_8037D410 = ml_max_f(D_8037D410 - 12.0f, 0.0f); if(140.0f < D_8037D410) func_802929F8(); diff --git a/src/core2/bs/droneenter.c b/src/core2/bs/droneenter.c index 8bc32eb0..71563a2c 100644 --- a/src/core2/bs/droneenter.c +++ b/src/core2/bs/droneenter.c @@ -30,8 +30,8 @@ void __bsDroneEnter_setSubstate(enum bsdroneenter_state_e arg0) { func_8025A6CC(COMUSIC_43_ENTER_LEVEL_GLITTER, 32000); func_8025AABC(COMUSIC_43_ENTER_LEVEL_GLITTER); func_8029E3C0(0, 0.4f); - playerModel_setEnvAlpha(0); - playerModel_updateModel(); + baModel_setEnvAlpha(0); + baModel_updateModel(); break; case 3: comusic_8025AB44(COMUSIC_43_ENTER_LEVEL_GLITTER, 0, 2000); @@ -69,27 +69,27 @@ void __bsDroneEnter_emitParticles(void) { } void __bsDroneEnter_initParticleTypes(ParticleEmitter *p_ctrl, enum asset_e sprite_id) { - func_802F0D54(p_ctrl); + particleEmitter_manualFree(p_ctrl); particleEmitter_setSprite(p_ctrl, sprite_id); - func_802EFA5C(p_ctrl, 0.3f, 0.8f); + particleEmitter_setFade(p_ctrl, 0.3f, 0.8f); func_802EFB70(p_ctrl, 0.15f, 0.22f); func_802EFB84(p_ctrl, 0.03f, 0.05f); - func_802EFE24(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); - func_802EFEC0(p_ctrl, 0.55f, 0.55f); + particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); + particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f); } void __bsDroneEnter_removeParticleTypes(void) { - partEmitList_remove(bsDroneEnter.yellow_sparkle_emitter); - partEmitList_remove(bsDroneEnter.white_sparkle_emitter); + partEmitMgr_freeEmitter(bsDroneEnter.yellow_sparkle_emitter); + partEmitMgr_freeEmitter(bsDroneEnter.white_sparkle_emitter); } void __bsDroneEnter_init(void) { bsDroneEnter.unk10 = 0.0f; bsDroneEnter.unk8 = 0.0f; bsDroneEnter.unkC = 1.0f; - bsDroneEnter.white_sparkle_emitter = partEmitList_pushNew(60); + bsDroneEnter.white_sparkle_emitter = partEmitMgr_newEmitter(60); __bsDroneEnter_initParticleTypes(bsDroneEnter.white_sparkle_emitter, ASSET_716_SPRITE_SPARKLE_WHITE); - bsDroneEnter.yellow_sparkle_emitter = partEmitList_pushNew(60); + bsDroneEnter.yellow_sparkle_emitter = partEmitMgr_newEmitter(60); __bsDroneEnter_initParticleTypes(bsDroneEnter.yellow_sparkle_emitter, ASSET_713_SPRITE_SPARKLE_YELLOW); } @@ -131,7 +131,7 @@ void bsDroneEnter_update(void) { case BSDRONEENTER_SUBSTATE_2: func_802AE914(); sp20 = func_8029E1A8(0); - playerModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 255.0f, 0.0f)); + baModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 255.0f, 0.0f)); if (sp20) { __bsDroneEnter_setSubstate(BSDRONEENTER_SUBSTATE_3); } @@ -148,5 +148,5 @@ void bsDroneEnter_update(void) { void bsDroneEnter_end(void){ __bsDroneEnter_removeParticleTypes(); func_80294378(1); - playerModel_updateModel(); + baModel_updateModel(); } diff --git a/src/core2/bs/dronelook.c b/src/core2/bs/dronelook.c index 21514557..6cdc80b7 100644 --- a/src/core2/bs/dronelook.c +++ b/src/core2/bs/dronelook.c @@ -46,7 +46,7 @@ void bsDroneLook_update(void) { eye_rotation[0] -= func_8029B2DC() * 90.0f * dt; eye_rotation[1] -= func_8029B2D0() * 90.0f * dt; eye_rotation[2] = 0.0f; - eye_rotation[0] = (eye_rotation[0] > 180.0f) ? max_f(305.0f, eye_rotation[0]) : min_f(70.0f, eye_rotation[0]); + eye_rotation[0] = (eye_rotation[0] > 180.0f) ? ml_max_f(305.0f, eye_rotation[0]) : ml_min_f(70.0f, eye_rotation[0]); func_802C2A8C(eye_rotation); yaw_setIdeal(eye_rotation[1] + 180.0f); exit_first_person = FALSE; diff --git a/src/core2/bs/dronevanish.c b/src/core2/bs/dronevanish.c index eea64869..d3b143ad 100644 --- a/src/core2/bs/dronevanish.c +++ b/src/core2/bs/dronevanish.c @@ -25,7 +25,7 @@ void __bsDroneVanish_setSubstate(s32 next_state) { break; case 3: gcpausemenu_returnToLair(); - playerModel_setVisible(FALSE); + baModel_setVisible(FALSE); comusic_8025AB44(COMUSIC_43_ENTER_LEVEL_GLITTER, 0, 2000); func_8029E3C0(0, 2.0f); break; @@ -53,28 +53,28 @@ void __bsDroneVanish_emitParticles(void) { } void __bsDroneVanish_particleEmitInit(ParticleEmitter *p_ctrl, enum asset_e sprite_id) { - func_802F0D54(); + particleEmitter_manualFree(); particleEmitter_setSprite(p_ctrl, sprite_id); - func_802EFA5C(p_ctrl, 0.3f, 0.8f); + particleEmitter_setFade(p_ctrl, 0.3f, 0.8f); particleEmitter_setParticleSpawnPositionRange(p_ctrl, -45.0f, 0.0f, -45.0f, 45.0f, 0.0f, 45.0f); func_802EFB70(p_ctrl, 0.15f, 0.22f); func_802EFB84(p_ctrl, 0.03f, 0.05f); - func_802EFE24(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); - func_802EFEC0(p_ctrl, 0.55f, 0.55f); + particleEmitter_setAngularVelocityRange(p_ctrl, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); + particleEmitter_setParticleLifeTimeRange(p_ctrl, 0.55f, 0.55f); } void __bsDroneVanish_end(void) { - partEmitList_remove(D_8037D450.unk4); - partEmitList_remove(D_8037D450.unk0); + partEmitMgr_freeEmitter(D_8037D450.unk4); + partEmitMgr_freeEmitter(D_8037D450.unk0); } void __bsDroneVanish_init(void) { D_8037D450.unk10 = 0.0f; D_8037D450.unk8 = 0.0f; D_8037D450.unkC = 1.0f; - D_8037D450.unk0 = partEmitList_pushNew(60); + D_8037D450.unk0 = partEmitMgr_newEmitter(60); __bsDroneVanish_particleEmitInit(D_8037D450.unk0, ASSET_716_SPRITE_SPARKLE_WHITE); - D_8037D450.unk4 = partEmitList_pushNew(60); + D_8037D450.unk4 = partEmitMgr_newEmitter(60); __bsDroneVanish_particleEmitInit(D_8037D450.unk4, ASSET_713_SPRITE_SPARKLE_YELLOW); } @@ -115,7 +115,7 @@ void bsDroneVanish_update(void) { case 2: __bsDroneVanish_update(); sp20 = func_8029E1A8(0); - playerModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 0.0f, 255.0f)); + baModel_setEnvAlpha((s32) ml_map_f(func_8029E270(0), 0.0f, 0.4f, 0.0f, 255.0f)); if (sp20) { __bsDroneVanish_setSubstate(3); } @@ -132,5 +132,5 @@ void bsDroneVanish_update(void) { void bsDroneVanish_end(void){ __bsDroneVanish_end(); func_80294378(1); - playerModel_updateModel(); + baModel_updateModel(); } diff --git a/src/core2/bs/dronexform.c b/src/core2/bs/dronexform.c index c48b53d2..bea51c93 100644 --- a/src/core2/bs/dronexform.c +++ b/src/core2/bs/dronexform.c @@ -7,7 +7,7 @@ extern void yaw_applyIdeal(void); extern void func_802978DC(int); extern f32 func_80257A44(f32, f32); extern f32 cosf(f32); -extern f32 func_802588B0(f32, f32); +extern f32 ml_remainder_f(f32, f32); extern f32 func_80257AD4(f32, f32); /* .bss */ @@ -25,20 +25,20 @@ struct { f32 unk24; f32 unk28; f32 unk2C; - u8 unk30; - u8 unk31; //enum bs_e - u8 unk32; + u8 room_transformation; + u8 player_transformation; //enum bs_e + u8 state; } D_8037D470; /* .code */ void func_802AF7A0(ParticleEmitter *arg0, enum asset_e arg1){ - func_802F0D54(arg0); + particleEmitter_manualFree(arg0); particleEmitter_setSprite(arg0, arg1); particleEmitter_setParticleAccelerationRange(arg0, 0.0f, -50.0f, 0.0f, 0.0f, -50.0f, 0.0f); - func_802EFA5C(arg0, 0.4f, 0.8f); + particleEmitter_setFade(arg0, 0.4f, 0.8f); func_802EFB84(arg0, 0.03f, 0.03f); - func_802EFE24(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); - func_802EFEC0(arg0, 0.65f, 0.65f); + particleEmitter_setAngularVelocityRange(arg0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); + particleEmitter_setParticleLifeTimeRange(arg0, 0.65f, 0.65f); func_802EFF50(arg0, 1.0f); } @@ -65,16 +65,16 @@ void func_802AF900(void){ sp40 = sinf(sp4C); sp44 = cosf(sp4C); sp30[0] += sp40 * D_8037D470.unk18; - sp30[1] += func_80257C48(func_80257A44(sp3C, 1.14f), 0.0f, 130.0f); + sp30[1] += ml_interpolate_f(func_80257A44(sp3C, 1.14f), 0.0f, 130.0f); sp30[2] += sp44 * D_8037D470.unk18; func_802AF88C(D_8037D470.unk4, sp40, sp44); particleEmitter_setPosition(D_8037D470.unk4, sp30); particleEmitter_emitN(D_8037D470.unk4, 1); player_getPosition(sp30); - sp4C = (1.0 - func_802588B0(sp48 + 0.5, 1.0f))* 6.283185308; + sp4C = (1.0 - ml_remainder_f(sp48 + 0.5, 1.0f))* 6.283185308; sp30[0] -= sinf(sp4C) * D_8037D470.unk18; - sp30[1] += func_80257C48(func_80257A44(sp3C, 1.14f), 130.0f, 0.0f); + sp30[1] += ml_interpolate_f(func_80257A44(sp3C, 1.14f), 130.0f, 0.0f); sp30[2] -= cosf(sp4C) * D_8037D470.unk18; func_802AF88C(D_8037D470.unk0, sp40, sp44); particleEmitter_setPosition(D_8037D470.unk0, sp30); @@ -82,15 +82,15 @@ void func_802AF900(void){ } void func_802AFADC(void){ - partEmitList_remove(D_8037D470.unk4); - partEmitList_remove(D_8037D470.unk0); + partEmitMgr_freeEmitter(D_8037D470.unk4); + partEmitMgr_freeEmitter(D_8037D470.unk0); } void func_802AFB0C(void){ - D_8037D470.unk0 = partEmitList_pushNew(0x32); + D_8037D470.unk0 = partEmitMgr_newEmitter(0x32); func_802AF7A0(D_8037D470.unk0, ASSET_476_SPRITE_BLUE_GLOW); //blue glow - D_8037D470.unk4 = partEmitList_pushNew(0x32); + D_8037D470.unk4 = partEmitMgr_newEmitter(0x32); func_802AF7A0(D_8037D470.unk4, ASSET_477_SPRITE_YELLOW_GLOW); //orange glow D_8037D470.unkC = 1.0f; @@ -142,34 +142,34 @@ void func_802AFBB8(f32 arg0[3]){ {{-200.0f, 10.0f, -200.0f}, { 200.0f, 20.0f, 200.0f}}, {{ 0.0f, -850.0f, 0.0f}, { 0.0f, -850.0f, 0.0f}} }; - ParticleEmitter* s0 = partEmitList_pushNew(1); + ParticleEmitter* s0 = partEmitMgr_newEmitter(1); particleEmitter_setSprite(s0, ASSET_6C4_SPRITE_SMOKE_YELLOW); //yellow blast - func_802EFA5C(s0, 0.7f, 0.8f); + particleEmitter_setFade(s0, 0.7f, 0.8f); particleEmitter_setParticleFramerateRange(s0, 12.0f, 12.0f); particleEmitter_setPosition(s0, arg0); func_802EFB70(s0, 3.2f, 3.2f); func_802EFB84(s0, 3.2f, 3.2f); - func_802EFEC0(s0, 0.8f, 0.8f); + particleEmitter_setParticleLifeTimeRange(s0, 0.8f, 0.8f); particleEmitter_emitN(s0, 1); - s0 = partEmitList_pushNew(1); + s0 = partEmitMgr_newEmitter(1); particleEmitter_setSprite(s0, ASSET_6C2_SPRITE_SMOKE_WHITE); //smoke - func_802EFA5C(s0, 0.1f, 0.8f); + particleEmitter_setFade(s0, 0.1f, 0.8f); particleEmitter_setParticleFramerateRange(s0, 15.0f, 15.0f); particleEmitter_setPosition(s0, arg0); func_802EFB70(s0, 3.0f, 3.0f); func_802EFB84(s0, 3.0f, 3.0f); - func_802EFEC0(s0, 0.65f, 0.65f); + particleEmitter_setParticleLifeTimeRange(s0, 0.65f, 0.65f); particleEmitter_emitN(s0, 1); - s0 = partEmitList_pushNew(0x11); + s0 = partEmitMgr_newEmitter(0x11); particleEmitter_setSprite(s0, ASSET_713_SPRITE_SPARKLE_YELLOW); //sparkle particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364BB0); - func_802EFA5C(s0, 0.0f, 0.6f); + particleEmitter_setFade(s0, 0.0f, 0.6f); func_802EFB70(s0, 0.28f, 0.32f); func_802EFB84(s0, 0.03f, 0.03f); - func_802EFE24(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); - func_802EFEC0(s0, 2.0f, 2.0f); + particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); + particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f); func_802EFF50(s0, 1.0f); particleEmitter_setPosition(s0, arg0); particleEmitter_emitN(s0, 8); @@ -182,14 +182,14 @@ void func_802AFBB8(f32 arg0[3]){ func_802EFA18(s0, 3); particleEmitter_emitN(s0, 4); - s0 = partEmitList_pushNew(0x11); + s0 = partEmitMgr_newEmitter(0x11); particleEmitter_setSprite(s0, ASSET_716_SPRITE_SPARKLE_WHITE); //sparkle particleEmitter_setVelocityAndAccelerationRanges(s0, &D_80364C40); - func_802EFA5C(s0, 0.0f, 0.6f); + particleEmitter_setFade(s0, 0.0f, 0.6f); func_802EFB70(s0, 0.28f, 0.32f); func_802EFB84(s0, 0.03f, 0.03f); - func_802EFE24(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); - func_802EFEC0(s0, 2.0f, 2.0f); + particleEmitter_setAngularVelocityRange(s0, 0.0f, 0.0f, 300.0f, 0.0f, 0.0f, 300.0f); + particleEmitter_setParticleLifeTimeRange(s0, 2.0f, 2.0f); func_802EFF50(s0, 1.0f); particleEmitter_setPosition(s0, arg0); particleEmitter_emitN(s0, 8); @@ -246,13 +246,13 @@ void func_802B01C8(void){ D_8037D470.unk20 += time_getDelta(); } -static void __bsdronexform_setState(int arg0){ +static void __bsdronexform_setState(int next_state){ enum asset_e sp34; f32 sp30; f32 sp24[3]; - D_8037D470.unk32 = arg0; - switch(arg0){ + D_8037D470.state = next_state; + switch(next_state){ case 1:// 802B0230 D_8037D470.unk1C = 1; D_8037D470.unk2C = player_getYPosition(); @@ -289,12 +289,12 @@ static void __bsdronexform_setState(int arg0){ case 6: // 802B033C func_802BB3DC(2, 80.0f, 0.85f); func_8030E6D4(SFX_147_GRUNTY_SPELL_ATTACK_2); - if(D_8037D470.unk30 == 7 || D_8037D470.unk31 == 7){ + if(D_8037D470.room_transformation == TRANSFORM_7_WISHWASHY || D_8037D470.player_transformation == TRANSFORM_7_WISHWASHY){ yaw_setIdeal(yaw_get() + 180.0f); yaw_applyIdeal(); } - func_8029A95C(func_80294A4C()); //set player transformation - playerModel_updateModel(); //update player model + player_setTransformation(func_80294A4C()); //set player transformation + baModel_updateModel(); //update player model func_8029BD44(&sp34, &sp30); func_8028A010(sp34, sp30); func_8029E3C0(0, 0.1f); @@ -305,7 +305,7 @@ static void __bsdronexform_setState(int arg0){ break; case 8: // 802B03FC - if(D_8037D470.unk30 == 1 && D_8037D470.unk31 == 1){ + if(D_8037D470.room_transformation == TRANSFORM_1_BANJO && D_8037D470.player_transformation == TRANSFORM_1_BANJO){ func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000); } func_8029E3C0(0, 1.0f); @@ -332,10 +332,10 @@ void bsdronexform_init(void){ func_80294378(6); func_802AFB0C(); func_802B016C(); - D_8037D470.unk31 = _player_getTransformation(); - D_8037D470.unk30 = func_80294A4C(); + D_8037D470.player_transformation = _player_getTransformation(); + D_8037D470.room_transformation = func_80294A4C(); miscflag_set(MISC_FLAG_1B_TRANSFORMING); - D_8037D470.unk32 = 0; + D_8037D470.state = 0; __bsdronexform_setState(1); } @@ -349,7 +349,7 @@ void bsdronexform_update(void){ func_802AFFAC(); func_802B01C8(); - switch(D_8037D470.unk32){ + switch(D_8037D470.state){ case 1: sp24 = func_8029E1A8(0); player_setYPosition(func_802B051C(0, 2.8f, 0.0f, 90.0f) + D_8037D470.unk2C); diff --git a/src/core2/bs/jig.c b/src/core2/bs/jig.c index 5902a7c2..022ec6ab 100644 --- a/src/core2/bs/jig.c +++ b/src/core2/bs/jig.c @@ -42,7 +42,7 @@ void bsjig_jiggy_init(void){ func_8030E6D4(SFX_33_BANJO_AHOO); miscflag_clear(7); miscflag_clear(0xf); - func_8028D5DC(); + baMarker_collisionOff(); func_802C82C0(marker_getActor(bsjig_gJiggyMarker), 1); D_8037D4B0 = 0; } @@ -106,7 +106,7 @@ void bsjig_jiggy_end(void){ func_8025A2FC(-1, 0xfa0); func_8024BD08(1); } - func_8028D5F4(); + baMarker_collisionOn(); if( jiggyscore_total() == 100 && func_8031FF1C(BKPROG_FC_DEFEAT_GRUNTY) && bs_getNextState() != BS_34_JIG_NOTEDOOR @@ -144,7 +144,7 @@ void bsjig_jiggy_interrupt(void){ } void bsjig_notedoor_end(void){ - func_8028D5F4(); + baMarker_collisionOn(); func_8025A2FC(-1, 0xfa0); func_8024BD08(1); func_8029E070(0); @@ -179,7 +179,7 @@ void bsjig_notedoor_init(void){ func_8029151C(0xc); func_8029E070(1); func_8030E6D4(SFX_33_BANJO_AHOO); - func_8028D5DC(); + baMarker_collisionOff(); } void bsjig_notedoor_update(void){ diff --git a/src/core2/bs/jump.c b/src/core2/bs/jump.c index 7b934424..f662f312 100644 --- a/src/core2/bs/jump.c +++ b/src/core2/bs/jump.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -#include "core2/playerModel.h" +#include "core2/ba/model.h" f32 func_80294438(void); void func_8029797C(f32); @@ -348,7 +348,7 @@ void func_802B1BF4(void) { func_80297970(0.0f); func_80297A0C(0); D_8037D4C0 = 0; - func_8028D5DC(); + baMarker_collisionOff(); } void func_802B1CF8(void) { @@ -378,7 +378,7 @@ void func_802B1CF8(void) { } void func_802B1DA4(void){ - func_8028D5F4(); + baMarker_collisionOn(); } bool bsjump_jumpingFromWater(void){ @@ -388,7 +388,7 @@ bool bsjump_jumpingFromWater(void){ void bsjump_tumble_init(void){ func_8028A084(0x68, 0.35f); func_8029C7F4(1,1,3,6); - playerModel_setYDisplacement(60.0f); + baModel_setYDisplacement(60.0f); if(func_80293234() == 1){ func_8029E3C0(0, 0.5f); func_8029E3C0(1, 0.41f); @@ -439,6 +439,6 @@ void bsjump_tumble_end(void){ func_80293240(3); } func_8029CB84(); - playerModel_setYDisplacement(0.0f); + baModel_setYDisplacement(0.0f); func_80299E6C(); } diff --git a/src/core2/bs/ow.c b/src/core2/bs/ow.c index ff2bf1ac..23143403 100644 --- a/src/core2/bs/ow.c +++ b/src/core2/bs/ow.c @@ -22,7 +22,7 @@ void bsow_init(void){ func_802875AC(plyr_mvmnt, "bsow.c", 0x50); func_80299BFC(1.0f); func_802B360C(); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); D_8037D4D0 = 0; func_802B1FD0(1); @@ -66,6 +66,6 @@ void bsow_end(void){ func_802B1FD0(0); func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); } diff --git a/src/core2/bs/pumpkin.c b/src/core2/bs/pumpkin.c index 0851b426..5f082bec 100644 --- a/src/core2/bs/pumpkin.c +++ b/src/core2/bs/pumpkin.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -#include "core2/playerModel.h" +#include "core2/ba/model.h" extern void func_8028A084(s32, f32); extern void func_8029AD68(f32, s32); @@ -45,7 +45,7 @@ void func_802B223C(void) { func_80297970(0.0f); return; } - func_80297970(func_80257C48(sp1C, D_80364CF0, D_80364CF4)); + func_80297970(ml_interpolate_f(sp1C, D_80364CF0, D_80364CF4)); } void func_802B229C(void) { @@ -322,7 +322,7 @@ void func_802B2C58(void) { sp3C = ml_map_f(sp34, 0.0f, 2.3f, 0.0f, 45.0f); yaw_setIdeal(mlNormalizeAngle(sp38 + sp3C)); yaw_applyIdeal(); - playerModel_setScale(ml_map_f(sp34, 0.0f, 2.3f, 1.0f, 0.3f)); + baModel_setScale(ml_map_f(sp34, 0.0f, 2.3f, 1.0f, 0.3f)); ml_vec3f_copy(sp28, D_8037D4E8); sp28[1] = ml_map_f(sp34, 0.0f, 2.3f, D_8037D4E8[1], D_8037D4E8[1] - 50.0); func_8028FAB0(sp28); @@ -330,7 +330,7 @@ void func_802B2C58(void) { void func_802B2D50(void) { func_80294378(1); - playerModel_setScale(1.0f); + baModel_setScale(1.0f); } void func_802B2D80(s32 arg0) { @@ -362,7 +362,7 @@ void func_802B2D80(s32 arg0) { func_8029C7F4(1, 1, 2, 3); player_setYVelocity(510.0f); gravity_set(-1200.0f); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); D_8037D4E0 = 0; } @@ -394,7 +394,7 @@ void func_802B2EE8(void) { void func_802B2F9C(void) { func_80297CA8(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802B229C(); } @@ -455,7 +455,7 @@ void func_802B309C(void) { func_802914CC(0xD); func_802BF2C0(30.0f); func_8029C984(); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_8029E3C0(1, 2.9f); D_8037D4E0 = 0; @@ -491,7 +491,7 @@ void func_802B3240(void){ break; case 3://L802B3338 - D_8037D4F4 = max_f(0.0f, D_8037D4F4 - 10.0f); + D_8037D4F4 = ml_max_f(0.0f, D_8037D4F4 - 10.0f); if (func_8028B254(90)) { func_8028A37C(0.36f); D_8037D4E0 = 4; @@ -499,7 +499,7 @@ void func_802B3240(void){ break; case 4://L802B3384 - D_8037D4F4 = max_f(0.0f, D_8037D4F4 - 10.0f); + D_8037D4F4 = ml_max_f(0.0f, D_8037D4F4 - 10.0f); if (func_8028B2E8()) { func_8029AE48(); FUNC_8030E624(SFX_1F_HITTING_AN_ENEMY_3, 0.8f, 18000); @@ -510,7 +510,7 @@ void func_802B3240(void){ break; case 5://L802B33F4 - D_8037D4F4 = max_f(0.0f, D_8037D4F4 - 10.0f); + D_8037D4F4 = ml_max_f(0.0f, D_8037D4F4 - 10.0f); break; } diff --git a/src/core2/bs/rebound.c b/src/core2/bs/rebound.c index e1a871ea..0d1f2e34 100644 --- a/src/core2/bs/rebound.c +++ b/src/core2/bs/rebound.c @@ -103,7 +103,7 @@ void func_802B3868(void) { _func_802875AC(anim_ctrl, "bsrebound.c", 0xC6); func_8030E58C(SFX_56_BANJO_HUI, 1.0f); func_8029E3C0(0, 1.5f); - func_8028D5DC(); + baMarker_collisionOff(); } @@ -114,7 +114,7 @@ void func_802B3954(void) { next_state = 0; anim_ctrl = _player_getAnimCtrlPtr(); if (func_8029E1A8(0) && map_get() == MAP_93_GL_DINGPOT) { - func_8028D5F4(); + baMarker_collisionOn(); } func_802B37DC(); if (func_8028B2E8()) { @@ -133,5 +133,5 @@ void func_802B3954(void) { void func_802B3A20(void) { func_802B35DC(); gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); } diff --git a/src/core2/bs/slide.c b/src/core2/bs/slide.c index 3435365b..ebd1a0b2 100644 --- a/src/core2/bs/slide.c +++ b/src/core2/bs/slide.c @@ -84,7 +84,7 @@ void bsslide_update(void){ f32 sp28; func_80299AAC(); - D_8037D528 = max_f(D_8037D528 - time_getDelta(), 0.0f); + D_8037D528 = ml_max_f(D_8037D528 - time_getDelta(), 0.0f); if(player_isSliding()){ func_80294480(sp30); if(func_80258108(sp30, &sp2C, &sp28)){ diff --git a/src/core2/bs/splat.c b/src/core2/bs/splat.c index de84c7cd..a6779773 100644 --- a/src/core2/bs/splat.c +++ b/src/core2/bs/splat.c @@ -4,7 +4,7 @@ #include "bsint.h" void func_80292900(f32, f32); -void func_80250D94(f32, f32, f32); +void rumbleManager_80250D94(f32, f32, f32); /* .bss */ u8 D_8037D530; @@ -27,10 +27,10 @@ void bssplat_init(void){ if(func_8029CEB0() == 4){ FUNC_8030E624(SFX_116_DEAF_RUSTLING, 0.7f, 32000); FUNC_8030E624(SFX_116_DEAF_RUSTLING, 0.8f, 32000); - func_80250D94(0.75f, 0.25f, 0.3f); + rumbleManager_80250D94(0.75f, 0.25f, 0.3f); }else{ FUNC_8030E624(SFX_1F_HITTING_AN_ENEMY_3, 0.8f, 32750); - func_80250D94(1.0f, 0.5f, 0.4f); + rumbleManager_80250D94(1.0f, 0.5f, 0.4f); } func_80299CF4(SFX_38_BANJO_AYE_1, 1.0f, 28000); func_802B4570(); @@ -39,13 +39,13 @@ void bssplat_init(void){ bs_setState(BS_41_DIE); D_8037D530 = 0; - func_8028D5DC(); + baMarker_collisionOff(); } void bssplat_update(void){ enum bs_e sp1C = 0; AnimCtrl *aCtrl = _player_getAnimCtrlPtr(); - func_80297970(max_f(0.0f, func_80297A64() - 15.0f)); + func_80297970(ml_max_f(0.0f, func_80297A64() - 15.0f)); switch (D_8037D530) { @@ -82,6 +82,6 @@ void bssplat_update(void){ } void bssplat_end(void){ - func_8028D5F4(); + baMarker_collisionOn(); func_80297CA8(); } diff --git a/src/core2/bs/stand.c b/src/core2/bs/stand.c index 1ec62325..dc5b25b1 100644 --- a/src/core2/bs/stand.c +++ b/src/core2/bs/stand.c @@ -9,7 +9,7 @@ void func_80299234(f32, f32); void func_802875AC(AnimCtrl *, char*, s32); void func_802900B4(void); -void func_80250D94(f32, f32, f32); +void rumbleManager_80250D94(f32, f32, f32); /* .data */ u8 D_80364D20[] = { @@ -100,7 +100,7 @@ void bsstand_init(void){ void func_802B4A10(AnimCtrl *arg0){ if(animctrl_isAt(arg0, 0.2057f)){ //(30/145) FUNC_8030E624(SFX_21_EGG_BOUNCE_1, 1.8f, 16000); - func_80250D94(0.5f, 0.25f, 0.4f); + rumbleManager_80250D94(0.5f, 0.25f, 0.4f); }//L802B4A54 if(animctrl_isAt(arg0, 0.2057f)) //(30/145) @@ -109,12 +109,12 @@ void func_802B4A10(AnimCtrl *arg0){ if(animctrl_isAt(arg0, 0.2555f)){ //(37/145) FUNC_8030E624(SFX_21_EGG_BOUNCE_1, 1.8f, 16000); - func_80250D94(0.5f, 0.25f, 0.4f); + rumbleManager_80250D94(0.5f, 0.25f, 0.4f); }//L802B4AB0 if(animctrl_isAt(arg0, 0.2896f)){ //(42/145) FUNC_8030E624(SFX_21_EGG_BOUNCE_1, 1.8f, 16000); - func_80250D94(0.5f, 0.25f, 0.4f); + rumbleManager_80250D94(0.5f, 0.25f, 0.4f); }//L802B4AEC if(animctrl_isAt(arg0, 0.3f)){ //(43.5/145)? @@ -143,7 +143,7 @@ void func_802B4A10(AnimCtrl *arg0){ if(animctrl_isAt(arg0, 0.6619f)){ FUNC_8030E624(SFX_21_EGG_BOUNCE_1, 1.8f, 16000); - func_80250D94(0.5f, 0.25f, 0.4f); + rumbleManager_80250D94(0.5f, 0.25f, 0.4f); }//L802B4BF4 if(animctrl_isAt(arg0, 0.6688f)) @@ -152,7 +152,7 @@ void func_802B4A10(AnimCtrl *arg0){ if(animctrl_isAt(arg0, 0.6964f)){ FUNC_8030E624(SFX_21_EGG_BOUNCE_1, 1.8f, 16000); - func_80250D94(0.5f, 0.25f, 0.4f); + rumbleManager_80250D94(0.5f, 0.25f, 0.4f); }//L802B4C50 if(animctrl_isAt(arg0, 0.7747f)) @@ -315,14 +315,14 @@ void func_802B5350(void){ if(_player_getTransformation() != TRANSFORM_1_BANJO) func_8029A86C(1); else{ - func_802948F8(func_8028D688()); + func_802948F8(baMarker_8028D688()); bs_setState(BS_3A_CARRY_IDLE); } } else if(sp1C == 0x12){//L802B53D0 func_8029A86C(1); if( _player_getTransformation() == TRANSFORM_1_BANJO && !miscflag_isTrue(0xF) && func_802916CC(0)){ - func_8028DE6C(carriedObject_getActorID()); + func_8028DE6C(baMarker_getCarriedObjectActorId()); func_8029A86C(2); } } diff --git a/src/core2/bs/swim.c b/src/core2/bs/swim.c index 2b1814e5..2ac02249 100644 --- a/src/core2/bs/swim.c +++ b/src/core2/bs/swim.c @@ -34,9 +34,9 @@ void func_802B5480(void) { if (func_80294574()) { if (randf() > 0.5) { - playerModel_8029223C(bubble_spawn_position); + baModel_8029223C(bubble_spawn_position); } else { - playerModel_80292260(bubble_spawn_position); + baModel_80292260(bubble_spawn_position); } bubble_emitter = func_8029B950(bubble_spawn_position, 0.0f); particleEmitter_setParticleVelocityRange(bubble_emitter, -60.0f, -100.0f, -60.0f, 60.0f, 0.0f, 60.0f); @@ -67,7 +67,7 @@ void func_802B55DC(void) { func_80297970(0.0f); return; } - func_80297970(func_80257C48(sp1C, D_80364D40, D_80364D44)); + func_80297970(ml_interpolate_f(sp1C, D_80364D40, D_80364D44)); } void func_802B563C(void) { diff --git a/src/core2/bs/throw.c b/src/core2/bs/throw.c index be390ed7..3f5a82a8 100644 --- a/src/core2/bs/throw.c +++ b/src/core2/bs/throw.c @@ -64,7 +64,7 @@ void bsthrow_end(void){ void bsthrow_interrupt(void){ if(bs_getInterruptType() == BS_INTR_12){ if(D_8037D580 == 0){ - func_8028DE6C(carriedObject_getActorID()); + func_8028DE6C(baMarker_getCarriedObjectActorId()); } else{ func_8029A86C(1); diff --git a/src/core2/bs/timeout.c b/src/core2/bs/timeout.c index 08728d3a..4d75ff1e 100644 --- a/src/core2/bs/timeout.c +++ b/src/core2/bs/timeout.c @@ -18,7 +18,7 @@ void func_802B6270(void){ func_8025A70C(COMUSIC_3C_MINIGAME_LOSS); func_8024BD08(0); func_8029E070(1); - func_8028D5DC(); + baMarker_collisionOff(); } void func_802B6314(void){ @@ -58,7 +58,7 @@ void func_802B63F8(void){ func_8025A58C(0,0xfa0); func_8025A70C(COMUSIC_3C_MINIGAME_LOSS); func_8024BD08(0); - func_8028D5DC(); + baMarker_collisionOff(); func_8029E3C0(0, 2.9f); } diff --git a/src/core2/bs/walk.c b/src/core2/bs/walk.c index 7802e4c5..e25ee466 100644 --- a/src/core2/bs/walk.c +++ b/src/core2/bs/walk.c @@ -12,7 +12,7 @@ void func_8029AD28(f32, s32); f32 func_80297AF0(void); void func_80289EF8(f32); f32 func_8029B30C(void); -f32 func_80257C48(f32, f32, f32); +f32 ml_interpolate_f(f32, f32, f32); f32 func_80297A64(void); void func_80299594(s32, f32); @@ -50,7 +50,7 @@ void func_802B6D00(void){ if(sp18 == 0){ func_80297970(0.0f); }else{//L802B6D48 - func_80297970(func_80257C48(func_8029B2E8(), D_80364D84, D_80364D88)); + func_80297970(ml_interpolate_f(func_8029B2E8(), D_80364D84, D_80364D88)); } } else{//L802B6D78 @@ -59,16 +59,16 @@ void func_802B6D00(void){ func_80297970(0.0f); break; case 1://802B6DAC - func_80297970(func_80257C48(sp1C, D_80364D70, D_80364D74)); + func_80297970(ml_interpolate_f(sp1C, D_80364D70, D_80364D74)); break; case 2://802B6DD0 - func_80297970(func_80257C48(sp1C, D_80364D74, D_80364D78)); + func_80297970(ml_interpolate_f(sp1C, D_80364D74, D_80364D78)); break; case 3://802B6DF4 - func_80297970(func_80257C48(sp1C, D_80364D78, D_80364D7C)); + func_80297970(ml_interpolate_f(sp1C, D_80364D78, D_80364D7C)); break; case 4://802B6E18 - func_80297970(func_80257C48(sp1C, D_80364D7C, D_80364D80)); + func_80297970(ml_interpolate_f(sp1C, D_80364D7C, D_80364D80)); break; } }//L802B6E34 @@ -88,7 +88,7 @@ void func_802B6EB0(f32 arg0){ } void func_802B6EBC(void){ - D_8037D5B0 = max_f(0.0f, D_8037D5B0 - time_getDelta()); + D_8037D5B0 = ml_max_f(0.0f, D_8037D5B0 - time_getDelta()); } int func_802B6EF4(void){ diff --git a/src/core2/bs/walrus.c b/src/core2/bs/walrus.c index 765baf4b..c77579dd 100644 --- a/src/core2/bs/walrus.c +++ b/src/core2/bs/walrus.c @@ -3,7 +3,7 @@ #include "variables.h" extern void func_8029AD68(f32, s32); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); int bswalrus_inSet(enum bs_e state); @@ -47,7 +47,7 @@ void func_802B7E6C(void) { func_80297970(0.0f); return; } - func_80297970(func_80257C48(sp1C, D_80364DC0, D_80364DC4)); + func_80297970(ml_interpolate_f(sp1C, D_80364DC0, D_80364DC4)); } void func_802B7ECC(void) { @@ -55,7 +55,7 @@ void func_802B7ECC(void) { if (func_80295530(8) < 3) { D_8037D5C0 = 1.0f; } - D_8037D5C0 = mlClamp_f(D_8037D5C0, 0.0f, 1.0f); + D_8037D5C0 = ml_clamp_f(D_8037D5C0, 0.0f, 1.0f); } void func_802B7F28(void) { @@ -75,7 +75,7 @@ void func_802B7F28(void) { if (900.0 < sp20[0] * sp20[0] + sp20[1] * sp20[1] + sp20[2] * sp20[2]) { ml_vec3f_normalize(sp20); func_80294480(sp2C); - if ( ml_vec3f_dot_product(sp20, sp2C) < -0.2) { + if ( ml_dotProduct_vec3f(sp20, sp2C) < -0.2) { sp3C += D_8037D5C0 * 350.0; } } @@ -83,7 +83,7 @@ void func_802B7F28(void) { func_80297970(0.0f); return; } - func_80297970(func_80257C48(sp40, sp38, sp3C)); + func_80297970(ml_interpolate_f(sp40, sp38, sp3C)); } void func_802B8048(void){ @@ -387,7 +387,7 @@ static void __bswalrus_recoil_init(s32 damage){ func_8029C7F4(1,1,2,3); player_setYVelocity(func_802987C4()); gravity_set(func_802987E4()); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_802B8110(); } @@ -405,7 +405,7 @@ static void __bswalrus_recoil_update(void){ static void __bswalrus_recoil_end(void){ gravity_reset(); - func_8028D5F4(); + baMarker_collisionOn(); func_80292EA4(); func_802B8048(); } @@ -467,7 +467,7 @@ void bswalrus_die_init(void){ func_8025AB00(); func_8025A2FC(0, 0xfa0); func_8025A70C(0x1A); - func_8028D5DC(); + baMarker_collisionOff(); func_80292E48(); func_8029E3C0(0, 1.5f); func_802B8110(); @@ -494,7 +494,7 @@ void bswalrus_die_update(void){ break; case 3://L802B8FB0 if(0.0f < D_8037D5C4){ - D_8037D5C4 = max_f(0.0f, D_8037D5C4 - 10.0f); + D_8037D5C4 = ml_max_f(0.0f, D_8037D5C4 - 10.0f); } break; }//L802B8FE0 @@ -567,9 +567,9 @@ void bswalrus_sled_update(void){ if(50.0f < func_80297AB8()){ if(func_8023DB4C(1)){ - playerModel_80292554(&sp20); + baModel_80292554(&sp20); }else{ - playerModel_80292578(&sp20); + baModel_80292578(&sp20); } particleEmitter_emitN(func_802F1EC8(sp20), 1); }//L802B927C @@ -731,7 +731,7 @@ void func_802B978C(void) { func_8025A58C(0, 0xFA0); func_8025A70C(COMUSIC_3C_MINIGAME_LOSS); func_8024BD08(0); - func_8028D5DC(); + baMarker_collisionOff(); func_8029E3C0(0, 2.9f); func_802B813C(); func_80292E48(); diff --git a/src/core2/ch/clankerwhipcrack.c b/src/core2/ch/clankerwhipcrack.c index 733140c8..2999a2ae 100644 --- a/src/core2/ch/clankerwhipcrack.c +++ b/src/core2/ch/clankerwhipcrack.c @@ -37,7 +37,7 @@ void func_803567EC(Actor *this){ } player_getPosition(plyr_pos); - plyr_dist = ml_vec3f_distance(plyr_pos, this->position); + plyr_dist = ml_distance_vec3f(plyr_pos, this->position); if(this->state == 1){ if(plyr_dist < 700.0f) func_80356770(this, 2); diff --git a/src/core2/ch/clucker.c b/src/core2/ch/clucker.c index fd6e6c4b..9b36449a 100644 --- a/src/core2/ch/clucker.c +++ b/src/core2/ch/clucker.c @@ -148,7 +148,7 @@ void func_8035765C(Actor *this){ }//L803576EC player_getPosition(sp5C); - sp58 = ml_vec3f_distance(this->position, sp5C); + sp58 = ml_distance_vec3f(this->position, sp5C); if(this->state == 1){ if(sp58 < this->scale*800.0f){ func_80357264(this, 2); @@ -168,7 +168,7 @@ void func_8035765C(Actor *this){ }//L80357808 if(this->state == 3){ - if(func_8025773C(&local->unk4, sp50)){ + if(ml_timer_update(&local->unk4, sp50)){ func_80357264(this, 4); } } diff --git a/src/core2/ch/code_CFA60.c b/src/core2/ch/code_CFA60.c index cf390651..3fa1d637 100644 --- a/src/core2/ch/code_CFA60.c +++ b/src/core2/ch/code_CFA60.c @@ -96,7 +96,7 @@ void func_80356CCC(Actor *this){ func_803569F0(this, (this->state < 5)? 1 : 6); }//L80356D48 player_getPosition(sp5C); - sp58 = ml_vec3f_distance(this->position, sp5C); + sp58 = ml_distance_vec3f(this->position, sp5C); if( this->state == 1){ if( sp58 < this->scale*400.0f && (map_get() != MAP_3C_RBB_KITCHEN || this->position_z < sp5C[2]) @@ -116,7 +116,7 @@ void func_80356CCC(Actor *this){ } }//L80356E88 if(this->state == 3){ - if(func_8025773C(&this->local, sp50)){ + if(ml_timer_update(&this->local, sp50)){ func_803569F0(this, 4); } }//L80356EAC diff --git a/src/core2/ch/drips.c b/src/core2/ch/drips.c index efbee1e5..b443d8f0 100644 --- a/src/core2/ch/drips.c +++ b/src/core2/ch/drips.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" #define _HorzDist3v(v1, v2) ((v1[0]-v2[0])*(v1[0]-v2[0]) + (v1[2]-v2[2])*(v1[2]-v2[2])) extern int func_8024549C(f32[3], f32); @@ -35,16 +36,16 @@ struct43s D_80372B00 = { /* .code */ void func_80359A40(f32 position[3], struct_core2_D2AB0 *arg1, s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, ASSET_70C_SPRITE_RIPPLE); - func_802EFA70(pCtrl, 1); - func_802EFFA8(pCtrl, D_80372AE4); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_3D_ROTATE); + particleEmitter_setRGB(pCtrl, D_80372AE4); particleEmitter_setPosition(pCtrl, position); func_802EFB70(pCtrl, 0.1f, 0.1f); func_802EFB84(pCtrl, 1.0f, 1.4f); particleEmitter_setSpawnIntervalRange(pCtrl, arg1->unk0, arg1->unk4); - func_802EFEC0(pCtrl, arg1->unk8, arg1->unkC); - func_802EFA5C(pCtrl, 0.0f, 0.5f); + particleEmitter_setParticleLifeTimeRange(pCtrl, arg1->unk8, arg1->unkC); + particleEmitter_setFade(pCtrl, 0.0f, 0.5f); particleEmitter_emitN(pCtrl, cnt); } @@ -74,14 +75,14 @@ void chdrips_update(Actor *this){ this->unk60 = this->yaw/360.0; } if(__chdrips_playerWithinDist(this, 5000) && randf() < this->unk60){ - pCtrl = partEmitList_pushNew(1); + 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_setParticleCallback(pCtrl, __chdrips_particleCallback); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 7.0f, 7.0f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f); func_802EFB70(pCtrl, 0.1f, 0.1f); func_802EFB84(pCtrl, 0.1f, 0.1f); particleEmitter_emitN(pCtrl, 1); diff --git a/src/core2/ch/firefx.c b/src/core2/ch/firefx.c index 1091d05c..c9509ea0 100644 --- a/src/core2/ch/firefx.c +++ b/src/core2/ch/firefx.c @@ -18,26 +18,26 @@ ActorInfo gChFireFxInfo = { void __chfirefx_spawnSmoke(f32 position[3], f32 scale){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x23); + 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_setParticleVelocityRange(pCtrl, 0.0f, 40.0f*scale, 0.0f, 0.0f, 90.0f*scale, 0.0f); func_802EFB70(pCtrl, 2.6*scale, 3.2*scale); func_802EFB84(pCtrl, 5.0*scale, 6.0*scale); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 4.0f, 7.0f); - func_802EFA5C(pCtrl, 0.3f, 0.7f); - func_802EFA70(pCtrl, 4); + particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 7.0f); + particleEmitter_setFade(pCtrl, 0.3f, 0.7f); + particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_emitN(pCtrl, 1); } void __chfirefx_spawnSpark(f32 position[3], f32 scale){ ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, position); @@ -47,9 +47,9 @@ void __chfirefx_spawnSpark(f32 position[3], f32 scale){ func_802EFB70(pCtrl, 0.1*scale, 0.2*scale); func_802EFB84(pCtrl, 0.2*scale, 0.4*scale); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 0.9f, 1.3f); - func_802EFA5C(pCtrl, 0.3f, 0.7f); - func_802EFA70(pCtrl, 4); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.9f, 1.3f); + particleEmitter_setFade(pCtrl, 0.3f, 0.7f); + particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_emitN(pCtrl, 1); } diff --git a/src/core2/ch/flotsam.c b/src/core2/ch/flotsam.c index cd4b2162..2febb3ba 100644 --- a/src/core2/ch/flotsam.c +++ b/src/core2/ch/flotsam.c @@ -146,7 +146,7 @@ void func_8035C080(Actor *this, s32 next_state){ } } else if(next_state == 3){//L8035C4C0 - if(ml_vec3f_distance(local->unk28, this->position) < 10.0f){ + if(ml_distance_vec3f(local->unk28, this->position) < 10.0f){ func_8035C080(this, 1); return; } @@ -237,7 +237,7 @@ Actor* func_8035C71C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ if(local->pCtrl_8 && this->marker->unk14_21){ func_8034A174(func_80329934(), 5, sp28); particleEmitter_setPosition(local->pCtrl_8, sp28); - func_802EF3A8(local->pCtrl_8, gfx, mtx, vtx); + particleEmitter_draw(local->pCtrl_8, gfx, mtx, vtx); } return this; } @@ -246,7 +246,7 @@ void func_8035C8C8(Actor *this){ ActorLocal_Core2_D50F0 *local = (ActorLocal_Core2_D50F0 *)&this->local; if(local->pCtrl_8) - func_802EF684(local->pCtrl_8); + particleEmitter_free(local->pCtrl_8); } void func_8035C8F4(Actor *this){ @@ -293,11 +293,11 @@ void func_8035C8F4(Actor *this){ local->unk0 += 1.9047619047619049*sp34; if(1.0f <= local->unk0) local->unk0 = 1.0f; - func_80255FE4(this->position, local->unk10, local->unk1C, local->unk0); + ml_interpolate_vec3f(this->position, local->unk10, local->unk1C, local->unk0); this->position_y += 100.0f*sinf(local->unk0*3.141592654); this->yaw = local->unk0*(local->unk34[2] - local->unk34[1]) + local->unk34[1]; if(func_80335794(this->unk148) > 0){ - if(ml_vec3f_distance(this->position, local->unk28) < 10.0f){ + if(ml_distance_vec3f(this->position, local->unk28) < 10.0f){ func_8035C080(this, 1); } else if(local->unkC > 0){//L8035CB8C diff --git a/src/core2/ch/ghost.c b/src/core2/ch/ghost.c index 1fc1dd63..bf566c6b 100644 --- a/src/core2/ch/ghost.c +++ b/src/core2/ch/ghost.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + typedef struct { f32 unk0; @@ -41,10 +43,10 @@ s32 D_80372C6C[3] = {0xFE, 0x46, 0xFE}; /* .code */ void func_8035AFE0(f32 scale, f32 pos[3], s32 cnt, enum asset_e sprite_id, s32 arg4[3]){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, sprite_id); - func_802EFFA8(pCtrl, arg4); + particleEmitter_setRGB(pCtrl, arg4); particleEmitter_setPosition(pCtrl, pos); particleEmitter_setParticleSpawnPositionRange(pCtrl, -100.0f*scale, 20.0f*scale, -100.0f*scale, @@ -61,9 +63,9 @@ void func_8035AFE0(f32 scale, f32 pos[3], s32 cnt, enum asset_e sprite_id, s32 a func_802EFB70(pCtrl, scale*0.4, scale*0.6); func_802EFB84(pCtrl, scale*1.0, scale*1.4); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 1.0f, 1.4f); - func_802EFA5C(pCtrl, 0.0f, 0.01f); - func_802EFA70(pCtrl, 0x10); + particleEmitter_setParticleLifeTimeRange(pCtrl, 1.0f, 1.4f); + particleEmitter_setFade(pCtrl, 0.0f, 0.01f); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/core2/ch/icecube.c b/src/core2/ch/icecube.c index 32383c9d..e8b63a68 100644 --- a/src/core2/ch/icecube.c +++ b/src/core2/ch/icecube.c @@ -106,25 +106,25 @@ int func_80359FEC(f32 arg0[3], f32 arg1[3], s32 arg2){ } void func_8035A04C(f32 position[3], s32 cnt, enum asset_e model_id, f32 scale){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); 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_setParticleVelocityRange(pCtrl, -400.0f*scale, 450.0f*scale, -400.0f*scale, 400.0f*scale, 600.0f*scale, 400.0f*scale); - func_802EFE24(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale); + particleEmitter_setAngularVelocityRange(pCtrl, 100.0f*scale, 100.0f*scale, 100.0f*scale, 250.0f*scale, 250.0f*scale, 250.0f*scale); func_802EFB70(pCtrl, scale*0.2, scale*0.4); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.02f); - func_802EFEC0(pCtrl, 2.2f, 2.2f); - func_802EFA5C(pCtrl, 0.0f, 0.3f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 2.2f, 2.2f); + particleEmitter_setFade(pCtrl, 0.0f, 0.3f); particleEmitter_emitN(pCtrl, cnt); } void func_8035A228(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); - func_802EFFA8(pCtrl, D_80372BC8); + 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); @@ -133,15 +133,15 @@ void func_8035A228(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ func_802EFB70(pCtrl, scale*0.6, scale*0.8); func_802EFB84(pCtrl, scale*1.0, scale*1.4); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 1.2f, 1.8f); - func_802EFA5C(pCtrl, 0.0f, 0.01f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 1.2f, 1.8f); + particleEmitter_setFade(pCtrl, 0.0f, 0.01f); particleEmitter_emitN(pCtrl, cnt); } void func_8035A3F8(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); - func_802EFFA8(pCtrl, D_80372BD4); + 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); @@ -149,9 +149,9 @@ void func_8035A3F8(f32 position[3], s32 cnt, enum asset_e sprite_id, f32 scale){ func_802EFB70(pCtrl, scale*0.4, scale*0.6); func_802EFB84(pCtrl, scale*0.8, scale*1.2); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 0.5f, 0.7f); - func_802EFA5C(pCtrl, 0.0f, 0.3f); - func_802EFA70(pCtrl, 4); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.5f, 0.7f); + particleEmitter_setFade(pCtrl, 0.0f, 0.3f); + particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/core2/ch/mole.c b/src/core2/ch/mole.c index 4cacb147..55639525 100644 --- a/src/core2/ch/mole.c +++ b/src/core2/ch/mole.c @@ -354,7 +354,7 @@ void func_802D9D60(Actor *this){ && (func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT) ){ player_getPosition(sp34); - if(ml_vec3f_distance(sp34, this->velocity) < this->unk28){ + if(ml_distance_vec3f(sp34, this->velocity) < this->unk28){ func_802D9CBC(this); } } diff --git a/src/core2/ch/molehill.c b/src/core2/ch/molehill.c index d1ea6607..09de7cac 100644 --- a/src/core2/ch/molehill.c +++ b/src/core2/ch/molehill.c @@ -57,7 +57,7 @@ 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_setModel(pCtrl, 0x344); particleEmitter_setPosition(pCtrl, arg1); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); func_802EFB98(pCtrl, &D_80367E44); func_802EF9F8(pCtrl, 0.01f); @@ -83,7 +83,7 @@ void func_802DA740(Actor *this){ } else{ if(local->unk0 && actor_animationIsAt(this, 0.05f)){ - func_802DA634(partEmitList_pushNew(6), this->velocity, 6); + func_802DA634(partEmitMgr_newEmitter(6), this->velocity, 6); } } break; @@ -93,19 +93,19 @@ void func_802DA740(Actor *this){ } else if(local->unk0){ if(actor_animationIsAt(this, 0.3f)){ - func_802DA634(partEmitList_pushNew(6), this->velocity, 6); + func_802DA634(partEmitMgr_newEmitter(6), this->velocity, 6); } else if(actor_animationIsAt(this, 0.4f)){ - func_802DA634(partEmitList_pushNew(4), this->unk1C, 4); + func_802DA634(partEmitMgr_newEmitter(4), this->unk1C, 4); } else if(actor_animationIsAt(this, 0.45f)){ - func_802DA634(partEmitList_pushNew(4), local->unk4, 4); + func_802DA634(partEmitMgr_newEmitter(4), local->unk4, 4); } else if(actor_animationIsAt(this, 0.5f)){ - func_802DA634(partEmitList_pushNew(4), local->unk10, 4); + func_802DA634(partEmitMgr_newEmitter(4), local->unk10, 4); } else if(actor_animationIsAt(this, 0.55f)){ - func_802DA634(partEmitList_pushNew(4), local->unk1C, 4); + func_802DA634(partEmitMgr_newEmitter(4), local->unk1C, 4); } } break; diff --git a/src/core2/ch/snowball.c b/src/core2/ch/snowball.c index f500a7ea..c0ae08d5 100644 --- a/src/core2/ch/snowball.c +++ b/src/core2/ch/snowball.c @@ -47,11 +47,11 @@ void __chSnowball_spawnPieces(f32 position[3]) { ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(8); + pCtrl = partEmitMgr_newEmitter(8); particleEmitter_setModel(pCtrl, ASSET_37A_MODEL_TINY_SNOWBALL); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8036875C); - func_802EFE24(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB98(pCtrl, &D_80368734); particleEmitter_emitN(pCtrl, 8); } diff --git a/src/core2/ch/snowman.c b/src/core2/ch/snowman.c index a2a936ff..94a3a223 100644 --- a/src/core2/ch/snowman.c +++ b/src/core2/ch/snowman.c @@ -117,16 +117,16 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){ {{-80.0f, 0.0f, -80.0f}, {80.0f, 200.0f, 80.0f}} }; - ParticleEmitter *particleSpawner = partEmitList_pushNew(count); + ParticleEmitter *particleSpawner = partEmitMgr_newEmitter(count); particleEmitter_setModel(particleSpawner, ASSET_378_MODEL_SNOWBALL); particleEmitter_setPosition(particleSpawner, position); particleEmitter_setPositionVelocityAndAccelerationRanges(particleSpawner, &D_803686BC); - func_802EFE24(particleSpawner, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(particleSpawner, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); func_802EF9F8(particleSpawner, 0.01f); func_802EFA18(particleSpawner, 3); func_802EFA20(particleSpawner, 1.0f, 1.3f); - func_802EF9EC(particleSpawner, 0x2f, 16000); + particleEmitter_setSfx(particleSpawner, SFX_2F_ORANGE_SPLAT, 16000); func_802EFB98(particleSpawner, &D_80368694); particleEmitter_emitN(particleSpawner, count); } diff --git a/src/core2/ch/soundsource.c b/src/core2/ch/soundsource.c index b6ca9d66..99f3f55e 100644 --- a/src/core2/ch/soundsource.c +++ b/src/core2/ch/soundsource.c @@ -84,7 +84,7 @@ void func_802D07C8(Actor *this){ func_802D05A0(this, 1); } player_getPosition(sp2C); - sp28 = ml_vec3f_distance(sp2C, this->position); + sp28 = ml_distance_vec3f(sp2C, this->position); if( this->state == 1){ if(sp28 < D_80367340[(s32)this->yaw].unk6*this->scale){ func_802D05A0(this, 2); diff --git a/src/core2/ch/whipcrack.c b/src/core2/ch/whipcrack.c index 6e3c617d..0cbbfff7 100644 --- a/src/core2/ch/whipcrack.c +++ b/src/core2/ch/whipcrack.c @@ -16,7 +16,7 @@ s32 D_80373124[3] = {0xA0, 0x6B, 0x23}; /* .code */ void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1000.0f, 0.0f, @@ -25,7 +25,7 @@ void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){ func_802EF9F8(pCtrl, 0.7f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 0.5f, 1.0f); - func_802EF9EC(pCtrl, 0x1f, 10000); + particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setModel(pCtrl, model_id); particleEmitter_setParticleSpawnPositionRange(pCtrl, -120.0f, 50.0f, -120.0f, @@ -33,12 +33,12 @@ void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){ ); particleEmitter_setPosition(pCtrl, this->position); func_802EFB70(pCtrl, 0.5f, 1.0f); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, -500.0f, -500.0f, -500.0f, 500.0f, 500.0f, 500.0f ); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 4.0f, 4.0f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 4.0f); particleEmitter_setParticleVelocityRange(pCtrl, -300.0f, 250.0f, -300.0f, 300.0f, 400.0f, 300.0f @@ -47,9 +47,9 @@ void __chwhipcrack_spawnPieces(Actor *this, enum asset_e model_id, s32 cnt){ } void __chwhipcrack_spawnSmoke(Actor *this, s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(pCtrl, 0.05f, 0.1f); + particleEmitter_setFade(pCtrl, 0.05f, 0.1f); particleEmitter_setStartingFrameRange(pCtrl, 0, 7); particleEmitter_setPosition(pCtrl, this->position); func_802EFB70(pCtrl, 3.0f, 3.5f); @@ -62,8 +62,8 @@ void __chwhipcrack_spawnSmoke(Actor *this, s32 cnt){ -30.0f, 150.0f, -30.0f, 30.0f, 300.0f, 30.0f ); - func_802EFFA8(pCtrl, D_80373124); - func_802EFEC0(pCtrl, 3.0f, 4.0f); + particleEmitter_setRGB(pCtrl, D_80373124); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.0f, 4.0f); particleEmitter_emitN(pCtrl, cnt); } @@ -105,7 +105,7 @@ void chwhipcrack_update(Actor *this){ __chwhipcrack_setState(this, 1); } player_getPosition(plyr_pos); - plyr_dist = ml_vec3f_distance(plyr_pos, this->position); + plyr_dist = ml_distance_vec3f(plyr_pos, this->position); if(this->state == 1){ if(plyr_dist < 700.0f){ __chwhipcrack_setState(this, 2); diff --git a/src/core2/climb.c b/src/core2/climb.c index cf799d1e..731dc5f7 100644 --- a/src/core2/climb.c +++ b/src/core2/climb.c @@ -55,7 +55,7 @@ climbSet(f32 bottom[3], f32 top[3], f32 radius, u32 arg3){ } void func_80298344(void){ //climbUpdateRegrab - D_8037C58C = max_f(D_8037C58C - time_getDelta(), 0.0f); + D_8037C58C = ml_max_f(D_8037C58C - time_getDelta(), 0.0f); if(D_8037C590 && ability_hasLearned(ABILITY_5_CLIMB)){ bs_checkInterrupt(BS_INTR_C_CLIMB); } diff --git a/src/core2/code_11040.c b/src/core2/code_11040.c index 827ab117..f1c65a47 100644 --- a/src/core2/code_11040.c +++ b/src/core2/code_11040.c @@ -18,7 +18,7 @@ void func_80297FDC(void){ D_8037C550 = D_8037C554; } else{ - D_8037C550 += mlClamp_f(diff, -0.12f, 0.12f); + D_8037C550 += ml_clamp_f(diff, -0.12f, 0.12f); } } diff --git a/src/core2/code_126C0.c b/src/core2/code_126C0.c index aad6cf83..f468e8d0 100644 --- a/src/core2/code_126C0.c +++ b/src/core2/code_126C0.c @@ -143,8 +143,8 @@ void func_80299A8C(void){ void func_80299AAC(void){ D_8037C6CC += randf()*0.1 - 0.05; - D_8037C6CC = max_f(D_8037C6CC, 0.9f); - D_8037C6CC = min_f(D_8037C6CC, 1.5f); + D_8037C6CC = ml_max_f(D_8037C6CC, 0.9f); + D_8037C6CC = ml_min_f(D_8037C6CC, 1.5f); func_8030DBB4(D_8037C6C1, D_8037C6CC); func_8030E2C4(D_8037C6C1); } diff --git a/src/core2/code_13900.c b/src/core2/code_13900.c index fe8a127a..1512f603 100644 --- a/src/core2/code_13900.c +++ b/src/core2/code_13900.c @@ -44,7 +44,7 @@ void func_8029A92C(void){ func_8029A974(0.0f); } -void func_8029A95C(enum transformation_e xform_id){ +void player_setTransformation(enum transformation_e xform_id){ D_8037D180.xform_8 = xform_id; } diff --git a/src/core2/code_14420.c b/src/core2/code_14420.c index b811bfd3..df195f60 100644 --- a/src/core2/code_14420.c +++ b/src/core2/code_14420.c @@ -319,7 +319,7 @@ void func_8029B73C(f32 arg0[3], f32 arg1, f32 arg2, f32 arg3, f32 arg4) { if (!((arg3 * arg3) < temp_f20)) { temp_f20 = gu_sqrtf(temp_f20); - ml_vec3f_set_length_copy(sp30, sp30, min_f(time_getDelta() * arg4, arg3 - temp_f20)); + ml_vec3f_set_length_copy(sp30, sp30, ml_min_f(time_getDelta() * arg4, arg3 - temp_f20)); ml_vec3f_add(sp3C, sp3C, sp30); func_8028FAB0(sp3C); } @@ -677,9 +677,9 @@ void func_8029C4E4(bool arg0) { if (func_80294574()) { if (arg0) { - playerModel_80292260(sp3C); + baModel_80292260(sp3C); } else { - playerModel_8029223C(sp3C); + baModel_8029223C(sp3C); } sp3C[1] = func_80294500(); sp38 = yaw_get(); diff --git a/src/core2/code_16010.c b/src/core2/code_16010.c index 79a6754b..19cb7e32 100644 --- a/src/core2/code_16010.c +++ b/src/core2/code_16010.c @@ -100,7 +100,7 @@ void func_8029D2F8(void) { return; } - D_8037D224 = max_f(0.0f, D_8037D224 - time_getDelta()); + D_8037D224 = ml_max_f(0.0f, D_8037D224 - time_getDelta()); if (D_8037D224 == 0.0f) { if (D_8037D211 == 1) { func_8029D050(); @@ -137,7 +137,7 @@ void func_8029D448(void) { void func_8029D4D8(void) { if (D_8037D212 != 0) { - D_8037D224 = max_f(0.0f, D_8037D224 - time_getDelta()); + D_8037D224 = ml_max_f(0.0f, D_8037D224 - time_getDelta()); if (!(D_8037D224 > 0.0f)) { D_8037D212 += -1; D_8037D224 = randf2(0.12f, 0.22f); @@ -255,7 +255,7 @@ void func_8029D968(void){ sp18 = (temp_v0->flags & 0x4000) && func_8028B2E8(); } if (sp1C || sp18) { - func_80250D94(1.0f, 0.5f, 0.4f); + rumbleManager_80250D94(1.0f, 0.5f, 0.4f); func_8028F504(0xD); } }//L8029DA18 @@ -274,7 +274,7 @@ void func_8029D968(void){ func_8029E3C0(4, 4.0f); if(func_8028F504(0xD)){ func_8029D230(); - func_80250D94(1.0f, 0.5f, 0.4f); + rumbleManager_80250D94(1.0f, 0.5f, 0.4f); } if(item_empty(ITEM_14_HEALTH)){ bs_checkInterrupt(BS_INTR_13); diff --git a/src/core2/code_16C60.c b/src/core2/code_16C60.c index 71dd1ce7..c845fa59 100644 --- a/src/core2/code_16C60.c +++ b/src/core2/code_16C60.c @@ -26,15 +26,15 @@ f32 D_8037D240; /* .code */ void func_8029DBF0(void){ s32 temp_s0; - switch(playerModel_getModelId()){ + switch(baModel_getModelId()){ case 0x34D: //L8029DC24 case 0x34E: //L8029DC24 - temp_s0 = (s32) func_80257C48(D_8037D23C, 1.0f, 8.0f); + temp_s0 = (s32) ml_interpolate_f(D_8037D23C, 1.0f, 8.0f); func_8033A45C(0x1B, temp_s0); func_8033A45C(0x1D, temp_s0); func_8033A45C(0x1F, temp_s0); func_8033A45C(0x21, temp_s0); - temp_s0 = (s32) func_80257C48(D_8037D240, 1.0f, 8.0f); + temp_s0 = (s32) ml_interpolate_f(D_8037D240, 1.0f, 8.0f); func_8033A45C(0x1A, temp_s0); func_8033A45C(0x1C, temp_s0); func_8033A45C(0x1E, temp_s0); @@ -45,12 +45,12 @@ void func_8029DBF0(void){ case ASSET_359_MODEL_BANJO_WALRUS: //L8029DCCC case ASSET_36F_MODEL_BANJO_PUMPKIN: //L8029DCCC case ASSET_374_MODEL_BANJO_CROC: //L8029DCCC - func_8033A45C(0x1B, (s32) func_80257C48(D_8037D23C, 1.0f, 6.0f)); - func_8033A45C(0x1A, (s32) func_80257C48(D_8037D240, 1.0f, 6.0f)); + func_8033A45C(0x1B, (s32) ml_interpolate_f(D_8037D23C, 1.0f, 6.0f)); + func_8033A45C(0x1A, (s32) ml_interpolate_f(D_8037D240, 1.0f, 6.0f)); break; case ASSET_356_MODEL_BANJO_WISHYWASHY: //L8029DD2C - func_8033A45C(1, (s32) func_80257C48(D_8037D240, 1.0f, 4.0f)); + func_8033A45C(1, (s32) ml_interpolate_f(D_8037D240, 1.0f, 4.0f)); break; } } @@ -61,7 +61,7 @@ void func_8029DD6C(void) { bool temp_s0; func_8033A1FC(); - switch (playerModel_getModelId()) { + switch (baModel_getModelId()) { case 0x34D: case 0x34E: func_8033A45C(1, D_8037D238); diff --git a/src/core2/code_171F0.c b/src/core2/code_171F0.c index b6f2b89d..7d2b028f 100644 --- a/src/core2/code_171F0.c +++ b/src/core2/code_171F0.c @@ -19,7 +19,7 @@ int func_8029E1A8(s32 arg0){ if(0.0f == D_8037D250.unk0[arg0]){ return 0; } - D_8037D250.unk0[arg0] = max_f(0.0f, D_8037D250.unk0[arg0] - time_getDelta()); + D_8037D250.unk0[arg0] = ml_max_f(0.0f, D_8037D250.unk0[arg0] - time_getDelta()); return D_8037D250.unk0[arg0] == 0.0f; } diff --git a/src/core2/code_1930.c b/src/core2/code_1930.c index 5cdf1cab..100a791e 100644 --- a/src/core2/code_1930.c +++ b/src/core2/code_1930.c @@ -5,7 +5,7 @@ -extern void func_80250E6C(f32, f32); +extern void rumbleManager_80250E6C(f32, f32); extern void func_802BB360(s32, f32); extern void func_802BB378(s32, f32, f32); extern void func_802BB3AC(s32, f32); @@ -75,14 +75,14 @@ void func_80288B14(enum sfx_e arg0){ void func_80288B34(s32 arg0, s32 arg1){ f32 f12 = reinterpret_cast(f32, arg0); f32 f14 = reinterpret_cast(f32, arg1); - func_80250E6C(f12, f14); + rumbleManager_80250E6C(f12, f14); } void func_80288B60(s32 arg0, s32 arg1, s32 arg2){ f32 f12 = reinterpret_cast(f32, arg0); f32 f14 = reinterpret_cast(f32, arg1); f32 f0 = reinterpret_cast(f32, arg2); - func_80250D94(f12, f14, f0); + rumbleManager_80250D94(f12, f14, f0); } void func_80288B98(vector(struct2s) **arg0, struct2s *arg1){ diff --git a/src/core2/code_33F90.c b/src/core2/code_33F90.c index 27ea329e..2e430e2a 100644 --- a/src/core2/code_33F90.c +++ b/src/core2/code_33F90.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -extern void func_80250E6C(f32, f32); +extern void rumbleManager_80250E6C(f32, f32); extern void func_80258E60(f32[3], f32[3], f32); extern void func_80258EF4(f32[3], f32[3], f32); extern void func_80258F88(f32[3], f32[3], f32); diff --git a/src/core2/code_34310.c b/src/core2/code_34310.c index c4b1eccb..95ccd5ff 100644 --- a/src/core2/code_34310.c +++ b/src/core2/code_34310.c @@ -3,7 +3,7 @@ #include "variables.h" -extern void func_80250E6C(f32, f32); +extern void rumbleManager_80250E6C(f32, f32); extern void func_80258E60(f32[3], f32[3], f32); extern void func_80258EF4(f32[3], f32[3], f32); extern void func_80258F88(f32[3], f32[3], f32); @@ -120,14 +120,14 @@ void func_802BB4D8(s32 arg0, s32 arg1) { break; case 3: if (D_8037D840[phi_s1].unk18 != 0.0f) { - temp_f0 = max_f(0.0f, D_8037D840[phi_s1].unk18 - temp_f22); + temp_f0 = ml_max_f(0.0f, D_8037D840[phi_s1].unk18 - temp_f22); D_8037D840[phi_s1].unk18 = temp_f0; D_8037D840[phi_s1].unk10 = ml_map_f(temp_f0, D_8037D840[phi_s1].unk0, 0.0f, D_8037D840[phi_s1].unkC, D_8037D840[phi_s1].unk8); } else { D_8037D840[phi_s1].unk10 *= D_8037D840[phi_s1].unk4; } if (level_get() != LEVEL_D_CUTSCENE) { - func_80250E6C(D_8037D840[phi_s1].unk10 * 0.25, temp_f22); + rumbleManager_80250E6C(D_8037D840[phi_s1].unk10 * 0.25, temp_f22); } func_802BB434(phi_s1, arg0, arg1, D_8037D840[phi_s1].unk14*D_8037D840[phi_s1].unk10); D_8037D840[phi_s1].unk14 = (f32) -D_8037D840[phi_s1].unk14; diff --git a/src/core2/code_34790.c b/src/core2/code_34790.c index 0ff706ae..afcbd30a 100644 --- a/src/core2/code_34790.c +++ b/src/core2/code_34790.c @@ -94,11 +94,11 @@ f32 func_802BB938(f32 arg0[3], f32 arg1[3]) { phi_f14 = func_802BBEA4(arg0, arg1, 350.0f, 1, 0x800000); phi_f12 = (D_8037D8D0.unk31) ? 25.0f : 10.0f; - phi_f20 = max_f(phi_f12, phi_f14* 0.8 - 15.0); + phi_f20 = ml_max_f(phi_f12, phi_f14* 0.8 - 15.0); func_802BAC58(); if (func_802BB884(arg0, &sp3C)) { - phi_f20 = min_f(phi_f20, ml_map_f(sp3C, 90.0f, 450.0f, 20.0f, 240.0f)); + phi_f20 = ml_min_f(phi_f20, ml_map_f(sp3C, 90.0f, 450.0f, 20.0f, 240.0f)); } if (65.0 < phi_f20 && func_802BAC1C()) { @@ -106,7 +106,7 @@ f32 func_802BB938(f32 arg0[3], f32 arg1[3]) { } if (gctransition_8030BDAC()) { - phi_f20 = min_f(phi_f20, gctransition_8030BD88() * 0.8); + phi_f20 = ml_min_f(phi_f20, gctransition_8030BD88() * 0.8); } return phi_f20; } @@ -143,7 +143,7 @@ void func_802BBA84(void) { D_8037D8C8 = 10.0f; return; } - D_8037D8C8 = min_f(D_8037D8C8, func_802BB938(sp54, sp3C)); + D_8037D8C8 = ml_min_f(D_8037D8C8, func_802BB938(sp54, sp3C)); } void func_802BBC58(s32 arg0) { @@ -214,7 +214,7 @@ f32 func_802BBEA4(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3, s32 arg4) { ml_vec3f_copy(sp4C, sp58[D_8037D8D0.unk30]); sp38 = func_80320B98(arg0, sp4C, sp3C, arg4); if (sp38 != NULL) { - phi_f2 = ml_vec3f_distance(arg0, sp4C); + phi_f2 = ml_distance_vec3f(arg0, sp4C); D_8037D8D0.unk0[D_8037D8D0.unk30] = sp38->flags; } else { phi_f2 = arg2; diff --git a/src/core2/code_35520.c b/src/core2/code_35520.c index c1241dff..cddfc5a1 100644 --- a/src/core2/code_35520.c +++ b/src/core2/code_35520.c @@ -160,7 +160,7 @@ void func_802BC538(s32 arg0, s32 *arg1, s32 *arg2, s32 *arg3, s32 *arg4, s32 *ar void func_802BC5CC(void){ int i; int overlay; - overlay = get_loaded_overlay_id(); + overlay = overlayManagergetLoadedId(); D_8037D930 = &D_80365C4C[0]; for(i = 0; D_80365C64[i].overlay_id; i++){ if(D_80365C64[i].overlay_id == overlay){ diff --git a/src/core2/code_356B0.c b/src/core2/code_356B0.c index d0f539b2..180e468a 100644 --- a/src/core2/code_356B0.c +++ b/src/core2/code_356B0.c @@ -12,7 +12,7 @@ extern f32 func_8028E82C(void); extern f32 func_8028EBA4(void); extern f32 func_8028EF88(void); extern int func_80320DB0(f32[3], f32, f32[3], u32); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); typedef struct { f32* unk0; @@ -77,7 +77,7 @@ bool func_802BC640(f32 arg0[3], f32 arg1[3], f32 arg2, s32 arg3) { f32 sp78[3]; f32 phi_f26; - phi_f26 = max_f(150.0f, arg2 - 100.0f); + phi_f26 = ml_max_f(150.0f, arg2 - 100.0f); switch (arg3) { case 1: phi_s4 = &D_80365D50; @@ -875,7 +875,7 @@ void func_802BE384(f32 arg0[3], f32 arg1[3], f32 arg2[3], f32 arg3[3], f32 arg4[ sp1C[0] = sp34[0] - sp28[0]; sp1C[1] = sp34[1] - sp28[1]; sp1C[2] = sp34[2] - sp28[2]; - dp = -ml_vec3f_dot_product(arg4, sp1C); + dp = -ml_dotProduct_vec3f(arg4, sp1C); arg3[0] += dp*arg4[0]; arg3[1] += dp*arg4[1]; arg3[2] += dp*arg4[2]; diff --git a/src/core2/code_38AD0.c b/src/core2/code_38AD0.c index 9ef8fa4a..c51ce0a9 100644 --- a/src/core2/code_38AD0.c +++ b/src/core2/code_38AD0.c @@ -61,7 +61,7 @@ void func_802BFAF0(void) { sp44 += func_80259198(temp_f10 * D_8037DB10, sp38 * D_8037DB14); func_8025727C(sp84[0], sp84[1], sp84[2], sp6C[0], sp6C[1], sp6C[2], &sp54[0], &sp54[1]); if ((sp34 > 180.0f) && (sp34 < 360.0f)) { - sp34 = min_f(100.0f, (f32) ((f64) (360.0f - sp34) * 1.4)); + sp34 = ml_min_f(100.0f, (f32) ((f64) (360.0f - sp34) * 1.4)); } sp48[0] = mlDiffDegF(mlNormalizeAngle(sp34), sp54[0]); sp48[1] = mlDiffDegF(mlNormalizeAngle(func_8028EBA4() + 180.0f), sp54[1]); diff --git a/src/core2/code_38F40.c b/src/core2/code_38F40.c index 69bfe470..adec1b83 100644 --- a/src/core2/code_38F40.c +++ b/src/core2/code_38F40.c @@ -56,7 +56,7 @@ void func_802BFF8C(void) { case MAP_27_FP_FREEZEEZY_PEAK: case MAP_48_FP_MUMBOS_SKULL: if (!func_802BE834(sp3C)) { - D_8037DB30.unk4 = max_f(D_8037DB30.unk4 - 8.0f, -75.0f); + D_8037DB30.unk4 = ml_max_f(D_8037DB30.unk4 - 8.0f, -75.0f); } break; default: diff --git a/src/core2/code_39A10.c b/src/core2/code_39A10.c index 64aec2df..60056fd9 100644 --- a/src/core2/code_39A10.c +++ b/src/core2/code_39A10.c @@ -27,7 +27,7 @@ f32 func_802C09E8(void) { sp2C[0] = D_8037DBB0[0] - sp20[0]; sp2C[1] = 0.0f; sp2C[2] = D_8037DBB0[2] - sp20[2]; - return min_f(gu_sqrtf(sp2C[0]*sp2C[0] + sp2C[2]*sp2C[2]), D_8037DBBC) / D_8037DBBC; + return ml_min_f(gu_sqrtf(sp2C[0]*sp2C[0] + sp2C[2]*sp2C[2]), D_8037DBBC) / D_8037DBBC; } void func_802C0A60(f32 arg0[3]) { diff --git a/src/core2/code_39EF0.c b/src/core2/code_39EF0.c index c7198883..9c8abde8 100644 --- a/src/core2/code_39EF0.c +++ b/src/core2/code_39EF0.c @@ -102,7 +102,7 @@ f32 func_802C1030(struct56s *arg0, f32 arg1[3], f32 arg2[3]) { ml_vec3f_set_length_copy(sp30, sp30, 400.0f); ml_vec3f_add(sp3C, sp30, sp48); func_80259554(sp54, sp48, sp3C, arg1); - return ml_vec3f_distance(sp54, arg2); + return ml_distance_vec3f(sp54, arg2); } else{ func_80323240(arg0, sp2C, sp54); @@ -141,8 +141,8 @@ s32 func_802C11C8(f32 arg0[3]) { sp3C = func_80323F74(sp2C, D_8037DBE0.unk8, -1000.0f); func_80323240(sp2C, sp40, sp64); func_80323240(sp2C, sp3C, sp58); - sp48 = ml_vec3f_distance(sp4C, sp64); - sp44 = ml_vec3f_distance(sp4C, sp58); + sp48 = ml_distance_vec3f(sp4C, sp64); + sp44 = ml_distance_vec3f(sp4C, sp58); sp38 = 0.0f; sp38 = 0.0f; if (mlAbsF(sp48 - sp44) > 3.0f) { @@ -260,7 +260,7 @@ void func_802C16CC(s32 arg0) { D_8037DBE0.unk28 = sp38; D_8037DBE0.unk0 = func_80341EC4(sp54); D_8037DBE0.unk8 = func_803243D0(func_802C0EC0(), sp3C); - D_8037DBE0.unk8 = func_802453DC(func_802C0EC0(), D_8037DBE0.unk8, sp3C, func_8028D694() | 0x1E0000); + D_8037DBE0.unk8 = func_802453DC(func_802C0EC0(), D_8037DBE0.unk8, sp3C, baMarker_8028D694() | 0x1E0000); D_8037DBE0.unk2C = 1; func_80323240(func_802C0EC0(), D_8037DBE0.unk8, D_8037DBE0.unk1C); if (func_802C11C8(D_8037DBE0.unk1C) == 1) { diff --git a/src/core2/code_3B5C0.c b/src/core2/code_3B5C0.c index 148b645c..5bf1610c 100644 --- a/src/core2/code_3B5C0.c +++ b/src/core2/code_3B5C0.c @@ -21,7 +21,7 @@ struct{ /* .code */ bool func_802C2550(void) { - return (ml_vec3f_distance(D_8037DC60.unk0, D_8037DC60.unk18) < 40.0f); + return (ml_distance_vec3f(D_8037DC60.unk0, D_8037DC60.unk18) < 40.0f); } void func_802C2598(f32 arg0[3], f32 arg1[3]) { diff --git a/src/core2/code_400F0.c b/src/core2/code_400F0.c index aa48a16a..f90fe837 100644 --- a/src/core2/code_400F0.c +++ b/src/core2/code_400F0.c @@ -101,16 +101,16 @@ void func_802C71F0(Actor *actor){ case 0x8E: case 0xAC: case 0xB8://L802C7254 - func_8033A45C(0x1, (s32)func_80257C48(local->unk0[0], 1.0f, 6.0f)); - func_8033A45C(0x2, (s32)func_80257C48(local->unk0[1], 1.0f, 6.0f)); + func_8033A45C(0x1, (s32)ml_interpolate_f(local->unk0[0], 1.0f, 6.0f)); + func_8033A45C(0x2, (s32)ml_interpolate_f(local->unk0[1], 1.0f, 6.0f)); break; case 0x195: case 0x196: case 0x197://L802C72B0 case 0x2FB://L802C72B4 - func_8033A45C(0x1C, (s32)func_80257C48(local->unk0[0], 1.0f, 8.0f)); - func_8033A45C(0x1D, (s32)func_80257C48(local->unk0[1], 1.0f, 8.0f)); + func_8033A45C(0x1C, (s32)ml_interpolate_f(local->unk0[0], 1.0f, 8.0f)); + func_8033A45C(0x1D, (s32)ml_interpolate_f(local->unk0[1], 1.0f, 8.0f)); break; } } diff --git a/src/core2/code_43A40.c b/src/core2/code_43A40.c index f5102989..fb541a40 100644 --- a/src/core2/code_43A40.c +++ b/src/core2/code_43A40.c @@ -81,7 +81,7 @@ void func_802CAA44(Actor *this){ } void func_802CAAF0(f32 position[3]){ - ParticleEmitter *pCtrl = partEmitList_pushNew(0x18); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0x18); particleEmitter_setSprite(pCtrl, ASSET_715_SPRITE_SPARKLE_RED); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80366FB4); diff --git a/src/core2/code_440B0.c b/src/core2/code_440B0.c index 124738f2..6785512a 100644 --- a/src/core2/code_440B0.c +++ b/src/core2/code_440B0.c @@ -95,14 +95,14 @@ void func_802CB22C(ActorMarker *marker, ActorMarker *other) { void func_802CB310(ParticleEmitter *p_ctrl, f32 position[3]) { particleEmitter_setPosition(p_ctrl, position); - func_802EFA70(p_ctrl, 2); + particleEmitter_setDrawMode(p_ctrl, 2); func_802EF9F8(p_ctrl, 0.7f); func_802EFA18(p_ctrl, 5); func_802EFA20(p_ctrl, 0.8f, 1.0f); - func_802EF9EC(p_ctrl, 0x1F, 10000); + particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); - func_802EFEC0(p_ctrl, 3.5f, 3.5f); - func_802EFA5C(p_ctrl, 0.0f, 0.65f); + particleEmitter_setParticleLifeTimeRange(p_ctrl, 3.5f, 3.5f); + particleEmitter_setFade(p_ctrl, 0.0f, 0.65f); } @@ -111,7 +111,7 @@ void func_802CB3C8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_ particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); func_802EFB70(p_ctrl, 0.5f, 0.8f); - func_802EFE24(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f); particleEmitter_emitN(p_ctrl, 2); } @@ -121,7 +121,7 @@ void func_802CB4B8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_ particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); func_802EFB70(p_ctrl, 0.5f, 0.8f); - func_802EFE24(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(p_ctrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f); particleEmitter_emitN(p_ctrl, 6); } @@ -131,7 +131,7 @@ void func_802CB5A8(ParticleEmitter *p_ctrl, f32 position[3], enum asset_e model_ particleEmitter_setParticleAccelerationRange(p_ctrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(p_ctrl, model_id); func_802EFB70(p_ctrl, 1.0f, 1.0f); - func_802EFE24(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -50.0f, 750.0f, -50.0f, 120.0f, 900.0f, 120.0f); particleEmitter_emitN(p_ctrl, 1); } @@ -199,15 +199,15 @@ void func_802CB7C0(ActorMarker *marker, ActorMarker *other){ func_80324DBC(2.25f, 0xD33, 0xF, sp48, NULL, func_802CB6E4, NULL); } } - p_ctrl = partEmitList_pushNew(2); + p_ctrl = partEmitMgr_newEmitter(2); phi_a2 = (sp40) ? 0x392 : (sp3C) ? 0x569 : 0x38C; func_802CB3C8(p_ctrl, this->position, phi_a2); - p_ctrl = partEmitList_pushNew(6); + p_ctrl = partEmitMgr_newEmitter(6); phi_a2 = (sp40) ? 0x391 : (sp3C) ? 0x568 : 0x38D; func_802CB4B8(p_ctrl, this->position, phi_a2); - p_ctrl = partEmitList_pushNew(1); + p_ctrl = partEmitMgr_newEmitter(1); phi_a2 = (sp40) ? 0x390 : (sp3C) ? 0x567 : 0x38E; func_802CB5A8(p_ctrl, this->position, phi_a2); } diff --git a/src/core2/code_45310.c b/src/core2/code_45310.c index 229b3e7e..865cd809 100644 --- a/src/core2/code_45310.c +++ b/src/core2/code_45310.c @@ -49,7 +49,7 @@ bool func_802CC2A0(Actor *this) { if (!this->marker->unk14_21) { return TRUE; } - func_80255FE4(sp20, local->unk8, local->unk18, func_802575BC(local->unk4 + 0.05)); + ml_interpolate_vec3f(sp20, local->unk8, local->unk18, func_802575BC(local->unk4 + 0.05)); sp20[1] += 60.0f; return func_80320DB0(sp20, 50.0f, sp2C, 0) == 0; } @@ -351,7 +351,7 @@ void func_802CCC5C(Actor *this) { spB0 = (spB0 < spAC) ? spAC : MIN(spA8 , spB0); } func_8030DBB4(local->unk0, spB0); - phi_f12 = 1.0f - ml_vec3f_distance(spC4, this->position) / 2000.0f; + phi_f12 = 1.0f - ml_distance_vec3f(spC4, this->position) / 2000.0f; if(0.0f > phi_f12){ phi_f12 = 0.0f; } @@ -362,7 +362,7 @@ void func_802CCC5C(Actor *this) { } } if (this->unk10_25 != 0) { - if (func_8025773C(&local->unk28, spB8) != 0) { + if (ml_timer_update(&local->unk28, spB8) != 0) { spBC = 2; } if (local->unk3A == 2) { @@ -411,7 +411,7 @@ void func_802CCC5C(Actor *this) { local->unk4 = 1.0f; } sp9C = func_802575BC(local->unk4); - func_80255FE4(this->position, local->unk8, local->unk18, sp9C); + ml_interpolate_vec3f(this->position, local->unk8, local->unk18, sp9C); this->yaw = local->unk14 + (sp9C * (local->unk24 - local->unk14)); if ((func_8033567C(this->unk148) == 0x10E) && (func_80335794(this->unk148) > 0)) { func_80335924(this->unk148, 0x10F, 0.1f, 0.45f); @@ -455,7 +455,7 @@ void func_802CCC5C(Actor *this) { sp68[1] = this->position[1]; sp68[2] = this->position[2]; sp68[0] = 0.0f; - if (ml_vec3f_distance(sp8C, sp68) < 800.0f) { + if (ml_distance_vec3f(sp8C, sp68) < 800.0f) { spBC = 3; } } diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 6841df70..878e60b2 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -122,7 +122,7 @@ void func_802CEDE4(f32 target_position[3], f32 p_ctrl[3], f32 distance, f32 *arg p_ctrl[1] = randf2(-distance, distance); p_ctrl[2] = randf2(-distance, distance); phi_s1++; - }while(phi_s1 < 10 && ml_vec3f_distance(target_position, p_ctrl) < distance); + }while(phi_s1 < 10 && ml_distance_vec3f(target_position, p_ctrl) < distance); *arg3 = randf2(arg4, arg5); } @@ -237,7 +237,7 @@ void chBeeSwarm_802CF434(Actor *this) { local = (ActorLocal_core2_47BD0 *) &this->local; for(phi_s2 = 0, phi_s0 = local->unk8; phi_s2 < local->unk0; phi_s2++){ chBeeSwarm_802CF1C8(phi_s0->unk18, phi_s0->unk0, phi_s0->unkC, phi_s0->unk24[2], 150.0f, phi_s0->unk24, &sp58); - if (ml_vec3f_distance(phi_s0->unk0, phi_s0->unk18) < 50.0f) { + if (ml_distance_vec3f(phi_s0->unk0, phi_s0->unk18) < 50.0f) { func_802CEEA4(this, phi_s0); } phi_s0++; @@ -278,18 +278,18 @@ bool chBeeSwarm_802CF5E4(Actor *this){ 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); - func_802EFA70(p_ctrl, 2); + particleEmitter_setDrawMode(p_ctrl, 2); func_802EF9F8(p_ctrl, 0.5f); func_802EFA18(p_ctrl, 3); func_802EFA20(p_ctrl, 0.8f, 1.0f); - func_802EF9EC(p_ctrl, 0x1F, 10000); + particleEmitter_setSfx(p_ctrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(p_ctrl, 0.0f, 0.01f); - func_802EFEC0(p_ctrl, 2.0f, 2.5f); - func_802EFA5C(p_ctrl, 0.0f, 0.65f); + 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_setModel(p_ctrl,this->marker->modelId); func_802EFB70(p_ctrl, 0.25f, 0.25f); - func_802EFE24(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(p_ctrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(p_ctrl, -300.0f, 750.0f, -300.0f, 300.0f, 900.0f, 300.0f); particleEmitter_emitN(p_ctrl, 1); } @@ -455,12 +455,12 @@ void chBeeSwarm_update(Actor *this) { if (chBeeSwarm_802CF5E4(this)) { func_80328A84(this, 2U); } - if (ml_vec3f_distance(this->position, this->unk1C) < 50.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 50.0f) { func_802CEF54(this, local->unkC, 100.0f); } break; case 2: - if (ml_vec3f_distance(this->position, this->unk1C) < 50.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 50.0f) { func_802CEF54(this, local->unkC, 100.0f); } chBeeSwarm_802CF518(this); @@ -471,7 +471,7 @@ void chBeeSwarm_update(Actor *this) { this->unk1C[2] = spB4[2]; this->unk1C[1] += 50.0f; this->unk28 = 400.0f; - if (ml_vec3f_distance(this->position, this->unk1C) < 100.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 100.0f) { func_802CEF54(this, spB4, 50.0f); func_80328A84(this, 4); } @@ -489,29 +489,29 @@ void chBeeSwarm_update(Actor *this) { sp68[0] = local->unk8[local->unk0].unk0[0] + this->position[0]; sp68[1] = local->unk8[local->unk0].unk0[1] + this->position[1]; sp68[2] = local->unk8[local->unk0].unk0[2] + this->position[2]; - chBeeSwarm_802CF610(this, partEmitList_pushNew(1), sp68); + chBeeSwarm_802CF610(this, partEmitMgr_newEmitter(1), sp68); this->unk60 -= 0.2; } } if (local->unk0 == 0) { marker_despawn(this->marker); } - if (ml_vec3f_distance(this->position, this->unk1C) < 50.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 50.0f) { func_802CEF54(this, (s32 *) spB4, 50.0f); } - if (ml_vec3f_distance(this->position, spB4) > 100.0f) { + if (ml_distance_vec3f(this->position, spB4) > 100.0f) { func_80328A84(this, 3); } chBeeSwarm_802CF57C(this); break; case 5: - if (ml_vec3f_distance(this->position, this->unk1C) < 50.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 50.0f) { func_80328A84(this, 2); } chBeeSwarm_802CF518(this); break; case 6: - if (ml_vec3f_distance(this->position, this->unk1C) < 50.0f) { + if (ml_distance_vec3f(this->position, this->unk1C) < 50.0f) { func_80328A84(this, local->unk6); } break; diff --git a/src/core2/code_49A70.c b/src/core2/code_49A70.c index e93a7743..72b66aed 100644 --- a/src/core2/code_49A70.c +++ b/src/core2/code_49A70.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" #define ABS(s) (((s) >= 0) ? (s) : -(s)) @@ -62,17 +63,17 @@ void chShrapnel_emitExplosion(Actor *this) { ParticleEmitter *temp_v0; func_802BB3DC(0, 60.0f, 0.9f); - temp_v0 = partEmitList_pushNew(1U); + temp_v0 = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(temp_v0, ASSET_4A0_SPRITE_EXPLOSION); - func_802EFA5C(temp_v0, 0.1f, 0.2f); - func_802EFA70(temp_v0, 8); + particleEmitter_setFade(temp_v0, 0.1f, 0.2f); + 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_setPosition(temp_v0, this->position); func_802EFB70(temp_v0, 3.0f, 3.0f); func_802EFB84(temp_v0, 8.0f, 8.0f); - func_802EFEC0(temp_v0, 0.5f, 0.5f); + particleEmitter_setParticleLifeTimeRange(temp_v0, 0.5f, 0.5f); particleEmitter_setParticleVelocityRange(temp_v0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_emitN(temp_v0, 1); } @@ -80,33 +81,33 @@ void chShrapnel_emitExplosion(Actor *this) { void chShrapnel_emitSmoke(Actor *this) { ParticleEmitter *temp_v0; - temp_v0 = partEmitList_pushNew(6U); + temp_v0 = partEmitMgr_newEmitter(6U); particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFA5C(temp_v0, 0.05f, 0.1f); + particleEmitter_setFade(temp_v0, 0.05f, 0.1f); particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setPosition(temp_v0, this->position); func_802EFB70(temp_v0, 1.0f, 1.5f); func_802EFB84(temp_v0, 2.0f, 3.0f); particleEmitter_setParticleSpawnPositionRange(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); - func_802EFFA8(temp_v0, &D_803673F8); - func_802EFEC0(temp_v0, 3.0f, 4.0f); + particleEmitter_setRGB(temp_v0, &D_803673F8); + particleEmitter_setParticleLifeTimeRange(temp_v0, 3.0f, 4.0f); particleEmitter_emitN(temp_v0, 6); } void chShrapnel_emitBodyParts(Actor *this, enum model_e model_id, s32 n) { ParticleEmitter *temp_v0; - temp_v0 = partEmitList_pushNew(n); + 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_setModel(temp_v0, model_id); particleEmitter_setPosition(temp_v0, this->position); func_802EFB70(temp_v0, 0.05f, 2.0f); - func_802EFE24(temp_v0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(temp_v0, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setSpawnIntervalRange(temp_v0, 0.0f, 0.01f); - func_802EFEC0(temp_v0, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(temp_v0, 10.0f, 10.0f); particleEmitter_setParticleVelocityRange(temp_v0, -500.0f, 400.0f, -500.0f, 500.0f, 800.0f, 500.0f); particleEmitter_emitN(temp_v0, n); } diff --git a/src/core2/code_4BE10.c b/src/core2/code_4BE10.c index 2cc6999e..c2517356 100644 --- a/src/core2/code_4BE10.c +++ b/src/core2/code_4BE10.c @@ -29,7 +29,7 @@ void func_802D2DA0(Actor *this) { if (--this->unk38_31 == 0) { marker_despawn(this->marker); } - pCtrl = partEmitList_pushNew((s32) this->unk60); + pCtrl = partEmitMgr_newEmitter((s32) this->unk60); for(phi_s6 = 0; phi_s6 < (s32)this->unk60; phi_s6++){ for(i = 0; i < 3; i++){ sp70[i] = this->position[i] + randf()*2*this->unkF4_8 - ((i == 1)? 0: this->unkF4_8); diff --git a/src/core2/code_509D0.c b/src/core2/code_509D0.c index b3cd473d..7e006830 100644 --- a/src/core2/code_509D0.c +++ b/src/core2/code_509D0.c @@ -60,7 +60,7 @@ struct31s D_80367C34 = {{0.2f, 0.4f}, {0.1f, 0.1f}, {0.0f, 0.01f}, {3.0f, 3.5f}, void func_802D7960(f32 position[3], enum asset_e sprite_id) { ParticleEmitter *p_emitter; - p_emitter = partEmitList_pushNew(1); + p_emitter = partEmitMgr_newEmitter(1); particleEmitter_setSprite(p_emitter, sprite_id); particleEmitter_setStartingFrameRange(p_emitter, 0, 7); particleEmitter_setPosition(p_emitter, position); @@ -73,16 +73,16 @@ void func_802D7960(f32 position[3], enum asset_e sprite_id) { void func_802D7A40(f32 position[3], enum asset_e sprite_id) { ParticleEmitter *p_emitter; - p_emitter = partEmitList_pushNew(8); + 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_setParticleVelocityRange(p_emitter, -100.0f, 200.0f, -100.0f, 100.0f, 350.0f, 100.0f); - func_802EFE24(p_emitter, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f); + particleEmitter_setAngularVelocityRange(p_emitter, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f); func_802EFB70(p_emitter, 0.47f, 0.47f); func_802EFB84(p_emitter, 0.03f, 0.03f); - func_802EFA5C(p_emitter, 0.4f, 0.8f); - func_802EFEC0(p_emitter, 0.9f, 0.9f); + particleEmitter_setFade(p_emitter, 0.4f, 0.8f); + particleEmitter_setParticleLifeTimeRange(p_emitter, 0.9f, 0.9f); particleEmitter_emitN(p_emitter, 8); } diff --git a/src/core2/code_517A0.c b/src/core2/code_517A0.c index 4d45c5a9..9897bd4d 100644 --- a/src/core2/code_517A0.c +++ b/src/core2/code_517A0.c @@ -46,7 +46,7 @@ void func_802D8730(Actor *this) { pCtrl = func_802F4094(this->position, 40.0f); func_802EFB70(pCtrl, 0.05f, 0.06f); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -3400.0f, 0.0f, 0.0f, -3400.0f, 0.0f); - func_802EFFA8(pCtrl, D_80367C84); + 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 9ff8b214..62abb7b2 100644 --- a/src/core2/code_51950.c +++ b/src/core2/code_51950.c @@ -48,7 +48,7 @@ void func_802D88E0(Actor *this) { this->position_y += this->unk1C[1]; } if (this->unk60 > 0.5) { - pCtrl = partEmitList_pushNew(1U); + pCtrl = partEmitMgr_newEmitter(1U); for(i = 0; i < 3; i++){ sp5C[i] = this->position[i] + (randf()*2)*25 - ((i == 1) ? 0 : 25); } diff --git a/src/core2/code_53C10.c b/src/core2/code_53C10.c index 44715271..41386223 100644 --- a/src/core2/code_53C10.c +++ b/src/core2/code_53C10.c @@ -34,15 +34,15 @@ typedef struct { /* .code */ void func_802DABA0(ParticleEmitter *pCtrl, f32 position[3], f32 scale, enum asset_e model_id) { particleEmitter_setPosition(pCtrl, position); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); func_802EF9F8(pCtrl, 0.7f); func_802EFA18(pCtrl, 5); func_802EFA20(pCtrl, 0.8f, 1.0f); - func_802EF9EC(pCtrl, 0x1F, 6000); + particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 6000); func_802EFB70(pCtrl, scale, scale); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 3.5f, 3.5f); - func_802EFA5C(pCtrl, 0.0f, 0.65f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.5f, 3.5f); + particleEmitter_setFade(pCtrl, 0.0f, 0.65f); particleEmitter_setModel(pCtrl, model_id); } @@ -53,7 +53,7 @@ void func_802DAC84(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { }; particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_80367EA0); func_802DABA0(pCtrl, this->position, this->scale, model_id); - func_802EFE24(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_emitN(pCtrl, 6); } @@ -65,7 +65,7 @@ void func_802DAD08(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { }; particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_80367ED0); func_802DABA0(pCtrl, this->position, this->scale, model_id); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_emitN(pCtrl, 1); } @@ -76,7 +76,7 @@ void func_802DAD8C(ParticleEmitter *pCtrl, Actor *this, enum asset_e model_id) { }; particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_80367F00); func_802DABA0(pCtrl, this->position, this->scale, model_id); - func_802EFE24(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_emitN(pCtrl, 2); } diff --git a/src/core2/code_54D50.c b/src/core2/code_54D50.c index 5df1fa3e..aa1a197d 100644 --- a/src/core2/code_54D50.c +++ b/src/core2/code_54D50.c @@ -27,7 +27,7 @@ struct40s D_80367F60 = { { {0.1f, 0.5f}, {1.0f, 1.5f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f }, - 4.0f, 1.0f + 4, 1 }; struct43s D_80367F90 ={ @@ -38,23 +38,23 @@ struct43s D_80367F90 ={ /* .code */ void func_802DBCE0(ParticleEmitter *pCtrl, f32 arg1[3]){ - ParticleEmitter *other = partEmitList_pushNew(1); + ParticleEmitter *other = partEmitMgr_newEmitter(1); if(func_8024549C(arg1, 4.0f)){ arg1[1] += 2.0f; particleEmitter_setSprite(other, ASSET_70C_SPRITE_RIPPLE); - func_802EFA70(other, 1); + particleEmitter_setDrawMode(other, 1); particleEmitter_setPosition(other, arg1); func_802EFB70(other, 0.1f, 0.1f); func_802EFB84(other, 1.0f, 1.4f); - func_802EFEC0(other, 1.0f, 1.4f); - func_802EFA5C(other, 0.0f, 0.5f); + particleEmitter_setParticleLifeTimeRange(other, 1.0f, 1.4f); + particleEmitter_setFade(other, 0.0f, 0.5f); particleEmitter_emitN(other, 1); func_8030E878(SFX_413_WATER_RIPPLE, randf2(1.0f, 1.4f), 0x4e20, arg1, 0.0f, 3500.0f); } else{//L802DBDF4 particleEmitter_setSprite(other, ASSET_700_SPRITE_DUST); particleEmitter_setStartingFrameRange(other, 0, 7); - func_802EFFA8(other, D_80367F54); + particleEmitter_setRGB(other, D_80367F54); particleEmitter_setPosition(other, arg1); particleEmitter_setParticleVelocityRange(other, -230.0f, 30.0f, -230.0f, 230.0f, 110.0f, 230.0f); func_802EFC28(other, &D_80367F60); @@ -66,14 +66,14 @@ void func_802DBE9C(Actor *this, ParticleEmitter *pCtrl){ particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80367F90); particleEmitter_setModel(pCtrl, 0x344); particleEmitter_setPosition(pCtrl, this->position); - func_802EFA70(pCtrl, 4); - func_802EFE24(pCtrl, -450.0f, -450.0f, -450.0f, 450.0f, 450.0f, 450.0f); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_setAngularVelocityRange(pCtrl, -450.0f, -450.0f, -450.0f, 450.0f, 450.0f, 450.0f); func_802EFA18(pCtrl, 1); particleEmitter_setParticleCallback(pCtrl, func_802DBCE0); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 7.0f, 7.0f); - func_802EFA5C(pCtrl, 0.0f, 0.3f); - func_802F0D54(pCtrl); + particleEmitter_setParticleLifeTimeRange(pCtrl, 7.0f, 7.0f); + particleEmitter_setFade(pCtrl, 0.0f, 0.3f); + particleEmitter_manualFree(pCtrl); } int func_802DBF94(Actor *this, s32 arg1){ @@ -91,7 +91,7 @@ void func_802DC018(Actor *this){ if(!this->unk16C_4){ actor_collisionOff(this); - local->unk0 = partEmitList_pushNew(16); + local->unk0 = partEmitMgr_newEmitter(16); func_802DBE9C(this, local->unk0); this->unk16C_4 = TRUE; } diff --git a/src/core2/code_55180.c b/src/core2/code_55180.c index e30b35fd..af286667 100644 --- a/src/core2/code_55180.c +++ b/src/core2/code_55180.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + extern bool func_8024DB50(f32[3], f32); @@ -27,11 +29,11 @@ struct40s D_80368004 = { void func_802DC110(f32 *position, enum asset_e sprite_id) { ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, position); - func_802EFA70(pCtrl, 0x10); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); func_802EFC28(pCtrl, &D_80368004); } diff --git a/src/core2/code_59D40.c b/src/core2/code_59D40.c index 41766497..da6fd39d 100644 --- a/src/core2/code_59D40.c +++ b/src/core2/code_59D40.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -extern f32 ml_vec3f_distance_squared(f32 [3], f32 [3]); +extern f32 ml_distanceSquared_vec3f(f32 [3], f32 [3]); extern f32 func_80309B24(f32[3]); extern void func_80328FF0(Actor *, f32); extern void mapSpecificFlags_setN(s32, s32, s32); @@ -78,7 +78,7 @@ bool func_802E0DC0(f32 arg0[3]){ f32 pad0; player_getPosition(sp2C); - return (4000000.0f < ml_vec3f_distance_squared(sp2C, arg0)) + return (4000000.0f < ml_distanceSquared_vec3f(sp2C, arg0)) || ( (arg0[1] - func_80309724(arg0) < 70.0f) && (func_80309B24(arg0) - arg0[1] < 70.0f)); } diff --git a/src/core2/code_5BEB0.c b/src/core2/code_5BEB0.c index 9783381a..a1159ed9 100644 --- a/src/core2/code_5BEB0.c +++ b/src/core2/code_5BEB0.c @@ -16,7 +16,7 @@ void func_802E3BD0(s32 frame_buffer_indx); int func_802E49F0(void); /* .code */ -void func_802E2E40(void){ +void mapSavestate_init(void){ int i; for(i = 0; i < 0x9A; i++){ D_8037E650[i] = 0; diff --git a/src/core2/code_5C870.c b/src/core2/code_5C870.c index c2f957b0..66f5b091 100644 --- a/src/core2/code_5C870.c +++ b/src/core2/code_5C870.c @@ -152,7 +152,7 @@ void func_802E39D0(Gfx **gdl, Mtx **mptr, Vtx **vptr, s32 arg3, s32 arg4){ gcdialog_draw(gdl, mptr, vptr); if(!func_802E49F0()){ - func_802FAB54(gdl, mptr, vptr); + itemPrint_draw(gdl, mptr, vptr); } printbuffer_draw(gdl, mptr, vptr); @@ -264,7 +264,7 @@ void func_802E3E7C(enum game_mode_e mode){ map = D_8037E8E0.map; sp28 = D_8037E8E0.exit; prev_mode = D_8037E8E0.unk0; - func_802E3BF8(2, 0); + func_802E3BF8(GAME_MODE_2_UNKNOWN, 0); if(!func_80320454(0x21, 0) || map_getLevel(map_get()) == map_getLevel(D_8037E8E0.map)){ if(!func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)) mapSavestate_save(map_get()); @@ -356,8 +356,8 @@ void func_802E412C(s32 arg0, s32 arg1){ } void func_802E4170(void){ - func_802E3BF8(2,0); - func_80240844(); + func_802E3BF8(GAME_MODE_2_UNKNOWN,0); + defragManager_free(); func_802E5F68(); if(!func_802E4A08()) func_802F4F64(); @@ -374,7 +374,7 @@ void func_802E4170(void){ func_8030D8DC(); } -void func_802E4214(s32 arg0){ +void func_802E4214(enum map_e map_id){ D_8037E8E0.transition = TRANSITION_0_NONE; D_8037E8E0.unk19 = D_8037E8E0.unk18 = 0; D_8037E8E0.map = D_8037E8E0.exit = D_8037E8E0.unk17 = 0; @@ -392,7 +392,7 @@ void func_802E4214(s32 arg0){ if(!func_802E4A08()) func_802F51B8(); func_802E5F38(); - func_802407C0(); + defragManager_init(); func_8033A1A4(); func_80253428(1); func_80288070(); @@ -408,12 +408,12 @@ void func_802E4214(s32 arg0){ D_8037E8E0.unk8 = 0.0f; func_8033DC9C(0.0f); func_8033DD04(0); - func_803216D0(arg0); - func_8030AFA0(arg0); + func_803216D0(map_id); + func_8030AFA0(map_id); func_802E3854(); - func_802E38E8(arg0, 0, 0); + func_802E38E8(map_id, 0, 0); D_8037E8E0.unk0 = 0; - func_802E3BF8(3,1); + func_802E3BF8(GAME_MODE_3_NORMAL,1); } void func_802E4384(void){ @@ -579,8 +579,8 @@ void func_802E48B8(enum game_mode_e mode, s32 arg1){ func_802E3BF8(mode, arg1); } -s32 func_802E48D8(void){ - func_802555C4(); +s32 game_defrag(void){ + func_802555C4(); //reset defragged flag in memory.c if( !level_get() ) return NULL; @@ -590,7 +590,7 @@ s32 func_802E48D8(void){ func_802BA128(); modelRender_defrag(); func_8028FB68(); - func_802F0E58(); + partEmitMgr_defrag(); mapModel_defrag(); func_803086B4(); actorArray_defrag(); @@ -600,7 +600,7 @@ s32 func_802E48D8(void){ gcdialog_defrag(); if(D_8037E8E0.game_mode == GAME_MODE_4_PAUSED) gcpausemenu_defrag(); - switch(get_loaded_overlay_id()){ + switch(overlayManagergetLoadedId()){ case OVERLAY_2_WHALE: func_803894A0(); break; @@ -608,7 +608,7 @@ s32 func_802E48D8(void){ func_80350E00(); break; } - return func_802555D0(); + return func_802555D0(); //returns defrag flag in memory.c } void func_802E49E0(void){ diff --git a/src/core2/code_5FD90.c b/src/core2/code_5FD90.c index f6943d78..9721920a 100644 --- a/src/core2/code_5FD90.c +++ b/src/core2/code_5FD90.c @@ -213,15 +213,15 @@ bool func_802E74A0(f32 arg0[3], f32 arg1, f32 arg2[3], f32 arg3[3]) { sp24[0] = (arg2[0] + arg3[0]) / 2; sp24[1] = (arg2[1] + arg3[1]) / 2; sp24[2] = (arg2[2] + arg3[2]) / 2; - sp20 = ml_vec3f_distance(sp24, arg0); - if ((ml_vec3f_distance(sp24, arg2) + arg1) <= sp20) { + sp20 = ml_distance_vec3f(sp24, arg0); + if ((ml_distance_vec3f(sp24, arg2) + arg1) <= sp20) { return FALSE; } return TRUE; } bool func_802E7588(f32 arg0[3], f32 arg1, f32 arg2[3], f32 arg3) { - return (ml_vec3f_distance(arg0, arg2) < (arg1 + arg3)); + return (ml_distance_vec3f(arg0, arg2) < (arg1 + arg3)); } void func_802E75D0(f32 p1[3], f32 p2[3], s32 boundMin[3], s32 boundMax[3], f32 diff[3]) { @@ -740,7 +740,7 @@ s32 func_802E9118(BKCollisionList * collision_list, BKVertexList *vtx_list, f32 s32 sp3C; s32 i; - if (((f32)vtx_list->unk16 * arg4) <= (ml_vec3f_distance(arg6, arg2) - arg7)) { + if (((f32)vtx_list->unk16 * arg4) <= (ml_distance_vec3f(arg6, arg2) - arg7)) { return 0; } mlMtxIdent(); @@ -976,7 +976,7 @@ s32 func_802E9DD8(BKCollisionList *collisionList, BKVertexList *vtxList, f32 arg s32 sp30; s32 i; - if ((vtxList->unk16 * arg4) <= (ml_vec3f_distance(arg5, arg2) - arg6)) { + if ((vtxList->unk16 * arg4) <= (ml_distance_vec3f(arg5, arg2) - arg6)) { return 0; } mlMtxIdent(); diff --git a/src/core2/code_637D0.c b/src/core2/code_637D0.c index ab033f09..35ae7db6 100644 --- a/src/core2/code_637D0.c +++ b/src/core2/code_637D0.c @@ -346,7 +346,7 @@ s32 func_802EB8A0(BKModelUnk14List *arg0, f32 *position, f32 *rotation, f32 scal sp44[1] = sp5C[1] - sp68[1]; sp44[2] = sp5C[2] - sp68[2]; temp_f0 = gu_sqrtf(sp44[0]*sp44[0] + sp44[1]*sp44[1] + sp44[2]*sp44[2]); - if ((arg7 + temp_f0 >= ml_vec3f_distance(sp68, sp74))) { + if ((arg7 + temp_f0 >= ml_distance_vec3f(sp68, sp74))) { return (s32) var_s0->unk8; } } @@ -525,7 +525,7 @@ s32 func_802EC238(BKModelUnk14List *arg0, f32 arg1[3], f32 arg2[3], f32 arg3, f3 sp40[1] = var_s0->unk2[1]; sp40[2] = var_s0->unk2[2]; arg3 = var_s0->unk0; - if (ml_vec3f_distance(sp40, sp54) < arg3) + if (ml_distance_vec3f(sp40, sp54) < arg3) return var_s0->unk8; if (!var_s0->unk0){ diff --git a/src/core2/code_66D90.c b/src/core2/code_66D90.c index 665d5a44..50b5fa4a 100644 --- a/src/core2/code_66D90.c +++ b/src/core2/code_66D90.c @@ -29,8 +29,8 @@ void func_802EDD68(ParticleEmitter *caller, f32 pos[3]){ ParticleEmitter *func_802EDD8C(f32 pos[3], f32 xz_range, f32 arg2){ ParticleEmitter *pCtrl = func_802F0EF0(D_803808F0); particleEmitter_setSprite(pCtrl, ASSET_70A_SPRITE_BUBBLE_1); - func_802EFA70(pCtrl, 4); - func_802EF9E4(pCtrl, 0xff); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_setAlpha(pCtrl, 0xff); particleEmitter_setParticleAccelerationRange( pCtrl, 0.0f, 150.0f, 0.0f, 0.0f, 150.0f, 0.0f @@ -38,14 +38,14 @@ ParticleEmitter *func_802EDD8C(f32 pos[3], f32 xz_range, f32 arg2){ func_802EFA18(pCtrl, 1); func_802EFA34(pCtrl, arg2); particleEmitter_setParticleCallback(pCtrl, func_802EDD68); - func_802EFA5C(pCtrl, 0.0f, 0.8f); - func_802EFEC0(pCtrl, 4.0f, 4.0f); + particleEmitter_setFade(pCtrl, 0.0f, 0.8f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 4.0f, 4.0f); particleEmitter_setParticleSpawnPositionRange( pCtrl, -xz_range, 0.0f, -xz_range, xz_range, 0.0f, xz_range ); particleEmitter_setPosition(pCtrl, pos); - func_802EFFA8(pCtrl, D_80368850); + particleEmitter_setRGB(pCtrl, D_80368850); func_802EFB70(pCtrl, 0.05f, 0.09f); func_802EFB84(pCtrl, 0.05f, 0.09f); func_802EFF50(pCtrl, 10.0f); diff --git a/src/core2/code_66FB0.c b/src/core2/code_66FB0.c index fc877760..8331167d 100644 --- a/src/core2/code_66FB0.c +++ b/src/core2/code_66FB0.c @@ -41,12 +41,12 @@ s32 D_8036889C[] = { /* .code */ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5, f32 arg6[3], f32 arg7[3]){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); f32 tmp_f0; if(arg1 < 0x3e7){ particleEmitter_setModel(pCtrl, D_80368860[arg1]); func_802EFB70(pCtrl, arg3 * 0.6, arg3 * 1.1); - func_802EFE24(pCtrl, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(pCtrl, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.0f); } else{//L802EE008 particleEmitter_setSprite(pCtrl, D_8036889C[arg1 - 0x3e8]); @@ -58,7 +58,7 @@ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5, } func_802EFB70(pCtrl, arg3, arg3); func_802EFB84(pCtrl, arg3, arg3); - func_802EFE24(pCtrl, 0, 0, 0, 0, 0, 0); + particleEmitter_setAngularVelocityRange(pCtrl, 0, 0, 0, 0, 0, 0); func_802EFF9C(pCtrl, 0); }//L802EE0B4 particleEmitter_setParticleAccelerationRange(pCtrl, @@ -72,7 +72,7 @@ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5, 10.0f, 10.0f, 10.0f ); particleEmitter_setSpawnIntervalRange(pCtrl, 0, 0.01f); - func_802EFEC0(pCtrl, arg5, arg5); + particleEmitter_setParticleLifeTimeRange(pCtrl, arg5, arg5); if(arg7){ tmp_f0 = arg7[0]*arg4; particleEmitter_setParticleVelocityRange(pCtrl, @@ -87,8 +87,8 @@ void func_802EDF40(f32 pos[3], s32 arg1, s32 cnt, f32 arg3, f32 arg4, f32 arg5, ); } if(arg6){ - func_802EFFA8(pCtrl, arg6); - func_802EF9E4(pCtrl, reinterpret_cast(s32, arg6[3])); + particleEmitter_setRGB(pCtrl, arg6); + particleEmitter_setAlpha(pCtrl, reinterpret_cast(s32, arg6[3])); } particleEmitter_setPosition(pCtrl, pos); diff --git a/src/core2/code_67650.c b/src/core2/code_67650.c index 2db48ae0..f3c81429 100644 --- a/src/core2/code_67650.c +++ b/src/core2/code_67650.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + /* .data */ s16 D_80368930[3] = { @@ -22,7 +24,7 @@ void func_802EE5E8(ParticleEmitter *this){ } bool func_802EE5F0(s32 arg0){ - return (arg0 < 3) ? !func_802EF648(func_802F0EF0(D_80380910[arg0])) : FALSE; + return (arg0 < 3) ? !particleEmitter_isDone(func_802F0EF0(D_80380910[arg0])) : FALSE; } void func_802EE63C(void) { @@ -52,7 +54,7 @@ void func_802EE6CC(f32 position[3], f32 velocity[3], s32 color[4], s32 arg3, f32 sp3C = 0x28; p_ctrl = func_802F0EF0(D_80380910[arg8]); particleEmitter_setSprite(p_ctrl, D_80368930[arg8]); - func_802EFA5C(p_ctrl, 0.075f, 0.4f); + 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); @@ -67,14 +69,14 @@ void func_802EE6CC(f32 position[3], f32 velocity[3], s32 color[4], s32 arg3, f32 } particleEmitter_setParticleVelocityRange(p_ctrl, sp40[0], sp40[1], sp40[2], sp40[0], sp40[1], sp40[2]); if (color != NULL) { - func_802EFFA8(p_ctrl, color); - func_802EF9E4(p_ctrl, color[3]); + particleEmitter_setRGB(p_ctrl, color); + particleEmitter_setAlpha(p_ctrl, color[3]); } if (arg3 == 0) { - sp3C = 0x38; + sp3C = PART_EMIT_NO_OPA | PART_EMIT_NO_DEPTH | PART_EMIT_NO_LOOP; } - func_802EFA70(p_ctrl, sp3C); - func_802EFEC0(p_ctrl, arg4, arg4); + particleEmitter_setDrawMode(p_ctrl, sp3C); + particleEmitter_setParticleLifeTimeRange(p_ctrl, arg4, arg4); func_802EFB70(p_ctrl, arg6 / 175.0, arg6 / 175.0); func_802EFB84(p_ctrl, (arg6 + arg7) / 175.0, (arg6 + arg7) / 175.0); if (arg8 == 0) { diff --git a/src/core2/code_69F60.c b/src/core2/code_69F60.c index 6d22f65a..1380ee32 100644 --- a/src/core2/code_69F60.c +++ b/src/core2/code_69F60.c @@ -20,8 +20,8 @@ Struct_Core2_69F60_0 D_80380938[16]; ParticleEmitter *func_802F0EF0(u8 arg0){ if(D_80380938[arg0].p_emitter == NULL){ D_80380930 = arg0; - D_80380938[arg0].p_emitter = partEmitList_pushNew(D_80380938[arg0].capacity); - func_802F0D54(D_80380938[arg0].p_emitter); + D_80380938[arg0].p_emitter = partEmitMgr_newEmitter(D_80380938[arg0].capacity); + particleEmitter_manualFree(D_80380938[arg0].p_emitter); D_80380930 = 0; } D_80380938[arg0].unk0 = 1.0f; @@ -59,7 +59,7 @@ void func_802F1104(void){ void func_802F1190(u8 arg0){ if(D_80380938[arg0].p_emitter){ - partEmitList_remove(D_80380938[arg0].p_emitter); + partEmitMgr_freeEmitter(D_80380938[arg0].p_emitter); } D_80380938[arg0].unk8_31 = 0; } @@ -69,11 +69,11 @@ void func_802F11E8(void){ for(i = 1; i < 16; i++){ if( D_80380938[i].unk8_31 != 0 && D_80380938[i].p_emitter != NULL - && func_802EF648(D_80380938[i].p_emitter) + && particleEmitter_isDone(D_80380938[i].p_emitter) ){ D_80380938[i].unk0 -= time_getDelta(); if(D_80380938[i].unk0 <= 0.0f){ - partEmitList_remove(D_80380938[i].p_emitter); + partEmitMgr_freeEmitter(D_80380938[i].p_emitter); D_80380938[i].p_emitter = NULL; } } @@ -87,7 +87,7 @@ void func_802F1294(void){ && D_80380938[i].p_emitter != NULL && i != D_80380930 ){ - partEmitList_remove(D_80380938[i].p_emitter); + partEmitMgr_freeEmitter(D_80380938[i].p_emitter); D_80380938[i].p_emitter = NULL; } } @@ -99,7 +99,7 @@ void func_802F1320(void){ if( D_80380938[i].unk8_31 != 0 && D_80380938[i].p_emitter != NULL ){ - D_80380938[i].p_emitter = func_802F0D74(D_80380938[i].p_emitter); + D_80380938[i].p_emitter = partEmitMgr_defragEmitter(D_80380938[i].p_emitter); } } } diff --git a/src/core2/code_6A4B0.c b/src/core2/code_6A4B0.c index e5c3617c..e2103123 100644 --- a/src/core2/code_6A4B0.c +++ b/src/core2/code_6A4B0.c @@ -4,27 +4,15 @@ extern s16 D_803A5D00[2][0xF660]; - typedef struct Struct_Core2_6A4B0_2{ - void *unk0; - void *unk4; - s32 unk8; - void (*unkC)(struct Struct_Core2_6A4B0_2 *, Gfx **, Mtx **, Vtx **); - s32 unk10; + s16 (*vtx_coord)[3]; + u16 *tmem_raw_ptr; + u16 *tmem_ptr; + void (*draw_method)(struct Struct_Core2_6A4B0_2 *, Gfx **, Mtx **, Vtx **); + bool unk10; }Struct_Core2_6A4B0_2; -typedef struct { - s16 unk0[3]; -}Struct_Core2_6A4B0_1; - -typedef struct { - u8 pad0[0x8]; - u16 *unk8; - u8 padC[4]; - s32 unk10; -}Struct_Core2_6A4B0_0; - -s32 func_802F1804(s32 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); +s16 *func_802F1804(Struct_Core2_6A4B0_2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4); void func_802F18B8(Struct_Core2_6A4B0_2 *arg0); /* .data */ @@ -39,36 +27,36 @@ Gfx D_803689D0[] = { gsSPEndDisplayList() }; -s32 D_80368A10[6] = {0x60, 0x840, 0x60, 0x840, 0x840, 0x60}; -s32 D_80368A28[6] = {0x60, 0x60, 0x860, 0x60, 0x860, 0x860}; -s32 D_80368A40[6] = {0, 1, 0, 1, 1, 0}; -s32 D_80368A58[6] = {0, 0, 1, 0, 1, 1}; -s32 D_80368A70[6] = {0, 1, 0, 1, 1, 0}; -s32 D_80368A88[6] = {0, 0, 1, 0, 1, 1}; + + /* .code */ #ifndef NONMATCHING +s32 D_80368A10[6] = {0x60, 0x840, 0x60, 0x840, 0x840, 0x60}; +s32 D_80368A28[6] = {0x60, 0x60, 0x860, 0x60, 0x860, 0x860}; void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx); #pragma GLOBAL_ASM("asm/nonmatchings/core2/code_6A4B0/func_802F1440.s") #else void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx) { + Vtx *start_vtx; + Vtx *sp9C; - Vtx *var_s2_2; + s32 *var_s1; + s32 *var_s2; + s16 *temp_v0_2; + s32 var_s3; s32 sp54; s32 sp50; s32 sp4C; - s32 var_s3; - Struct_Core2_6A4B0_1 *temp_v0_2; - s32 *var_s1; - s32 *var_s2; - u16* temp; + static s32 D_80368A10[6] = {0x60, 0x840, 0x60, 0x840, 0x840, 0x60}; + static s32 D_80368A28[6] = {0x60, 0x60, 0x860, 0x60, 0x860, 0x860}; - if (arg0->unk10 == 0) { + if (!arg0->unk10) { func_8024C7B8(gfx, mtx); } gSPDisplayList((*gfx)++, D_803689D0); - var_s2_2 = sp9C = *vtx; + start_vtx = sp9C = *vtx; for(sp4C = 0; sp4C < 6; sp4C++){ for(sp50 = 0; sp50 < 9; sp50++){ for(sp54 = 0; sp54 < 2; sp54++){ @@ -76,9 +64,9 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx) var_s2 = D_80368A28 + 3*sp54; for(var_s3 = 0; var_s3 < 3; var_s3++){ temp_v0_2 = func_802F1804(arg0, sp50, sp4C, sp54, var_s3); - sp9C->n.ob[0] = temp_v0_2->unk0[0]; - sp9C->n.ob[1] = temp_v0_2->unk0[1]; - sp9C->n.ob[2] = temp_v0_2->unk0[2]; + sp9C->n.ob[0] = temp_v0_2[0]; + sp9C->n.ob[1] = temp_v0_2[1]; + sp9C->n.ob[2] = temp_v0_2[2]; sp9C->n.flag = 0; @@ -96,13 +84,13 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx) } } *vtx = sp9C; - sp9C = var_s2_2; + sp9C = start_vtx; var_s3 = 0; gSPVertex((*gfx)++, osVirtualToPhysical(sp9C), 16, 0); for(sp4C = 0; sp4C < 6; sp4C++){ for(sp50 = 0; sp50 < 9; sp50++){ - temp = (0x20*sp50 + 1) + ((u16*)arg0->unk8 + (0x20*sp4C + 0xC)*framebuffer_width); - gDPLoadTextureTile((*gfx)++, osVirtualToPhysical(temp), G_IM_FMT_RGBA, G_IM_SIZ_16b, framebuffer_width, 0, 0, 0, 33, 33, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + temp_v0_2 = arg0->tmem_ptr + (0x20*sp50 + 1) + (0x20*sp4C + 0xC)*framebuffer_width; + gDPLoadTextureTile((*gfx)++, osVirtualToPhysical(temp_v0_2), G_IM_FMT_RGBA, G_IM_SIZ_16b, framebuffer_width, 0, 0, 0, 33, 33, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); for(sp54 = 0; sp54 < 2; sp54++){ gSP1Triangle((*gfx)++, var_s3, var_s3 + 1, var_s3 + 2, 0); var_s3 += 3; @@ -114,32 +102,32 @@ void func_802F1440(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx) } } } - if (arg0->unk10 == 0) { + if (!arg0->unk10) { func_8024C904(gfx, mtx); } } #endif -s32 func_802F1804(s32 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { - return *arg0 + (arg1 * 0x24) + (arg2 * 0x144) + (arg3 * 0x12) + (arg4 * 6); +s16 *func_802F1804(Struct_Core2_6A4B0_2 *arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { + return (s16*)(arg0->vtx_coord + (arg1 * 2*3) + (arg2 * 2*3*9) + (arg3 * 3) + (arg4)); } void func_802F1858(Struct_Core2_6A4B0_2 *arg0, Gfx **gfx, Mtx **mtx, Vtx **vtx){ - if(arg0->unkC != NULL){ - arg0->unkC(arg0, gfx, mtx, vtx); + if(arg0->draw_method != NULL){ + arg0->draw_method(arg0, gfx, mtx, vtx); } } void func_802F1884(Struct_Core2_6A4B0_2 *arg0){ func_802F18B8(arg0); - free(arg0->unk0); + free(arg0->vtx_coord); free(arg0); } void func_802F18B8(Struct_Core2_6A4B0_2 *arg0){ - if(arg0->unk4 != NULL){ - free(arg0->unk4); - arg0->unk4 = NULL; + if(arg0->tmem_raw_ptr != NULL){ + free(arg0->tmem_raw_ptr); + arg0->tmem_raw_ptr = NULL; } } @@ -147,27 +135,27 @@ Struct_Core2_6A4B0_2 *func_802F18F0(void){ Struct_Core2_6A4B0_2 *self; self = (Struct_Core2_6A4B0_2 *) malloc(sizeof(Struct_Core2_6A4B0_2)); - self->unk0 = malloc(0x798); - self->unk4 = 0; - self->unkC = 0; + self->vtx_coord = malloc(6*9*2*3*3*sizeof(u16)); + self->tmem_raw_ptr = NULL; + self->draw_method = 0; self->unk10 = 0; return self; } void func_802F1934(Struct_Core2_6A4B0_2 * arg0, s32 arg1){ func_802F18B8(arg0); - arg0->unk4 = malloc(framebuffer_width*framebuffer_height*sizeof(u16) + 0x10); - arg0->unk8 = arg0->unk4; - while((arg0->unk8 & 0x10) == 0){ - (arg0->unk8)++; + arg0->tmem_raw_ptr = malloc(framebuffer_width*framebuffer_height*sizeof(u16) + 0x10); + arg0->tmem_ptr = arg0->tmem_raw_ptr; + while(((s32)arg0->tmem_ptr & 0x10) == 0){ + arg0->tmem_ptr = (u16*)((s32)arg0->tmem_ptr + 1); } - func_80253010(arg0->unk8, D_803A5D00[arg1], framebuffer_width*framebuffer_height*sizeof(u16)); + func_80253010(arg0->tmem_ptr, D_803A5D00[arg1], framebuffer_width*framebuffer_height*sizeof(u16)); osWriteBackDCacheAll(); } void func_802F1A08(s32 arg0) { } -void func_802F1A10(Struct_Core2_6A4B0_2 *arg0, f32 arg1) { +void func_802F1A10(Struct_Core2_6A4B0_2 *arg0, f32 angle_degrees) { s32 spCC[3]; f32 spC0[3]; f32 temp_f0; @@ -184,9 +172,11 @@ void func_802F1A10(Struct_Core2_6A4B0_2 *arg0, f32 arg1) { s32 sp90; s32 var_s6; s16 *temp_v0_2; + static s32 D_80368A40[6] = {0, 1, 0, 1, 1, 0}; + static s32 D_80368A58[6] = {0, 0, 1, 0, 1, 1}; - cos = cosf(arg1 * 2 * BAD_PI); - sin = sinf(arg1 * 2 * BAD_PI); + cos = cosf(angle_degrees * 2 * BAD_PI); + sin = sinf(angle_degrees * 2 * BAD_PI); func_8024C5CC(spC0); spCC[0] = (-(framebuffer_width / 2) * 4) + 8; spCC[1] = ((framebuffer_height / 2) * 4) - 0x38; @@ -201,15 +191,15 @@ void func_802F1A10(Struct_Core2_6A4B0_2 *arg0, f32 arg1) { temp_f0 = (f32) (spCC[0] + var_s4 * 0x80 + (*var_s1 * 0x80)); temp_f2 = (f32) (spCC[1] - var_s6 * 0x80 - (*var_s2 * 0x80)); - temp_f0 = temp_f0 * (1.0f - arg1); - temp_f2 = temp_f2 * (1.0f - arg1); + temp_f0 = temp_f0 * (1.0f - angle_degrees); + temp_f2 = temp_f2 * (1.0f - angle_degrees); temp_f12 = temp_f0; temp_f0 = (temp_f12 * cos) - (temp_f2 * sin); temp_f2 = (temp_f12 * sin) + (temp_f2 * cos); - temp_f0 = temp_f0 + ((-560.0f - temp_f0) * arg1); - temp_f2 = temp_f2 + ((400.0f - temp_f2) * arg1); + temp_f0 = temp_f0 + ((-560.0f - temp_f0) * angle_degrees); + temp_f2 = temp_f2 + ((400.0f - temp_f2) * angle_degrees); temp_v0_2[0] = (s16) (s32) temp_f0; temp_v0_2[1] = (s16) (s32) temp_f2; @@ -220,11 +210,14 @@ void func_802F1A10(Struct_Core2_6A4B0_2 *arg0, f32 arg1) { } } } - arg0->unkC = &func_802F1440; - arg0->unk10 = 0; + arg0->draw_method = &func_802F1440; + arg0->unk10 = FALSE; } void func_802F1CAC(Struct_Core2_6A4B0_2 *arg0) { + static s32 D_80368A70[6] = {0, 1, 0, 1, 1, 0}; + static s32 D_80368A88[6] = {0, 0, 1, 0, 1, 1}; + s32 sp84[3]; f32 sp78[3]; s32 var_s0; @@ -258,6 +251,6 @@ void func_802F1CAC(Struct_Core2_6A4B0_2 *arg0) { } } } - arg0->unkC = &func_802F1440; - arg0->unk10 = 1; + arg0->draw_method = &func_802F1440; + arg0->unk10 = TRUE; } diff --git a/src/core2/code_6AEF0.c b/src/core2/code_6AEF0.c index 2d1ad048..a0682f5f 100644 --- a/src/core2/code_6AEF0.c +++ b/src/core2/code_6AEF0.c @@ -25,10 +25,10 @@ ParticleEmitter *func_802F1EC8(f32 *position) { particleEmitter_setPosition(p_emitter, position); particleEmitter_setSprite(p_emitter, ASSET_700_SPRITE_DUST); particleEmitter_setParticleVelocityRange(p_emitter, -10.0f, 10.0f, -10.0f, 10.0f, 240.0f, 10.0f); - func_802EFFA8(p_emitter, D_80368AA0); - func_802EFA5C(p_emitter, 0.2f, 0.3f); + particleEmitter_setRGB(p_emitter, D_80368AA0); + particleEmitter_setFade(p_emitter, 0.2f, 0.3f); func_802EFB70(p_emitter, 0.2f, 0.4f); func_802EFB84(p_emitter, 0.85f, 0.9f); - func_802EFEC0(p_emitter, 0.3f, 0.35f); + particleEmitter_setParticleLifeTimeRange(p_emitter, 0.3f, 0.35f); return p_emitter; } diff --git a/src/core2/code_6B30.c b/src/core2/code_6B30.c index 7b3e6200..7bcac737 100644 --- a/src/core2/code_6B30.c +++ b/src/core2/code_6B30.c @@ -101,7 +101,7 @@ bool func_8028DD60(enum actor_e actor_id, Actor **arg1){ if(m2 && actor->modelCacheIndex != actor_id) return 0; - carriedObject_setActorID(actor_id); + baMarker_setCarriedObject(actor_id); if(!item_empty(carriedobj_actorId2ItemId(actor_id))){ func_8028F66C(BS_INTR_12); } @@ -113,7 +113,7 @@ void func_8028DE0C(enum actor_e actor_id){ Actor *actor; f32 sp20[3]; - playerModel_getPosition(sp20); + baModel_getPosition(sp20); actor = func_8032813C(actor_id, sp20, (s32) yaw_get()); actor->unk138_22 = TRUE; func_802948F8(actor->marker); @@ -133,7 +133,7 @@ void func_8028DE6C(enum actor_e actor_id){ func_802948F8(marker); } else{ - __spawnQueue_add_1((GenMethod_1)func_8028DE0C, carriedObject_getActorID()); + __spawnQueue_add_1((GenMethod_1)func_8028DE0C, baMarker_getCarriedObjectActorId()); } } diff --git a/src/core2/code_6C3E0.c b/src/core2/code_6C3E0.c index 12608cef..9c23a879 100644 --- a/src/core2/code_6C3E0.c +++ b/src/core2/code_6C3E0.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" extern bool func_8024549C(f32[3], f32); extern void func_802EFAB0(ParticleEmitter *, s32, f32); @@ -109,7 +110,7 @@ ParticleEmitter *func_802F3404(s32 arg0, f32 arg1[3], bool arg2){ sp38[1] += 3.0f; p_emitter = func_802F0EF0(D_80380A60); particleEmitter_setSprite(p_emitter, ASSET_70C_SPRITE_RIPPLE); - func_802EFA70(p_emitter, 1); + particleEmitter_setDrawMode(p_emitter, PART_EMIT_3D_ROTATE); if(sp44){ func_802EFAB0(p_emitter, sp44, sp38[1]); } @@ -120,12 +121,12 @@ ParticleEmitter *func_802F3404(s32 arg0, f32 arg1[3], bool arg2){ sp28[0] = (s32) var_s0->unk1C[0]; sp28[1] = (s32) var_s0->unk1C[1]; sp28[2] = (s32) var_s0->unk1C[2]; - func_802EFA5C(p_emitter, 0.0f, var_s0->unk8); + particleEmitter_setFade(p_emitter, 0.0f, var_s0->unk8); particleEmitter_setPosition(p_emitter, sp38); - func_802EFFA8(p_emitter, sp28); + particleEmitter_setRGB(p_emitter, sp28); func_802EFB70(p_emitter, var_s0->unkC[0], var_s0->unkC[1]); func_802EFB84(p_emitter, var_s0->unk14[0], var_s0->unk14[1]); - func_802EFEC0(p_emitter, var_s0->unk0[0], var_s0->unk0[1]); + particleEmitter_setParticleLifeTimeRange(p_emitter, var_s0->unk0[0], var_s0->unk0[1]); func_802EFF50(p_emitter, 100.0f); return p_emitter; } @@ -212,7 +213,7 @@ void func_802F3874(s16 arg0[3]){ particleEmitter_setPositionAndVelocityRanges(p_emitter, &D_80368C30); func_802EFB70(p_emitter, 0.5f, 0.5f); particleEmitter_emitN(p_emitter, 12); - func_802EFEC0(p_emitter, 1.5f, 1.5f); + particleEmitter_setParticleLifeTimeRange(p_emitter, 1.5f, 1.5f); } void func_802F38F0(s16 arg0[3]){ @@ -254,7 +255,7 @@ void func_802F3AC0(s16 arg0[3]){ particleEmitter_setPositionAndVelocityRanges(p_emitter, &D_80368CC0); func_802EFB70(p_emitter, 0.4f, 0.4f); particleEmitter_emitN(p_emitter, 7); - func_802EFEC0(p_emitter, 1.5f, 1.5f); + particleEmitter_setParticleLifeTimeRange(p_emitter, 1.5f, 1.5f); } void func_802F3B3C(s16 arg0[3]){ @@ -275,7 +276,7 @@ void func_802F3BF4(s16 arg0[3]){ ParticleEmitter *p_emitter = func_802F3670(arg0, 10.0f, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setPositionAndVelocityRanges(p_emitter, &D_80368D50); func_802EFB70(p_emitter, 0.45f, 0.6f); - func_802EFEC0(p_emitter, 0.5f, 0.8f); + particleEmitter_setParticleLifeTimeRange(p_emitter, 0.5f, 0.8f); particleEmitter_emitN(p_emitter, 3); } diff --git a/src/core2/code_6CD20.c b/src/core2/code_6CD20.c index 4a4b0c6f..181515a1 100644 --- a/src/core2/code_6CD20.c +++ b/src/core2/code_6CD20.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + /* .data */ s16 D_80368D80[] = { @@ -32,20 +34,20 @@ void func_802F3CF8(f32 arg0[3], s32 arg1, s32 arg2){ if(arg2 < 3){ pCtrl = func_802F0EF0(D_80380A70); particleEmitter_setSprite(pCtrl, D_80368D80[arg2]); - func_802EFA5C(pCtrl, 0.4f, 0.8f); + particleEmitter_setFade(pCtrl, 0.4f, 0.8f); particleEmitter_setPosition(pCtrl, arg0); - func_802EFE24(pCtrl, + particleEmitter_setAngularVelocityRange(pCtrl, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f ); func_802EFF50(pCtrl, 1.0f); - func_802EFA5C(pCtrl, 0.1f, 0.5f); + particleEmitter_setFade(pCtrl, 0.1f, 0.5f); func_802EFB70(pCtrl, 0.1f, 0.2f); func_802EFB84(pCtrl, 0.4f, 0.5f); - func_802EFEC0(pCtrl, 0.75f, 0.75f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 0.75f, 0.75f); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80368D88); if(arg1 == 0){ - func_802EFA70(pCtrl, 16); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_DEPTH); } particleEmitter_emitN(pCtrl, 12); } diff --git a/src/core2/code_6CEC0.c b/src/core2/code_6CEC0.c index 18fa3571..aaf5b9e6 100644 --- a/src/core2/code_6CEC0.c +++ b/src/core2/code_6CEC0.c @@ -23,15 +23,15 @@ ParticleEmitter *func_802F3E98(f32 pos[3], enum asset_e sprite_id){ 0.0f, -250.0f, 0.0f, 0.0f, -250.0f, 0.0f ); - func_802EFA5C(this, 0.4f, 0.8f); + particleEmitter_setFade(this, 0.4f, 0.8f); particleEmitter_setPosition(this, pos); func_802EFB70(this, 0.22f, 0.22f); func_802EFB84(this, 0.03f, 0.03f); - func_802EFE24(this, + particleEmitter_setAngularVelocityRange(this, 0.0f, 0.0f, 200.0f, 0.0f, 0.0f, 240.0f ); - func_802EFEC0(this, 0.7f, 0.7f); + particleEmitter_setParticleLifeTimeRange(this, 0.7f, 0.7f); func_802EFF50(this, 1.0f); return this; } diff --git a/src/core2/code_6D030.c b/src/core2/code_6D030.c index db338f1f..1987cb85 100644 --- a/src/core2/code_6D030.c +++ b/src/core2/code_6D030.c @@ -40,7 +40,7 @@ ParticleEmitter *func_802F4094(f32 pos[3], f32 arg1){ pCtrl = func_802F0EF0(D_80380A90); particleEmitter_setSprite(pCtrl, ASSET_70B_SPRITE_BUBBLE_2); - func_802EF9E4(pCtrl, 180); + particleEmitter_setAlpha(pCtrl, 180); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1300.0f, 0.0f, 0.0f, -1300.0f, 0.0f @@ -48,16 +48,16 @@ ParticleEmitter *func_802F4094(f32 pos[3], f32 arg1){ func_802EFA18(pCtrl, 1); func_802EFA04(pCtrl, pos[1]); particleEmitter_setParticleCallback(pCtrl, func_802F3FC0); - func_802EFA5C(pCtrl, 0.0f, 0.8f); + particleEmitter_setFade(pCtrl, 0.0f, 0.8f); particleEmitter_setParticleSpawnPositionRange(pCtrl, -arg1, 0.0f, -arg1, arg1, 0.0f, arg1 ); particleEmitter_setPosition(pCtrl, pos); - func_802EFFA8(pCtrl, D_80368DD0); + particleEmitter_setRGB(pCtrl, D_80368DD0); func_802EFB70(pCtrl, 0.02f, 0.04f); func_802EFB84(pCtrl, 0.01f, 0.01f); - func_802EFEC0(pCtrl, 2.0f, 2.0f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 2.0f, 2.0f); func_802EFF50(pCtrl, 10.0f); return pCtrl; } diff --git a/src/core2/code_6D270.c b/src/core2/code_6D270.c index 3bf2e762..967f39b0 100644 --- a/src/core2/code_6D270.c +++ b/src/core2/code_6D270.c @@ -49,13 +49,13 @@ ParticleEmitter *func_802F4274(f32 arg0[3]) { func_802EFAB0(temp_v0, sp20, sp2C[1]); } particleEmitter_setSprite(temp_v0, 0x42A); - func_802EF9E4(temp_v0, 0xFF); - func_802EFA5C(temp_v0, 0, 0.78f); + particleEmitter_setAlpha(temp_v0, 0xFF); + particleEmitter_setFade(temp_v0, 0, 0.78f); particleEmitter_setStartingFrameRange(temp_v0, 0, 0); particleEmitter_setParticleFramerateRange(temp_v0, 25.7142868f, 25.7142868f); - func_802EFEC0(temp_v0, 0.7f, 0.7f); + particleEmitter_setParticleLifeTimeRange(temp_v0, 0.7f, 0.7f); particleEmitter_setPosition(temp_v0, sp2C); - func_802EFFA8(temp_v0, D_80368DE0); + particleEmitter_setRGB(temp_v0, D_80368DE0); func_802EFB70(temp_v0, 0.8, 0.8); func_802EFB84(temp_v0, 0.8, 0.8); return temp_v0; diff --git a/src/core2/code_7060.c b/src/core2/code_7060.c index 805c0864..d22c0b88 100644 --- a/src/core2/code_7060.c +++ b/src/core2/code_7060.c @@ -230,10 +230,10 @@ void func_8028E668(f32 arg0[3], f32 arg1, f32 arg2, f32 arg3) { } -void func_8028E6A4(Gfx **gfx, Mtx **mtx, Vtx **vtx) { +void player_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) { if (D_8037BFB8) { eggShatter_draw(gfx, mtx, vtx); - playerModel_draw(gfx, mtx, vtx); + baModel_draw(gfx, mtx, vtx); } } @@ -259,7 +259,7 @@ AnimCtrl *player_getAnimCtrlPtr(void){ } ActorMarker *player_getMarker(void){ - return _player_getMarker(); + return baMarker_get(); } u32 player_getTransformation(void){ @@ -316,8 +316,8 @@ f32 func_8028E904(void){ f32 func_8028E924(f32 arg0[3], s32 arg1){ s32 *sp1C; - playerModel_80292284(arg0, arg1); - func_8028D6F0(&sp1C); + baModel_80292284(arg0, arg1); + baMarker_8028D6F0(&sp1C); return (f32) sp1C[arg1]; } @@ -336,19 +336,19 @@ void player_getPosition(f32 dst[3]){ void func_8028E9C4(s32 arg0, f32 arg1[3]) { switch(arg0){ case 1: //L8028E9EC - playerModel_getPosition(arg1); + baModel_getPosition(arg1); break; case 2: //L8028E9FC - playerModel_802924E8(arg1); + baModel_802924E8(arg1); break; case 3: //L8028EA0C - playerModel_8029223C(arg1); + baModel_8029223C(arg1); break; case 4: //L8028EA1C - playerModel_80292260(arg1); + baModel_80292260(arg1); break; case 5: //L8028EA2C @@ -603,7 +603,7 @@ bool func_8028F12C(void){ } bool func_8028F150(void){ - return playerModel_isVisible(); + return baModel_isVisible(); } bool func_8028F170(void){ @@ -952,7 +952,7 @@ void func_8028FCBC(void){ //player_setModelVisibile void func_8028FCC8(bool arg0){ - playerModel_setVisible(arg0); + baModel_setVisible(arg0); } void func_8028FCE8(void) { diff --git a/src/core2/code_70F20.c b/src/core2/code_70F20.c index bd46cad8..a17b7b28 100644 --- a/src/core2/code_70F20.c +++ b/src/core2/code_70F20.c @@ -167,7 +167,7 @@ void func_802F83AC(struct3s *arg0) { arg0->unk1C++; if (arg0->unk1C < vector_size(arg0->unk20)) { temp_v0 = (struct4s *)vector_at(arg0->unk20, arg0->unk1C); - if (1210.0 < ml_vec3f_distance(temp_v0->unk0, sp3C)) { + if (1210.0 < ml_distance_vec3f(temp_v0->unk0, sp3C)) { vector_remove(arg0->unk20, arg0->unk1C); } } else { @@ -196,7 +196,7 @@ void func_802F83AC(struct3s *arg0) { arg0->unk3C = 0.01f; } } - if (func_8025773C(&arg0->unk30, temp_f20)) { + if (ml_timer_update(&arg0->unk30, temp_f20)) { if ((arg0->unk28 == 1) && !func_802BEF64() && (arg0->unk34 != 4)) { func_802F7EB0(arg0); } diff --git a/src/core2/code_71820.c b/src/core2/code_71820.c index 1e217a91..379c1ae9 100644 --- a/src/core2/code_71820.c +++ b/src/core2/code_71820.c @@ -170,7 +170,7 @@ void func_802F8CD0(struct6s * this){ this->unk18++; if((s32)this->unk18 < vector_size(this->unk1C)){ iPtr = vector_at(this->unk1C, this->unk18); - if(1320.0 < ml_vec3f_distance(iPtr->unk4, plyr_pos)){ + if(1320.0 < ml_distance_vec3f(iPtr->unk4, plyr_pos)){ vector_remove(this->unk1C, this->unk18); } } @@ -178,7 +178,7 @@ void func_802F8CD0(struct6s * this){ this->unk18 = 0; } - if(func_8025773C(&this->unk38, f20)){ + if(ml_timer_update(&this->unk38, f20)){ if(this->unk22 == 1 && !func_802BEF64()) func_802F87B0(this); this->unk38 = 0.1f; diff --git a/src/core2/code_72060.c b/src/core2/code_72060.c index c873a42a..4074727e 100644 --- a/src/core2/code_72060.c +++ b/src/core2/code_72060.c @@ -147,7 +147,7 @@ void func_802F919C(void) { D_8036928C++; if (D_8036928C < D_80369284) { sp5C = &D_80369280[0].unk1C[D_8036928C]; - if (ml_vec3f_distance((*sp5C).unk0, D_80381040) > 1300.0f) { + if (ml_distance_vec3f((*sp5C).unk0, D_80381040) > 1300.0f) { func_802F9134(D_8036928C); } } else { diff --git a/src/core2/code_73640.c b/src/core2/code_73640.c index a766a06a..058dc89f 100644 --- a/src/core2/code_73640.c +++ b/src/core2/code_73640.c @@ -15,7 +15,7 @@ typedef struct item_print_s{ } ItemPrint; -s32 func_802FAD9C(s32 itemId); +s32 func_802FAD9C(enum item_e item_id); f32 time_getDelta(void); f32 time_getDelta(void); @@ -88,7 +88,7 @@ ItemPrint D_803692F8[0x2C] = { /* .bss */ s32 D_803810B0; -f32 D_803810B8[0x2C]; //item_print_value +f32 itemPrintValues[0x2C]; //item_print_value s32 D_80381168[0x2C]; //comusic_e f32 D_80381218[0x2C]; //item_sfx_volume??? s32 D_803812C8[0x2C]; //comusic_e @@ -103,7 +103,7 @@ void func_802FA5D0(void){ for(i = 0; i < 0x2C; i++){ - D_803810B8[i] = item_getCount(i); + itemPrintValues[i] = item_getCount(i); D_80381378[i] = 0; D_803812C8[i] = 0; D_80381168[i] = 0; @@ -128,7 +128,7 @@ void func_802FA718(s32 arg0){ } -void func_802FA724(void) { +void itemPrint_update(void) { f32 diff; s32 i; f32 sign; @@ -136,20 +136,20 @@ void func_802FA724(void) { func_802FB1CC(); for(i = 0; i< 0x2C; i++){ if(func_802FAD9C(i)){ - if (item_getCount(i) != (s32) (D_803810B8[i] + 0.01)) { - diff = (f32) item_getCount(i) - D_803810B8[i]; + if (item_getCount(i) != (s32) (itemPrintValues[i] + 0.01)) { + diff = (f32) item_getCount(i) - itemPrintValues[i]; sign = (diff >= 0.0f) ? 1.0f : -1.0f; if (D_80381378[i] != 0) { - D_803810B8[i] += sign *_73640_MIN(time_getDelta() * 6.0f, 1.0); + itemPrintValues[i] += sign *_73640_MIN(time_getDelta() * 6.0f, 1.0); } else { - D_803810B8[i] += (sign * _73640_MIN(time_getDelta() * _73640_MAX(diff, 8.0f), 1.0)); + itemPrintValues[i] += (sign * _73640_MIN(time_getDelta() * _73640_MAX(diff, 8.0f), 1.0)); } if ((D_80381168[i] != 0) && ((func_8023DB5C() & 7) == 0)) { func_8025A6EC(D_80381168[i], 32000); } if (D_80381378[i] != 0) { if ((D_80381478[i] != 0) && ((s32) diff != D_80381478[i])) { - if (D_803810B8[i] > 9.0f) { + if (itemPrintValues[i] > 9.0f) { func_8030E6A4(D_80381378[i], D_80381218[i], 0x7D00); D_80381218[i] = _73640_MIN(D_80381218[i] + 0.1, 2.0); } @@ -161,7 +161,7 @@ void func_802FA724(void) { func_802FB020(D_803692F8[0x16].unk14, 1); } - if (item_getCount(i) == (s32) (D_803810B8[i] + 0.01)) { + if (item_getCount(i) == (s32) (itemPrintValues[i] + 0.01)) { do{ if (D_803812C8[i] != 0) { func_8025A6EC(D_803812C8[i], 0x7D00); @@ -185,7 +185,7 @@ void func_802FA724(void) { } -void func_802FAB54(Gfx **gdl, Mtx ** mptr, Vtx **vptr){ +void itemPrint_draw(Gfx **gdl, Mtx ** mptr, Vtx **vptr){ s32 i; if(D_803810B0 && level_get() != LEVEL_D_CUTSCENE){ for(i = 0; i < 0x2C; i++){ @@ -207,31 +207,31 @@ void func_802FAC3C(void){ } -void func_802FACA4(enum item_e itemId){ - if(func_802FB0D4(D_803692F8[itemId].unk14) == 2 || itemId < 6 || itemId == ITEM_17_AIR ){ - D_803810B8[itemId] += ((f32)item_getCount(itemId) - D_803810B8[itemId] )*0.7; +void func_802FACA4(enum item_e item_id){ + if(func_802FB0D4(D_803692F8[item_id].unk14) == 2 || item_id < 6 || item_id == ITEM_17_AIR ){ + itemPrintValues[item_id] += ((f32)item_getCount(item_id) - itemPrintValues[item_id] )*0.7; } - func_802FB020(D_803692F8[itemId].unk14, 1); + func_802FB020(D_803692F8[item_id].unk14, 1); } -void func_802FAD64(enum item_e itemId){ - func_802FB020(D_803692F8[itemId].unk14, 3); +void func_802FAD64(enum item_e item_id){ + func_802FB020(D_803692F8[item_id].unk14, 3); } -s32 func_802FAD9C(s32 itemId){ - return (func_802FB0D4(D_803692F8[itemId].unk14) == 2); +s32 func_802FAD9C(enum item_e item_id){ + return (func_802FB0D4(D_803692F8[item_id].unk14) == 2); } -int func_802FADD4(s32 itemId){ - s32 v0 = func_802FB0D4(D_803692F8[itemId].unk14); +bool func_802FADD4(enum item_e item_id){ + s32 v0 = func_802FB0D4(D_803692F8[item_id].unk14); return (v0 == 2)||(v0 == 1); } -s32 itemPrint_getValue(s32 itemId){ - return D_803810B8[itemId] + 0.01; +s32 itemPrint_getValue(s32 item_id){ + return itemPrintValues[item_id] + 0.01; } -void func_802FAE4C(void){ +void itemPrint_init(void){ s32 i; s32 sp40; for(i = 0; D_803692E0[i] != -1; i++){ @@ -242,7 +242,7 @@ void func_802FAE4C(void){ } } -void func_802FAF0C(void){ +void itemPrint_free(void){ s32 i; for(i = 0; D_803692E0[i] != -1; i++){ assetcache_release(D_80381428[i]); @@ -264,6 +264,6 @@ void func_802FAFD4(enum item_e item_id, enum sfx_e sfx_id){ D_80381378[item_id] = sfx_id; } -void func_802FAFE8(s32 arg0){ - func_802FCD98(D_803692F8[arg0].unk14); +void func_802FAFE8(enum item_e item_id){ + func_802FCD98(D_803692F8[item_id].unk14); } diff --git a/src/core2/code_7AF80.c b/src/core2/code_7AF80.c index 4edfb5d4..05d0fbd3 100644 --- a/src/core2/code_7AF80.c +++ b/src/core2/code_7AF80.c @@ -4,7 +4,7 @@ #include "prop.h" -extern f32 ml_vec3f_distance_squared(f32[3], f32[3]); +extern f32 ml_distanceSquared_vec3f(f32[3], f32[3]); extern f32 func_802586B0(f32[3], f32[3]); extern void mapModel_getCubeBounds(s32 min[3], s32 max[3]); extern f32 func_803243D0(struct56s *arg0, f32 arg1[3]); @@ -944,20 +944,20 @@ s32 func_80304984(s32 arg0, u32 *arg1) { return 0; } -NodeProp *cubeList_findNodePropByActorId(enum actor_e actor_id, s32 arg1[3]) { +NodeProp *cubeList_findNodePropByActorId(enum actor_e actor_id, s32 position[3]) { s32 cube_indices[3]; s32 i; - f32 sp6C[3]; + f32 position_f32[3]; s32 cube_min[3]; s32 cube_max[3]; s32 *var_a3; NodeProp *i_node_prop; - if (arg1 != NULL) { - sp6C[0] = (f32) arg1[0]; - sp6C[1] = (f32) arg1[1]; - sp6C[2] = (f32) arg1[2]; - cube_positionToIndices(cube_indices, sp6C); + if (position != NULL) { + position_f32[0] = (f32) position[0]; + position_f32[1] = (f32) position[1]; + position_f32[2] = (f32) position[2]; + cube_positionToIndices(cube_indices, position_f32); for(i = 0; i < 3; i++){ cube_min[i] = cube_indices[i] - 1; cube_max[i] = cube_indices[i] + 1; @@ -1166,7 +1166,7 @@ bool func_8030515C(f32 arg0[3], s32 arg1, s32 arg2, f32 (*arg3)(f32[3], f32[3])) } bool func_80305248(f32 arg0[3], s32 arg1, s32 arg2){ - return func_8030515C(arg0, arg1, arg2, ml_vec3f_distance_squared); + return func_8030515C(arg0, arg1, arg2, ml_distanceSquared_vec3f); } bool func_8030526C(f32 arg0[3], s32 arg1, s32 arg2){ diff --git a/src/core2/code_85800.c b/src/core2/code_85800.c index 4c7d2b6d..39f02ccc 100644 --- a/src/core2/code_85800.c +++ b/src/core2/code_85800.c @@ -341,15 +341,15 @@ void func_8030D310(u8 indx){ case 1: //L8030D388[ ptr->unk34 += ptr->unk1C*time_getDelta(); if(0.0f < ptr->unk1C) - ptr->unk34 = min_f(ptr->unk34, ptr->unk20); + ptr->unk34 = ml_min_f(ptr->unk34, ptr->unk20); else - ptr->unk34 = max_f(ptr->unk34, ptr->unk20); + ptr->unk34 = ml_max_f(ptr->unk34, ptr->unk20); sfxsource_setFlag(ptr, SFX_SRC_FLAG_2_UNKOWN); break; case 2: //L8030D3E8 sp24 = time_getDelta(); ptr->unk34 += sfx_randf2(-ptr->unk24, ptr->unk24)*sp24; - ptr->unk34 = mlClamp_f(ptr->unk34, ptr->unk20, ptr->unk1C); + ptr->unk34 = ml_clamp_f(ptr->unk34, ptr->unk20, ptr->unk1C); sfxsource_setFlag(ptr, SFX_SRC_FLAG_2_UNKOWN); break; } @@ -535,7 +535,7 @@ void func_8030DB04(u8 indx, s32 arg1, f32 arg2[3], f32 min_dist, f32 max_dist){ f32 dist; f32 temp_f2; __sfx_getPlayerPositionIfPresent(sp24); - dist = ml_vec3f_distance(arg2, sp24); + dist = ml_distance_vec3f(arg2, sp24); if(max_dist <= dist) temp_f2 = 0.0f; else{ @@ -904,7 +904,7 @@ void func_8030E78C(enum sfx_e uid, f32 arg1, u32 arg2, f32 position[3], f32 arg4 f32 plyr_pos[3]; __sfx_getPlayerPositionIfPresent(plyr_pos); - if( !(arg5 <= ml_vec3f_distance(plyr_pos, position)) + if( !(arg5 <= ml_distance_vec3f(plyr_pos, position)) && levelSpecificFlags_validateCRC2() && func_80320240() ){ diff --git a/src/core2/code_9450.c b/src/core2/code_9450.c index 6e49d53e..4ab13895 100644 --- a/src/core2/code_9450.c +++ b/src/core2/code_9450.c @@ -32,10 +32,10 @@ void func_80290494(void){ f32 sp2C[3]; ParticleEmitter *sp28; if(!D_8037C03D || player_getTransformation() != TRANSFORM_1_BANJO){ - playerModel_802924E8(sp2C); + baModel_802924E8(sp2C); } else{ - playerModel_802924B8(sp2C); + baModel_802924B8(sp2C); } sp28 = func_8029B950(sp2C, 0.0f); particleEmitter_setParticleVelocityRange(sp28, -15.0f, 0.0f, -15.0f, 15.0f, 50.0f, 15.0f); diff --git a/src/core2/code_94780.c b/src/core2/code_94780.c index b7550e94..595d620b 100644 --- a/src/core2/code_94780.c +++ b/src/core2/code_94780.c @@ -31,7 +31,7 @@ void func_8031B790(void) { s32 i; if (D_80383170.unk11 != 0) { - D_80383170.unk0 = max_f(0.0f, D_80383170.unk0 - time_getDelta()); + D_80383170.unk0 = ml_max_f(0.0f, D_80383170.unk0 - time_getDelta()); for(i = 0; i < 3; i++){ D_80383170.rgb[i] = ml_map_f(D_80383170.unk0, D_80383170.unk4, 0.0f,D_80383170.unkE[i], D_80383170.unkB[i]); } diff --git a/src/core2/code_94A20.c b/src/core2/code_94A20.c index dde42254..0a85b28b 100644 --- a/src/core2/code_94A20.c +++ b/src/core2/code_94A20.c @@ -169,7 +169,7 @@ void func_8031BF08(struct0 *arg0) { sp30 = 0; ml_vec3f_copy(&sp38, arg0->unk1C); sp64 = arg0->posZ; - temp_v0 = func_8031BBA0(sp38, max_f(arg0->unk28[1] - arg0->unk1C[1], 150.0f) + 10.0f, -5.0f, 0xF800FF0F, &sp48); + temp_v0 = func_8031BBA0(sp38, ml_max_f(arg0->unk28[1] - arg0->unk1C[1], 150.0f) + 10.0f, -5.0f, 0xF800FF0F, &sp48); if (temp_v0 != NULL) { func_8031BE98(arg0, sp48.unkC, temp_v0); sp30 = 1; diff --git a/src/core2/code_956B0.c b/src/core2/code_956B0.c index 44a849c0..65afcf56 100644 --- a/src/core2/code_956B0.c +++ b/src/core2/code_956B0.c @@ -214,7 +214,7 @@ void func_8031CE70(f32 *arg0, s32 arg1, s32 arg2) { if (phi_s0->unk8 == 0x186) { phi_f2 = 1000.0f; } - if (ml_vec3f_distance(arg0, sp38) < phi_f2) { + if (ml_distance_vec3f(arg0, sp38) < phi_f2) { if (phi_s0->unk8 == 0x184) { func_802BD328(0); func_8031CB50(arg1, arg2, 1); diff --git a/src/core2/code_9A740.c b/src/core2/code_9A740.c index 6709fa0e..d1691577 100644 --- a/src/core2/code_9A740.c +++ b/src/core2/code_9A740.c @@ -6,57 +6,58 @@ extern void func_8038FEE8(void); //rbb typedef struct { u8 unk0; - u8 unk1; + u8 level; } struct_9A740; /* .bss */ struct { u8 unk0; - u8 unk1; + u8 level; }D_80383300; /* .code */ void func_803216D0(enum map_e map){ - s32 prev_lvl = D_80383300.unk1; - D_80383300.unk1 = map_getLevel(map); - load_overlay(level_to_overlay(D_80383300.unk1)); + s32 prev_lvl = D_80383300.level; + D_80383300.level = map_getLevel(map); + overlayManagerload(level_to_overlay(D_80383300.level)); D_80383300.unk0 = 0; if(func_802E4A8C()){ func_802E4A80(); }else{ - if( D_80383300.unk1 != LEVEL_6_LAIR - && D_80383300.unk1 != LEVEL_C_BOSS + if( D_80383300.level != LEVEL_6_LAIR + && D_80383300.level != LEVEL_C_BOSS && prev_lvl == LEVEL_6_LAIR - ) + ){ D_80383300.unk0 = 1; + } - func_802E2E40(); - func_803464F8(D_80383300.unk1); + mapSavestate_init(); + func_803464F8(D_80383300.level); jiggyscore_clearAllSpawned(); levelSpecificFlags_clear(); func_8029A92C(); func_803219A8(); if( func_80320454(0x17, 0) && getGameMode() != 0 - && D_80383300.unk1 != LEVEL_D_CUTSCENE + && D_80383300.level != LEVEL_D_CUTSCENE && map != MAP_91_FILE_SELECT ){ func_803204E4(0x18, TRUE); } - if(D_80383300.unk1 == LEVEL_9_RUSTY_BUCKET_BAY){ + if(D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){ func_8038FF18(); } switch(map){ case MAP_2_MM_MUMBOS_MOUNTAIN: - func_80386C90(); + mm_resetHuts(); break; case MAP_7_TTC_TREASURE_TROVE_COVE: - func_80389E84(); + ttc_resetTresureHunt(); break; case MAP_1B_MMM_MAD_MONSTER_MANSION: - func_80387260(); + mm_resetFlowerPots(); break; } } @@ -64,11 +65,11 @@ void func_803216D0(enum map_e map){ void func_80321854(void){ if(!func_802E4A8C()){ - if( D_80383300.unk1 == LEVEL_9_RUSTY_BUCKET_BAY){ + if( D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){ func_8038FEE8(); } - if( D_80383300.unk1 == LEVEL_1_MUMBOS_MOUNTAIN + if( D_80383300.level == LEVEL_1_MUMBOS_MOUNTAIN && getGameMode() != 0 && func_8031FF1C(BKPROG_31_MM_OPEN) && !func_8031FF1C(0xC1) @@ -83,7 +84,7 @@ void func_80321854(void){ } enum level_e level_get(void){ - return D_80383300.unk1; + return D_80383300.level; } int func_8032190C(void){ @@ -95,7 +96,7 @@ void func_80321918(int arg0){ } void func_80321924(void){ - if(D_80383300.unk1 == LEVEL_9_RUSTY_BUCKET_BAY){ + if(D_80383300.level == LEVEL_9_RUSTY_BUCKET_BAY){ func_8038FF70(); } } diff --git a/src/core2/code_9B990.c b/src/core2/code_9B990.c index c0d95eb7..4d1fc1e2 100644 --- a/src/core2/code_9B990.c +++ b/src/core2/code_9B990.c @@ -289,7 +289,7 @@ void func_80322D38(void){ && func_803203FC(2) && func_803203FC(7) ){ - func_8029A95C(TRANSFORM_5_CROC); + player_setTransformation(TRANSFORM_5_CROC); } } @@ -370,7 +370,7 @@ void func_80322FE4(void){ int i; s32 overlay_id; func_80356714(); - overlay_id = get_loaded_overlay_id(); + overlay_id = overlayManagergetLoadedId(); D_80383350.unk4 = D_80383350.unk8 = D_80383350.unkC = NULL; D_80383350.unk10 = NULL; D_80383350.unk14 = NULL; diff --git a/src/core2/code_9C170.c b/src/core2/code_9C170.c index ccf8a176..0b6805fa 100644 --- a/src/core2/code_9C170.c +++ b/src/core2/code_9C170.c @@ -46,7 +46,7 @@ void func_80323238(void){} // =============================================BREAK ??? extern f32 func_80258708(f32 [3], f32[3]); -extern f32 ml_vec3f_distance_squared(f32 [3], f32 [3]); +extern f32 ml_distanceSquared_vec3f(f32 [3], f32 [3]); extern void func_80341180(f32, s32, s32, f32 *, f32 [3]); /* .code */ @@ -340,8 +340,8 @@ f32 func_8032429C(struct56s *this, f32 arg1[3], f32 min, f32 max, f32 step){ f32 f24; f32 f2; - min = max_f(0.0f, min); - max = min_f(1.0f, max); + min = ml_max_f(0.0f, min); + max = ml_min_f(1.0f, max); f24 = 1e+8f; f28 = min; f20 = min; @@ -408,7 +408,7 @@ f32 func_803243D0(struct56s *arg0, f32 arg1[3]){ func_80323240(arg0, tmp_f0, sp64); func_80323240(arg0, 1.0f, sp58); - if(ml_vec3f_distance_squared(arg1, sp64) < ml_vec3f_distance_squared(arg1, sp58)){ + if(ml_distanceSquared_vec3f(arg1, sp64) < ml_distanceSquared_vec3f(arg1, sp58)){ return tmp_f0; } return 1.0f; diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 09369443..e93301eb 100644 --- a/src/core2/code_9E370.c +++ b/src/core2/code_9E370.c @@ -750,7 +750,7 @@ bool func_803270B8(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *), ActorM void func_8032728C(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *)){ - func_803270B8(arg0, arg1, arg2, arg3, _player_getMarker()); + func_803270B8(arg0, arg1, arg2, arg3, baMarker_get()); } void func_803272D0(f32 arg0[3], f32 arg1, s32 arg2, int (*arg3)(Actor *)){ @@ -2107,11 +2107,11 @@ void actorArray_defrag(void) { } if (i_actor->unk158[0] != NULL) { - i_actor->unk158[0] = func_802F0D74(i_actor->unk158[0]); + i_actor->unk158[0] = partEmitMgr_defragEmitter(i_actor->unk158[0]); } if (i_actor->unk158[1] != NULL) { - i_actor->unk158[1] = func_802F0D74(i_actor->unk158[1]); + i_actor->unk158[1] = partEmitMgr_defragEmitter(i_actor->unk158[1]); } if (i_actor->animctrl != NULL) { diff --git a/src/core2/code_A4D00.c b/src/core2/code_A4D00.c index 0935a1f7..04e0b931 100644 --- a/src/core2/code_A4D00.c +++ b/src/core2/code_A4D00.c @@ -10,8 +10,8 @@ extern s32 func_80320DB0(f32[3], f32, f32[3], u32); extern void func_80320ED8(ActorMarker *, f32, s32); extern f32 func_8033229C(ActorMarker *marker); extern f32 func_80309B24(f32 [3]); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); -extern f32 ml_vec3f_distance_squared(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); +extern f32 ml_distanceSquared_vec3f(f32[3], f32[3]); extern BKCollisionTri *func_80320C94(f32 arg0[3], f32 arg1[3], f32 arg2, f32 arg3[3], s32 arg4, u32 arg5); /* .h */ @@ -146,7 +146,7 @@ bool func_8032BD88(Actor *arg0, f32 arg1[3], s32 arg2, s32 arg3){ ml_vec3f_copy(spBC[i].unk0, arg0->position); ml_vec3f_copy(spBC[i].unkC, arg1); } - if (sp84 < ml_vec3f_distance_squared(spBC[i].unkC, spBC[i].unk0)) { + if (sp84 < ml_distanceSquared_vec3f(spBC[i].unkC, spBC[i].unk0)) { temp_f20 = spBC[i].unk0[1]; spBC[i].unk40 = func_80244E54(spBC[i].unkC, spBC[i].unk0, spBC[i].unk44, temp_s7, var_f24 - 1.0f, var_f22); if (spBC[i].unk40 != 0) { @@ -178,7 +178,7 @@ bool func_8032BD88(Actor *arg0, f32 arg1[3], s32 arg2, s32 arg3){ ml_vec3f_normalize(sp26C); ml_vec3f_copy(spBC[i].unk1C, sp26C); } - if (func_80258368(spBC[i].unk1C) != 0) { + if (ml_isNonzero_vec3f(spBC[i].unk1C) != 0) { func_802451A4(spBC[i].unkC, spBC[i].unk0, spBC[i].unk34, spBC[i].unk28, spBC[i].unk1C, (i == 0)); } @@ -191,7 +191,7 @@ bool func_8032BD88(Actor *arg0, f32 arg1[3], s32 arg2, s32 arg3){ arg0->position[0] = var_fp->unk0[0]; arg0->position[1] = var_fp->unk0[1]; arg0->position[2] = var_fp->unk0[2]; - if ((temp_f20 != 0.0f) && ((ml_vec3f_dot_product(var_fp->unk1C, sp284) / temp_f20) < 0.93969262)) { + if ((temp_f20 != 0.0f) && ((ml_dotProduct_vec3f(var_fp->unk1C, sp284) / temp_f20) < 0.93969262)) { var_fp = NULL; } } diff --git a/src/core2/code_A5BC0.c b/src/core2/code_A5BC0.c index 042e5c7f..3a8473fe 100644 --- a/src/core2/code_A5BC0.c +++ b/src/core2/code_A5BC0.c @@ -220,7 +220,7 @@ void __marker_draw(ActorMarker *this, Gfx **gfx, Mtx **mtx, Vtx **vtx){ void func_8032D330(void){ D_80383550 = vector_new(sizeof(ActorMarker *),2); - D_80383554 = vector_new(sizeof(u32),2); + D_80383554 = vector_new(sizeof(ActorMarker *),2); } void func_8032D36C(void){ diff --git a/src/core2/code_A960.c b/src/core2/code_A960.c index 2cd371d1..0ec1cd75 100644 --- a/src/core2/code_A960.c +++ b/src/core2/code_A960.c @@ -19,7 +19,7 @@ void func_80291930(s32 arg0){ func_8029E3C0(5, 2.0f); func_8029C984(); bs_setState(BS_5A_LOADZONE); - playerModel_setVisible(FALSE); + baModel_setVisible(FALSE); func_802978DC(7); func_8029151C(6); } diff --git a/src/core2/code_AC520.c b/src/core2/code_AC520.c index 419a1be0..46c5de67 100644 --- a/src/core2/code_AC520.c +++ b/src/core2/code_AC520.c @@ -43,7 +43,7 @@ extern void func_803334B0(f32 position[3], f32 rotation[3], f32 scale, f32 arg3[ D_80383570.unk44 = D_80383570.unk4; iPtr = start_ptr; for(; iPtr < end_ptr && D_80383570.unk44 < D_80383570.unk48; iPtr++){ - if(iPtr->unk34 && ml_vec3f_distance(position, iPtr->unk0) < iPtr->unk1C + arg4){ + if(iPtr->unk34 && ml_distance_vec3f(position, iPtr->unk0) < iPtr->unk1C + arg4){ func_8025235C(iPtr->unkC, iPtr->unk0); iPtr->unk20 = iPtr->unk18/scale; iPtr->unk24 = iPtr->unk1C/scale; @@ -156,7 +156,7 @@ s32 func_803339A4(f32 arg0[3]){ for(iPtr = beginPtr; iPtr < endPtr; iPtr++){ if(iPtr->unk34){ - if(tmp_s0 == NULL || ml_vec3f_distance(arg0, iPtr->unk0) < ml_vec3f_distance(arg0, tmp_s0->unk0)){ + if(tmp_s0 == NULL || ml_distance_vec3f(arg0, iPtr->unk0) < ml_distance_vec3f(arg0, tmp_s0->unk0)){ tmp_s0 = iPtr; } } @@ -248,7 +248,7 @@ void func_80333D48(BKVertexList *arg0, f32 position[3], f32 rotation[3], f32 sca for(struct_ptr_ptr = &D_80383570.unk4[0]; struct_ptr_ptr < D_80383570.unk44;struct_ptr_ptr++){ struct_ptr = *struct_ptr_ptr; - temp_f0 = ml_vec3f_distance(struct_ptr->unkC, sp74); + temp_f0 = ml_distance_vec3f(struct_ptr->unkC, sp74); if (!(struct_ptr->unk24 <= temp_f0)) { if (temp_f0 <= struct_ptr->unk20) { sp68[0] = sp68[0] + struct_ptr->unk28[0]; diff --git a/src/core2/code_AD5B0.c b/src/core2/code_AD5B0.c index 2c1abed9..1caf8185 100644 --- a/src/core2/code_AD5B0.c +++ b/src/core2/code_AD5B0.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + /* .data */ extern u8 D_80370250 = 0; @@ -47,7 +49,7 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) { func_80322E64(gdl, mptr, vptr); } if (func_802E49F0() == 0) { - func_8028E6A4(gdl, mptr, vptr); + player_draw(gdl, mptr, vptr); } if (func_802E49F0() == 0) { func_80302C94(gdl, mptr, vptr); @@ -62,7 +64,7 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) { func_802F2ED0(func_8032994C(), gdl, mptr, vptr); } if (func_802E49F0() == 0) { - func_802F0A34(gdl, mptr, vptr); + partEmitMgr_drawPass0(gdl, mptr, vptr); } if (func_802E49F0() == 0) { mapModel_xlu_draw(gdl, mptr, vptr); @@ -71,7 +73,7 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) { func_8032D3D8(gdl, mptr, vptr); } if (func_802E49F0() == 0) { - func_802F0AE8(gdl, mptr, vptr); + partEmitMgr_drawPass1(gdl, mptr, vptr); } if (func_802E49F0() == 0) { func_8034F6F0(gdl, mptr, vptr); @@ -81,14 +83,14 @@ void func_80334540(Gfx** gdl, Mtx **mptr, Vtx **vptr) { mapModel_opa_draw(gdl, mptr, vptr); func_80322E64(gdl, mptr, vptr); func_8034F6F0(gdl, mptr, vptr); - func_8028E6A4(gdl, mptr, vptr); + player_draw(gdl, mptr, vptr); func_80302C94(gdl, mptr, vptr); func_8032D3D8(gdl, mptr, vptr); func_80332F4C(gdl, mptr, vptr); func_803500D8(gdl, mptr, vptr); func_802F2ED0(func_8032994C(), gdl, mptr, vptr); func_802D520C(gdl, mptr, vptr); - func_802F0B98(gdl, mptr, vptr); + partEmitMgr_draw(gdl, mptr, vptr); } if (func_802E49F0() == 0) { func_80350818(gdl, mptr, vptr); @@ -148,7 +150,7 @@ void func_80334910(void) { func_802B9D80(); func_802F1388(); func_802F10A4(); - func_802F0804(); + partEmitMgr_free(); func_802F7CE0(); func_8031F9E0(); func_80323100(); @@ -170,7 +172,7 @@ void func_80334910(void) { func_80305BD4(); func_80332A38(); if (func_802E4A08() == 0) { - func_802FAF0C(); + itemPrint_free(); } func_8031B664(); func_802986D0(); @@ -207,7 +209,7 @@ void func_80334B20(enum map_e arg0, s32 arg1, s32 arg2) { func_8031B718(); func_80298700(); if (func_802E4A08() == 0) { - func_802FAE4C(); + itemPrint_init(); } func_8031B644(); spawnQueue_malloc(); @@ -225,7 +227,7 @@ void func_80334B20(enum map_e arg0, s32 arg1, s32 arg2) { func_8033F9C0(); func_802B9D40(); func_802BC044(); - func_802F07D8(); + partEmitMgr_init(); func_802F1104(); func_802F13E0(); func_802F7D30(); @@ -297,7 +299,7 @@ s32 func_80334ECC(void) { func_80356734(); func_802D5628(); - func_802FA724(); + itemPrint_update(); if (getGameMode() != 4) { func_802F7E54(); } @@ -316,7 +318,7 @@ s32 func_80334ECC(void) { } else { phi_v1 = 0x1F; } - if (((phi_v1 & phi_v0) == 3) && (get_loaded_overlay_id() == OVERLAY_5_BEACH)) { + if (((phi_v1 & phi_v0) == 3) && (overlayManagergetLoadedId() == OVERLAY_5_BEACH)) { if ((ttc_func_8038BF8C() == 0) || (D_80370250 != 0)) { D_80370250 = (u8)1; for (phi_v0 = 0; phi_v0 != 0x8F0D180; phi_v0++){ @@ -335,7 +337,7 @@ s32 func_80334ECC(void) { func_8034C9D4(); func_8030A850(1); sky_update(); - func_802F08A0(); + partEmitMgr_update(); func_8034F918(); func_80350250(); if (mapSpecificFlags_validateCRC1() == 0) { diff --git a/src/core2/code_B9090.c b/src/core2/code_B9090.c index 2fa140bb..3ed4fa8d 100644 --- a/src/core2/code_B9090.c +++ b/src/core2/code_B9090.c @@ -20,7 +20,7 @@ bool func_80340020(Struct83s *self, f32 position[3], f32 arg2[3], f32 arg3, f32 } self->unk1A = FALSE; - if (0.1 < ml_vec3f_distance(arg6, self->unk8)) { + if (0.1 < ml_distance_vec3f(arg6, self->unk8)) { return FALSE; } for(i = 0; i < 3; i++){ diff --git a/src/core2/code_BB50.c b/src/core2/code_BB50.c index 154e4563..c9b30be8 100644 --- a/src/core2/code_BB50.c +++ b/src/core2/code_BB50.c @@ -14,11 +14,11 @@ ParticleEmitter *gEggShatter_controller; /*.code */ void eggShatter_draw(Gfx **gPtr, Mtx **mPtr, Vtx **vPtr){ - func_802EF3A8(gEggShatter_controller, gPtr, mPtr, vPtr); + particleEmitter_draw(gEggShatter_controller, gPtr, mPtr, vPtr); } void eggShatter_free(void){ - func_802EF684(gEggShatter_controller); + particleEmitter_free(gEggShatter_controller); } void eggShatter_init(void){ @@ -27,9 +27,9 @@ void eggShatter_init(void){ func_802EF9F8(gEggShatter_controller, 0.6f); func_802EFA18(gEggShatter_controller, 0); func_802EFB70(gEggShatter_controller, 0.8f, 1.0f); - func_802EFE24(gEggShatter_controller, 400.0f, 400.0f, 400.0f, 800.0f, 800.0f, 800.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); - func_802EFEC0(gEggShatter_controller, 1.5f, 1.5f); + particleEmitter_setParticleLifeTimeRange(gEggShatter_controller, 1.5f, 1.5f); particleEmitter_setPositionVelocityAndAccelerationRanges(gEggShatter_controller, &D_803637A0); } @@ -44,6 +44,6 @@ void eggShatter_new(f32 position[3]){ void eggShatter_defrag(void){ if(gEggShatter_controller != NULL){ - gEggShatter_controller = func_802F0D74(gEggShatter_controller); + gEggShatter_controller = partEmitMgr_defragEmitter(gEggShatter_controller); } } diff --git a/src/core2/code_BDCC0.c b/src/core2/code_BDCC0.c index 5cb45f7d..f11ed453 100644 --- a/src/core2/code_BDCC0.c +++ b/src/core2/code_BDCC0.c @@ -121,7 +121,7 @@ void func_80345000(Struct_Core2_BD100_0 *self, f32 arg1[3]) { temp_a0 = self + 0x10; if (func_80244D94(arg1, sp30, sp3C, 0x025E0080, 15.0f)) { func_80257DB0(self->unk10, self->unk10, sp3C); - self->unk10[1] = max_f(self->unk10[1], 250.0f); + self->unk10[1] = ml_max_f(self->unk10[1], 250.0f); self->unk24 = TRUE; } self->unk0 = func_80344FF0(sp30); diff --git a/src/core2/code_BEF20.c b/src/core2/code_BEF20.c index a7ed2fd0..cbf78ad6 100644 --- a/src/core2/code_BEF20.c +++ b/src/core2/code_BEF20.c @@ -191,7 +191,7 @@ void func_8034646C(void){ D_80385FE4 = FALSE; } -void func_803464F8(s32 level){ +void func_803464F8(enum level_e level){ int i; for(i = 0; i < 6; i++){ @@ -310,8 +310,8 @@ void func_803465E4(void){ if( getGameMode() != GAME_MODE_4_PAUSED && func_8028F070() ){ - if(sp4C == 0xC) - sp4C = 6; + if(sp4C == LEVEL_C_BOSS) + sp4C = LEVEL_6_LAIR; if(sp4C > 0 && sp4C < 0xC && map_get() != MAP_91_FILE_SELECT){ D_80386000[sp4C] = MAX(1.0, MIN(65535.0, D_80386000[sp4C] + time_getDelta())); } diff --git a/src/core2/code_C0E60.c b/src/core2/code_C0E60.c index ac19507d..e1319615 100644 --- a/src/core2/code_C0E60.c +++ b/src/core2/code_C0E60.c @@ -126,7 +126,7 @@ void func_80347FC0(Gfx **gfx, BKSprite *sprite, s32 frame, s32 tmem, s32 rtile, void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile, s32 arg5, s32 arg6, s32 cms, s32 cmt, s32 *width, s32 *height, s32 *argB, s32 *argC, s32 *argD, s32 *argE, s32 *textureCount) { BKSpriteFrame *sprite_frame; s32 palette_addr; - BKSpriteTextureBlock *var_v1; + BKSpriteTextureBlock *texture_block; s32 timg; s32 sp144; s32 var_a0; @@ -150,7 +150,7 @@ void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile, spriteRenderHasPalette = TRUE; spriteRender1PrimMode = FALSE; D_80386074 = 0; - var_v1 = palette_addr + 0x20; + texture_block = (BKSpriteTextureBlock *)(palette_addr + 0x20); D_80386098 = D_8038607C = 0; } else if (sprite->type & SPRITE_TYPE_CI8) { gDPPipelineMode((*gfx)++, G_PM_1PRIMITIVE); @@ -158,17 +158,17 @@ void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile, spriteRender1PrimMode = spriteRenderHasPalette = TRUE; D_80386074 = NULL; D_8038607C = 0; - var_v1 = palette_addr + 0x200; + texture_block = (BKSpriteTextureBlock *)(palette_addr + 0x200); D_80386098 = 0; for(var_a0 = 0; var_a0 < chunk_count; var_a0++) { - var_v1 = (s32)var_v1 + (var_v1->w * var_v1->h) + sizeof(BKSpriteTextureBlock); + texture_block = (s32)texture_block + (texture_block->w * texture_block->h) + sizeof(BKSpriteTextureBlock); } - *argD = var_v1->x; - *argE = var_v1->y; + *argD = texture_block->x; + *argE = texture_block->y; gDPSetTextureLUT((*gfx)++, G_TT_RGBA16); gDPLoadTLUT_pal256((*gfx)++, palette_addr); } else { - var_v1 = (BKSpriteTextureBlock *)(sprite_frame + 1); + texture_block = (BKSpriteTextureBlock *)(sprite_frame + 1); spriteRenderHasPalette = FALSE; } @@ -188,9 +188,9 @@ void func_80348044(Gfx **gfx, BKSprite* sprite, s32 frame, s32 tmem, s32 rtile, sp144 = 1; } - *width = (s32) var_v1->w; - *height = (s32) var_v1->h; - for(timg = (s32)(var_v1 + 1); timg % 8; timg++); + *width = (s32) texture_block->w; + *height = (s32) texture_block->h; + for(timg = (s32)(texture_block + 1); timg % 8; timg++); if (sp144 == 0) { D_8038608C = *width; diff --git a/src/core2/code_C4B0.c b/src/core2/code_C4B0.c index 6c1618b7..3acece7d 100644 --- a/src/core2/code_C4B0.c +++ b/src/core2/code_C4B0.c @@ -85,7 +85,7 @@ void func_8029350C(f32 *arg0) { u8 temp_v0; func_8031C618(D_8037C200, arg0); - func_8031C638(D_8037C200, func_8028D694()); + func_8031C638(D_8037C200, baMarker_8028D694()); func_8031C44C(D_8037C200); sp38 = func_8031C5D4(D_8037C200); func_8031C5AC(D_8037C200, sp3C); @@ -128,7 +128,7 @@ void func_80293668(void) { u32 temp_s7; s32 temp_v0; - temp_v0 = func_8028D694(); + temp_v0 = baMarker_8028D694(); func_80244FC0(D_8037C228, sp390, D_8037C1F8[1], D_8037C1F8[0], 1, temp_v0 | 0x1E0000); temp_s7 = temp_v0 | 0x1E0000; for(i = 0; i < 5; i++){ @@ -224,7 +224,7 @@ void func_80293668(void) { sp380[2] = sp380[2] + sp3AC[2]; sp90[i].unk0[0] = sp380[0]; sp90[i].unk0[2] = sp380[2]; - } else if (func_80258368(sp90[i].unk1C)) { + } else if (ml_isNonzero_vec3f(sp90[i].unk1C)) { func_802450DC(sp90[i].unkC, sp90[i].unk0, sp90[i].unk34, sp90[i].unk28, sp90[i].unk1C); } @@ -286,10 +286,10 @@ void func_80293E88(void){ //__clamp to_range_within_point f32 func_80293EAC(f32 arg0, f32 arg1, f32 arg2){ if(arg1 < arg0){ - arg1 = min_f(arg0, arg1+arg2); + arg1 = ml_min_f(arg0, arg1+arg2); } else if(arg0 < arg1){ - arg1 = max_f(arg0, arg1-arg2); + arg1 = ml_max_f(arg0, arg1-arg2); } return arg1; } diff --git a/src/core2/code_C5CC0.c b/src/core2/code_C5CC0.c index 87a2c486..140fcd0f 100644 --- a/src/core2/code_C5CC0.c +++ b/src/core2/code_C5CC0.c @@ -42,7 +42,7 @@ void func_8034CD8C(Struct71s *arg0, BKModel *arg1, s32 arg2) { } } - if ((arg0->unk0 == 2) && func_8025773C(&arg0->unkC, temp_f14)) { + if ((arg0->unk0 == 2) && ml_timer_update(&arg0->unkC, temp_f14)) { func_8034CD08(arg0, 1); } BKModel_transformMesh(arg1, arg2, func_8034CC50, (s32) arg0); diff --git a/src/core2/code_C62B0.c b/src/core2/code_C62B0.c index e319db5d..ed5aebb6 100644 --- a/src/core2/code_C62B0.c +++ b/src/core2/code_C62B0.c @@ -30,7 +30,7 @@ void func_8034D554(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3){ temp_f0 = arg3->unk44 / arg3->unk48; temp_f0 = temp_f0 * temp_f0 * temp_f0 * temp_f0; - func_80255FE4(sp18, arg3->unk2C, arg3->unk38, temp_f0); + ml_interpolate_vec3f(sp18, arg3->unk2C, arg3->unk38, temp_f0); dst->v.ob[0] = (s16)(src->v.v.ob[0] + sp18[0]); dst->v.ob[1] = (s16)(src->v.v.ob[1] + sp18[1]); dst->v.ob[2] = (s16)(src->v.v.ob[2] + sp18[2]); @@ -41,7 +41,7 @@ void func_8034D634(s32 *mesh_id, BKVtxRef *src, Vtx *dst, Struct6Ds *arg3){ f32 sp18[3]; temp_f0 = arg3->unk44 / arg3->unk48; - func_80255FE4(sp18, arg3->unk2C, arg3->unk38, temp_f0); + ml_interpolate_vec3f(sp18, arg3->unk2C, arg3->unk38, temp_f0); dst->v.ob[0] = (s16)(src->v.v.ob[0] + sp18[0]); dst->v.ob[1] = (s16)(src->v.v.ob[1] + sp18[1]); dst->v.ob[2] = (s16)(src->v.v.ob[2] + sp18[2]); diff --git a/src/core2/code_C8490.c b/src/core2/code_C8490.c index f9ed34c6..d8ecdb0b 100644 --- a/src/core2/code_C8490.c +++ b/src/core2/code_C8490.c @@ -50,7 +50,7 @@ void func_8034F5B0(Struct76s *arg0, BKModel *arg1, s32 arg2){ f32 sp24; sp24 = time_getDelta(); - if ((arg0->unkC == 0) && (func_8025773C(&arg0->unk10, sp24))) { + if ((arg0->unkC == 0) && (ml_timer_update(&arg0->unk10, sp24))) { func_8034F434(arg0, 1); } if (arg0->unkC == 1) { @@ -63,7 +63,7 @@ void func_8034F5B0(Struct76s *arg0, BKModel *arg1, s32 arg2){ arg0->alpha = ((arg0->unk14 - arg0->unk10) / 0.04) * arg0->unk2; } } - if (func_8025773C(&arg0->unk10, sp24)) { + if (ml_timer_update(&arg0->unk10, sp24)) { func_8034F434(arg0, 0); } } diff --git a/src/core2/code_C8760.c b/src/core2/code_C8760.c index c149e190..75ffb6d5 100644 --- a/src/core2/code_C8760.c +++ b/src/core2/code_C8760.c @@ -15,14 +15,14 @@ extern f32 D_803792F0; void func_8034F6F0(Gfx **gdl, Mtx **mptr, s32 vptr){ if(D_803720A0.unk0){ - func_802EF3A8(D_803720A0.unk0, gdl, mptr, vptr); + particleEmitter_draw(D_803720A0.unk0, gdl, mptr, vptr); } } void func_8034F734(void){ if(D_803720A0.unk0){ func_8030DA44(D_803720A0.unk5); - func_802EF684(D_803720A0.unk0); + particleEmitter_free(D_803720A0.unk0); } } @@ -38,14 +38,14 @@ void func_8034F774(void){ if( !s0 || !s1){ D_803720A0.unk0 = NULL; }else{ - D_803720A0.unk0 = particleEmitter_new(0xA); + D_803720A0.unk0 = particleEmitter_new(10); particleEmitter_setSprite(D_803720A0.unk0, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setStartingFrameRange(D_803720A0.unk0, 0, 4); particleEmitter_setParticleFramerateRange(D_803720A0.unk0, 15.0f, 30.0f); particleEmitter_setSpawnIntervalRange(D_803720A0.unk0, 0.0f, 1.0f); - func_802EFEC0(D_803720A0.unk0, 216000.0f, 216000.0f); + particleEmitter_setParticleLifeTimeRange(D_803720A0.unk0, 216000.0f, 216000.0f); func_802EFB70(D_803720A0.unk0, 1.8f, 2.2f); - func_802EF4AC(D_803720A0.unk0, &sp38, &sp2C, 0xA); + particleEmitter_emitUniformLine(D_803720A0.unk0, &sp38, &sp2C, 10); particleEmitter_setSpawnInterval(D_803720A0.unk0, 0.0f); D_803720A0.unk5 = func_8030D90C(); diff --git a/src/core2/code_C89C0.c b/src/core2/code_C89C0.c index e794870e..d3371771 100644 --- a/src/core2/code_C89C0.c +++ b/src/core2/code_C89C0.c @@ -226,7 +226,7 @@ void func_80350250(void) { if ((D_80386150.unk0 != NULL) && (func_80334904() == 2)) { player_getPosition(sp7C); for(var_s0 = D_80386150.unk8; var_s0 < D_80386150.unkC; var_s0++) { - var_s0->unk4 = (ml_vec3f_distance(var_s0->unkC, sp7C) < 2000.0f); + var_s0->unk4 = (ml_distance_vec3f(var_s0->unkC, sp7C) < 2000.0f); if (var_s0->unk4) { if (var_s0->unk8 > 0) { var_s0->unk28 -= temp_f22; diff --git a/src/core2/code_CBD10.c b/src/core2/code_CBD10.c index 62d4648f..20807352 100644 --- a/src/core2/code_CBD10.c +++ b/src/core2/code_CBD10.c @@ -115,7 +115,7 @@ void func_80352F58(void){ } else{ sp2C[0] += sp2C[1]*sp20; - sp2C[2] = max_f(0.0f, sp2C[2] + sp2C[3]*sp20); + sp2C[2] = ml_max_f(0.0f, sp2C[2] + sp2C[3]*sp20); func_80352CA0(sp27, sp2C); } } diff --git a/src/core2/code_CC1E0.c b/src/core2/code_CC1E0.c index b70ea87d..b57756ee 100644 --- a/src/core2/code_CC1E0.c +++ b/src/core2/code_CC1E0.c @@ -239,7 +239,7 @@ void fxegg_head_update(void){ func_8033EA40(2, tmp_f24); func_803531C8(projectile_indx, 0); func_80344E7C(sp96, sp88); - if(func_802582EC(sp88)){ + if(ml_isZero_vec3f(sp88)){ s0 = func_8033E840(); projectile_getPosition(projectile_indx, sp60); sp54[0] = (f32)s0->propPtr->x; @@ -251,7 +251,7 @@ void fxegg_head_update(void){ func_80344E3C(sp96, sp88); tmp_f20 = func_8033EA14(0); func_8033FFE4(projectile_indx, (s32) tmp_f20, (s32) tmp_f20); - func_8033EA40(0, min_f(tmp_f20 + 4.0f, 50.0f)); + func_8033EA40(0, ml_min_f(tmp_f20 + 4.0f, 50.0f)); sp78 += time_getDelta(); func_8033EA40(1, sp78); if(2.0 < sp78){ @@ -356,7 +356,7 @@ void fxegg_ass_update(void) { func_80344E3C(sp8E, sp74); temp_f20 = func_8033EA14(0); func_8033FFE4(projectile_indx, (s32)temp_f20, (s32)temp_f20); - func_8033EA40(0, min_f(temp_f20 + 8.0f, 50.0f)); + func_8033EA40(0, ml_min_f(temp_f20 + 8.0f, 50.0f)); sp64 += time_getDelta(); func_8033EA40(1, sp64); if ((2.8 < sp64) && (func_80344EC0(sp8E) || (sp64 > 3.5))) { diff --git a/src/core2/code_D0CA0.c b/src/core2/code_D0CA0.c index 1bd2938e..eb9947bd 100644 --- a/src/core2/code_D0CA0.c +++ b/src/core2/code_D0CA0.c @@ -5,7 +5,7 @@ extern void func_80335A8C(Struct80s *, s32); extern f32 func_8025715C(f32, f32); extern f32 func_802575BC(f32); -extern void func_80255FE4(f32[3], f32[3], f32[3], f32); +extern void ml_interpolate_vec3f(f32[3], f32[3], f32[3], f32); extern bool func_80320DB0(f32[3], f32, f32[3], u32); /* .h */ @@ -47,7 +47,7 @@ bool func_80357C30(Actor *this) { if (!this->marker->unk14_21) { return TRUE; } - func_80255FE4(sp20, local->unk8, local->unk18, func_802575BC(local->unk4 + 0.05)); + ml_interpolate_vec3f(sp20, local->unk8, local->unk18, func_802575BC(local->unk4 + 0.05)); sp20[1] += 60.0f; return !func_80320DB0(sp20, 50.0f, sp2C, 0); } @@ -248,15 +248,15 @@ void func_80358524(f32 position[3], s32 count, enum asset_e model_id) { ParticleEmitter *p_ctrl; ParticleEmitter *temp_v0; - temp_v0 = partEmitList_pushNew(count); + temp_v0 = partEmitMgr_newEmitter(count); p_ctrl = temp_v0; particleEmitter_setModel(temp_v0, model_id); particleEmitter_setPosition(p_ctrl, position); - func_802EFE24(p_ctrl, -400.0f, -400.0f, -400.0f, 400.0f, 400.0f, 400.0f); + 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); func_802EFA20(p_ctrl, 1.0f, 1.3f); - func_802EF9EC(p_ctrl, 0x2F, 16000); + particleEmitter_setSfx(p_ctrl, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_803728EC); func_802EFB98(p_ctrl, &D_803728C4); particleEmitter_emitN(p_ctrl, count); @@ -338,7 +338,7 @@ void func_80358684(Actor *this) { : sp84; } func_8030DBB4(local->unk0, sp84); - sp78 = 1.0f - ml_vec3f_distance(sp94, this->position) / 2000.0f; + sp78 = 1.0f - ml_distance_vec3f(sp94, this->position) / 2000.0f; sp78 = (0.0f > sp78) ? 0 : sp78; if (sp78 > 0.0f) { sfxsource_setSampleRate(local->unk0, (s32) (sp78 * 10000.0f)); @@ -346,7 +346,7 @@ void func_80358684(Actor *this) { } } if (this->unk10_25) { - if (func_8025773C(&local->unk28, sp88)) { + if (ml_timer_update(&local->unk28, sp88)) { next_state = 2; } @@ -394,7 +394,7 @@ void func_80358684(Actor *this) { local->unk4 = 1.0f; } sp70 = func_802575BC(local->unk4); - func_80255FE4(this->position, local->unk8, local->unk18, sp70); + ml_interpolate_vec3f(this->position, local->unk8, local->unk18, sp70); this->yaw = local->unk14 + (sp70 * (local->unk24 - local->unk14)); if ((func_8033567C(this->unk148) == 0x23B) && (func_80335794(this->unk148) > 0)) { func_80335924(this->unk148, 0x23C, 0.1f, 0.45f); @@ -420,7 +420,7 @@ void func_80358684(Actor *this) { sp54[1] = this->position[1]; sp54[2] = this->position[2]; sp54[0] = 0.0f; - if (ml_vec3f_distance(sp60, sp54) < 800.0f) { + if (ml_distance_vec3f(sp60, sp54) < 800.0f) { next_state = 3; } } diff --git a/src/core2/code_D5D10.c b/src/core2/code_D5D10.c index 885e9d6a..53fb0e8b 100644 --- a/src/core2/code_D5D10.c +++ b/src/core2/code_D5D10.c @@ -58,7 +58,7 @@ ActorInfo D_80372D78 = { 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); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.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); } @@ -68,10 +68,10 @@ void chskeleton_despawn(ActorMarker *marker, s32 arg1) { Actor *this; this = marker_getActor(marker); - func_802DAC84(partEmitList_pushNew(2), this, ASSET_4CE_MODEL_LIMBO_LEG); - func_802DAD08(partEmitList_pushNew(1), this, ASSET_4CF_MODEL_LIMBO_HEAD); - func_802DAD8C(partEmitList_pushNew(2), this, ASSET_4CD_MODEL_LIMBO_ARM); - func_8035CCA0(partEmitList_pushNew(4), this, ASSET_4D0_MODEL_LIMBO_BONE); + func_802DAC84(partEmitMgr_newEmitter(2), this, ASSET_4CE_MODEL_LIMBO_LEG); + func_802DAD08(partEmitMgr_newEmitter(1), this, ASSET_4CF_MODEL_LIMBO_HEAD); + func_802DAD8C(partEmitMgr_newEmitter(2), this, ASSET_4CD_MODEL_LIMBO_ARM); + func_8035CCA0(partEmitMgr_newEmitter(4), this, ASSET_4D0_MODEL_LIMBO_BONE); FUNC_8030E8B4(SFX_119_FISH_DEATH, 1.0f, 32000, this->position, 1250, 2500); __spawnQueue_add_4((GenMethod_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2])); marker_despawn(marker); diff --git a/src/core2/code_D6180.c b/src/core2/code_D6180.c index a616f8e8..40cde517 100644 --- a/src/core2/code_D6180.c +++ b/src/core2/code_D6180.c @@ -56,7 +56,7 @@ ActorInfo D_80372E78 = { 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); - func_802EFE24(p_emitter, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.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); } @@ -66,10 +66,10 @@ void func_8035D1F0(ActorMarker *arg0, s32 arg1) { Actor *this; this = marker_getActor(arg0); - func_802DAC84(partEmitList_pushNew(2), this, ASSET_4C9_MODEL_MUMMUM_LEG); - func_802DAD08(partEmitList_pushNew(1), this, ASSET_4CA_MODEL_MUMMUM_HEAD); - func_802DAD8C(partEmitList_pushNew(2), this, ASSET_4C8_MODEL_MUMMUM_ARM); - func_8035D110(partEmitList_pushNew(1), this, ASSET_4CB_MODEL_MUMMUM_BODY); + func_802DAC84(partEmitMgr_newEmitter(2), this, ASSET_4C9_MODEL_MUMMUM_LEG); + func_802DAD08(partEmitMgr_newEmitter(1), this, ASSET_4CA_MODEL_MUMMUM_HEAD); + func_802DAD8C(partEmitMgr_newEmitter(2), this, ASSET_4C8_MODEL_MUMMUM_ARM); + func_8035D110(partEmitMgr_newEmitter(1), this, ASSET_4CB_MODEL_MUMMUM_BODY); FUNC_8030E8B4(SFX_119_FISH_DEATH, 0.8f, 32000, this->position, 1250, 2500); __spawnQueue_add_4((GenMethod_4) func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, this->position[0]), reinterpret_cast(s32, this->position[1]), reinterpret_cast(s32, this->position[2])); marker_despawn(arg0); diff --git a/src/core2/code_D7040.c b/src/core2/code_D7040.c index bbd0a182..f86f63ca 100644 --- a/src/core2/code_D7040.c +++ b/src/core2/code_D7040.c @@ -67,14 +67,14 @@ void func_8035E1B0(Actor *this) { void func_8035E2A8(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setPosition(pCtrl, position); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); func_802EF9F8(pCtrl, 0.7f); func_802EFA18(pCtrl, 5); func_802EFA20(pCtrl, 0.8f, 1.0f); - func_802EF9EC(pCtrl, 0x1F, 10000); + particleEmitter_setSfx(pCtrl, SFX_1F_HITTING_AN_ENEMY_3, 10000); particleEmitter_setSpawnIntervalRange(pCtrl, 0.0f, 0.01f); - func_802EFEC0(pCtrl, 3.5f, 3.5f); - func_802EFA5C(pCtrl, 0.0f, 0.65f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 3.5f, 3.5f); + particleEmitter_setFade(pCtrl, 0.0f, 0.65f); } void func_8035E360(ParticleEmitter *pCtrl, f32 position[3]){ @@ -82,7 +82,7 @@ void func_8035E360(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, 0x393); func_802EFB70(pCtrl, 0.5f, 0.8f); - func_802EFE24(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -800.0f, -800.0f, -800.0f, 800.0f, 800.0f, 800.0f); particleEmitter_setParticleVelocityRange(pCtrl, -200.0f, 850.0f, -200.0f, 400.0f, 1000.0f, 400.0f); particleEmitter_emitN(pCtrl, 6); } @@ -92,7 +92,7 @@ void func_8035E44C(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, 0x394); func_802EFB70(pCtrl, 1.0f, 1.0f); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.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, 1); } @@ -102,7 +102,7 @@ void func_8035E540(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1800.0f, 0.0f, 0.0f, -1800.0f, 0.0f); particleEmitter_setModel(pCtrl, 0x395); func_802EFB70(pCtrl, 1.0f, 1.0f); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.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, 1); } @@ -112,7 +112,7 @@ void func_8035E634(ParticleEmitter *pCtrl, f32 position[3]){ particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -1400.0f, 0.0f, 0.0f, -1400.0f, 0.0f); particleEmitter_setModel(pCtrl, 0x396); func_802EFB70(pCtrl, 1.0f, 1.0f); - func_802EFE24(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setParticleVelocityRange(pCtrl, -80.0f, 400.0f, -80.0f, 160.0f, 860.0f, 160.0f); particleEmitter_emitN(pCtrl, 2); } @@ -129,10 +129,10 @@ void func_8035E750(ActorMarker *marker, ActorMarker *other_marker){ Actor *this; this = marker_getActor(marker); - func_8035E360(partEmitList_pushNew(6), this->position); - func_8035E44C(partEmitList_pushNew(1), this->position); - func_8035E540(partEmitList_pushNew(1), this->position); - func_8035E634(partEmitList_pushNew(2), this->position); + func_8035E360(partEmitMgr_newEmitter(6), this->position); + func_8035E44C(partEmitMgr_newEmitter(1), this->position); + func_8035E540(partEmitMgr_newEmitter(1), this->position); + func_8035E634(partEmitMgr_newEmitter(2), this->position); marker->collidable = FALSE; this->unk138_27 = 1; FUNC_8030E624(SFX_D1_SNORKEL_WAH, 1.4f, 32750); diff --git a/src/core2/code_D7D10.c b/src/core2/code_D7D10.c index 6da33680..78494dda 100644 --- a/src/core2/code_D7D10.c +++ b/src/core2/code_D7D10.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + Actor *func_8035ECA0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); void func_8035F138(Actor *this); @@ -76,13 +78,13 @@ void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) { }; ParticleEmitter *p_ctrl; - p_ctrl = partEmitList_pushNew(count); - func_802EFFA8(p_ctrl, D_80373014); + p_ctrl = partEmitMgr_newEmitter(count); + particleEmitter_setRGB(p_ctrl, D_80373014); particleEmitter_setSprite(p_ctrl, sprite); particleEmitter_setPosition(p_ctrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_80373048); func_802EFB98(p_ctrl, &D_80373020); - func_802EFA70(p_ctrl, 0x10); + particleEmitter_setDrawMode(p_ctrl, PART_EMIT_NO_DEPTH); particleEmitter_emitN(p_ctrl, count); } diff --git a/src/core2/code_D800.c b/src/core2/code_D800.c index 6e6e76a2..1d3024ac 100644 --- a/src/core2/code_D800.c +++ b/src/core2/code_D800.c @@ -41,7 +41,7 @@ void func_80294828(void){ player_getRotation(banjoRot); - playerModel_getPosition(banjoPos); + baModel_getPosition(banjoPos); banjoRot[1] = mlNormalizeAngle(banjoRot[1] + D_8037C290.unk4); banjoPos[1] += D_8037C290.unk0; func_802947CC(D_8037C298, banjoPos, banjoRot); diff --git a/src/core2/code_D9B0.c b/src/core2/code_D9B0.c index 35886e4e..a8687fd8 100644 --- a/src/core2/code_D9B0.c +++ b/src/core2/code_D9B0.c @@ -148,7 +148,7 @@ void func_80294BDC(void) { sp28 *= 2.0; } if ((sp24 & 0x50) && !player_inWater()) { - D_8037C2E4 = min_f((sp28 * sp30) + D_8037C2E4, 1.0f); + D_8037C2E4 = ml_min_f((sp28 * sp30) + D_8037C2E4, 1.0f); } else { D_8037C2E4 = 0.0f; } diff --git a/src/core2/code_DA3A0.c b/src/core2/code_DA3A0.c index f871a127..51af94c2 100644 --- a/src/core2/code_DA3A0.c +++ b/src/core2/code_DA3A0.c @@ -45,7 +45,7 @@ void func_80361330(Actor *this, s32 next_state){ local->unk4 = 3.0f; if(next_state == 2){ - pctrl = partEmitList_pushNew(6); + pctrl = partEmitMgr_newEmitter(6); sp40[0] = 1000.0f; sp40[1] = 100.0f; sp40[2] = 0.0f; @@ -96,9 +96,9 @@ void func_8036158C(Actor *this){ if(this->state == 1){ player_getPosition(sp24); actor_collisionOff(this); - if( ml_vec3f_distance(this->position, sp24) < 1000.0f + if( ml_distance_vec3f(this->position, sp24) < 1000.0f && func_8024DC04(this->position_x, this->position_y, this->position_z) - && func_8025773C(&local->unk4, sp30) + && ml_timer_update(&local->unk4, sp30) ){ func_80361330(this, 2); } @@ -106,7 +106,7 @@ void func_8036158C(Actor *this){ if(this->state == 2){ actor_collisionOn(this); - if(func_8025773C(&local->unk4, sp30)){ + if(ml_timer_update(&local->unk4, sp30)){ func_80361330(this, 1); } } diff --git a/src/core2/code_DAAA0.c b/src/core2/code_DAAA0.c index d5d77fd7..e8d54300 100644 --- a/src/core2/code_DAAA0.c +++ b/src/core2/code_DAAA0.c @@ -103,7 +103,7 @@ void func_80361AE0(s32 arg0, s32 arg1, s32 arg2){ tmp = this->marker->unk44; if(tmp){ func_8034A174(tmp, arg1, sp20); - if(func_802582EC(sp20)){ + if(ml_isZero_vec3f(sp20)){ ml_vec3f_copy(sp20, this->position); } } else {//L80361B44 diff --git a/src/core2/code_DB010.c b/src/core2/code_DB010.c index f6493166..18d2ce2c 100644 --- a/src/core2/code_DB010.c +++ b/src/core2/code_DB010.c @@ -36,15 +36,15 @@ void func_80361FA0(f32 arg0[3]) { {{ -60.0f, -30.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xFU); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(15); particleEmitter_setModel(pCtrl, 0x441); particleEmitter_setPosition(pCtrl, arg0); - func_802EFE24(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); - func_802EF9EC(pCtrl, 0x2F, 0x3E80); + particleEmitter_setSfx(pCtrl, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373334); func_802EFC28(pCtrl, &D_80373304); FUNC_8030E624(SFX_7C_CHEBOOF, 0.6f, 29000); @@ -60,11 +60,11 @@ void func_80362084(f32 position[3]) { ParticleEmitter *pCtrl; - pCtrl = partEmitList_pushNew(1U); + pCtrl = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(pCtrl, 0x702); particleEmitter_setStartingFrameRange(pCtrl, 3, 5); - func_802EFFA8(pCtrl, D_8037337C); - func_802EF9E4(pCtrl, 0xA0); + particleEmitter_setRGB(pCtrl, D_8037337C); + particleEmitter_setAlpha(pCtrl, 0xA0); particleEmitter_setPosition(pCtrl, position); func_802EFF5C(pCtrl, 0.1f, 0.2f, 0.0f); func_802EFF7C(pCtrl, 0.0f, 0.25f, 0.0f); @@ -83,12 +83,12 @@ void func_8036215C(f32 arg0[3]) { {{ -10.0f, 0.0f, -10.0f}, { 10.0f, 0.0f, 10.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xFU); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xFU); particleEmitter_setSprite(pCtrl, 0x700); particleEmitter_setStartingFrameRange(pCtrl, 3, 4); - func_802EFFA8(pCtrl, D_803733E8); - func_802EF9E4(pCtrl, 0x28); + particleEmitter_setRGB(pCtrl, D_803733E8); + particleEmitter_setAlpha(pCtrl, 0x28); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373424); func_802EFC28(pCtrl, &D_803733F4); @@ -102,11 +102,11 @@ void func_803621F0(f32 arg0[3]) { {{ -10.0f, -20.0f, -10.0f}, { 10.0f, -20.0f, 10.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0x12U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0x12U); particleEmitter_setSprite(pCtrl, 0x702); particleEmitter_setStartingFrameRange(pCtrl, 3, 5); - func_802EF9E4(pCtrl, 0xD2); + particleEmitter_setAlpha(pCtrl, 0xD2); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037349C); func_802EFC28(pCtrl, &D_8037346C); @@ -120,11 +120,11 @@ void func_80362274(f32 arg0[3]) { {{ -60.0f, 0.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xFU); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xFU); particleEmitter_setModel(pCtrl, 0x89B); particleEmitter_setPosition(pCtrl, arg0); - func_802EFE24(pCtrl, -400.0f, -200.0f, -400.0f, 400.0f, -400.0f, 400.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -400.0f, -200.0f, -400.0f, 400.0f, -400.0f, 400.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); @@ -140,11 +140,11 @@ void func_8036233C(f32 arg0[3]) { {{ -60.0f, 0.0f, -60.0f}, { 60.0f, 30.0f, 60.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xFU); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xFU); particleEmitter_setModel(pCtrl, 0x89A); particleEmitter_setPosition(pCtrl, arg0); - func_802EFE24(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); @@ -159,7 +159,7 @@ void func_80362404(f32 arg0[3]) { {{0.0f, 0.0f, 0.0f}, {0.0f, 0.0f, 0.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(pCtrl, 0x6DD); particleEmitter_setStartingFrameRange(pCtrl, 2, 2); @@ -176,12 +176,12 @@ void func_8036247C(f32 arg0[3]) { {{-400.0f, 0.0f, -400.0f}, { 400.0f, 0.0f, 400.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, &D_80373634); - func_802EF9E4(pCtrl, 0x64); + particleEmitter_setRGB(pCtrl, &D_80373634); + particleEmitter_setAlpha(pCtrl, 0x64); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_80373670); func_802EFC28(pCtrl, &D_80373640); @@ -194,11 +194,11 @@ void func_80362510(Actor *actor) { ParticleEmitter *pCtrl; f32 sp30[3]; - pCtrl = partEmitList_pushNew(0x19U); + pCtrl = partEmitMgr_newEmitter(0x19U); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 0, 5); - func_802EFFA8(pCtrl, D_803736A0); - func_802EF9E4(pCtrl, 0x1E); + 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); sp30[0] = 1000.0f; @@ -221,7 +221,7 @@ void func_80362680(f32 arg0[3]) { {{ 0.0f, 30.0f, 0.0f}, { 0.0f, 30.0f, 0.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(pCtrl, 0x45A); particleEmitter_setStartingFrameRange(pCtrl, 2, 2); @@ -238,7 +238,7 @@ void func_803626F8(f32 arg0[3]) { {{-30.0f, 30.0f, -30.0f}, { 30.0f, 60.0f, 30.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1U); particleEmitter_setSprite(pCtrl, 0x713); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); @@ -256,11 +256,11 @@ void func_80362770(f32 arg0[3]) { {{ 0.0f, 30.0f, 0.0f}, { 0.0f, 30.0f, 0.0f}}, }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0x10U); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0x10U); particleEmitter_setSprite(pCtrl, 0x714); particleEmitter_setStartingFrameRange(pCtrl, 7, 8); - func_802EFFA8(pCtrl, &D_803737B4); + particleEmitter_setRGB(pCtrl, &D_803737B4); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_803737F0); func_802EFC28(pCtrl, &D_803737C0); @@ -275,12 +275,12 @@ void func_803627F8(f32 arg0[3]){ {{ -30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(11); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(11); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373820); - func_802EF9E4(pCtrl, 120); + particleEmitter_setRGB(pCtrl, D_80373820); + particleEmitter_setAlpha(pCtrl, 120); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8037385C); func_802EFC28(pCtrl, &D_8037382C); @@ -295,12 +295,12 @@ void func_8036288C(f32 arg0[3]){ {{ -30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xd); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xd); particleEmitter_setSprite(pCtrl, ASSET_702_SPRITE_UNKNOWN); particleEmitter_setStartingFrameRange(pCtrl, 3, 4); - func_802EFFA8(pCtrl, D_803738A4); - func_802EF9E4(pCtrl, 255); + particleEmitter_setRGB(pCtrl, D_803738A4); + particleEmitter_setAlpha(pCtrl, 255); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803738E0); func_802EFC28(pCtrl, &D_803738B0); @@ -314,11 +314,11 @@ void func_80362920(f32 arg0[3]){ {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{-30.0f, 0.0f, -30.0f}, { 30.0f, 0.0f, 30.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xd); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xd); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373928); - func_802EF9E4(pCtrl, 60); + particleEmitter_setRGB(pCtrl, D_80373928); + particleEmitter_setAlpha(pCtrl, 60); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373964); func_802EFC28(pCtrl, &D_80373934); @@ -333,12 +333,12 @@ void func_803629B4(f32 arg0[3]){ {{ 0.0f, 40.0f, 0.0f}, { 0.0f, 40.0f, 0.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xd); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xd); particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_803739AC); - func_802EF9E4(pCtrl, 255); + particleEmitter_setRGB(pCtrl, D_803739AC); + particleEmitter_setAlpha(pCtrl, 255); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803739E8); func_802EFC28(pCtrl, &D_803739B8); @@ -353,12 +353,12 @@ void func_80362A48(f32 arg0[3]){ {{-5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373A30); - func_802EF9E4(pCtrl, 40); + particleEmitter_setRGB(pCtrl, D_80373A30); + particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373A6C); func_802EFC28(pCtrl, &D_80373A3C); @@ -373,12 +373,12 @@ void func_80362ADC(f32 arg0[3]){ {{ -5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373AB4); - func_802EF9E4(pCtrl, 40); + particleEmitter_setRGB(pCtrl, D_80373AB4); + particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373AF0); func_802EFC28(pCtrl, &D_80373AC0); @@ -392,11 +392,11 @@ void func_80362B70(f32 arg0[3]){ {{ 0.0f, 0.0f, 0.0f}, { 0.0f, 0.0f, 0.0f}}, {{ -5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373B38); - func_802EF9E4(pCtrl, 110); + particleEmitter_setRGB(pCtrl, D_80373B38); + particleEmitter_setAlpha(pCtrl, 110); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373B74); func_802EFC28(pCtrl, &D_80373B44); @@ -411,12 +411,12 @@ void func_80362C04(f32 arg0[3]){ {{-5.0f, 0.0f, -5.0f}, { 5.0f, 0.0f, 5.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373BBC); - func_802EF9E4(pCtrl, 40); + particleEmitter_setRGB(pCtrl, D_80373BBC); + particleEmitter_setAlpha(pCtrl, 40); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373BF8); func_802EFC28(pCtrl, &D_80373BC8); @@ -431,12 +431,12 @@ void func_80362C98(f32 arg0[3]){ {{-50.0f, -50.0f, -50.0f}, { 50.0f, 50.0f, 50.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_80373C40); - func_802EF9E4(pCtrl, 140); + particleEmitter_setRGB(pCtrl, D_80373C40); + particleEmitter_setAlpha(pCtrl, 140); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373C7C); func_802EFC28(pCtrl, &D_80373C4C); @@ -451,12 +451,12 @@ void func_80362D2C(f32 arg0[3]){ {{-50.0f, -50.0f, -50.0f}, {50.0f, 50.0f, 50.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(1); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(pCtrl, 4, 6); - func_802EFFA8(pCtrl, D_80373CC4); - func_802EF9E4(pCtrl, 140); + particleEmitter_setRGB(pCtrl, D_80373CC4); + particleEmitter_setAlpha(pCtrl, 140); particleEmitter_setPosition(pCtrl, arg0); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373D00); func_802EFC28(pCtrl, &D_80373CD0); @@ -470,14 +470,14 @@ void func_80362DC0(f32 arg0[3]){ {{-150.0f, -100.0f, -150.0f}, {150.0f, 5.0f, 150.0f}} }; - ParticleEmitter *pCtrl = partEmitList_pushNew(0xF); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(0xF); particleEmitter_setModel(pCtrl, ASSET_47B_MODEL_ROCK); particleEmitter_setPosition(pCtrl, arg0); - func_802EFE24(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); + particleEmitter_setAngularVelocityRange(pCtrl, -200.0f, 200.0f, -200.0f, 200.0f, 200.0f, 200.0f); func_802EF9F8(pCtrl, 0.4f); func_802EFA18(pCtrl, 3); func_802EFA20(pCtrl, 1.0f, 1.3f); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80373D78); func_802EFC28(pCtrl, &D_80373D48); } diff --git a/src/core2/code_DF70.c b/src/core2/code_DF70.c index 4fe072ae..dd53436f 100644 --- a/src/core2/code_DF70.c +++ b/src/core2/code_DF70.c @@ -88,6 +88,6 @@ void func_80295328(int arg0, f32 arg1){ void func_8029533C(void){ if(D_8037C304 != 0.0f){ - D_8037C304 = max_f(D_8037C304 - time_getDelta(), 0.0f); + D_8037C304 = ml_max_f(D_8037C304 - time_getDelta(), 0.0f); } } diff --git a/src/core2/code_E910.c b/src/core2/code_E910.c index d37a0bc8..73c875d9 100644 --- a/src/core2/code_E910.c +++ b/src/core2/code_E910.c @@ -217,9 +217,9 @@ void func_80295914(void){ eggShatter_init(); func_80294790(); func_80293DA4(); - func_80289D1C(); - playerModel_reset(); - playerMarker_init(); + baAnim_init(); + baModel_reset(); + baMarker_init(); func_80299900(); func_8029A4D0(); func_8029ADCC(); @@ -255,12 +255,12 @@ void func_80295B04(void){ func_8029A980(tmp_a1); func_8029A974(sp24); bs_setState(BS_5A_LOADZONE); - playerMarker_free(); + baMarker_free(); func_8029065C(); func_8029175C(); eggShatter_free(); - playerModel_free(); - func_80289DDC(); + baModel_free(); + baAnim_free(); func_80293E88(); func_802947C4(); func_80299A20(); @@ -293,15 +293,15 @@ void func_80295C14(void){ roll_update(); func_802993C8();//yaw update func_802906D8(); - func_80289E00(); + baAnim_update(); func_8029A554(); func_80298344(); //climb_cooldown_update func_80290108(); eggShatter_update(); func_80292EDC(); - playerModel_update(); + baModel_update(); func_8029842C(); - func_8028D2E4(); + baMarker_update(); func_80294890(); func_8028A8D0(); func_8028B71C(); @@ -320,8 +320,8 @@ void func_80295C14(void){ void func_80295D74(void){ if(D_80363820){ - func_80289E74(); - playerModel_defrag(); + baAnim_defrag(); + baModel_defrag(); eggShatter_defrag(); func_80294750(); func_8029AF1C(); diff --git a/src/core2/code_EF50.c b/src/core2/code_EF50.c index 175d4cbd..57613146 100644 --- a/src/core2/code_EF50.c +++ b/src/core2/code_EF50.c @@ -381,7 +381,7 @@ void func_80296608(void){ sp2C = 2; break; case BS_INTR_1F: //L80296868 - if(func_80297C6C() != 3 && func_8028D60C()){ + if(func_80297C6C() != 3 && baMarker_isCollidable()){ case BS_INTR_31: //L8029688C func_802960C4(2); item_dec(ITEM_14_HEALTH); diff --git a/src/core2/code_FD60.c b/src/core2/code_FD60.c index 3eaad47b..f7baa622 100644 --- a/src/core2/code_FD60.c +++ b/src/core2/code_FD60.c @@ -5,7 +5,7 @@ #define _SQ3v1(v) (v[0] * v[0] + v[1] * v[1] + v[2] * v[2]) extern f32 ml_sin_deg(f32); -extern f32 ml_vec3f_dot_product(f32[3], f32[3]); +extern f32 ml_dotProduct_vec3f(f32[3], f32[3]); extern void func_80256D0C(f32, f32, f32, f32, f32, f32 *, f32 *, f32 *); extern void func_80256E24(f32[3], f32, f32, f32, f32, f32); extern f32 climbGetRadius(void); @@ -68,7 +68,7 @@ void func_80296CF0(void){ if(func_80294548()){ func_80294480(sp54); ml_vec3f_normalize_copy(sp48, sp60); - sp44 = ml_vec3f_dot_product(sp48, sp54); + sp44 = ml_dotProduct_vec3f(sp48, sp54); sp40 = get_slope_timer(); if(sp44 != 0.0f){ if(sp44 < 0){ @@ -209,9 +209,9 @@ void func_802974A0(void){ D_8037C508.unk20 += time_getDelta(); sp2C = ml_map_f(D_8037C508.unk20, 0.0f, D_8037C508.unk1C, 0.0f, 1.0f); ml_vec3f_copy(D_8037C4B8, D_8037C4A8); - D_8037C4A8[0] = func_80257C48(sp2C, D_8037C508.unk4[0], D_8037C508.unk10[0]); - D_8037C4A8[1] = func_80257C48(sp2C, D_8037C508.unk4[1], D_8037C508.unk10[1]); - D_8037C4A8[2] = func_80257C48(sp2C, D_8037C508.unk4[2], D_8037C508.unk10[2]); + D_8037C4A8[0] = ml_interpolate_f(sp2C, D_8037C508.unk4[0], D_8037C508.unk10[0]); + D_8037C4A8[1] = ml_interpolate_f(sp2C, D_8037C508.unk4[1], D_8037C508.unk10[1]); + D_8037C4A8[2] = ml_interpolate_f(sp2C, D_8037C508.unk4[2], D_8037C508.unk10[2]); ml_vec3f_diff_copy(D_8037C4B8, D_8037C4A8, D_8037C4B8); ml_vec3f_scale(D_8037C4B8, 1.0/time_getDelta()); if(1.0 == sp2C){ diff --git a/src/core2/gc/pauseMenu.c b/src/core2/gc/pauseMenu.c index 4db5f025..c5d1bbb9 100644 --- a/src/core2/gc/pauseMenu.c +++ b/src/core2/gc/pauseMenu.c @@ -722,7 +722,7 @@ void gcpausemenu_init(void) { D_80383010.b_button_frame = D_80383010.unk3_0 = D_80383010.b_button_alpha = 0; D_80383010.page_cnt = gcpausemenu_initLargestPageIndex(); D_80383010.sns_alpha = D_80383010.sns_visible = D_80383010.unk70_31 = D_80383010.unk70_30 = 0; - func_80250FC0(); + rumbleManager_80250FC0(); gcPauseMenu_setState(0); } diff --git a/src/core2/gc/section.c b/src/core2/gc/section.c index 3c7171e8..ee9be77a 100644 --- a/src/core2/gc/section.c +++ b/src/core2/gc/section.c @@ -277,7 +277,7 @@ void func_8030AFD8(s32 arg0){ func_8033301C(); } func_8034789C(); - func_80250FC0(); //stop controller motor + rumbleManager_80250FC0(); //stop controller motor gcpausemenu_80314B24(); func_80347A70(); } diff --git a/src/core2/code_679A0.c b/src/core2/particle.c similarity index 59% rename from src/core2/code_679A0.c rename to src/core2/particle.c index 340d6e7a..46571e93 100644 --- a/src/core2/code_679A0.c +++ b/src/core2/particle.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" extern int func_8024DB50(f32 (*)[3], f32); extern s32 spriteGetFrameCount(BKSprite *); @@ -8,8 +9,8 @@ extern void func_80344720(s32 SpriteGfx, s32 frame, s32, f32[3], f32[3], f32[3], extern void func_80344424(s32 SpriteGfx, s32 frame, s32, f32[3], f32[3], f32, Gfx **, Mtx **); -void func_802EF9E4(ParticleEmitter *this, s32 arg1); -void func_802EF9EC(ParticleEmitter *this, s32 arg1, s32 arg2); +void particleEmitter_setAlpha(ParticleEmitter *this, s32 arg1); +void particleEmitter_setSfx(ParticleEmitter *this, enum sfx_e arg1, s32 arg2); void func_802EFA04(ParticleEmitter *, f32); void particleEmitter_setParticleCallback(ParticleEmitter *this, void (*arg1)(ParticleEmitter *this, f32 pos[3])); void func_802EFA20(ParticleEmitter *, f32, f32); @@ -19,7 +20,7 @@ void func_802EFA78(ParticleEmitter *this, s32 arg1); void func_802EFF5C(ParticleEmitter *, f32, f32, f32); void func_802EFF7C(ParticleEmitter *, f32, f32, f32); void func_802EFF9C(ParticleEmitter *, f32); -void partEmitList_remove(ParticleEmitter *this); +void partEmitMgr_freeEmitter(ParticleEmitter *this); Gfx D_80368940[] = { @@ -42,13 +43,12 @@ Gfx D_80368978[] = { gsSPEndDisplayList() }; -ParticleEmitter **D_803689B0 = NULL; //particlePtrArrayPtr -s32 D_803689B4 = 0; //particlePtrArraySize -s32 D_803689B8[3] = {0xAF, 0x87, 0}; +ParticleEmitter **partEmitMgr = NULL; //particlePtrArrayPtr +s32 partEmitMgrLength = 0; //particlePtrArraySize /* .bss */ -f32 D_80380920; -u8 D_80380924; +f32 particleSfxTimer; +u8 partEmitMgrEnable; /* .code */ void func_802EE930(ParticleEmitter *this){ @@ -82,39 +82,39 @@ int func_802EE974(ParticleEmitter *this, f32 (*arg1)[3], f32 (*arg2)[3], f32 (*a } void __particleEmitter_initParticle(ParticleEmitter *this, Particle *particle){ - particle->unk0[0] = randf2(this->particleAccerationRange_4C_min_x, this->particleAccerationRange_4C_max_x); - particle->unk0[1] = randf2(this->particleAccerationRange_4C_min_y, this->particleAccerationRange_4C_max_y); - particle->unk0[2] = randf2(this->particleAccerationRange_4C_min_z, this->particleAccerationRange_4C_max_z); + particle->acceleration[0] = randf2(this->particleAccerationRange_4C_min_x, this->particleAccerationRange_4C_max_x); + particle->acceleration[1] = randf2(this->particleAccerationRange_4C_min_y, this->particleAccerationRange_4C_max_y); + particle->acceleration[2] = randf2(this->particleAccerationRange_4C_min_z, this->particleAccerationRange_4C_max_z); particle->unk5C = this->unk64; - particle->unkC = (0.0f == this->unk10) ? 1.0f : 0; - particle->frame_10 = randf2((f32)this->particleStartingFrameRange_84_min, (f32)this->particleStartingFrameRange_84_max); - particle->framerate_14 = randf2(this->particleFramerateRange_8C_min, this->particleFramerateRange_8C_max); + particle->fade = (0.0f == this->fade_in) ? 1.0f : 0; + particle->frame = randf2((f32)this->particleStartingFrameRange_84_min, (f32)this->particleStartingFrameRange_84_max); + particle->framerate = randf2(this->particleFramerateRange_8C_min, this->particleFramerateRange_8C_max); - particle->position_18[0] = this->postion_28[0]; - particle->position_18[1] = this->postion_28[1]; - particle->position_18[2] = this->postion_28[2]; + particle->position[0] = this->postion_28[0]; + particle->position[1] = this->postion_28[1]; + particle->position[2] = this->postion_28[2]; - particle->position_18[0] = particle->position_18[0] + randf2(this->particleSpawnPositionRange_94_min_x, this->particleSpawnPositionRange_94_max_x); - particle->position_18[1] = particle->position_18[1] + randf2(this->particleSpawnPositionRange_94_min_y, this->particleSpawnPositionRange_94_max_y); - particle->position_18[2] = particle->position_18[2] + randf2(this->particleSpawnPositionRange_94_min_z, this->particleSpawnPositionRange_94_max_z); + particle->position[0] = particle->position[0] + randf2(this->particleSpawnPositionRange_94_min_x, this->particleSpawnPositionRange_94_max_x); + particle->position[1] = particle->position[1] + randf2(this->particleSpawnPositionRange_94_min_y, this->particleSpawnPositionRange_94_max_y); + particle->position[2] = particle->position[2] + randf2(this->particleSpawnPositionRange_94_min_z, this->particleSpawnPositionRange_94_max_z); - particle->initialSize_34 = particle->size_30 = randf2(this->particleStartingScaleRange_AC_min, this->particleStartingScaleRange_AC_max); + particle->initialSize_34 = particle->scale = randf2(this->particleStartingScaleRange_AC_min, this->particleStartingScaleRange_AC_max); if(0.0f == this->particleFinalScaleRange_B4_min && 0.0f == this->particleFinalScaleRange_B4_max) particle->finalSizeDiff = 0.0f; else particle->finalSizeDiff = randf2(this->particleFinalScaleRange_B4_min, this->particleFinalScaleRange_B4_max)- particle->initialSize_34; - particle->unk24[2] = 0.0f; - particle->unk24[1] = 0.0f; - particle->unk24[0] = 0.0f; + particle->rotation[2] = 0.0f; + particle->rotation[1] = 0.0f; + particle->rotation[0] = 0.0f; - particle->unk3C[0] = randf2(this->unkBC[0], this->unkC8[0]); - particle->unk3C[1] = randf2(this->unkBC[1], this->unkC8[1]); - particle->unk3C[2] = randf2(this->unkBC[2], this->unkC8[2]); + particle->angluar_velocity[0] = randf2(this->unkBC[0], this->unkC8[0]); + particle->angluar_velocity[1] = randf2(this->unkBC[1], this->unkC8[1]); + particle->angluar_velocity[2] = randf2(this->unkBC[2], this->unkC8[2]); particle->age_48 = 0.0f; - particle->lifetime_4C = randf2(this->unkDC[0], this->unkDC[1]) + 0.001; + particle->lifetime_4C = randf2(this->particleLifeTimeRange[0], this->particleLifeTimeRange[1]) + 0.001; if(!this->sphericalParticleVelocity_48){ particle->velocity_50[0] = randf2(this->particleVelocityRange_E4.cartisian_min_x, this->particleVelocityRange_E4.cartisian_max_x); particle->velocity_50[1] = randf2(this->particleVelocityRange_E4.cartisian_min_y, this->particleVelocityRange_E4.cartisian_max_y); @@ -131,7 +131,7 @@ void __particleEmitter_initParticle(ParticleEmitter *this, Particle *particle){ } } -void func_802EED1C(ParticleEmitter *this, f32 arg1, f32 arg2[3]){ +void func_802EED1C(ParticleEmitter *this, f32 age, f32 arg2[3]){ int i; f32 tmp_f22; f32 tmp_f0; @@ -139,7 +139,7 @@ void func_802EED1C(ParticleEmitter *this, f32 arg1, f32 arg2[3]){ tmp_f22 = this->unk108*0.5; for(i = 0; i < 3; i++){ if(this->unk118[i] != 0.0f){ - tmp_f0 = func_802588B0(this->unk10C[i] + arg1, this->unk108); + tmp_f0 = ml_remainder_f(this->unk10C[i] + age, this->unk108); tmp_f0 = mlAbsF(tmp_f0 - tmp_f22); tmp_f0 = ml_map_f(tmp_f0, 0.0f, tmp_f22, 1.0 - this->unk118[i], this->unk118[i] + 1.0); arg2[i] *= tmp_f0; @@ -147,122 +147,120 @@ void func_802EED1C(ParticleEmitter *this, f32 arg1, f32 arg2[3]){ } } -void func_802EEE3C(ParticleEmitter *this, Gfx **gfx, Mtx **mtx, Vtx **vtx, u32 arg4){ - f32 sp8C[3]; - f32 sp80[3]; - f32 sp74[3]; +void __particleEmitter_drawOnPass(ParticleEmitter *this, Gfx **gfx, Mtx **mtx, Vtx **vtx, u32 draw_pass){ + f32 position[3]; + f32 flat_rotation[3]; + f32 scale[3]; Particle *iPtr; - if(reinterpret_cast(u32, arg4) != (this->unk18 & 0x4) != 0) + if(reinterpret_cast(u32, draw_pass) != (this->draw_mode & 0x4) != 0) return; if(this->model_20 != NULL){ for(iPtr = this->pList_start_124; iPtr < this->pList_end_128; iPtr++){ - sp8C[0] = iPtr->position_18[0] + this->unk4[0]; - sp8C[1] = iPtr->position_18[1] + this->unk4[1]; - sp8C[2] = iPtr->position_18[2] + this->unk4[2]; - if( 0.0f != this->unk10 || 1.0 != this->unk14 || this->unk49 != 0xff ){ - modelRender_setAlpha((s32) (iPtr->unkC*this->unk49)); + position[0] = iPtr->position[0] + this->unk4[0]; + position[1] = iPtr->position[1] + this->unk4[1]; + position[2] = iPtr->position[2] + this->unk4[2]; + if( 0.0f != this->fade_in || 1.0 != this->fade_out || this->alpha != 0xff ){ + modelRender_setAlpha((s32) (iPtr->fade*this->alpha)); }//L802EEF5C - // tmp_a3 = (this->unk18 & 0x10)?0:1; - modelRender_setDepthMode((this->unk18 & 0x10)?0:1); - modelRender_draw(gfx, mtx, sp8C, iPtr->unk24, iPtr->size_30, NULL, this->model_20); + modelRender_setDepthMode((this->draw_mode & PART_EMIT_NO_DEPTH)? MODEL_RENDER_DEPTH_NONE : MODEL_RENDER_DEPTH_FULL); + modelRender_draw(gfx, mtx, position, iPtr->rotation, iPtr->scale, NULL, this->model_20); } return; } if(this->unk34){//L802EEFC4 - if( this->unk3C[0] != 0xff - || this->unk3C[1] != 0xff - || this->unk3C[2] != 0xff - || this->unk49 != 0xff + if( this->rgb[0] != 0xff + || this->rgb[1] != 0xff + || this->rgb[2] != 0xff + || this->alpha != 0xff ){ - func_803382E4((this->unk18 & 0x10)? 9: 0xf); - func_80338338(this->unk3C[0], this->unk3C[1], this->unk3C[2]); + func_803382E4((this->draw_mode & PART_EMIT_NO_DEPTH)? 9: 0xf); + func_80338338(this->rgb[0], this->rgb[1], this->rgb[2]); func_803382B4( - (this->unk3C[0] < 8)? 0 : this->unk3C[0] - 8, - (this->unk3C[1] < 8)? 0 : this->unk3C[1] - 8, - (this->unk3C[2] < 8)? 0 : this->unk3C[2] - 8, - (this->unk18 & 0x20)? 0xff : this->unk49 + (this->rgb[0] < 8)? 0 : this->rgb[0] - 8, + (this->rgb[1] < 8)? 0 : this->rgb[1] - 8, + (this->rgb[2] < 8)? 0 : this->rgb[2] - 8, + (this->draw_mode & PART_EMIT_NO_OPA)? 0xff : this->alpha ); func_80338370(); func_80335D30(gfx); } - else if(this->unk18 & 0x10){//L802EF0C0 + else if(this->draw_mode & PART_EMIT_NO_DEPTH){//L802EF0C0 gSPDisplayList((*gfx)++, D_80368978); } else{//L802EF0EC gSPDisplayList((*gfx)++, D_80368940); }//L802EF10C - sp80[0] = 90.0f; - sp80[1] = 0.0f; - sp80[2] = 0.0f; + flat_rotation[0] = 90.0f; + flat_rotation[1] = 0.0f; + flat_rotation[2] = 0.0f; for(iPtr = this->pList_start_124; iPtr < this->pList_end_128; iPtr++){ - gDPSetPrimColor((*gfx)++, 0, 0, this->unk3C[0], this->unk3C[1], this->unk3C[2], iPtr->unkC*this->unk49); - sp8C[0] = iPtr->position_18[0] + this->unk4[0]; - sp8C[1] = iPtr->position_18[1] + this->unk4[1]; - sp8C[2] = iPtr->position_18[2] + this->unk4[2]; + gDPSetPrimColor((*gfx)++, 0, 0, this->rgb[0], this->rgb[1], this->rgb[2], iPtr->fade*this->alpha); + position[0] = iPtr->position[0] + this->unk4[0]; + position[1] = iPtr->position[1] + this->unk4[1]; + position[2] = iPtr->position[2] + this->unk4[2]; - sp74[0] = iPtr->size_30; - sp74[1] = iPtr->size_30; - sp74[2] = iPtr->size_30; + scale[0] = iPtr->scale; + scale[1] = iPtr->scale; + scale[2] = iPtr->scale; if(0.0f != this->unk108){ - func_802EED1C(this, iPtr->age_48, sp74); + func_802EED1C(this, iPtr->age_48, scale); } func_80344C2C(this->unk0_16); - if(this->unk18 & 1){ - func_80344720(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp80, sp74, gfx, mtx); + if(this->draw_mode & PART_EMIT_3D_ROTATE){ + func_80344720(this->unk34, (s32)iPtr->frame, 0, position, flat_rotation, scale, gfx, mtx); }//L802EF2F8 else{ - func_80344424(this->unk34, (s32)iPtr->frame_10, 0, sp8C, sp74, iPtr->unk24[2], gfx, mtx); + func_80344424(this->unk34, (s32)iPtr->frame, 0, position, scale, iPtr->rotation[2], gfx, mtx); }//L802EF324 }//L802EF338 - if( this->unk3C[0] != 0xff || this->unk3C[1] != 0xff || this->unk3C[2] != 0xff || this->unk49 != 0xff + if( this->rgb[0] != 0xff || this->rgb[1] != 0xff || this->rgb[2] != 0xff || this->alpha != 0xff ){ func_8033687C(gfx); } } } -void func_802EF3A8(ParticleEmitter *this, Gfx **gdl, Mtx **mPtr, Vtx **vPtr){ - func_802EEE3C(this, gdl, mPtr, vPtr, 4); - func_802EEE3C(this, gdl, mPtr, vPtr, 0); +void particleEmitter_draw(ParticleEmitter *this, Gfx **gdl, Mtx **mPtr, Vtx **vPtr){ + __particleEmitter_drawOnPass(this, gdl, mPtr, vPtr, 4); + __particleEmitter_drawOnPass(this, gdl, mPtr, vPtr, 0); } -void func_802EF3F4(ParticleEmitter *this, f32 position_min[3], f32 position_max[3], s32 count){ +void particleEmitter_emitInVolume(ParticleEmitter *this, f32 position_min[3], f32 position_max[3], s32 count){ for(count; count > 0; count--){ if(this->pList_end_128 < this->pList_capacity_12C){ __particleEmitter_initParticle(this, this->pList_end_128); - this->pList_end_128->position_18[0] = randf2(position_min[0], position_max[0]); - this->pList_end_128->position_18[1] = randf2(position_min[1], position_max[1]); - this->pList_end_128->position_18[2] = randf2(position_min[2], position_max[2]); + this->pList_end_128->position[0] = randf2(position_min[0], position_max[0]); + this->pList_end_128->position[1] = randf2(position_min[1], position_max[1]); + this->pList_end_128->position[2] = randf2(position_min[2], position_max[2]); this->pList_end_128++; } } } -void func_802EF4AC(ParticleEmitter *this, f32 arg1[3], f32 arg2[3], s32 arg3) { - f32 sp3C[3]; +void particleEmitter_emitUniformLine(ParticleEmitter *this, f32 start[3], f32 end[3], s32 count) { + f32 d_position[3]; f32 temp_f0; s32 temp_s4; s32 i; - arg3 -= 1; - sp3C[0] = arg2[0] - arg1[0];\ - sp3C[1] = arg2[1] - arg1[1];\ - sp3C[2] = arg2[2] - arg1[2]; - for(i = 0; i <= arg3; i++){ + count -= 1; + d_position[0] = end[0] - start[0];\ + d_position[1] = end[1] - start[1];\ + d_position[2] = end[2] - start[2]; + for(i = 0; i <= count; i++){ if (this->pList_end_128 < this->pList_capacity_12C) { __particleEmitter_initParticle(this, this->pList_end_128); - this->pList_end_128->position_18[0] = arg1[0] + sp3C[0]*((f32)i / arg3); - this->pList_end_128->position_18[1] = arg1[1] + sp3C[1]*((f32)i / arg3); - this->pList_end_128->position_18[2] = arg1[2] + sp3C[2]*((f32)i / arg3); + this->pList_end_128->position[0] = start[0] + d_position[0]*((f32)i / count); + this->pList_end_128->position[1] = start[1] + d_position[1]*((f32)i / count); + this->pList_end_128->position[2] = start[2] + d_position[2]*((f32)i / count); this->pList_end_128++; } } } -//particleEmitter_emitN void particleEmitter_emitN(ParticleEmitter *this, int n){ for(n; n > 0; n--){ if(this->pList_end_128 < this->pList_capacity_12C){ @@ -271,19 +269,16 @@ void particleEmitter_emitN(ParticleEmitter *this, int n){ } } -//particleEmitter_particleListLength -int func_802EF628(ParticleEmitter *this){ +int particleEmitter_getParticleCount(ParticleEmitter *this){ return (u32)(this->pList_end_128 - this->pList_start_124); } -//particleEmitter_isDone -int func_802EF648(ParticleEmitter *this){ +int particleEmitter_isDone(ParticleEmitter *this){ return (u32)(this->pList_end_128 - this->pList_start_124) < 1 - && this->doneSpawning_0_23 == 1; + && this->doneSpawning_0_23 == TRUE; } -//particleEmitter_free -void func_802EF684(ParticleEmitter *this){ +void particleEmitter_free(ParticleEmitter *this){ func_802EE930(this); free(this); } @@ -292,30 +287,30 @@ ParticleEmitter * particleEmitter_new(u32 capacity){ ParticleEmitter *this = malloc(capacity*sizeof(Particle) + sizeof(ParticleEmitter)); f32 sp40[3]; - this->unk0_0 = 0; + this->auto_free = 0; this->doneSpawning_0_23 = 1; - this->unk18 = 0; + this->draw_mode = 0; this->sprite_1C = NULL; this->unk0_16 = 0; this->model_20 = NULL; this->unk34 = 0; this->assetId_0_15 = 0; - this->unk3C[0] = 0xff; - this->unk3C[1] = 0xff; - this->unk3C[2] = 0xff; + this->rgb[0] = 0xff; + this->rgb[1] = 0xff; + this->rgb[2] = 0xff; this->particleSpawnTimer_24 = 0.0f; this->spawnIntervalTimer_38 = 0.0f; sp40[0] = sp40[1] = sp40[2] = 0.0f; func_802EFA40(this, &sp40); - func_802EFA5C(this, 0.0f, 1.0f); - func_802EFA70(this, 0); + 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); - func_802EF9E4(this, 0xff); + particleEmitter_setAlpha(this, 0xff); particleEmitter_setParticleSpawnPositionRange(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); - func_802EF9EC(this, 0, 0); + particleEmitter_setSfx(this, 0, 0); func_802EF9F8(this, 0.9f); func_802EFA04(this, -100000.0f); func_802EFA34(this, 100000.0f); @@ -326,9 +321,9 @@ ParticleEmitter * particleEmitter_new(u32 capacity){ particleEmitter_setParticleFramerateRange(this, 0.0f, 0.0f); func_802EFB70(this, 1.0f, 1.0f); func_802EFB84(this, 0.0f, 0.0f); - func_802EFE24(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + particleEmitter_setAngularVelocityRange(this, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); particleEmitter_setSpawnIntervalRange(this, 0.0f, 5.0f); - func_802EFEC0(this, 0.0f, 5.0f); + particleEmitter_setParticleLifeTimeRange(this, 0.0f, 5.0f); func_802EFF5C(this, 0.0f, 0.0f, 0.0f); func_802EFF7C(this, 0.0f, 0.0f, 0.0f); func_802EFF9C(this, 0.0f); @@ -358,12 +353,12 @@ void particleEmitter_setParticleAccelerationRange(ParticleEmitter *this, f32 min this->particleAccerationRange_4C_max_z = max_z; } -void func_802EF9E4(ParticleEmitter *this, s32 arg1){ - this->unk49 = arg1; +void particleEmitter_setAlpha(ParticleEmitter *this, s32 arg1){ + this->alpha = arg1; } -void func_802EF9EC(ParticleEmitter *this, s32 arg1, s32 arg2){ - this->unk66 = arg1; +void particleEmitter_setSfx(ParticleEmitter *this, enum sfx_e sfx_id, s32 arg2){ + this->sfx_id = sfx_id; this->unk7C = arg2; } @@ -398,13 +393,13 @@ void func_802EFA40(ParticleEmitter *this, f32 (*arg1)[3]){ this->unk4[2] = (*arg1)[2]; } -void func_802EFA5C(ParticleEmitter *this, f32 arg1, f32 arg2){ - this->unk10 = arg1; - this->unk14 = arg2; +void particleEmitter_setFade(ParticleEmitter *this, f32 fade_in, f32 fade_out){ + this->fade_in = fade_in; + this->fade_out = fade_out; } -void func_802EFA70(ParticleEmitter *this, s32 arg1){ - this->unk18 = arg1; +void particleEmitter_setDrawMode(ParticleEmitter *this, s32 arg1){ + this->draw_mode = arg1; } void func_802EFA78(ParticleEmitter *this, s32 arg1){ @@ -468,15 +463,15 @@ void func_802EFB98(ParticleEmitter *this, struct31s *arg1){ this->particleFinalScaleRange_B4_max = arg1->unk8[1]; } particleEmitter_setSpawnIntervalRange(this, arg1->unk10[0], arg1->unk10[1]); - this->unkDC[0] = arg1->unk18[0]; - this->unkDC[1] = arg1->unk18[1]; - this->unk10 = arg1->unk20; - this->unk14 = arg1->unk24; + this->particleLifeTimeRange[0] = arg1->unk18[0]; + this->particleLifeTimeRange[1] = arg1->unk18[1]; + this->fade_in = arg1->unk20; + this->fade_out = arg1->unk24; } void func_802EFC28(ParticleEmitter *this, struct40s *arg1){ func_802EFB98(this, &arg1->unk0); - func_802EFA70(this, (s32)arg1->unk28); + particleEmitter_setDrawMode(this, (s32)arg1->unk28); particleEmitter_emitN(this, (s32)arg1->unk2C); } @@ -518,7 +513,7 @@ void particleEmitter_setPositionVelocityAndAccelerationRanges(ParticleEmitter *t ); } -void func_802EFE24(ParticleEmitter *this, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6){ +void particleEmitter_setAngularVelocityRange(ParticleEmitter *this, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6){ this->unkBC[0] = arg1; this->unkBC[1] = arg2; this->unkBC[2] = arg3; @@ -534,9 +529,9 @@ void particleEmitter_setSpawnIntervalRange(ParticleEmitter *this, f32 min, f32 m this->particleSpawnTimer_24 = randf2(this->spawnIntervalRange_D4_min, this->spawnIntervalRange_D4_max); } -void func_802EFEC0(ParticleEmitter *this, f32 arg1, f32 arg2){ - this->unkDC[0] = arg1; - this->unkDC[1] = arg2; +void particleEmitter_setParticleLifeTimeRange(ParticleEmitter *this, f32 min, f32 max){ + this->particleLifeTimeRange[0] = min; + this->particleLifeTimeRange[1] = max; } void particleEmitter_setParticleVelocityRange(ParticleEmitter *this, f32 x_min, f32 x_max, f32 y_min, f32 y_max, f32 z_min, f32 z_max){ @@ -579,10 +574,10 @@ void func_802EFF9C(ParticleEmitter *this, f32 arg1){ this->unk108 = arg1; } -void func_802EFFA8(ParticleEmitter *this, s32 arg1[3]){ - this->unk3C[0] = arg1[0]; - this->unk3C[1] = arg1[1]; - this->unk3C[2] = arg1[2]; +void particleEmitter_setRGB(ParticleEmitter *this, s32 arg1[3]){ + this->rgb[0] = arg1[0]; + this->rgb[1] = arg1[1]; + this->rgb[2] = arg1[2]; } void particleEmitter_setSpawnInterval(ParticleEmitter *this, f32 arg1){ @@ -595,96 +590,96 @@ void func_802EFFDC(ParticleEmitter *this){ } void particleEmitter_update(ParticleEmitter *this){ - Particle *iPtr; + Particle *particle; f32 tick = time_getDelta(); f32 temp_f0; f32 sp78[3]; f32 sp6C[3]; f32 sp68; - if(D_80380924){ - for(iPtr = this->pList_start_124; iPtr < this->pList_end_128;){//L802F005C - iPtr->age_48 += tick; - if(iPtr->lifetime_4C <= iPtr->age_48){ - memcpy(iPtr, --this->pList_end_128, sizeof(Particle)); + if(partEmitMgrEnable){ + for(particle = this->pList_start_124; particle < this->pList_end_128;){//L802F005C + particle->age_48 += tick; + if(particle->lifetime_4C <= particle->age_48){ + memcpy(particle, --this->pList_end_128, sizeof(Particle)); }else{//L802F00A0 - temp_f0 = iPtr->age_48/iPtr->lifetime_4C; - if(temp_f0 < this->unk10) - iPtr->unkC = temp_f0/this->unk10; - else if(temp_f0 <= this->unk14) - iPtr->unkC = 1.0f; + temp_f0 = particle->age_48/particle->lifetime_4C; + if(temp_f0 < this->fade_in) + particle->fade = temp_f0/this->fade_in; + else if(temp_f0 <= this->fade_out) + particle->fade = 1.0f; else{ - iPtr->unkC = 1.0f - ((temp_f0 - this->unk14)/(1.0f - this->unk14)); + particle->fade = 1.0f - ((temp_f0 - this->fade_out)/(1.0f - this->fade_out)); }//L802F00F0 - iPtr->size_30 = iPtr->initialSize_34 + temp_f0*iPtr->finalSizeDiff; + particle->scale = particle->initialSize_34 + temp_f0*particle->finalSizeDiff; if(this->sprite_1C){ - iPtr->frame_10 += iPtr->framerate_14*tick; - if(!((s32)iPtr->frame_10 < spriteGetFrameCount(this->sprite_1C))){ - if(this->unk18 & 8){ - iPtr->frame_10 = spriteGetFrameCount(this->sprite_1C) - 1; + particle->frame += particle->framerate*tick; + if(!((s32)particle->frame < spriteGetFrameCount(this->sprite_1C))){ + if(this->draw_mode & PART_EMIT_NO_LOOP){ + particle->frame = spriteGetFrameCount(this->sprite_1C) - 1; }else{ - iPtr->frame_10 = 0.0f; + particle->frame = 0.0f; } } }//L802F0180 - iPtr->position_18[0] += iPtr->velocity_50[0]*tick; - iPtr->position_18[1] += iPtr->velocity_50[1]*tick; - iPtr->position_18[2] += iPtr->velocity_50[2]*tick; + particle->position[0] += particle->velocity_50[0]*tick; + particle->position[1] += particle->velocity_50[1]*tick; + particle->position[2] += particle->velocity_50[2]*tick; - iPtr->unk24[0] += iPtr->unk3C[0]*tick; - iPtr->unk24[1] += iPtr->unk3C[1]*tick; - iPtr->unk24[2] += iPtr->unk3C[2]*tick; + particle->rotation[0] += particle->angluar_velocity[0]*tick; + particle->rotation[1] += particle->angluar_velocity[1]*tick; + particle->rotation[2] += particle->angluar_velocity[2]*tick; - iPtr->velocity_50[0] = iPtr->velocity_50[0] + iPtr->unk0[0]*tick; - iPtr->velocity_50[1] = iPtr->velocity_50[1] + iPtr->unk0[1]*tick; - iPtr->velocity_50[2] = iPtr->velocity_50[2] + iPtr->unk0[2]*tick; + particle->velocity_50[0] = particle->velocity_50[0] + particle->acceleration[0]*tick; + particle->velocity_50[1] = particle->velocity_50[1] + particle->acceleration[1]*tick; + particle->velocity_50[2] = particle->velocity_50[2] + particle->acceleration[2]*tick; if(this->unk100){ - iPtr->position_18[1] = func_8034E698(this->unk100) + this->unk104; + particle->position[1] = func_8034E698(this->unk100) + this->unk104; }//L802F0254 if( 0.0f != this->unkFC - && !func_8024DB50(&iPtr->position_18, this->unkFC) + && !func_8024DB50(&particle->position, this->unkFC) ){ - memcpy(iPtr, --this->pList_end_128, sizeof(Particle)); + memcpy(particle, --this->pList_end_128, sizeof(Particle)); } else{//L802F029C - if(iPtr->unk5C > 0){ - sp6C[0] = iPtr->position_18[0]; - sp6C[1] = iPtr->position_18[1] + 50.0f; - sp6C[2] = iPtr->position_18[2]; - if(func_802EE974(this, &sp6C, &iPtr->position_18, &sp78, 0)){ - if(this->unk66){ - sp68 = mlAbsF(iPtr->velocity_50[1])/10.0; + if(particle->unk5C > 0){ + sp6C[0] = particle->position[0]; + sp6C[1] = particle->position[1] + 50.0f; + sp6C[2] = particle->position[2]; + if(func_802EE974(this, &sp6C, &particle->position, &sp78, 0)){ + if(this->sfx_id){ + sp68 = mlAbsF(particle->velocity_50[1])/10.0; if(1.0f < sp68){ sp68 = 1.0f; }//L802F0324 - if(D_80380920 == 0.0f){ - func_8030E6A4(this->unk66, randf2(this->unk6C, this->unk70), (s32)((f32)this->unk7C*sp68)); - D_80380920 = 0.25f; + if(particleSfxTimer == 0.0f){ + func_8030E6A4(this->sfx_id, randf2(this->unk6C, this->unk70), (s32)((f32)this->unk7C*sp68)); + particleSfxTimer = 0.25f; } }//L802F0384 - iPtr->position_18[1] += 2.0f; - iPtr->velocity_50[1] = mlAbsF(iPtr->velocity_50[1]) * this->unk68; - if((this->unk18 & 0x2) == 0){ - iPtr->initialSize_34 *= this->unk68; - iPtr->finalSizeDiff *= this->unk68; + particle->position[1] += 2.0f; + particle->velocity_50[1] = mlAbsF(particle->velocity_50[1]) * this->unk68; + if((this->draw_mode & 0x2) == 0){ + particle->initialSize_34 *= this->unk68; + particle->finalSizeDiff *= this->unk68; }//L802F03DC - iPtr->unk3C[0] *= this->unk68; - iPtr->unk3C[1] *= this->unk68; - iPtr->unk3C[2] *= this->unk68; - if(--iPtr->unk5C == 0){ + particle->angluar_velocity[0] *= this->unk68; + particle->angluar_velocity[1] *= this->unk68; + particle->angluar_velocity[2] *= this->unk68; + if(--particle->unk5C == 0){ if(this->particleCallback_80) - this->particleCallback_80(this, iPtr->position_18); - memcpy(iPtr, --this->pList_end_128, sizeof(Particle)); + this->particleCallback_80(this, particle->position); + memcpy(particle, --this->pList_end_128, sizeof(Particle)); continue; } } } - iPtr++; + particle++; } }//L802F045C }//L802F0468 @@ -706,20 +701,21 @@ void particleEmitter_update(ParticleEmitter *this){ } void func_802F053C(ParticleEmitter *this, f32 arg1[3]){ + static s32 D_803689B8[3] = {0xAF, 0x87, 0}; particleEmitter_setSprite(this, ASSET_70E_SPRITE_SMOKE_2); - func_802EFFA8(this, D_803689B8); - func_802EFA5C(this, 0.0f, 0.1f); + 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_setPosition(this, arg1); func_802EFB70(this, 1.0f, 1.0f); func_802EFB84(this, 2.0f, 3.0f); particleEmitter_setSpawnIntervalRange(this, 0.0f, 0.01f); - func_802EFEC0(this, 3.0f, 4.0f); + particleEmitter_setParticleLifeTimeRange(this, 3.0f, 4.0f); particleEmitter_setParticleVelocityRange(this, -200.0f, 0.0f, -200.0f, 200.0f, 100.0f, 200.0f); } -void func_802F066C(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); @@ -728,14 +724,14 @@ void func_802F066C(ParticleEmitter *this, f32 arg1[3]){ -120.0f, -60.0f, -120.0f, 120.0f, 60.0f, 120.0f ); - particleEmitter_setPosition(this, arg1); + particleEmitter_setPosition(this, position); func_802EFB70(this, 0.2f, 0.3f); - func_802EFE24(this, + particleEmitter_setAngularVelocityRange(this, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f ); particleEmitter_setSpawnIntervalRange(this, 0.0f, 0.01f); - func_802EFEC0(this, 10.0f, 10.0f); + particleEmitter_setParticleLifeTimeRange(this, 10.0f, 10.0f); particleEmitter_setParticleVelocityRange(this, -500.0f, 150.0f, -500.0f, 500.0f, @@ -743,47 +739,47 @@ void func_802F066C(ParticleEmitter *this, f32 arg1[3]){ ); } -void func_802F07D8(void){ - D_803689B0 = (ParticleEmitter **) malloc(0); - D_803689B4 = 0; +void partEmitMgr_init(void){ + partEmitMgr = (ParticleEmitter **) malloc(0); + partEmitMgrLength = 0; } -void func_802F0804(void){ +void partEmitMgr_free(void){ int i; - for(i = 0; i < D_803689B4; i++){ - func_802EF684(D_803689B0[i]); + for(i = 0; i < partEmitMgrLength; i++){ + particleEmitter_free(partEmitMgr[i]); } - free(D_803689B0); - D_803689B0 = NULL; - D_803689B4 = 0; + free(partEmitMgr); + partEmitMgr = NULL; + partEmitMgrLength = 0; } void func_802F0898(void){ return; } -void func_802F08A0(void){ +void partEmitMgr_update(void){ int i; ParticleEmitter *iPtr; - D_80380920 = MAX(0.0, D_80380920 - time_getDelta()); - if(D_803689B0){ - for(i = 0; i < D_803689B4; i++){ - iPtr = D_803689B0[i]; + particleSfxTimer = MAX(0.0, particleSfxTimer - time_getDelta()); + if(partEmitMgr){ + for(i = 0; i < partEmitMgrLength; i++){ + iPtr = partEmitMgr[i]; particleEmitter_update(iPtr); - if( iPtr->unk0_0 + if( iPtr->auto_free && iPtr->doneSpawning_0_23 == TRUE && iPtr->pList_end_128 == iPtr->pList_start_124 ){ - iPtr->unk0_1 = TRUE; + iPtr->dead = TRUE; } else{ - iPtr->unk0_1 = FALSE; + iPtr->dead = FALSE; } }//L802F09C0 - for(i = 0; i < D_803689B4;){ - if(D_803689B0[i]->unk0_1){ - partEmitList_remove(D_803689B0[i]); + for(i = 0; i < partEmitMgrLength;){ + if(partEmitMgr[i]->dead){ + partEmitMgr_freeEmitter(partEmitMgr[i]); } else{ i++; @@ -792,87 +788,87 @@ void func_802F08A0(void){ }//L802F0A14 } -void func_802F0A34(Gfx **gdl, Mtx **mptr, Vtx **vptr){ +void partEmitMgr_drawPass0(Gfx **gdl, Mtx **mptr, Vtx **vptr){ int i; - for(i = 0; i < D_803689B4; i++){ - func_802EEE3C(D_803689B0[i], gdl, mptr, vptr, 4); + for(i = 0; i < partEmitMgrLength; i++){ + __particleEmitter_drawOnPass(partEmitMgr[i], gdl, mptr, vptr, 4); } } -void func_802F0AE8(Gfx **gdl, Mtx **mptr, Vtx **vptr){ +void partEmitMgr_drawPass1(Gfx **gdl, Mtx **mptr, Vtx **vptr){ int i; - for(i = 0; i < D_803689B4; i++){ - func_802EEE3C(D_803689B0[i], gdl, mptr, vptr, 0); + for(i = 0; i < partEmitMgrLength; i++){ + __particleEmitter_drawOnPass(partEmitMgr[i], gdl, mptr, vptr, 0); } } -void func_802F0B98(Gfx **gdl, Mtx **mptr, Vtx **vptr){ - func_802F0A34(gdl, mptr, vptr); - func_802F0AE8(gdl, mptr, vptr); +void partEmitMgr_draw(Gfx **gdl, Mtx **mptr, Vtx **vptr){ + partEmitMgr_drawPass0(gdl, mptr, vptr); + partEmitMgr_drawPass1(gdl, mptr, vptr); } -ParticleEmitter *partEmitList_pushNew(u32 cnt){ - D_803689B0 = realloc(D_803689B0, (++D_803689B4)*4); - D_803689B0[D_803689B4 - 1] = particleEmitter_new(cnt); - D_803689B0[D_803689B4 - 1]->unk0_0 = TRUE; - return D_803689B0[D_803689B4 - 1]; +ParticleEmitter *partEmitMgr_newEmitter(u32 cnt){ + partEmitMgr = realloc(partEmitMgr, (++partEmitMgrLength)*4); + partEmitMgr[partEmitMgrLength - 1] = particleEmitter_new(cnt); + partEmitMgr[partEmitMgrLength - 1]->auto_free = TRUE; + return partEmitMgr[partEmitMgrLength - 1]; } -void partEmitList_remove(ParticleEmitter *this){ +void partEmitMgr_freeEmitter(ParticleEmitter *this){ int i = 0; - while(this != D_803689B0[i] && i < D_803689B4){i++;} - if(i == D_803689B4) + while(this != partEmitMgr[i] && i < partEmitMgrLength){i++;} + if(i == partEmitMgrLength) return; - func_802EF684(this); - D_803689B0[i] = D_803689B0[D_803689B4 - 1]; - D_803689B4--; - D_803689B0 = realloc(D_803689B0, D_803689B4*sizeof(ParticleEmitter *)); + particleEmitter_free(this); + partEmitMgr[i] = partEmitMgr[partEmitMgrLength - 1]; + partEmitMgrLength--; + partEmitMgr = realloc(partEmitMgr, partEmitMgrLength*sizeof(ParticleEmitter *)); } -void func_802F0D54(ParticleEmitter *this){ - this->unk0_0 = FALSE; +void particleEmitter_manualFree(ParticleEmitter *this){ + this->auto_free = FALSE; } -void func_802F0D64(ParticleEmitter *this){ - this->unk0_0 = TRUE; +void particleEmitter_autoFree(ParticleEmitter *this){ + this->auto_free = TRUE; } -ParticleEmitter * func_802F0D74(ParticleEmitter *this){ +ParticleEmitter * partEmitMgr_defragEmitter(ParticleEmitter *this){ int i; s32 a3; if(this){ a3 = (s32)this; i = 0; - while(D_803689B0[i] != this && i < D_803689B4){ + while(partEmitMgr[i] != this && i < partEmitMgrLength){ i++; } this = (ParticleEmitter *)defrag(this); this->pList_start_124 = (Particle *)((s32)this + (u32)((s32)this->pList_start_124 - a3)); this->pList_end_128 = (Particle *)((s32)this + (u32)((s32)this->pList_end_128 - a3)); this->pList_capacity_12C = (Particle *)((s32)this + (u32)((s32)this->pList_capacity_12C - a3)); - if(i < D_803689B4){ - D_803689B0[i] = this; + if(i < partEmitMgrLength){ + partEmitMgr[i] = this; } }//L802F0E44 return this; } -void func_802F0E58(void){ - D_803689B0 = (ParticleEmitter **)defrag(D_803689B0); +void partEmitMgr_defrag(void){ + partEmitMgr = (ParticleEmitter **)defrag(partEmitMgr); } void func_802F0E80(void* arg0, s32 arg1){ - D_80380924 = (arg1 == 2) ? 1 : 0; + partEmitMgrEnable = (arg1 == 2) ? TRUE : FALSE; } void func_802F0EAC(ParticleEmitter *this, f32 arg1){ Particle *iPtr; this->postion_28[1] = arg1; for(iPtr = this->pList_start_124; iPtr < this->pList_end_128; iPtr++) - iPtr->position_18[1] = arg1; + iPtr->position[1] = arg1; } diff --git a/src/core2/pitch.c b/src/core2/pitch.c index 07c5871b..6d8f6571 100644 --- a/src/core2/pitch.c +++ b/src/core2/pitch.c @@ -22,7 +22,7 @@ static void __pitch_update(f32 limit, f32 angVel){ } val = diff * angVel * tick; - val = (val < 0) ? mlClamp_f(val, -max, -0.1f) : mlClamp_f(val, 0.1f, max); + val = (val < 0) ? ml_clamp_f(val, -max, -0.1f) : ml_clamp_f(val, 0.1f, max); D_8037C540 =( mlAbsF(val) <= mlAbsF(diff)) ? D_8037C540 + val : D_8037C544; diff --git a/src/core2/playerModel.c b/src/core2/playerModel.c deleted file mode 100644 index 0a143340..00000000 --- a/src/core2/playerModel.c +++ /dev/null @@ -1,388 +0,0 @@ -#include -#include "functions.h" -#include "variables.h" - -#include "core2/playerModel.h" - -void func_80254008(void); -extern void func_80256E24(f32[3], f32, f32, f32, f32, f32); -void assetcache_release(void *); //assetcache_free -extern void ml_vec3f_assign(f32[3], f32, f32, f32); -void func_8033A280(f32); - -extern s32 osCicId; - -/* .data */ -struct5Bs *D_80363780 = NULL; - -/* .bss */ -void *playerModelBin; //playerModelPtr -s16 playerModelId; //playerModel asset_id -u8 playerModelEnvAlpha; -u8 playerModelDirection; -u8 playerModelIsVisible; -f32 playerModelScale; -f32 playerModelPitch; -f32 playerModelRoll; -f32 playerModelYaw; -f32 D_8037C100[3]; -f32 D_8037C110[3]; -f32 playerModelDisplacement[3]; -void (*playerModelPostDrawMethod)(Gfx **gfx, Mtx **mtx, Vtx **vtx); -f32 D_8037C130[2][4]; -struct { - u8 unk0; - f32 unk4[3]; -} D_8037C150; - -//public -void playerModel_set(enum asset_e asset_id); - -//.data -static void _playerModel_updateModelYaw(void){ - switch(playerModelDirection){ - case PLAYER_MODEL_DIR_KAZOOIE: - playerModelYaw = mlNormalizeAngle(yaw_get() + 180.0f); - break; - default: - playerModelYaw = yaw_get(); - break; - case PLAYER_MODEL_DIR_GLOBAL: - break; - } -} - -void playerModel_80291A50(s32 arg0, f32 dst[3]){ - func_8034A174(D_80363780, arg0, dst); - if(func_802582EC(dst)){ - _player_getPosition(dst); - } -} - -int playerModel_80291AAC(s32 arg0, s32 arga, s32 arg2, s32 arg3){ - return 0; -} - -static void _playerModel_preDraw(int arg0){ - _player_getMarker()->unk14_21 = 1; -} - -void playerModel_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx){ - f32 rotation[3]; - s32 env_color[3]; - f32 plyr_pos[3]; //sp44 - f32 sp38[3]; - - if(!playerModelIsVisible) - return; - - _playerModel_updateModelYaw(); - playerModelRoll = roll_get(); - playerModelPitch = pitch_get(); - _player_getPosition(plyr_pos); - plyr_pos[1] += 2.0f; - ml_vec3f_assign(rotation, playerModelPitch, playerModelYaw, playerModelRoll); - func_8029A47C(env_color); - ml_vec3f_copy(sp38, D_8037C100); - - plyr_pos[0] += playerModelDisplacement[0];\ - plyr_pos[1] += playerModelDisplacement[1];\ - plyr_pos[2] += playerModelDisplacement[2]; - - sp38[0] += playerModelDisplacement[0];\ - sp38[1] += playerModelDisplacement[1];\ - sp38[2] += playerModelDisplacement[2]; - - if(playerModelBin){ - func_80289F30(); - func_8029DD6C(); - modelRender_setEnvColor(env_color[0], env_color[1], env_color[2], playerModelEnvAlpha); - func_8033A280(2.0f); - modelRender_preDraw((GenMethod_1)_playerModel_preDraw, 0); - func_8033A450(D_80363780); - modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); - if(D_8037C150.unk0){ - D_8037C150.unk0 = 0; - modelRender_draw(gfx, mtx, D_8037C150.unk4, rotation, playerModelScale, sp38, playerModelBin); - } - else{ - modelRender_draw(gfx, mtx, plyr_pos, rotation, playerModelScale, sp38, playerModelBin); - } - }//L80291CD4 - - if(playerModelPostDrawMethod){ - playerModelPostDrawMethod(gfx, mtx, vtx); - } -} - -void playerModel_updateModel(void){ - playerModel_set(func_802985F0()); -} - -void playerModel_reset(void){ - f32 plyr_pos[3]; - int i; - for(i = 0; i < 2 ; i++){ - playerModel_80292048(i, 0.0f, 0.0f, 0.0f); - playerModel_80292078(i, 0.0f); - } - playerModelEnvAlpha = 0xFF; - playerModelBin = NULL; - playerModelId = 0; - playerModelPostDrawMethod = NULL; - D_80363780 = func_8034A2C8(); - func_8034A130(D_80363780); - ml_vec3f_clear(D_8037C100); - ml_vec3f_clear(D_8037C110); - ml_vec3f_clear(playerModelDisplacement); - playerModelYaw = playerModelRoll = playerModelPitch = 0.0f; - D_8037C150.unk0 = 0; - playerModel_setVisible(TRUE); - playerModel_setScale(1.0f); - playerModelDirection = 0; - playerModel_setDirection(PLAYER_MODEL_DIR_BANJO); - if(!func_8028ADB4()) - playerModel_updateModel(); - player_getPosition(plyr_pos); - __spawnQueue_add_4((GenMethod_4)func_802C4140, - ACTOR_17_PLAYER_SHADOW, - reinterpret_cast(s32, plyr_pos[0]), - reinterpret_cast(s32, plyr_pos[1]), - reinterpret_cast(s32, plyr_pos[2]) - ); -} - -void playerModel_free(void){ - assetcache_release(playerModelBin); - playerModelBin = NULL; - playerModelId = 0; - func_8034A2A8(D_80363780); - D_80363780 = NULL; -} - -void playerModel_update(void){ - f32 sp1C; - f32 temp_f0; - - sp1C = D_8037C110[1] - D_8037C100[1]; - temp_f0 = mlAbsF(sp1C); - if( temp_f0 < 0.01){ - D_8037C100[1] = D_8037C110[1]; - } - else{ - if(5.0f < temp_f0){ - temp_f0 = 1.0f; - } - if(0.0f < sp1C){ - D_8037C100[1] += temp_f0; - } - else{ - D_8037C100[1] -= temp_f0; - } - {//L80291F7C - _player_getMarker()->unk14_21 = 0; - } - } -} - -BKModelBin *playerModel_getModelBin(void){ - return playerModelBin; -} - -enum asset_e playerModel_getModelId(void){ - return playerModelId; -} - -void playerModel_setEnvAlpha(s32 alpha){ - playerModelEnvAlpha = alpha; -} - -void playerModel_set(enum asset_e asset_id){ - if(asset_id != playerModelId){ - if(playerModelBin){ - func_80254008(); - assetcache_release(playerModelBin); - playerModelBin = NULL; - } - playerModelId = asset_id; - if(playerModelId) - playerModelBin = assetcache_get(playerModelId); - } -} - -void playerModel_80292048(s32 arg0, f32 arg1, f32 arg2, f32 arg3){ - D_8037C130[arg0][2] = arg1; - D_8037C130[arg0][3] = arg2; - D_8037C130[arg0][1] = arg3; -} - -void playerModel_80292078(s32 arg0, f32 arg1){ - D_8037C130[arg0][0] = arg1; -} - -void playerModel_setDirection(enum player_model_direction_e direction){ - if(direction != playerModelDirection){ - if(direction == PLAYER_MODEL_DIR_KAZOOIE || PLAYER_MODEL_DIR_KAZOOIE == playerModelDirection){ - //flip model - yaw_setIdeal(mlNormalizeAngle(yaw_get() + 180.0f)); - yaw_applyIdeal(); - } - } - playerModelDirection = direction; -} - -void playerModel_setScale(f32 scale){ - if(osCicId + -6103){ - scale = scale*0.25; - } - playerModelScale = scale; -} - -void playerModel_setYaw(f32 angleDegrees){ - playerModelYaw = mlNormalizeAngle(angleDegrees); -} - -void playerModel_80292158(f32 arg0){ - D_8037C100[1] = arg0; - playerModel_8029217C(arg0); -} - -void playerModel_8029217C(f32 arg0){ - D_8037C110[1] = arg0; -} - -void playerModel_setPostDraw(void (*draw_func)(Gfx **gfx, Mtx **mtx, Vtx **vtx)){ - playerModelPostDrawMethod = draw_func; -} - -void playerModel_setDisplacement(f32 arg0[3]){ - ml_vec3f_copy(playerModelDisplacement, arg0); -} - -void playerModel_setYDisplacement(f32 arg0){ - playerModelDisplacement[1] = arg0; -} - -void playerModel_setVisible(s32 arg0){ - playerModelIsVisible = arg0; -} - -void playerModel_802921D4(f32 arg0[3]){ - if(func_8028EE84() == BSWATERGROUP_0_NONE){ - D_8037C150.unk0 = 1; - D_8037C150.unk4[0] = arg0[0]; - D_8037C150.unk4[1] = arg0[1]; - D_8037C150.unk4[2] = arg0[2]; - } -} - -f32 playerModel_getYaw(void){ - return playerModelYaw; -} - -f32 playerModel_80292230(void){ - return D_8037C100[1]; -} - -void playerModel_8029223C(f32 arg0[3]){ - playerModel_80291A50(8, arg0); -} - -void playerModel_80292260(f32 arg0[3]){ - playerModel_80291A50(7, arg0); -} - -void playerModel_80292284(f32 arg0[3], s32 arg1){ - f32 sp44[3]; - f32 sp38[3]; - - if(_player_getMarker()->unk14_21 && playerModelIsVisible){ - switch(playerModel_getModelId()){ - case 0x34D: - case 0x34E: - case ASSET_34F_MODEL_BANJO_TERMITE: //802922E8 - case ASSET_359_MODEL_BANJO_WALRUS: //802922E8 - case ASSET_362_MODEL_BANJO_BEE: - case ASSET_36F_MODEL_BANJO_PUMPKIN: - case ASSET_374_MODEL_BANJO_CROC: - func_8034A174(D_80363780, arg1 + 1, arg0); - if(func_802582EC(arg0)){ - _player_getPosition(arg0); - } - - arg0[1] += D_8037C130[arg1][0]; - if(D_8037C130[arg1][1] != 0.0f){ - func_80256E24(sp44, D_8037C130[arg1][2], mlNormalizeAngle(yaw_get() + D_8037C130[arg1][3]), 0.0f, 0.0f, D_8037C130[arg1][1]); - arg0[0] += sp44[0]; - arg0[1] += sp44[1]; - arg0[2] += sp44[2]; - } - func_802976C0(sp38); - arg0[0] = arg0[0] + sp38[0]; - arg0[1] = arg0[1] + sp38[1]; - arg0[2] = arg0[2] + sp38[2]; - break; - default: ////80292400 - _player_getPosition(arg0); - break; - } - } - else{//L80292410 - _player_getPosition(arg0); - if(arg1){ - arg0[1] += 33.0f; - } - else{ - arg0[1] += 75.0f; - } - } -} - -void playerModel_getPosition(f32* dst){ - f32 tmp1[3]; - f32 tmp2[3]; - playerModel_80291A50(5,tmp1); - playerModel_80291A50(6,tmp2); - ml_vec3f_add(dst, tmp1, tmp2); - ml_vec3f_scale(dst, 0.5); -} - -void playerModel_802924B8(f32 arg0[3]){ - playerModel_80291A50(0xA, arg0); -} - -enum player_model_direction_e playerModel_getDirection(void){ - return playerModelDirection; -} - -void playerModel_802924E8(f32 arg0[3]){ - switch(player_getTransformation()){ - case TRANSFORM_5_CROC: - playerModel_80291A50(5, arg0); - break; - case TRANSFORM_4_WALRUS: //L80292520 - playerModel_80291A50(0xB, arg0); - break; - default: //L80292530 - playerModel_80291A50(0x9, arg0); - break; - } -} - -s32 playerModel_isVisible(void){ - return playerModelIsVisible; -} - -void playerModel_80292554(f32 arg0[3]){ - playerModel_80291A50(0x9, arg0); -} - -void playerModel_80292578(f32 arg0[3]){ - playerModel_80291A50(0xA, arg0); -} - -void playerModel_defrag(void){ - if(D_80363780){ - D_80363780 = func_8034A348(D_80363780); - } -} diff --git a/src/core2/roll.c b/src/core2/roll.c index 63c10351..6f3c28a1 100644 --- a/src/core2/roll.c +++ b/src/core2/roll.c @@ -20,7 +20,7 @@ static void __roll_update(f32 limit, f32 step_percent){ } val = diff * step_percent * tick; - val = (val < 0) ? mlClamp_f(val, -max, -0.1f) : mlClamp_f(val, 0.1f, max); + val = (val < 0) ? ml_clamp_f(val, -max, -0.1f) : ml_clamp_f(val, 0.1f, max); D_8037C680 =( mlAbsF(val) <= mlAbsF(diff)) ? D_8037C680 + val : D_8037C684; diff --git a/src/core2/spawnqueue.c b/src/core2/spawnqueue.c index 2e28e9b9..aa345beb 100644 --- a/src/core2/spawnqueue.c +++ b/src/core2/spawnqueue.c @@ -186,7 +186,7 @@ void spawnQueue_malloc(void){ void spawnQueue_reset(void){ s32 loaded_asm_file; - loaded_asm_file = get_loaded_overlay_id(); + loaded_asm_file = overlayManagergetLoadedId(); spawnQueue_lock(); spawnQueueLength = 0; chmumbo_func_802D1724(); diff --git a/src/core2/yaw.c b/src/core2/yaw.c index 9f9a599d..8e742b5f 100644 --- a/src/core2/yaw.c +++ b/src/core2/yaw.c @@ -51,7 +51,7 @@ static void func_80298F14(f32 limit, f32 step_percent){ } val = diff * step_percent * tick; - val = (val < 0) ? mlClamp_f(val, -max, -0.1f) : mlClamp_f(val, 0.1f, max); + val = (val < 0) ? ml_clamp_f(val, -max, -0.1f) : ml_clamp_f(val, 0.1f, max); D_8037C690 =( mlAbsF(val) <= mlAbsF(diff)) ? D_8037C690 + val : D_8037C694; diff --git a/src/cutscenes/code_0.c b/src/cutscenes/code_0.c index d8cd3ae1..cfa7b15b 100644 --- a/src/cutscenes/code_0.c +++ b/src/cutscenes/code_0.c @@ -176,11 +176,11 @@ void func_80386AC8(s32 arg0) { f32 sp34[3]; actor = marker_getActor(reinterpret_cast(ActorMarker *, arg0)); - pCtrl = partEmitList_pushNew(10); + pCtrl = partEmitMgr_newEmitter(10); func_8034A174((struct5Bs *)actor->marker->unk44, 0xA, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x47B); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -197,11 +197,11 @@ void func_80386C34(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(15); + pCtrl = partEmitMgr_newEmitter(15); func_8034A174((struct5Bs *)sp44->marker->unk44, 0xA, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x47B); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -218,11 +218,11 @@ void func_80386DA0(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); func_8034A174((struct5Bs *) (struct5Bs *)sp44->marker->unk44, 0xA, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x47B); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -239,11 +239,11 @@ void func_80386EF8(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(8U); + pCtrl = partEmitMgr_newEmitter(8U); func_8034A174((struct5Bs *)sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x344); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -259,12 +259,12 @@ void func_8038702C(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(8U); + pCtrl = partEmitMgr_newEmitter(8U); particleEmitter_setSprite(pCtrl, 0x712); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); func_8034A174((struct5Bs *)sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -280,12 +280,12 @@ void func_80387170(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(8); + pCtrl = partEmitMgr_newEmitter(8); particleEmitter_setSprite(pCtrl, 0x712); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); func_8034A174((struct5Bs *)sp44->marker->unk44, 6, sp34); particleEmitter_setPosition(pCtrl, sp34); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); @@ -305,10 +305,10 @@ void func_803872B4(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(4); + pCtrl = partEmitMgr_newEmitter(4); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x82); + particleEmitter_setAlpha(pCtrl, 0x82); func_8034A174((struct5Bs *)sp44->marker->unk44, 7, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D470); @@ -328,11 +328,11 @@ void func_80387364(s32 arg0) { f32 sp24[3]; sp34 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_8038D4A0); - func_802EF9E4(pCtrl, 0x82); + particleEmitter_setRGB(pCtrl, D_8038D4A0); + particleEmitter_setAlpha(pCtrl, 0x82); func_8034A174((struct5Bs *) sp34->marker->unk44, 8, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D4DC); @@ -347,13 +347,13 @@ void func_80387424(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(8); + pCtrl = partEmitMgr_newEmitter(8); particleEmitter_setSprite(pCtrl, 0x713); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x64); + particleEmitter_setAlpha(pCtrl, 0x64); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); func_802EFB98(pCtrl, &D_8038D50C); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -300.0f, 0.0f, 0.0f, -300.0f, 0.0f); @@ -367,11 +367,11 @@ void cutscenes_func_80387560(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(11); + pCtrl = partEmitMgr_newEmitter(11); particleEmitter_setModel(pCtrl, 0x478); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); func_802EFB98(pCtrl, &D_8038D534); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); @@ -385,11 +385,11 @@ void func_80387680(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(11); + pCtrl = partEmitMgr_newEmitter(11); particleEmitter_setSprite(pCtrl, 0x70B); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); - func_802EFE24(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); + 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); func_802EFB98(pCtrl, &D_8038D55C); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); @@ -408,11 +408,11 @@ void func_803877A0(s32 arg0) { f32 sp24[3]; sp34 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x475); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_8038D584); - func_802EF9E4(pCtrl, 0xFF); + particleEmitter_setRGB(pCtrl, D_8038D584); + particleEmitter_setAlpha(pCtrl, 0xFF); func_802EFF5C(pCtrl, 0.1f, 0.2f, 0.0f); func_802EFF7C(pCtrl, 0.0f, 0.25f, 0.0f); func_802EFF9C(pCtrl, 0.5f); @@ -430,18 +430,18 @@ void func_803878A4(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); func_8034A174((struct5Bs *) sp44->marker->unk44, 8, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x47A); - func_802EFE24(pCtrl, -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f); + 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); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); func_802EFB98(pCtrl, &D_8038D5F0); - func_802EF9EC(pCtrl, 0x21, 0x3A98); + particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); particleEmitter_emitN(pCtrl, 1); } @@ -452,19 +452,19 @@ void cutscenes_func_803879E0(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(2); + pCtrl = partEmitMgr_newEmitter(2); func_8034A174((struct5Bs *) sp44->marker->unk44, 8, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setModel(pCtrl, 0x47A); - func_802EFE24(pCtrl, -10.0f, -10.0f, -10.0f, 10.0f, 10.0f, 10.0f); + 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); - func_802EFA70(pCtrl, 2); + particleEmitter_setDrawMode(pCtrl, 2); func_802EFB98(pCtrl, &D_8038D618); - func_802EF9EC(pCtrl, 0x21, 0x3A98); + particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); particleEmitter_emitN(pCtrl, 2); } @@ -479,11 +479,11 @@ void func_80387B58(s32 arg0) { f32 sp34[3]; sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x702); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x3C); - func_802EFE24(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); + 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); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); @@ -507,13 +507,13 @@ void func_80387C64(s32 arg0) { sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); - if (func_802582EC(sp34) == 0) { - pCtrl = partEmitList_pushNew(1); + if (ml_isZero_vec3f(sp34) == 0) { + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_8038D6A0); - func_802EF9E4(pCtrl, 0x64); - func_802EFE24(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); + 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_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D6DC); @@ -534,12 +534,12 @@ void func_80387D88(s32 arg0) { sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); - if (func_802582EC(sp34) == 0) { - pCtrl = partEmitList_pushNew(25); + if (ml_isZero_vec3f(sp34) == 0) { + pCtrl = partEmitMgr_newEmitter(25); particleEmitter_setSprite(pCtrl, 0x713); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0xFF); - func_802EFE24(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); + 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_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D73C); @@ -561,13 +561,13 @@ void func_80387E9C(s32 arg0) { sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); - if (func_802582EC(sp34) == 0) { - pCtrl = partEmitList_pushNew(1); + if (ml_isZero_vec3f(sp34) == 0) { + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0xC8); - func_802EFFA8(pCtrl, D_8038D76C); - func_802EFE24(pCtrl, -60.0f, -60.0f, -60.0f, 60.0f, 60.0f, 60.0f); + 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_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D7A8); @@ -589,12 +589,12 @@ void func_80387FC0(s32 arg0) { sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); - if (func_802582EC(sp34) == 0) { - pCtrl = partEmitList_pushNew(1); + if (ml_isZero_vec3f(sp34) == 0) { + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x64); - func_802EFE24(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + 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_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D808); @@ -615,11 +615,11 @@ void func_803880C8(s32 arg0) { f32 sp24[3]; sp34 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); - pCtrl = partEmitList_pushNew(1); + pCtrl = partEmitMgr_newEmitter(1); particleEmitter_setSprite(pCtrl, 0x47C); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EFFA8(pCtrl, D_8038D838); - func_802EF9E4(pCtrl, 0x82); + particleEmitter_setRGB(pCtrl, D_8038D838); + particleEmitter_setAlpha(pCtrl, 0x82); func_802EFF5C(pCtrl, 0.1f, 0.2f, 0); func_802EFF7C(pCtrl, 0, 0.25f, 0); func_802EFF9C(pCtrl, 0.5f); @@ -642,12 +642,12 @@ void func_803881CC(s32 arg0) { sp44 = marker_getActor(reinterpret_cast(ActorMarker *,arg0)); func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); - if (func_802582EC(sp34) == 0) { - pCtrl = partEmitList_pushNew(2); + if (ml_isZero_vec3f(sp34) == 0) { + pCtrl = partEmitMgr_newEmitter(2); particleEmitter_setSprite(pCtrl, 0x70D); particleEmitter_setStartingFrameRange(pCtrl, 1, 6); - func_802EF9E4(pCtrl, 0x50); - func_802EFE24(pCtrl, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); + 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_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D8D4); diff --git a/src/cutscenes/code_6730.c b/src/cutscenes/code_6730.c index b2817be9..b2a24e52 100644 --- a/src/cutscenes/code_6730.c +++ b/src/cutscenes/code_6730.c @@ -41,13 +41,13 @@ extern struct41s D_8038E770 ={ /* .code */ void cutscenes_func_8038CB20(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); - func_802EFFA8(pCtrl, D_8038E73C); - func_802EF9E4(pCtrl, 230); - func_802EFE24(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setRGB(pCtrl, D_8038E73C); + particleEmitter_setAlpha(pCtrl, 230); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038E770); func_802EFB98(pCtrl, &D_8038E748); - func_802EFA70(pCtrl, 4); - func_802F0D54(pCtrl); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_manualFree(pCtrl); } Actor* func_8038CBCC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ @@ -76,7 +76,7 @@ void func_8038CCA8(Actor *this){ this->unk16C_4 = TRUE; animctrl_setSmoothTransition(this->animctrl, 0); this->unk60 = this->yaw/4; - local->unk0 = partEmitList_pushNew(0xA0); + local->unk0 = partEmitMgr_newEmitter(0xA0); cutscenes_func_8038CB20(local->unk0); } diff --git a/src/cutscenes/code_69F0.c b/src/cutscenes/code_69F0.c index 728da6ab..0fb8e0b6 100644 --- a/src/cutscenes/code_69F0.c +++ b/src/cutscenes/code_69F0.c @@ -51,26 +51,26 @@ struct42s D_8038E85C ={ /* .code */ void func_8038CDE0(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_45A_SPRITE_GREEN_GLOW); - func_802EFFA8(pCtrl, D_8038E7C4); - func_802EF9E4(pCtrl, 0xff); - func_802EFE24(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setRGB(pCtrl, D_8038E7C4); + particleEmitter_setAlpha(pCtrl, 0xff); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E7F8); func_802EFB98(pCtrl, &D_8038E7D0); func_802EFA78(pCtrl, 1); - func_802EFA70(pCtrl, 4); - func_802F0D54(pCtrl); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_manualFree(pCtrl); } void func_8038CE98(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_713_SPRITE_SPARKLE_YELLOW); - func_802EFFA8(pCtrl, D_8038E828); - func_802EF9E4(pCtrl, 0xff); - func_802EFE24(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setRGB(pCtrl, D_8038E828); + particleEmitter_setAlpha(pCtrl, 0xff); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E85C); func_802EFB98(pCtrl, &D_8038E834); func_802EFA78(pCtrl, 1); - func_802EFA70(pCtrl, 4); - func_802F0D54(pCtrl); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_manualFree(pCtrl); } extern void func_8038CF50(Actor *this){ @@ -80,8 +80,8 @@ extern void func_8038CF50(Actor *this){ if(!this->unk16C_4){ this->unk16C_4 = TRUE; - local->unk0 = partEmitList_pushNew(6); - local->unk4 = partEmitList_pushNew(6); + local->unk0 = partEmitMgr_newEmitter(6); + local->unk4 = partEmitMgr_newEmitter(6); func_8038CDE0(local->unk0); func_8038CE98(local->unk4); diff --git a/src/cutscenes/code_6C90.c b/src/cutscenes/code_6C90.c index c315ea5b..5ea6f04c 100644 --- a/src/cutscenes/code_6C90.c +++ b/src/cutscenes/code_6C90.c @@ -42,13 +42,13 @@ struct41s D_8038E900 = { void func_8038D080(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_702_SPRITE_UNKNOWN); particleEmitter_setStartingFrameRange(pCtrl, 3, 5); - func_802EFFA8(pCtrl, D_8038E8CC); - func_802EF9E4(pCtrl, 60); - func_802EFE24(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); + particleEmitter_setRGB(pCtrl, D_8038E8CC); + particleEmitter_setAlpha(pCtrl, 60); + particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038E900); func_802EFB98(pCtrl, &D_8038E8D8); - func_802EFA70(pCtrl, 4); - func_802F0D54(pCtrl); + particleEmitter_setDrawMode(pCtrl, 4); + particleEmitter_manualFree(pCtrl); } Actor* func_8038D13C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ @@ -77,7 +77,7 @@ void func_8038D218(Actor *this){ this->unk16C_4 = TRUE; animctrl_setSmoothTransition(this->animctrl, 0); this->unk60 = this->yaw/4; - local->unk0 = partEmitList_pushNew(0x100); + local->unk0 = partEmitMgr_newEmitter(0x100); func_8038D080(local->unk0); } diff --git a/src/fight/chbossjinjo.c b/src/fight/chbossjinjo.c index 8b969020..b1fa47e3 100644 --- a/src/fight/chbossjinjo.c +++ b/src/fight/chbossjinjo.c @@ -1,6 +1,8 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" + extern void func_8024C5CC(f32 (*)[3]); extern void func_80328B8C(Actor *, s32, f32, s32); @@ -72,27 +74,27 @@ struct31s D_80391968 = { /* .code */ void fight_func_8038C2C0(f32 position[3], s32 count, enum asset_e id, f32 arg3){ - ParticleEmitter * temp_s0 = partEmitList_pushNew(count); + ParticleEmitter * temp_s0 = partEmitMgr_newEmitter(count); f32 sp24; particleEmitter_setSprite(temp_s0, id); particleEmitter_setStartingFrameRange(temp_s0, 1, 6); particleEmitter_setPosition(temp_s0, position); - func_802EFE24(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB70(temp_s0, arg3*0.35, arg3*0.65); func_802EFB84(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); - func_802EFEC0(temp_s0, 3.0f, 3.3f); - func_802EFA5C(temp_s0, 0.0f, 0.35f); + particleEmitter_setParticleLifeTimeRange(temp_s0, 3.0f, 3.3f); + particleEmitter_setFade(temp_s0, 0.0f, 0.35f); particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_803918D0); - func_802EFA70(temp_s0, 4); + particleEmitter_setDrawMode(temp_s0, 4); particleEmitter_emitN(temp_s0, count); } void func_8038C424(f32 position[3], s32 count, enum asset_e id, f32 arg3){ - ParticleEmitter * temp_s0 = partEmitList_pushNew(count); + ParticleEmitter * temp_s0 = partEmitMgr_newEmitter(count); f32 sp24; particleEmitter_setSprite(temp_s0, id); @@ -104,9 +106,9 @@ void func_8038C424(f32 position[3], s32 count, enum asset_e id, f32 arg3){ func_802EFB70(temp_s0, sp24, sp24); func_802EFB84(temp_s0, sp24, sp24); particleEmitter_setSpawnIntervalRange(temp_s0, 0.0f, 0.0f); - func_802EFEC0(temp_s0, (arg3*0.5), (arg3*0.5)*1.5); - func_802EFA5C(temp_s0, 0.7f, 0.8f); - func_802EFA70(temp_s0, 0x10); + 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); } @@ -318,7 +320,7 @@ void func_8038C840(Actor *this){ } void func_8038CED8(f32 arg0[3], enum asset_e model_id, f32 arg2, f32 arg3){ - ParticleEmitter *s0 = partEmitList_pushNew(1); + ParticleEmitter *s0 = partEmitMgr_newEmitter(1); f32 sp40[3]; f32 sp34[3]; @@ -339,7 +341,7 @@ void func_8038CED8(f32 arg0[3], enum asset_e model_id, f32 arg2, f32 arg3){ D_80391968.unk8[0] *= arg2; D_80391968.unk8[1] *= arg2; func_802EFB98(s0, &D_80391968); - func_802EFA70(s0, 0x10); + particleEmitter_setDrawMode(s0, PART_EMIT_NO_DEPTH); func_802EFA78(s0, 1); particleEmitter_emitN(s0, 1); } diff --git a/src/fight/chbossjinjobase.c b/src/fight/chbossjinjobase.c index 7217ed7b..8318e8c9 100644 --- a/src/fight/chbossjinjobase.c +++ b/src/fight/chbossjinjobase.c @@ -37,10 +37,10 @@ void chbossjinjobase_spawnStoneJinjo(ActorMarker *arg0) { } void func_8038D2EC(f32 arg0[3], s32 arg1) { - ParticleEmitter *temp_v0 = partEmitList_pushNew(arg1); + ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFFA8(temp_v0, D_803919B4); + particleEmitter_setRGB(temp_v0, D_803919B4); particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setPosition(temp_v0, arg0); particleEmitter_setParticleSpawnPositionRange(temp_v0, -90.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); diff --git a/src/fight/chfinalboss.c b/src/fight/chfinalboss.c index 3877dca3..896732a8 100644 --- a/src/fight/chfinalboss.c +++ b/src/fight/chfinalboss.c @@ -331,10 +331,10 @@ void func_80386698(f32 arg0) { void chfinalboss_spawnBroomstickParticles(f32 position[3], enum asset_e model_id, s32 n) { ParticleEmitter *temp_s0; - temp_s0 = partEmitList_pushNew(n); + temp_s0 = partEmitMgr_newEmitter(n); particleEmitter_setModel(temp_s0, model_id); particleEmitter_setPosition(temp_s0, position); - func_802EFE24(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_80391564); func_802EFB98(temp_s0, &D_8039153C); func_802EFA78(temp_s0, 1); @@ -344,17 +344,17 @@ void chfinalboss_spawnBroomstickParticles(f32 position[3], enum asset_e model_id void func_8038679C(f32 arg0[3], s32 arg1, f32 arg2[4]) { ParticleEmitter *temp_s0; - temp_s0 = partEmitList_pushNew(arg1); + temp_s0 = partEmitMgr_newEmitter(arg1); particleEmitter_setSprite(temp_s0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFFA8(temp_s0, D_803915AC); + particleEmitter_setRGB(temp_s0, D_803915AC); particleEmitter_setStartingFrameRange(temp_s0, 0, 7); particleEmitter_setPosition(temp_s0, arg0); particleEmitter_setPositionAndVelocityRanges(temp_s0, &D_803915B8); func_802EFB70(temp_s0, arg2[0], arg2[1]); func_802EFB84(temp_s0, arg2[2], arg2[3]); particleEmitter_setSpawnIntervalRange(temp_s0, 0.0f, 0.01f); - func_802EFEC0(temp_s0, 2.8f, 3.2f); - func_802EFA5C(temp_s0, 0.3f, 0.4f); + 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); } @@ -362,10 +362,10 @@ void func_8038679C(f32 arg0[3], s32 arg1, f32 arg2[4]) { void func_803868A0(f32 arg0[3], s32 arg1[3]) { ParticleEmitter * temp_s0; - temp_s0 = partEmitList_pushNew(1); + temp_s0 = partEmitMgr_newEmitter(1); particleEmitter_setSprite(temp_s0, ASSET_45A_SPRITE_GREEN_GLOW); particleEmitter_setStartingFrameRange(temp_s0, 2, 2); - func_802EFFA8(temp_s0, arg1); + particleEmitter_setRGB(temp_s0, arg1); particleEmitter_setPosition(temp_s0, arg0); func_802EFA78(temp_s0, 1); particleEmitter_setPositionAndVelocityRanges(temp_s0, &D_80391618); @@ -375,7 +375,7 @@ void func_803868A0(f32 arg0[3], s32 arg1[3]) { void func_80386934(f32 position[3], enum asset_e sprite_id) { ParticleEmitter * temp_s0; - temp_s0 = partEmitList_pushNew(1); + temp_s0 = partEmitMgr_newEmitter(1); particleEmitter_setSprite(temp_s0, sprite_id); particleEmitter_setStartingFrameRange(temp_s0, 1, 6); particleEmitter_setPosition(temp_s0, position); @@ -631,7 +631,7 @@ bool func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 diff[2] = arg1[2] - this->position[2]; if (arg5 != 0.00f) { - if (ml_vec3f_distance(this->position, arg1) < arg5) { + if (ml_distance_vec3f(this->position, arg1) < arg5) { ml_vec3f_set_length(diff, arg3 * 4.00f); } else { ml_vec3f_set_length(diff, arg3 * 1.00f); @@ -660,7 +660,7 @@ bool func_80387470(Actor *this, f32 arg1[3], f32 v_max, f32 arg3, f32 arg4, f32 this->yaw += (arg4 * temp.pos_x * dt); - if (ml_vec3f_distance(this->position, arg1) < arg6) { + if (ml_distance_vec3f(this->position, arg1) < arg6) { return TRUE; } return FALSE; @@ -1045,7 +1045,7 @@ void chfinalboss_phase1_update(ActorMarker *marker) { case 3: func_80386600(this->marker, 0); func_803869BC(this); - sp50 = ml_map_f(ml_vec3f_distance(this->position, this->unk1C), 300.0f, 1000.0f, 100.0f, 1000.0f); + 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_phase1_setState(this, 4); @@ -1247,7 +1247,7 @@ void chfinalboss_phase2_update(ActorMarker *marker) { case 14: func_803869BC(this); func_80387ACC(this, 30.0f * sp4C); - if (func_80387470(this, this->unk1C, ml_map_f(ml_vec3f_distance(this->position, this->unk1C), 70.0f, 1000.0f, 100.0f, D_80391758[sp48]), D_80391758[sp48] * 2, 160.0f, 500.0f, 70.0f)) { + 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)) { local->unkA = 1; chfinalboss_phase2_setState(this, 0xF); } diff --git a/src/fight/chjinjonator.c b/src/fight/chjinjonator.c index 3355a0ce..92cc950b 100644 --- a/src/fight/chjinjonator.c +++ b/src/fight/chjinjonator.c @@ -69,7 +69,7 @@ f32 D_80392920[3]; /* .code */ void chjinjonator_80390130(f32 position[3], int count, enum asset_e sprite_id){ - ParticleEmitter *s0 = partEmitList_pushNew(count); + ParticleEmitter *s0 = partEmitMgr_newEmitter(count); particleEmitter_setSprite(s0, sprite_id); particleEmitter_setStartingFrameRange(s0, 1, 6); particleEmitter_setPosition(s0, position); @@ -78,10 +78,10 @@ void chjinjonator_80390130(f32 position[3], int count, enum asset_e sprite_id){ func_802EFB70(s0, 0.5f, 0.65f); func_802EFB84(s0, 0.0f, 0.0f); particleEmitter_setSpawnIntervalRange(s0, 0.0f, 0.01f); - func_802EFEC0(s0, 0.65f, 0.85f); - func_802EFA5C(s0, 0.0f, 0.35f); + particleEmitter_setParticleLifeTimeRange(s0, 0.65f, 0.85f); + particleEmitter_setFade(s0, 0.0f, 0.35f); func_802EFA78(s0, 1); - func_802EFA70(s0, 4); + particleEmitter_setDrawMode(s0, 4); particleEmitter_emitN(s0, count); } diff --git a/src/fight/chjinjonatorbase.c b/src/fight/chjinjonatorbase.c index 21103f55..f0f350d0 100644 --- a/src/fight/chjinjonatorbase.c +++ b/src/fight/chjinjonatorbase.c @@ -46,10 +46,10 @@ void chjinjonatorbase_spawnStoneJinjo(ActorMarker *marker) { } void func_8038E03C(f32 arg0[3], u32 arg1) { - ParticleEmitter *temp_v0 = partEmitList_pushNew(arg1); + ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFFA8(temp_v0, D_80391A64); + particleEmitter_setRGB(temp_v0, D_80391A64); particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setPosition(temp_v0, arg0); particleEmitter_setPositionAndVelocityRanges(temp_v0, &D_80391A98); diff --git a/src/fight/chspellfireball.c b/src/fight/chspellfireball.c index c1a3781c..1331ca42 100644 --- a/src/fight/chspellfireball.c +++ b/src/fight/chspellfireball.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" extern void func_80324CFC(f32, s32, s32); extern void func_80386654(f32 arg0, f32 arg1[4], f32 arg2[4]); @@ -98,7 +99,7 @@ void func_8038EB90(ActorMarker *arg0, f32 *arg1) { } void func_8038EBE0(f32 arg0[3], u32 arg1, enum asset_e arg2, f32 arg3[6], f32 arg4[6], f32 arg5[6], f32 arg6[4], f32 arg7[4], f32 arg8[2]) { - ParticleEmitter *temp_v0 = partEmitList_pushNew(arg1); + ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); particleEmitter_setSprite(temp_v0, arg2); particleEmitter_setStartingFrameRange(temp_v0, 1, 6); @@ -106,21 +107,21 @@ void func_8038EBE0(f32 arg0[3], u32 arg1, enum asset_e arg2, f32 arg3[6], f32 ar particleEmitter_setParticleSpawnPositionRange(temp_v0, arg3[0], arg3[1], arg3[2], arg3[3], arg3[4], arg3[5]); particleEmitter_setParticleAccelerationRange(temp_v0, arg4[0], arg4[1], arg4[2], arg4[3], arg4[4], arg4[5]); particleEmitter_setParticleVelocityRange(temp_v0, arg5[0], arg5[1], arg5[2], arg5[3], arg5[4], arg5[5]); - func_802EFE24(temp_v0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); + particleEmitter_setAngularVelocityRange(temp_v0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); func_802EFB70(temp_v0, arg6[0], arg6[1]); func_802EFB84(temp_v0, arg6[2], arg6[3]); func_802EF9F8(temp_v0, 0.5f); func_802EFA18(temp_v0, 3); particleEmitter_setSpawnIntervalRange(temp_v0, arg7[0], arg7[1]); - func_802EFEC0(temp_v0, arg7[2], arg7[3]); - func_802EFA5C(temp_v0, arg8[0], arg8[1]); + particleEmitter_setParticleLifeTimeRange(temp_v0, arg7[2], arg7[3]); + particleEmitter_setFade(temp_v0, arg8[0], arg8[1]); func_802EFA78(temp_v0, 1); - func_802EFA70(temp_v0, 4); + particleEmitter_setDrawMode(temp_v0, 4); particleEmitter_emitN(temp_v0, arg1); } void func_8038ED9C(f32 arg0[3], u32 arg1, s32 arg2, s32 arg3[2], f32 arg4[6], f32 arg5[4], f32 arg6[4], f32 arg7[2]) { - ParticleEmitter *temp_v0 = partEmitList_pushNew(arg2); + ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg2); particleEmitter_setSprite(temp_v0, arg1); particleEmitter_setStartingFrameRange(temp_v0, arg3[0], arg3[1]); @@ -131,28 +132,28 @@ void func_8038ED9C(f32 arg0[3], u32 arg1, s32 arg2, s32 arg3[2], f32 arg4[6], f3 func_802EFB70(temp_v0, arg5[0], arg5[1]); func_802EFB84(temp_v0, arg5[2], arg5[3]); particleEmitter_setSpawnIntervalRange(temp_v0, arg6[0], arg6[1]); - func_802EFEC0(temp_v0, arg6[2], arg6[3]); - func_802EFA5C(temp_v0, arg7[0], arg7[1]); - func_802EFA70(temp_v0, 0x10); + particleEmitter_setParticleLifeTimeRange(temp_v0, arg6[2], arg6[3]); + particleEmitter_setFade(temp_v0, arg7[0], arg7[1]); + particleEmitter_setDrawMode(temp_v0, PART_EMIT_NO_DEPTH); func_802EFA78(temp_v0, 1); particleEmitter_emitN(temp_v0, arg2); } void func_8038EEFC(f32 arg0[3], u32 arg1, f32 *arg2) { - ParticleEmitter *temp_v0 = partEmitList_pushNew(arg1); + ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - func_802EFFA8(temp_v0, D_80391B48); - func_802EF9E4(temp_v0, 0xEB); + particleEmitter_setRGB(temp_v0, D_80391B48); + particleEmitter_setAlpha(temp_v0, 0xEB); particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setPosition(temp_v0, arg0); particleEmitter_setPositionAndVelocityRanges(temp_v0, &D_80391B54); func_802EFB70(temp_v0, 0.1f, 0.2f); func_802EFB84(temp_v0, 3.6f, 4.6f); particleEmitter_setSpawnIntervalRange(temp_v0, arg2[0], arg2[1]); - func_802EFEC0(temp_v0, arg2[2], arg2[3]); - func_802EFA5C(temp_v0, 0.05f, 0.1f); - func_802EFA70(temp_v0, 0x10); + particleEmitter_setParticleLifeTimeRange(temp_v0, arg2[2], arg2[3]); + particleEmitter_setFade(temp_v0, 0.05f, 0.1f); + particleEmitter_setDrawMode(temp_v0, PART_EMIT_NO_DEPTH); func_802EFA78(temp_v0, 1); particleEmitter_emitN(temp_v0, arg1); } diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 0011442b..7b3c2f58 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -316,9 +316,9 @@ ParticleEmitter *func_803866D8(s32 a0) void *ptr; s32 colour[3]; - ptr = partEmitList_pushNew(0x28); + ptr = partEmitMgr_newEmitter(0x28); - func_802F0D54(ptr); + particleEmitter_manualFree(ptr); particleEmitter_setSprite(ptr, ASSET_710_SPRITE_SPARKLE_PURPLE); func_802EFB98(ptr, &D_8039342C); particleEmitter_setParticleVelocityRange(ptr, 0.f, 70.f, 0.f, 0.f, 140.f, 0.f); @@ -327,7 +327,7 @@ ParticleEmitter *func_803866D8(s32 a0) colour[1] = 0xFF; colour[2] = 0; - func_802EFFA8(ptr, colour); + particleEmitter_setRGB(ptr, colour); return ptr; } @@ -407,7 +407,7 @@ void func_803867A8(Actor *this) { if (this->marker->unk14_21) { sp44 = this->unk158[func_8023DB5C() & 1]; if (sp44 != NULL) { - func_802EF9E4(sp44, this->alpha_124_19); + particleEmitter_setAlpha(sp44, this->alpha_124_19); phi_f0 = this->unk60 - 10.0f; while(phi_f0 < 0.0f) {phi_f0 += 360.0f;} @@ -560,7 +560,7 @@ void func_803870DC(Actor *this) { this->alpha_124_19 = phi_v1; temp_s7 = (s32)((f32)this->alpha_124_19 / 5.0) - 0xC; if (this->marker->unk14_21 && (temp_s7 > 0)) { - temp_s5 = partEmitList_pushNew(temp_s7); + temp_s5 = partEmitMgr_newEmitter(temp_s7); func_8034A174(func_80329934(), 5, sp90); func_8034A174(func_80329934(), 6, sp84); particleEmitter_setSprite(temp_s5, ASSET_710_SPRITE_SPARKLE_PURPLE); @@ -568,9 +568,9 @@ void func_803870DC(Actor *this) { func_802EFB84(temp_s5, 0.08f, 0.13f); particleEmitter_setParticleAccelerationRange(temp_s5, -500.0f, -1800.0f, -500.0f, 500.0f, 1800.0f, 500.0f); particleEmitter_setSpawnIntervalRange(temp_s5, 0.0f, 0.01f); - func_802EFEC0(temp_s5, 0.9f, 0.9f); + particleEmitter_setParticleLifeTimeRange(temp_s5, 0.9f, 0.9f); particleEmitter_setParticleVelocityRange(temp_s5, -400.0f, 400.0f, -400.0f, 400.0f, -400.0f, 400.0f); - func_802EF9E4(temp_s5, this->alpha_124_19); + particleEmitter_setAlpha(temp_s5, this->alpha_124_19); for(phi_s4 = 0; phi_s4 < temp_s7; phi_s4++){ for(i = 0; i < 3; i++){ sp64[i] = randf2(sp90[i], sp84[i]); @@ -579,7 +579,7 @@ void func_803870DC(Actor *this) { sp70[0] = (s32) ((randf() * 130.0f) + 125.0f); sp70[2] = sp70[1] = (s32) ((randf() * 170.0f) + 85.0f); sp70[(randf() > 0.5) ? 2 : 1] = 0; - func_802EFFA8(temp_s5, sp70); + particleEmitter_setRGB(temp_s5, sp70); particleEmitter_emitN(temp_s5, 1); } } @@ -684,7 +684,7 @@ void func_80387730(Actor *this) { } if (!func_8031FF1C(this->unkF4_8 + 0x39) && ability_isUnlocked(ABILITY_13_1ST_NOTEDOOR)) { player_getPosition(spAC); - if ((ml_vec3f_distance(spAC, this->position) < 500.0f) && (func_803114C4() != 0xF64)) { + if ((ml_distance_vec3f(spAC, this->position) < 500.0f) && (func_803114C4() != 0xF64)) { func_802FACA4(0xC); } if (itemscore_noteScores_getTotal() >= D_8039347C[this->unkF4_8 - 1]) { @@ -700,7 +700,7 @@ void func_80387730(Actor *this) { phi_f20 = 290.0f; } sp9C[1] = this->position[1]; - if ((ml_vec3f_distance(spAC, sp9C) < phi_f20) || (this->alpha_124_19 != 0xFF)) { + if ((ml_distance_vec3f(spAC, sp9C) < phi_f20) || (this->alpha_124_19 != 0xFF)) { if (this->alpha_124_19 == 0xFF) { func_80324CFC(0.0f, COMUSIC_43_ENTER_LEVEL_GLITTER, 32700); func_80324D2C(2.4f, COMUSIC_43_ENTER_LEVEL_GLITTER); @@ -719,16 +719,16 @@ void func_80387730(Actor *this) { return; } if (this->marker->unk14_21) { - temp_s5 = partEmitList_pushNew((s32)((f32) this->alpha_124_19 / 11.0)); + temp_s5 = partEmitMgr_newEmitter((s32)((f32) this->alpha_124_19 / 11.0)); sp6C[2] = 0; particleEmitter_setSprite(temp_s5, ASSET_710_SPRITE_SPARKLE_PURPLE); func_802EFB70(temp_s5, 0.13f, 0.18f); func_802EFB84(temp_s5, 0.08f, 0.13f); particleEmitter_setParticleAccelerationRange(temp_s5, -10.0f, 0.0f, -10.0f, 10.0f, 1600.0f, 10.0f); particleEmitter_setSpawnIntervalRange(temp_s5, 0.0f, 0.01f); - func_802EFEC0(temp_s5, 1.4f, 1.4f); + particleEmitter_setParticleLifeTimeRange(temp_s5, 1.4f, 1.4f); particleEmitter_setParticleVelocityRange(temp_s5, -100.0f, 100.0f, -100.0f, 100.0f, 0.0f, 100.0f); - func_802EF9E4(temp_s5, this->alpha_124_19); + particleEmitter_setAlpha(temp_s5, this->alpha_124_19); for(phi_s4 = 0; phi_s4 < (s32) ((f32)this->alpha_124_19 / 11.0); phi_s4++){ for(i = 0; i < 3; i++){ sp60[i] = randf2(sp90[i], sp84[i]); @@ -736,12 +736,12 @@ void func_80387730(Actor *this) { particleEmitter_setPosition(temp_s5, sp60); sp6C[0] = (s32) ((randf() * 60.0f) + 195.0f); sp6C[1] = (s32) ((randf() * 130.0f) + 125.0f); - func_802EFFA8(temp_s5, sp6C); + particleEmitter_setRGB(temp_s5, sp6C); particleEmitter_emitN(temp_s5, 1); } } } - } else if ((this->unkF4_8 >= 2) && (ml_vec3f_distance(spAC, this->position) < 290.0f)) { + } else if ((this->unkF4_8 >= 2) && (ml_distance_vec3f(spAC, this->position) < 290.0f)) { func_80356520(0xB0); } } @@ -1184,11 +1184,11 @@ void func_80388524(Actor *this) { func_8030E6D4(SFX_6C_LOCKUP_CLOSING); } if (animctrl_getAnimTimer(this->animctrl) < 0.68) { - sp2C = partEmitList_pushNew(3U); + sp2C = partEmitMgr_newEmitter(3U); particleEmitter_setSprite(sp2C, ASSET_70D_SPRITE_SMOKE_1); particleEmitter_setStartingFrameRange(sp2C, 1, 6); - func_802EFFA8(sp2C, D_803934A0); - func_802EF9E4(sp2C, 0x3C); + particleEmitter_setRGB(sp2C, D_803934A0); + particleEmitter_setAlpha(sp2C, 0x3C); particleEmitter_setPosition(sp2C, this->position); particleEmitter_setPositionAndVelocityRanges(sp2C, &D_803934D4); func_802EFB98(sp2C, &D_803934AC); diff --git a/src/lair/code_5ED0.c b/src/lair/code_5ED0.c index 7fbcfa00..2a22551d 100644 --- a/src/lair/code_5ED0.c +++ b/src/lair/code_5ED0.c @@ -79,7 +79,7 @@ extern void gczoombox_open(gczoombox_t *); extern void gczoombox_maximize(gczoombox_t *); extern void *mapModel_getModel(s32); -extern void func_8029A95C(s32); // set transformation +extern void player_setTransformation(s32); // set transformation //typedef migrated to "inlcude/core2/code_C9E70.h" extern struct FF_StorageStruct *D_8037DCB8; @@ -659,7 +659,7 @@ void lair_func_8038CF18(void) ptr[-3].unk20 = 0; #endif - func_8029A95C(TRANSFORM_1_BANJO); + player_setTransformation(TRANSFORM_1_BANJO); func_80347A14(0); diff --git a/src/lair/code_86F0.c b/src/lair/code_86F0.c index dcc42ba1..f1c789f2 100644 --- a/src/lair/code_86F0.c +++ b/src/lair/code_86F0.c @@ -2,7 +2,7 @@ #include "functions.h" #include "variables.h" -extern f32 ml_vec3f_distance_squared(f32[3], f32[3]); +extern f32 ml_distanceSquared_vec3f(f32[3], f32[3]); extern void func_8028F3D8(f32[3], f32, void(*)(ActorMarker *), ActorMarker *); extern void func_80324CFC(f32, enum comusic_e, s32); extern void func_8034A8BC(s32); @@ -203,7 +203,7 @@ void func_8038EFD8(Actor *this) { sp24[1] = this->position[1]; sp24[2] = this->position[2]; sp24[1] += 50.0f; - func_8028F3D8(sp24, ml_vec3f_distance(sp30, sp24) / 150.0, func_8038EF58, this->marker); + func_8028F3D8(sp24, ml_distance_vec3f(sp30, sp24) / 150.0, func_8038EF58, this->marker); } void func_8038F078(ActorMarker *marker, enum asset_e text_id, s32 arg2){ @@ -457,13 +457,13 @@ void lair_func_8038F924(Actor *this) { if (this->marker->unk14_21) { s32 sp58[3] = D_80394824; ParticleEmitter *sp54; - sp54 = partEmitList_pushNew(6); + sp54 = partEmitMgr_newEmitter(6); particleEmitter_setSprite(sp54, ASSET_710_SPRITE_SPARKLE_PURPLE); - func_802EF9E4(sp54, 0xFF); + particleEmitter_setAlpha(sp54, 0xFF); func_802EFB98(sp54, &D_80394830); particleEmitter_setPosition(sp54, this->position); sp58[2] = randf() * 255.0f; - func_802EFFA8(sp54, sp58); + particleEmitter_setRGB(sp54, sp58); particleEmitter_setParticleSpawnPositionRange(sp54, -30.0f, -40.0f, -30.0f, 30.0f, 20.0f, 30.0f); particleEmitter_emitN(sp54, 6); } @@ -535,7 +535,7 @@ void lair_func_8038F924(Actor *this) { s32 pad2; this->marker->unk3E_1 = FALSE; player_getPosition(sp44); - if (ml_vec3f_distance_squared(sp44, this->position) < 250000.0f) { + if (ml_distanceSquared_vec3f(sp44, this->position) < 250000.0f) { if (!this->unk38_0) { func_802FA5D0(); this->unk38_0 = TRUE; diff --git a/src/lair/code_A810.c b/src/lair/code_A810.c index 42a23000..d404b46d 100644 --- a/src/lair/code_A810.c +++ b/src/lair/code_A810.c @@ -111,7 +111,7 @@ void func_80390E28(Actor *this) { } this->unk10_12 = 0; for(i = 0; (i < D_80395460) && (this->unk10_12 < 4); i++){ - temp_f0 = ml_vec3f_distance(this->position, D_80395370[i]); + temp_f0 = ml_distance_vec3f(this->position, D_80395370[i]); if ((temp_f0 > 400.0f) && (temp_f0 < 1200.0f)) { local->unk0[this->unk10_12][0] = D_80395370[i][0]; local->unk0[this->unk10_12][1] = D_80395370[i][1]; diff --git a/src/lair/code_AD70.c b/src/lair/code_AD70.c index ad043e68..e6094496 100644 --- a/src/lair/code_AD70.c +++ b/src/lair/code_AD70.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "core2/particle.h" extern void func_8038EA68(s32, s32[3]); extern void func_8038EA10(s32, f32[3]); @@ -53,10 +54,10 @@ s32 D_80394BD4[3] = {0xff, 0x80, 0x80}; /* .code */ void func_80391160(f32 pos[3], u32 count) { - ParticleEmitter *p = partEmitList_pushNew(count); + ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, 0x70E); - func_802EFFA8(p, D_80394AD4); - func_802EF9E4(p, 0xEB); + particleEmitter_setRGB(p, D_80394AD4); + particleEmitter_setAlpha(p, 0xEB); particleEmitter_setStartingFrameRange(p, 0, 7); particleEmitter_setPosition(p, pos); particleEmitter_setParticleSpawnPositionRange(p, -55, -55, -55, 55, 55, 55); @@ -67,44 +68,44 @@ void func_80391160(f32 pos[3], u32 count) void lair_func_80391254(f32 pos[3], u32 count, enum asset_e sprite) { - ParticleEmitter *p = partEmitList_pushNew(count); + ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, sprite); - func_802EFA70(p, 8); + 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_setPosition(p, pos); - func_802EFA5C(p, 0.6f, 0.7f); + particleEmitter_setFade(p, 0.6f, 0.7f); func_802EFB70(p, 3, 3); func_802EFB84(p, 4, 4); - func_802EFEC0(p, 1, 1); + particleEmitter_setParticleLifeTimeRange(p, 1, 1); particleEmitter_emitN(p, count); } void func_8039137C(f32 pos[3], u32 count, enum asset_e sprite) { - ParticleEmitter *p = partEmitList_pushNew(count); + ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, sprite); particleEmitter_setPosition(p, pos); func_802EF9F8(p, 0.3f); func_802EFA18(p, 3); - func_802EFE24(p, 0, 0, 600, 0, 0, 900); + particleEmitter_setAngularVelocityRange(p, 0, 0, 600, 0, 0, 900); particleEmitter_setPositionVelocityAndAccelerationRanges(p, &D_80394B30); func_802EFB98(p, &D_80394B08); - func_802EFA70(p, 2); + particleEmitter_setDrawMode(p, 2); particleEmitter_emitN(p, count); } void func_8039144C(f32 pos[3], u32 count) { - ParticleEmitter *p = partEmitList_pushNew(count); + ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, 0x713); particleEmitter_setPosition(p, pos); particleEmitter_setParticleSpawnPositionRange(p, -40, -40, -40, 40, 40, 40); - func_802EFA70(p, 4); - func_802EFE24(p, 0, 0, 200, 0, 0, 300); - func_802EFA5C(p, 0.1f, 0.2f); - func_802EFEC0(p, 0.75f, 0.75f); + 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); func_802EFB70(p, 0.5f, 0.5f); func_802EFB84(p, 0.2f, 0.2f); particleEmitter_setParticleAccelerationRange(p, 0, -50, 0, 0, -100, 0); @@ -113,31 +114,31 @@ void func_8039144C(f32 pos[3], u32 count) void func_803915A4(f32 pos[3], s32 count, f32 scale) { - ParticleEmitter *p = partEmitList_pushNew(count); + ParticleEmitter *p = partEmitMgr_newEmitter(count); particleEmitter_setSprite(p, 0x4A0); - func_802EFA5C(p, 0.1f, 0.2f); - func_802EFA70(p, 8); + particleEmitter_setFade(p, 0.1f, 0.2f); + particleEmitter_setDrawMode(p, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(p, 2, 8); particleEmitter_setParticleFramerateRange(p, 8, 8); particleEmitter_setPosition(p, pos); func_802EFB70(p, scale * 2.0, scale * 2.0); func_802EFB84(p, scale * 0.4, scale * 0.4); - func_802EFEC0(p, 0.5f, 0.5f); + particleEmitter_setParticleLifeTimeRange(p, 0.5f, 0.5f); particleEmitter_emitN(p, count); } void func_803916BC(f32 position[3], s32 cnt){ - ParticleEmitter *pCtrl = partEmitList_pushNew(cnt); + ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, ASSET_4A0_SPRITE_EXPLOSION); - func_802EFA5C(pCtrl, 0.1f, 0.3f); - func_802EFA70(pCtrl, 8); + particleEmitter_setFade(pCtrl, 0.1f, 0.3f); + particleEmitter_setDrawMode(pCtrl, PART_EMIT_NO_LOOP); particleEmitter_setStartingFrameRange(pCtrl, 0, 6); particleEmitter_setParticleFramerateRange(pCtrl, 5.0f, 8.0f); particleEmitter_setPosition(pCtrl, position); func_802EFB70(pCtrl, 2.0f, 2.0f); func_802EFB84(pCtrl, 4.0f, 4.0f); - func_802EFEC0(pCtrl, 1.0f, 1.5f); + particleEmitter_setParticleLifeTimeRange(pCtrl, 1.0f, 1.5f); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80394B78); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/lair/code_C6C0.c b/src/lair/code_C6C0.c index 0e85d1e9..c752ad2c 100644 --- a/src/lair/code_C6C0.c +++ b/src/lair/code_C6C0.c @@ -45,7 +45,7 @@ void func_80392B6C(Actor *this) { } } if (mapSpecificFlags_get(7) != 0) { - sp28 = ml_vec3f_distance(this->position, this->unk1C) / 350.0; + sp28 = ml_distance_vec3f(this->position, this->unk1C) / 350.0; func_8025A70C(COMUSIC_A9_TOOTY); mapSpecificFlags_set(7, 0); mapSpecificFlags_set(9, 1); diff --git a/symbol_addrs.us.v10.txt b/symbol_addrs.us.v10.txt index 82da8612..69b97d05 100644 --- a/symbol_addrs.us.v10.txt +++ b/symbol_addrs.us.v10.txt @@ -1,1225 +1,143 @@ -bzero = 0x800020F0; -__osSetSR = 0x80002190; -__osGetSR = 0x800021A0; -__osSetFpcCsr = 0x800021B0; -osWritebackDCache = 0x80002B70; -osInvalICache = 0x80002BF0; -osMapTLBRdb = 0x80002C70; -__osProbeTLB = 0x80003BD0; -__osDisableInt = 0x80003FC0; -__osRestoreInt = 0x80003FE0; -bk_boot_BSS_START = 0x80005270; -func_801241304 = 0x801241304; -func_8023DA20 = 0x8023DA20; -func_8023E06C = 0x8023E06C; -rarezip_get_uncompressed_size = 0x8023E080; -rarezip_init = 0x8023E08C; -rarezip_inflate = 0x8023E0A0; -rarezip_uncompress = 0x8023E0C4; -inflate = 0x8023F630; -func_802405F0 = 0x802405F0; -guScaleF = 0x80240DF8; -guScale = 0x80241304; -_guMtxIdentF_80245D44 = 0x80245D44; -guRotateRPYF = 0x80241348; -guPerspective = 0x802462D4; -draw_sprite_ci4 = 0x802485D0; -draw_sprite_ci8 = 0x80248870; -draw_sprite_rgba16 = 0x80248B40; -draw_sprite_i4 = 0x80248D40; -draw_sprite_ia4 = 0x80248F9C; -draw_sprite_i8 = 0x80249210; -draw_sprite_ia8 = 0x80249428; -draw_sprite_rgba32 = 0x80249644; -draw_prim_rect = 0x8024A770; -set_prim_color = 0x8024A840; -spriteGetFrameCount = 0x802510C0; -spriteGetFramePtr = 0x802510C8; -get_loaded_overlay_id = 0x80251230; -is_overlay_loaded = 0x8025123C; -mlMtxApply = 0x80251494; -mlMtxPop = 0x802516C8; -mlMtxIdent = 0x80251B0C; -mlMtxRotPitch = 0x80251C78; -mlMtxRotYaw = 0x80251D84; -mlMtxRotRoll = 0x80251E80; -mlMtxRotate = 0x80252188; -mlMtxScale_xyz = 0x802521C0; -mlMtxScale = 0x80252280; -mlMtx_apply_vec3s = 0x802525A4; -mlMtxTranslate = 0x80252980; - -memcpy = 0x80254608; -_heap_defragEmptyBlock = 0x8025449C; -heap_get_size = 0x802546D0; -heap_init = 0x80254710; -_heap_sortEmptyBlock = 0x80254FD0; - -malloc = 0x80254CA8; -free = 0x802550F0; -realloc = 0x80255358; -defrag = 0x802555DC; -defrag_asset = 0x80255724; - -ml_vec3f_dot_product = 0x80256034; -ml_vec3f_distance = 0x80256064; -ml_vec3f_distance_squared = 0x80256280; -ml_vec2f_length = 0x80256378; -ml_vec3f_normalize_copy = 0x802563B8; +D_5E90 = 0x5E90; +D_D846C0 = 0xD846C0; +D_D954B0 = 0xD954B0; +D_EA3EB0 = 0xEA3EB0; +D_EADE60 = 0xEADE60; +osRomBase = 0x80000308; +bzero = 0x800020F0; +__osSetSR = 0x80002190; +__osGetSR = 0x800021A0; +__osSetFpcCsr = 0x800021B0; +osWritebackDCache = 0x80002B70; +osInvalICache = 0x80002BF0; +osMapTLBRdb = 0x80002C70; +__osProbeTLB = 0x80003BD0; +__osDisableInt = 0x80003FC0; +__osRestoreInt = 0x80003FE0; +bk_boot_BSS_START = 0x80005270; +mainLoop = 0x8023DD0C; +func_802405F0 = 0x802405F0; +rumbleManager_80250C08 = 0x80250C08; +memcpy = 0x80254608; +malloc = 0x80254CA8; +free = 0x802550F0; +realloc = 0x80255358; +write_file_blocks = 0x80255B30; ml_vec3f_normalize = 0x80256450; -ml_vec2f_normalize = 0x802564F0; -ml_3f_normalize = 0x80256558; ml_vec3f_set_length_copy = 0x802565E0; -ml_vec3f_pitch_rotate_copy = 0x8025686C; -ml_vec3f_yaw_rotate_copy = 0x80256900; -ml_vec3f_roll_rotate_copy = 0x80256990; ml_vec3f_set_length = 0x80256A24; -ml_acosf = 0x80256FE0; -ml_map_f = 0x80257B18; -mlClamp_f = 0x80257ED8; -func_802586B0 = 0x802586B0; -ml_sin_deg = 0x802587BC; -ml_cos_deg = 0x802587EC; -mlNormalizeAngle = 0x8025881C; -ml_acosValTbl = 0x80276CBC; -max_f = 0x802588DC; -min_f = 0x80258904; -mlAbsF = 0x80258964; -ml_abs_w = 0x802589CC; -func_802589E4 = 0x802589E4; -ml_vec3f_clear = 0x80258B8C; -ml_vec3f_copy = 0x80258BA4; -ml_vec3f_diff_copy = 0x80258BC0; -ml_vec3f_diff = 0x80258BF4; -ml_vec3f_assign = 0x80258C28; -ml_vec3f_add = 0x80258C48; -ml_vec3f_scale = 0x80258C7C; -ml_vec3f_scale_copy = 0x80258CB0; -ml_vec3w_to_vec3f = 0x80258D68; -ml_vec3h_to_vec3f = 0x80258DA8; -ml_vec3f_to_vec3w = 0x80258DE8; -ml_vec3f_to_vec3h = 0x80258E24; -mlDiffDegF = 0x802591D8; -comusic_8025AB44 = 0x8025AB44; -comusic_8025AB78 = 0x8025AB78; -___osGetSR = 0x8025AFE0; -_n_timeToSamples = 0x8025C378; -_n_freePVoice = 0x8025C3D8; -_n_collectPVoices = 0x8025C40C; -__n_freeParam = 0x8025C470; -__n_allocParam = 0x8025C490; -n_alAudioFrame = 0x8025C4C8; -n_alSynNew = 0x8025CA30; -alEvtqFlushType = 0x8025CD50; -alEvtqPostEvent = 0x8025CDFC; -alEvtqNextEvent = 0x8025CF20; -alEvtqNew = 0x8025CFAC; -n_alSynAddSeqPlayer = 0x8025D030; -n_alSynAddSndPlayer = 0x8025D130; -n_alSynAddPlayer = 0x8025D1A4; -n_alSynStartVoice = 0x8025D4A0; -n_alSynAllocFX = 0x8025F670; -n_alFxNew = 0x80260338; -n_alAuxBusPull = 0x80260160; -n_alEnvmixerPull = 0x80260C3C; -alN_PVoiceNew = 0x80260210; -n_alSavePull = 0x80260770; -n_alMainBusPull = 0x80262E60; -n_alResamplePull = 0x80263684; -_n_allocatePVoice = 0x8025D200; -n_alSynAllocVoice = 0x8025D208; -n_alSynSetVol = 0x8025D400; -n_alSynSetPan = 0x8025D520; -n_alSynSetPitch = 0x8025D5A0; -n_alSynSetFXMix = 0x8025D620; -n_alSynStopVoice = 0x8025D6B0; -n_alSynFreeVoice = 0x8025D720; -__n_CSPVoiceHandler = 0x8025E438; -n_alCSPNew = 0x8025EABC; -alCSPSetBank = 0x8025EC30; -alCSPStop = 0x8025EC70; -n_alCSeqNextEvent = 0x8025EDC4; -n_alCSeqNew = 0x8025F0BC; -n_alCSeqNewMarker = 0x8025F1D0; -alCSPSetSeq = 0x8025F340; -alCSPPlay = 0x8025F380; -alCSPSetVol = 0x8025F3B0; -alCSPSetTempo = 0x8025F430; -alCSPGetTempo = 0x8025F4D0; -n_alEnvmixerParam = 0x802607C0; -__postNextSeqEvent = 0x80261210; -__n_setInstChanState = 0x802612EC; -__n_initFromBank = 0x802613DC; -__n_vsDelta = 0x80261498; -__n_vsVol = 0x802614BC; -__n_seqpReleaseVoice = 0x80261560; -__n_voiceNeedsNoteKill = 0x80261688; -__n_unmapVoice = 0x80261730; -__n_vsPan = 0x80261818; -__n_lookupVoice = 0x80261868; -__n_mapVoice = 0x802618DC; -__n_lookupSoundQuick = 0x8026194C; -__n_seqpStopOsc = 0x80262A88; -__n_initChanState = 0x80262B8C; -n_alSynStartVoiceParams = 0x80262D80; -n_alLoadParam = 0x80262EE0; -_n_decodeChunk = 0x802630A0; -n_alAdpcmPull = 0x802631BC; -n_alSynSetPriority = 0x80263B30; -bzero = 0x80263B40; -osWriteBackDCacheAll = 0x80263BE0; -__osInitialize_common = 0x80263C10; -osCreateThread = 0x80263EA0; -alCents2Ratio = 0x802641B0; -osCreateMesgQueue = 0x802642A0; -alUnlink = 0x80264430; -alLink = 0x80264460; -alClose = 0x80264484; -alInit = 0x802644BC; -alHeapDBAlloc = 0x802644F0; -osVirtualToPhysical = 0x802646A0; -osRecvMesg = 0x80264550; -osPiStartDma = 0x802647D0; -osStopThread = 0x802648E0; -osStartThread = 0x802649A0; -osWritebackDCache = 0x80264AF0; -osInvalDCache = 0x80264B70; -osCreatePiManager = 0x80264C20; -osDestroyThread = 0x80264DB0; -osSendMesg = 0x80264EB0; -osSetThreadPri = 0x80265000; -guMtxF2L = 0x802650E0; -guMtxIdentF = 0x802651E0; -guMtxIdent = 0x80265268; -guMtxL2F = 0x80265298; -gu_sqrtf = 0x80265350; -cosf = 0x80265360; -osSetTimer = 0x802659B0; -osSetEventMesg = 0x80265E60; -osCreateViManager = 0x80265ED0; -osViSwapBuffer = 0x802663F0; -osViSetEvent = 0x80266440; -osViGetNextFramebuffer = 0x802664B0; -osViGetCurrentFramebuffer = 0x80265880; -osSetIntMask = 0x802654D0; -osViBlack = 0x802664F0; -guOrthoF = 0x80266560; -guOrtho = 0x802666B4; -guTranslateF = 0x80266720; -guTranslate = 0x80266768; -guRotateF = 0x802667C0; -guRotate = 0x80266954; -osContInit = 0x80266C10; -__osContGetInitData = 0x80266E08; -__osPackRequestData = 0x80266ED8; -osContSetCh = 0x80266FD0; -_bnkfPatchInst = 0x80267050; -alBnkfNew = 0x80267144; -alSeqFileNew = 0x80267248; -osGetTime = 0x80267290; -__alCSeqNextDelta = 0x80267C6C; -osMotorStop = 0x80267DE0; -osMotorStart = 0x80267F48; -_MakeMotorData = 0x802680B4; -osMotorInit = 0x80268230; -osPfsInit = 0x80268400; -osInvalICache = 0x802684C0; -osEepromLongWrite = 0x80268540; -osEepromLongRead = 0x80268670; -osPiReadIo = 0x80268700; -alCopy = 0x80268740; -alSaveNew = 0x802687C0; -alMainBusNew = 0x80268804; -alAuxBusNew = 0x80268858; -alResampleNew = 0x802688AC; -alLoadNew = 0x80268934; -alEnvmixerNew = 0x802689DC; -_init_lpfilter = 0x80268A80; -alFxNew = 0x80268B20; -_doModFunc = 0x80268F60; -alFxParamHdl = 0x802695F8; -alFxParam = 0x80269854; -alFxPull = 0x8026986C; -alSeqGetLoc = 0x80269BF0; -alSeqSetLoc = 0x80269C0C; -alSeqGetTicks = 0x80269C28; -readVarLen = 0x80269C38; -alSeqNextEvent = 0x80269C84; -alSeqNewMarker = 0x80269E08; -alSeqSecToTicks = 0x80269F28; -alSeqTicksToSec = 0x8026A00C; -__alSeqNextDelta = 0x8026A060; -read32 = 0x8026A0B8; -read16 = 0x8026A108; -alSeqNew = 0x8026A138; -__osSetFpcCsr = 0x8026A230; -__osSiRawReadIo = 0x8026A240; -__osSiRawWriteIo = 0x8026A290; -__osEnqueueAndYield = 0x8026A90C; -__osEnqueueThread = 0x8026AA0C; -__osPopThread = 0x8026AA54; -__osDispatchThread = 0x8026AA64; -__osCleanupThread = 0x8026ABE0; -osMapTLBRdb = 0x8026ABF0; -osPiRawReadIo = 0x8026AC50; -__osDisableInt = 0x8026ACB0; -__osRestoreInt = 0x8026ACD0; -__osDequeueThread = 0x8026ACF0; -__freePVoice = 0x8026AD90; -__freeParam = 0x8026AE28; -alAudioFrame = 0x8026AE78; -alSynNew = 0x8026B110; -alSynDelete = 0x8026B410; -osJamMesg = 0x8026B510; -osPiGetCmdQueue = 0x8026B660; -osCartRomInit = 0x8026B690; -__osPiCreateAccessQueue = 0x8026B890; -__osPiGetAccess = 0x8026B8E0; -__osPiRelAccess = 0x8026B924; -osGetThreadPri = 0x8026B950; -osPiRawStartDma = 0x8026B970; -osEPiRawStartDma = 0x8026BA50; -__osDevMgrMain = 0x8026BC80; -guNormalize = 0x8026CE10; -__osSiCreateAccessQueue = 0x8026CEA0; -__osSiGetAccess = 0x8026CEF0; -__osSiRelAccess = 0x8026CF34; -__osSiRawStartDma = 0x8026CF60; -osPfsIsPlug = 0x8026D010; -__osPfsRequestData = 0x8026D1B0; -__osPfsGetInitData = 0x8026D2AC; -__osContAddressCrc = 0x8026D380; -__osContDataCrc = 0x8026D430; -__osContRamWrite = 0x8026D500; -__osPackRamWriteData = 0x8026D704; -__osContRamRead = 0x8026D880; -__osPackRamReadData = 0x8026DA9C; - -__osSumcalc = 0x8026DD20; -__osIdCheckSum = 0x8026DD7C; -__osRepairPackId = 0x8026DDE4; -__osCheckPackId = 0x8026E1FC; -__osGetId = 0x8026E394; -__osCheckId = 0x8026E5F0; -__osPfsRWInode = 0x8026E6EC; -__osPfsSelectBank = 0x8026EA0C; -osPfsChecker = 0x8026EA80; -corrupted_init = 0x8026F144; -corrupted = 0x8026F2F8; -osEepromWrite = 0x8026F4E0; -__osPackEepWriteData = 0x8026F704; -__osEepStatus = 0x8026F810; -osEepromRead = 0x8026FA30; -__osPackEepReadData = 0x8026FC84; -alFilterNew = 0x8026FD90; -alEnvmixerParam = 0x8026FEC4; -alEnvmixerPull = 0x802702F0; -alLoadParam = 0x80270930; -alAdpcmPull = 0x80270FDC; -alResampleParam = 0x80271480; -alResamplePull = 0x8027156C; -alAuxBusParam = 0x80271780; -alAuxBusPull = 0x802717B0; -alMainBusParam = 0x80271890; -alMainBusPull = 0x802718C0; -alSaveParam = 0x802719E0; -alSavePull = 0x80271A14; -__osSiDeviceBusy = 0x80271AA0; -__osLeoInterrupt = 0x80271AD0; -__osLeoAbnormalResume = 0x80272174; -__osLeoResume = 0x8027225C; -alSynAllocFX = 0x80272350; -D_80275844 = 0x80275844; -D_80275848 = 0x80275848; -D_802758C0 = 0x802758C0; // size:0xC -D_802759F8 = 0x802759F8; -framebuffer_width = 0x80276588; -framebuffer_height = 0x8027658C; -n_syn = 0x80276E84; -alGlobals = 0x80277140; -__osPiTable = 0x8027717C; -__osPiDevMgr = 0x80277160; -__osCurrentHandle = 0x80277180; -__osThreadTail = 0x80277370; -__osRunQueue = 0x80277378; -__osActiveQueue = 0x8027737C; -__osRunningThread = 0x80277380; -__osFaultedThread = 0x80277384; -__osPiAccessQueueEnabled = 0x80277390; -__osViNext = 0x80277404; -__osViCurr = 0x80277400; -__osSiAccessQueueEnabled = 0x80277420; -D_8027D020 = 0x8027D020; -D_8027D100 = 0x8027D100; -D_80280690 = 0x80280690; -piThread = 0x80283450; -piThreadStack = 0x80283600; -piEventQueue = 0x80284600; -piEventBuf = 0x80284618; -osAiGetLength = 0x80264690; -osDpSetStatus = 0x80265570; -tmp_task = 0x80284620; -bcopy = 0x8026C110; -__osSpSetPc = 0x8026C430; -__osSpRawStartDma = 0x8026C470; -osDpGetStatus = 0x80265870; -__osSetCompare = 0x8026CA70; - -__osEepromTimer = 0x80285958; -__osEepromTimerQ = 0x80285978; -__osEepromTimerMsg = 0x80285990; -CartRomHandle = 0x80285BE0; -piAccessBuf = 0x80285CE0; -__osPiAccessQueue = 0x80285CE8; -siAccessBuf = 0x80285D40; -__osSiAccessQueue = 0x80285D48; -__osSpSetStatus = 0x8026C420; -__osSpDeviceBusy = 0x8026C500; -osSpTaskLoad = 0x8026569C; -osSpTaskStartGo = 0x8026582C; -osStopTimer = 0x802658C0; -__osTimerList = 0x80277410; -osSpTaskYielded = 0x80265D50; -osSpTaskYield = 0x80265DD0; -osViSetMode = 0x80265DF0; -__osSpGetStatus = 0x8026CA80; -__ull_rshift = 0x80265A90; -__ull_rem = 0x80265ABC; -__ull_div = 0x80265AF8; -__ll_lshift = 0x80265B34; -__ll_rem = 0x80265B60; -__ll_div = 0x80265B9C; -__ll_mul = 0x80265BF8; -__ull_divremi = 0x80265C28; -__ll_mod = 0x80265C88; -__ll_rshift = 0x80265D24; -osViSetSpecialFeatures = 0x80266230; -__osPackReadData = 0x80266B1C; -osContStartReadData = 0x802669B0; -osContGetReadData = 0x80266A74; -__osContLastCmd = 0x80285950; -__osContPifRam = 0x80285910; -__osMaxControllers = 0x80285951; -__osResetGlobalIntMask = 0x802723F0; -osEPiRawWriteIo = 0x80272450; -osEPiRawReadIo = 0x802724A0; -__osSetGlobalIntMask = 0x802724F0; -osYieldThread = 0x80272540; -__osViInit = 0x8026C530; -__osViSwapContext = 0x8026CAA0; -osViModePalLan1 = 0x80277530; -osViModeMpalLan1 = 0x80277580; -osViModeNtscLan1 = 0x802775D0; -__osTimerServicesInit = 0x8026C670; -__osTimerInterrupt = 0x8026C6FC; -__osSetTimerIntr = 0x8026C874; -__osInsertTimer = 0x8026C8E8; -__osCurrentTime = 0x80285D20; -__osBaseCounter = 0x80285D28; -__osViIntrCount = 0x80285D2C; -__osTimerCounter = 0x80285D30; -osGetCount = 0x8026CE00; -__osBaseTimer = 0x80285D00; -__osViGetCurrentContext = 0x8026CA90; -__osPfsPifRam = 0x80285D60; -__osPfsGetStatus = 0x8026DC10; -__OSGlobalIntMask = 0x80277130; -osLeoDiskInit = 0x8026B790; -LeoDiskHandle = 0x80285C60; -__osDiskHandle = 0x80285CD4; -__osAiDeviceBusy = 0x8026B4E0; -osAiSetNextBuffer = 0x80264720; -osAiSetFrequency = 0x802642D0; -osViClock = 0x80277128; -__osProbeTLB = 0x8026B420; -viMgrMain = 0x80266058; -__osViDevMgr = 0x80277190; -viThread = 0x802846E0; -viThreadStack = 0x80284890; -viEventQueue = 0x80285890; -viEventBuf = 0x802858A8; -viRetraceMsg = 0x802858C0; -viCounterMsg = 0x802858D8; -retrace = 0x802858F0; -__osEventStateTab = 0x80284660; -__osRcpImTable = 0x80278C60; -osSyncPrintf = 0x80269BB0; -rmonPrintf = 0x80269BCC; -dtor = 0x80285900; -__osContinitialized = 0x802771B0; -osClockRate = 0x80277120; -__osShutdown = 0x8027712C; -_MotorStopData = 0x802859A0; -_MotorStartData = 0x80285AA0; -_motorstartbuf = 0x80285BC0; -_motorstopbuf = 0x80285BA0; -__osSetSR = 0x8026A210; -__osGetSR = 0x8026A220; -__osEepPifRam = 0x80285DA0; -__osThreadSave = 0x80285DE0; -leoDiskStack = 0x80285F90;//technically should have a OS_LEO_STACKSIZE or something.. - - -alCSeqGetLoc = 0x80267320; -alCSeqSetLoc = 0x802673C0; -alCSeqNextEvent = 0x80267584; -alCSeqNew = 0x8026787C; -alCSeqNewMarker = 0x80267990; -alCSeqSecToTicks = 0x80267B04; -alCSeqTicksToSec = 0x80267C00; -alHeapInit = 0x80264200; - -sinf = 0x80263FF0; -__libm_qnan_f = 0x80278DB0; - -write_file_blocks = 0x80255B30; -load_file_blocks = 0x80255BAC; - -sns_init_base_payloads = 0x8025B280; -sns_get_or_set_key = 0x8025B2EC; -sns_unlock_parsed_items = 0x8025B69C; -sns_generate_payload = 0x8025B6C0; -sns_write_payload_over_heap = 0x8025B700; -sns_stub = 0x8025B808; -DEBUG_use_special_bootmap = 0x8025B810; -sns_get_item_state = 0x8025B820; -sns_set_item_state = 0x8025B998; -sns_set_item_and_update_payload = 0x8025BBD4; -snspayload_validate = 0x8025BE30; -snspayload_find_payload_in_ram = 0x8025BE84; -snspayload_rewind_incoming = 0x8025C010; -snspayload_get_next_key = 0x8025C01C; - -heap_occupiedBytes = 0x80276590; - - -snsToRestoreItems = 0x80276E40; -snsBasePayloadPtr1 = 0x80276E44; -snsBasePayloadPtr2 = 0x80276E48; -snsBasePayloadPtr3 = 0x80276E4C; -snsBasePayloadPtr4 = 0x80276E50; -snsPayloadOutCurrPos = 0x80276E60; - -g_AudioManager = 0x8027BF40; - -freeOscStateList = 0x8027DD84; -oscStates = 0x8027DD88; - -D_80283008 = 0x80283008; -heap_requested_size = 0x80283230; -snsParsedKeys = 0x80283390; -gSaveData = 0x80283400; -snsMinKeyToParse = 0x80283420; -snsMaxKeyToParse = 0x80283424; -snsParsedCurrPos = 0x80283428; -snsBackedUpItems = 0x8028342C; -snsPayloadInCurrPos = 0x80283430; -__osFinalrom = 0x80283440; - -glcrc_calc_checksum = 0x8025C100; - -D_8027BEEC = 0x8027BEEC; -D_803688E0 = 0x803688E0; -D_803688E8 = 0x803688E8; -D_80373DF0 = 0x80373DF0; -D_80373DF8 = 0x80373DF8; -D_80373E00 = 0x80373E00; -D_80373E18 = 0x80373E18; -D_80378F60 = 0x80378F60; -D_80378F64 = 0x80378F64; -D_80378F68 = 0x80378F68; -carriedObject_actorID = 0x8037BF78; -D_8037C564 = 0x8037C564; -D_80397AD0 = 0x80397AD0; - -D_80277A74 = 0x80277A74; - -D_A0000238 = 0xA0000238; - -D_80278278 = 0x80278278; -animctrl_new = 0x802872E0; -animctrl_free = 0x80287394; -animctrl_update = 0x802873C0; -animctrl_defrag = 0x80287434; -animctrl_setIndex = 0x8028745C; -animctrl_getAnimPtr = 0x80287464; -animctrl_reset = 0x802874AC; -_func_802875AC = 0x802875AC; -animctrl_setAnimTimer = 0x8028764C; -animctrl_setPlaybackType = 0x80287674; -animctrl_setDirection = 0x8028767C; -animctrl_setSmoothTransition = 0x80287684; -animctrl_setDuration = 0x8028768C; -animctrl_setTransitionDuration = 0x802876C0; -animctrl_setSubRange = 0x802876CC; -animctrl_getSubRange = 0x80287738; -animctrl_getIndex = 0x80287790; -animctrl_getPlaybackType = 0x802877B0; -animctrl_isPlayedForwards = 0x802877B8; -animctrl_isSmoothTransistion = 0x802877C0; -animctrl_getDuration = 0x802877C8; -animctrl_getTransitionDuration = 0x802877D0; -animctrl_getAnimTimer = 0x802877D8; -animctrl_isStopped = 0x802878C4; -animctrl_isAt = 0x802878E8; -animctrl_isContiguous = 0x80287A40; -animctrl_isAt = 0x802878E8; -anim_getIndex = 0x80289688; -anim_setIndex = 0x8028977C; -anim_setTimer = 0x80289784; - -_player_getAnimCtrlPtr = 0x80289F64; -player_isSliding = 0x8028B338; -player_getTransformation = 0x8028E7CC; -ability_isUnlocked = 0x8028F190; -ability_unlock = 0x8028F3B8; -can_beak_barge = 0x8028A960; -can_beak_bust = 0x8028A9A0; -can_claw = 0x8028A9E0; -can_dive = 0x8028AA20; -can_egg = 0x8028AA98; -can_flap = 0x8028AAB8; -can_flip = 0x8028AB08; -can_peck = 0x8028AB68; -can_trot = 0x8028AC78; -can_wonderwing = 0x8028ACB8; -player_shouldSlideTrot = 0x8028B1E0; -player_inWater = 0x8028B51C; -_player_getMarker = 0x8028D5D0; -carriedObject_setActorID = 0x8028D658; -carriedObject_getActorID = 0x8028D670; -player_getActiveHitbox = 0x8028E76C; -player_getAnimCtrlPtr = 0x8028E78C; -player_getMarker = 0x8028E7AC; -func_8028E7EC9 = 0x8028E7EC9; -carriedObj_getMarkerId = 0x8028E88C; -carriedObj_getActorId = 0x8028E8C0; -player_getPosition = 0x8028E9A4; -player_getRotation = 0x8028EC24; -player_getVelocity = 0x8028EF68; -player_is_in_jiggy_jig = 0x8028F108; -player_is_present = 0x8028F1D4; -func_8028F45C = 0x8028F45C; -playerModel_80291A50 = 0x80291A60; -playerModel_getPosition = 0x80292468; -func_802947CC = 0x802947CC; -get_slope_timer = 0x802949D4; -should_beak_barge = 0x80294F00; -should_beak_bust = 0x80294F3C; -should_poop_egg = 0x80295068; -should_shoot_egg = 0x802950A4; -should_flap = 0x802950E0; -should_flip = 0x8029511C; -should_peck = 0x80295158; -should_dive = 0x80295194; -should_trot = 0x80295214; -should_wonderwing = 0x80295250; -button_pressed = 0x80295544; -button_held = 0x8029557C; -button_released = 0x80295590; -ability_use = 0x80295610; -ability_hasUsed = 0x802957A0; -ability_setHasUsed = 0x802957B8; -ability_hasLearned = 0x802957D8; -subaddie_playerIsWithinAsymmetricCylinder = 0x80329628; -subaddie_playerIsWithinCylinder = 0x803296B8; -player_setYVelocity = 0x802979A0; -_get_velocity = 0x80297A88; -gravity_reset = 0x80297B70; -gravity_set = 0x80297BEC; -__pitch_update = 0x80297D30; -pitch_reset = 0x80297ED0; -pitch_update = 0x80297F10; -pitch_setIdeal = 0x80297F3C; -pitch_set = 0x80297F60; -pitch_applyIdeal = 0x80297F84; -pitch_get = 0x80297F98; -pitch_getIdeal = 0x80297FA4; -pitch_setAngVel = 0x80297FB0; -climbClear = 0x802981E0; -climbGetBottom = 0x80298220; -climbGetBottomY = 0x80298244; -climbGetRadius = 0x80298250; -climbGetTopY = 0x80298268; -climbSet = 0x80298274; -climbRelease = 0x802983AC; -player_setPosition = 0x802984A0; -player_setYPosition = 0x802984C8; -_player_getPosition = 0x802984D4; -player_getYPosition = 0x802984F8; -__roll_update = 0x80298AD0; -roll_reset = 0x80298C70; -roll_update = 0x80298CB4; -roll_setIdeal = 0x80298CE0; -roll_set = 0x80298D04; -roll_applyIdeal = 0x80298D28; -roll_get = 0x80298D3C; -roll_getIdeal = 0x80298D48; -roll_setAngularVelocity = 0x80298D54; -yaw_update = 0x80299118; -yaw_setIdeal = 0x802991B4; -yaw_set = 0x802991D8; -yaw_applyIdeal = 0x802991FC; -yaw_get = 0x8029921C; -yaw_getIdeal = 0x80299228; -bsList_clearAll = 0x8029A600; -bsList_setInitMethod = 0x8029A668; -bsList_setUpdateMethod = 0x8029A67C; -bsList_setEndMethod = 0x8029A690; -bsList_setInterruptMethod = 0x8029A6A4; -bsList_getInitMethod = 0x8029A6B8; -bsList_getUpdateMethod = 0x8029A6CC; -bsList_getEndMethod = 0x8029A6E0; -bsList_getInterruptMethod = 0x8029A6F4; -bs_clearState = 0x8029A710; -bs_setState = 0x8029A72C; -bs_getPrevState = 0x8029A7BC; -bs_getState = 0x8029A7C8; -bs_getNextState = 0x8029A7D4; -bs_updateState = 0x8029A7E0; -bs_checkInterrupt = 0x8029A81C; -bs_getInterruptType = 0x8029A878; -_player_getTransformation = 0x8029A8F4; -bsdrone_init = 0x802AE3D0; -bsdrone_update = 0x802AE410; -bsdrone_end = 0x802AE450; -bsdrone_interrupt = 0x802AE490; -bsant_inSet = 0x8029E598; -bsbarge_init = 0x8029F650; -bsbarge_update = 0x8029F77C; -bsbarge_end = 0x8029FAE8; -bsbeefly_enter = 0x802A0A2C; -bsbeefly_update = 0x802A0B14; -bsbeefly_end = 0x802A0F58; -bsBeeFly_inSet =0x802A0F78; -bsbeemain_die_init = 0x802A1C28; -bsbfly_inSet = 0x802A3778; -bslongleg_inSet = 0x802A52AC; -bsbtrot_inSet = 0x802A9B98; -bscarry_inSet = 0x802AB184; -bsclimb_inSet = 0x802AB800; -bsjig_inJiggyJig = 0x802B0A60; -bsjig_setJiggyMarkerPtr = 0x802B0A6C; -bspumpkin_inSet = 0x802B2304; -bsstand_init = 0x802B4998; -bsstand_update = 0x802B4D20; -bsstand_end = 0x802B5248; -bstwirl_hitboxActive = 0x802B6A40; -set_camera_to_node = 0x802BAE20; -spawnQueue_func_802C3A18 = 0x802C3A18; -spawnQueue_flush = 0x802C3A38; -spawnQueue_unlock = 0x802C3BDC; -spawnQueue_lock = 0x802C3BE8; -__spawnQueue_add_2 = 0x802C3D3C; -func_802C4140 = 0x802C4140; -func_802C418C = 0x802C418C; -func_802C4218 = 0x802C4218; -_mapSpecificFlags_calcCRC1 = 0x802CAC60; -_mapSpecificFlags_updateCRCs = 0x802CAC7C; -mapSpecificFlags_clearAll = 0x802CACD4; -mapSpecificFlags_get = 0x802CACF8; -mapSpecificFlags_getN = 0x802CAD24; -mapSpecificFlags_getClear = 0x802CAD8C; +ml_isNonzero_vec3f = 0x80258368; +mlAbsF = 0x80258964; +ml_vec3f_copy = 0x80258BA4; +ml_vec3f_diff_copy = 0x80258BC0; +ml_vec3f_add = 0x80258C48; +ml_vec3f_scale_copy = 0x80258CB0; +___osGetSR = 0x8025AFE0; +sns_write_payload_over_heap = 0x8025B700; +alEvtqPostEvent = 0x8025CDFC; +n_alSynStartVoice = 0x8025D4A0; +n_alSynAllocVoice = 0x8025D208; +n_alSynSetVol = 0x8025D400; +n_alSynSetPan = 0x8025D520; +n_alSynSetPitch = 0x8025D5A0; +n_alSynSetFXMix = 0x8025D620; +bzero = 0x80263B40; +osWriteBackDCacheAll = 0x80263BE0; +osVirtualToPhysical = 0x802646A0; +osRecvMesg = 0x80264550; +osPiStartDma = 0x802647D0; +osWritebackDCache = 0x80264AF0; +osInvalDCache = 0x80264B70; +osDestroyThread = 0x80264DB0; +osSetThreadPri = 0x80265000; +gu_sqrtf = 0x80265350; +osSetIntMask = 0x802654D0; +osInvalICache = 0x802684C0; +__osSetSR = 0x8026A210; +__osGetSR = 0x8026A220; +__osSetFpcCsr = 0x8026A230; +__osEnqueueAndYield = 0x8026A90C; +__osEnqueueThread = 0x8026AA0C; +__osPopThread = 0x8026AA54; +__osDispatchThread = 0x8026AA64; +__osCleanupThread = 0x8026ABE0; +osMapTLBRdb = 0x8026ABF0; +__osDisableInt = 0x8026ACB0; +__osRestoreInt = 0x8026ACD0; +__osProbeTLB = 0x8026B420; +bcopy = 0x8026C110; +__osSetCompare = 0x8026CA70; +osGetCount = 0x8026CE00; +D_802758C0 = 0x802758C0; // size:0xC +framebuffer_width = 0x80276588; +framebuffer_height = 0x8027658C; +n_syn = 0x80276E84; +__osShutdown = 0x8027712C; +__OSGlobalIntMask = 0x80277130; +__osRunQueue = 0x80277378; +__osRunningThread = 0x80277380; +__osFaultedThread = 0x80277384; +__osRcpImTable = 0x80278C60; +__libm_qnan_f = 0x80278DB0; +D_8027BEEC = 0x8027BEEC; +__osEventStateTab = 0x80284660; +__osThreadSave = 0x80285DE0; +leoDiskStack = 0x80285F90;//technically should have a OS_LEO_STACKSIZE or something.. +animctrl_new = 0x802872E0; +animctrl_setIndex = 0x8028745C; +animctrl_reset = 0x802874AC; +_func_802875AC = 0x802875AC; +animctrl_setDirection = 0x8028767C; +animctrl_setDuration = 0x8028768C; +baMarker_8028D694 = 0x8028D694; +player_getPosition = 0x8028E9A4; +_player_getPosition = 0x802984D4; +bs_checkInterrupt = 0x8029A81C; +spawnQueue_func_802C3A18 = 0x802C3A18; +spawnQueue_flush = 0x802C3A38; +spawnQueue_unlock = 0x802C3BDC; +spawnQueue_lock = 0x802C3BE8; mapSpecificFlags_set = 0x802CADC0; -mapSpecificFlags_setN = 0x802CAE24; mapSpecificFlags_getAll = 0x802CAE8C; mapSpecificFlags_setAll = 0x802CAE98; mapSpecificFlags_validateCRC1 = 0x802CB00C; -chmumbo_func_802D1724 = 0x802D1724; -func_802D94B4 = 0x802D94B4; -func_802DA498 = 0x802DA498; -func_802DB548 = 0x802DB548; -func_802E0738 = 0x802E0738; -func_802E07E0 = 0x802E07E0; -mapSavestate_free_all = 0x802E2E7C; -mapSavestate_defrag_all = 0x802E2ED4; -mapSavestate_save = 0x802E2F2C; -mapSavestate_apply = 0x802E30AC; -getGameMode = 0x802E49FC; -meshList_getVtxCount = 0x802E9F60; - -vtxList_getVertices = 0x802EC450; -vtxList_free = 0x802EC994; -vtxList_clone = 0x802EC9B4; -vtxList_tint = 0x802ECA7C; -vtxList_recolor = 0x802ED074; - -array_clear = 0x802EDA40; -array_at = 0x802EDA7C; -array_size = 0x802EDA94; -array_begin = 0x802EDA9C; -array_free = 0x802EDC64; -array_new = 0x802EDC84; -array_defrag = 0x802EDD00; - -__particleEmitter_initParticle = 0x802EEA9C; -particleEmitter_emitN = 0x802EF5C8; -particleEmitter_new = 0x802EF6AC; -particleEmitter_setSprite = 0x802EF950; -particleEmitter_setParticleAccelerationRange = 0x802EF9AC; -particleEmitter_setParticleCallback = 0x802EFA10; -particleEmitter_setStartingFrameRange = 0x802EFA90; -particleEmitter_setParticleFramerateRange = 0x802EFA9C; -particleEmitter_setModel = 0x802EFAC8; -particleEmitter_setParticleSpawnPositionRange = 0x802EFB1C; -particleEmitter_setPosition = 0x802EFB54; -particleEmitter_setVelocityAndAccelerationRanges = 0x802EFC84; -particleEmitter_setPositionAndVelocityRanges = 0x802EFD00; -particleEmitter_setPositionVelocityAndAccelerationRanges = 0x802EFD7C; -particleEmitter_setSpawnIntervalRange = 0x802EFE5C; -particleEmitter_setParticleVelocityRange = 0x802EFED4; -particleEmitter_setSphericalParticleVelocityRange = 0x802EFF10; -particleEmitter_setSpawnInterval = 0x802EFFC4; -particleEmitter_update = 0x802EFFE4; -partEmitList_pushNew = 0x802F0BD0; - -vector_clear = 0x802ED620; -vector_getBegin = 0x802ED62C; -vector_at = 0x802ED634; -vector_getIndex = 0x802ED650; -vector_size = 0x802ED690; -vector_getEnd = 0x802ED6D4; -vector_pushBackNew = 0x802ED6DC; -vector_insertNew = 0x802ED7C0; -vector_free = 0x802ED8A4; -vector_new = 0x802ED8C4; -vector_remove = 0x802ED914; -vector_popBack_n = 0x802ED984; -vector_assign = 0x802ED9A0; -vector_defrag = 0x802ED9E0; -_gcbound_draw = 0x802EE420; -gcbound_draw = 0x802EE508; -gcbound_alpha = 0x802EE548; -gcbound_color = 0x802EE590; -gcbound_reset = 0x802EE5AC; -_printbuffer_draw_letter = 0x802F55D8; -printbuffer_draw = 0x802F6E94; -_printbuffer_push_new = 0x802F77A8; -print_bold_spaced = 0x802F78C0; -print_dialog = 0x802F78FC; -print_dialog_w_bg = 0x802F7938; -print_dialog_gradient = 0x802F7974; -itemPrint_getValue = 0x802FAE1C; -func_802FDCB8 = 0x802FDCB8; -cube_positionToIndices = 0x80303174; -cube_volumeToIndices = 0x80303228; -cube_atIndices = 0x80303384; -cube_atPosition_s32 = 0x80303470; -nodeprop_getRadius = 0x80304D3C; -nodeprop_getPosition = 0x80304D68; -spawnableActorList_add = 0x803053E8; -map_getLevel = 0x8030AD48; -gctransition_8030B740 = 0x8030B740; -gctransition_draw = 0x8030B778; -gctransition_8030BD4C = 0x8030BD4C; -gctransition_8030BD88 = 0x8030BD88; -gctransition_8030BD98 = 0x8030BD98; -gctransition_8030BDAC = 0x8030BDAC; -gctransition_8030BDC0 = 0x8030BDC0; -gctransition_8030BE60 = 0x8030BE60; -gctransition_8030BEA4 = 0x8030BEA4; -gctransition_reset = 0x8030BEDC; -gctransition_update = 0x8030BF1C; -sfxsource_setSfxId = 0x8030DA80; -sfxsource_setSampleRate = 0x8030DABC; -gcdialog_setState = 0x8030F488; -gcdialog_update = 0x8030F990; -gcpausemenu_getNextPage = 0x8031307C; -gcPauseMenu_setState = 0x803120FC; -gczoombox_free = 0x80315374; -_gczoombox_memClear = 0x80315430; -gczoombox_draw = 0x80316B8C; -gczoombox_update = 0x80316EF4; -gczoombox_new = 0x80317E8C; -gczoombox_open = 0x803183EC; -gczoombox_close = 0x803183FC; -gczoombox_maximize = 0x8031840C; -gczoombox_minimize = 0x8031841C; -gczoombox_highlight = 0x803185D8; -gcparade_8031B4CC = 0x8031B4CC; -gcparade_8031B4F4 = 0x8031B4F4; -gcparade_beginFFParade = 0x8031B51C; -jiggyscore_clearAll_debug = 0x80320F10; -jiggyscore_clearAllSpawned = 0x80320F38; -jiggyscore_getPtr = 0x80320F70; -jiggyscore_isSpawned = 0x80320F7C; -jiggyscore_isCollected = 0x80320FE0; -jiggyscore_debug = 0x80321034; -jiggyscore_clearAll = 0x8032103C; -jiggyscore_setCollected = 0x8032108C; -jiggyscore_setSpawned = 0x80321120; -jiggyscore_leveltotal = 0x803211AC; -jiggyscore_total = 0x8032123C; -jiggyscore_info = 0x8032128C; -honeycombscore_get = 0x803212E4; -honeycombscore_get_level_total = 0x803213F8; -honeycombscore_get_total = 0x8032149C; -mumboscore_get = 0x80321544; -mumboscore_debug = 0x80321598; -mumboscore_set = 0x803215D0; -level_get = 0x80321900; -_levelSpecificFlags_calcCRC1 = 0x80321C90; -_levelSpecificFlags_updateCRC1 = 0x80321D34; -_levelSpecificFlags_calcCRC2 = 0x80321D98; -_levelSpecificFlags_updateCRC2 = 0x80321E3C; -levelSpecificFlags_get = 0x80321EE4; -levelSpecificFlags_getN = 0x80321F0C; -levelSpecificFlags_getSet = 0x80321F3C; -levelSpecificFlags_clear = 0x80321F74; -levelSpecificFlags_set = 0x80321FC4; -levelSpecificFlags_setN = 0x80322004; +mapSavestate_save = 0x802E2F2C; +mapSavestate_apply = 0x802E30AC; +getGameMode = 0x802E49FC; +vtxList_getVertices = 0x802EC450; +_printbuffer_draw_letter = 0x802F55D8; +cube_atIndices = 0x80303384; +gctransition_8030BD98 = 0x8030BD98; +sfxsource_setSfxId = 0x8030DA80; +sfxsource_setSampleRate = 0x8030DABC; +gcdialog_setState = 0x8030F488; +gcdialog_update = 0x8030F990; +gczoombox_update = 0x80316EF4; +gczoombox_close = 0x803183FC; +gczoombox_maximize = 0x8031840C; +gczoombox_minimize = 0x8031841C; +level_get = 0x80321900; levelSpecificFlags_validateCRC1 = 0x8032204C; -levelSpecificFlags_validateCRC2 = 0x803220B4; -level_to_overlay = 0x80322E94; -timed_playSfx = 0x80324C88; -timed_setCameraToNode = 0x80324E60; -timedFunc_set_0 = 0x80324EAC; -timedFunc_set_1 = 0x80324EE4; -timedFunc_set_2 = 0x80324F20; -timedFunc_set_3 = 0x80324F64; -timedFunc_set_4 = 0x80324FAC; -timedFunc_set_5 = 0x80324FF8; -timedFunc_set_6 = 0x80325048; -timedJiggySpawn = 0x80325098; -timedFuncQueue_is_empty = 0x803250DC; -timedFuncQueue_flush = 0x80325104; -timedFuncQueue_init = 0x803251A0; -timedFuncQueue_update = 0x803251D4; -func_80325340 = 0x80325340; -func_80325E78 = 0x80325E78; -func_80325F2C = 0x80325F2C; -func_80325F84 = 0x80325F84; -func_80326224 = 0x80326224; -actor_setOpacity = 0x8032628C; -actor_new = 0x803272F8; -spawn_child_actor = 0x8032818C; -marker_despawn = 0x803282F4; -actor_animationIsAt = 0x8032886C; -subaddie_playerIsWithinSphere = 0x80329588; -actor_playAnimationOnce = 0x803298AC; -actor_loopAnimation = 0x803298D8; -marker_getActor = 0x80329958; -subaddie_getLinkedActor = 0x80329980; -actor_copy = 0x80329C40; -actors_appendToSavestate = 0x80329CBC; -actor_collisionOff = 0x8032AA74; -actor_collisionOn = 0x8032AA88; -__marker_draw = 0x8032D190; -cube_free = 0x8032E07C; -marker_free = 0x8032F430; -marker_setCollisionScripts = 0x803300A8; -map_get = 0x803348C0; -exit_get = 0x803348CC; -jiggySpawn = 0x803330C0; -modelRender_setDepthMode = 0x8033A4CC; -assetcache_release = 0x8033B3D8; -assetcache_update_ptr = 0x8033B574; -assetcache_get = 0x8033B798; -assetCache_init = 0x8033bb84; -savedata_update_crc = 0x8033BFD0; -strcat = 0x8033D660; -strcatc = 0x8033D6A8; -strFToA = 0x8033D6E0; -_strFToA = 0x8033D7B0; -strIToA = 0x8033D884; -_strIToA = 0x8033D8A4; -strcmp = 0x8033D9D4; -strcpy = 0x8033DA54; -strlen = 0x8033DA80; -strcmpToTok = 0x8033DAB0; -strtok = 0x8033DB18; -strcpyToTok = 0x8033DB60; -strToUpper = 0x8033DBA4; -time_getDelta = 0x8033DD9C; -projectile_setSprite = 0x8033FBC8; -projectile_setPosition = 0x8033FEC8; -projectile_getPosition = 0x8033FF10; -item_inc = 0x80345F24; -item_dec = 0x80345F44; -item_empty = 0x80345F74; -item_getCount = 0x80345FA0; -item_set = 0x80346414; -itemscore_noteScores_getTotal = 0x80346EEC; -itemscore_noteScores_get = 0x80346F34; -itemscore_timeScores_get = 0x8034717C; -demo_readInput = 0x80349EE4; -demo_load = 0x8034A06C; -demo_free = 0x8034A0EC; -randf = 0x8034A390; -randf2 = 0x8034A754; -sfx_randf2 = 0x8034A788; -randi2 = 0x8034A7BC; -D_80364564 = 0x80364564; -D_8036497C = 0x8036497C; -D_80364A94 = 0x80364A94; -D_80364AA4 = 0x80364AA4; -D_80364AA8 = 0x80364AA8; -D_80364B04 = 0x80364B04; -D_80364B24 = 0x80364B24; -D_80364D0C = 0x80364D0C; -D_80364DF4 = 0x80364DF4; -D_803657E0 = 0x803657E0; -D_80365D50 = 0x80365D50; -D_80365D58 = 0x80365D58; -D_80366240 = 0x80366240; -D_80366338 = 0x80366338; -D_8036633C = 0x8036633C; -D_80367DC4 = 0x80367DC4; -chBottlesBonusDescription = 0x803682D0; -D_803688E0 = 0x803688E0; -D_803688E8 = 0x803688E8; -D_8036A070 = 0x8036A070; -sSpawnableActorSize = 0x8036A9B0; -sSpawnableActorList = 0x8036A9B4; -D_8036B810 = 0x8036B810; -D_8036D940 = 0x8036D940; -D_8036DD9C = 0x8036DD9C; -suBaddieActorArray = 0x8036E560; -D_8036E598 = 0x8036E598; -D_8036E5B0 = 0x8036E5B0; -D_8036E5C0 = 0x8036E5C0; -modelCache = 0x8036E7C0; -D_80370990 = 0x80370990; -D_80371E30 = 0x80371E30; -D_803745D0 = 0x803745D0; -D_803745DC = 0x803745DC; -D_80374980 = 0x80374980; -D_803749F8 = 0x803749F8; -D_80374A00 = 0x80374A00; -D_80374A28 = 0x80374A28; -D_803758D8 = 0x803758D8; -D_80375D58 = 0x80375D58; -D_80375F88 = 0x80375F88; -D_803762F0 = 0x803762F0; -D_80376468 = 0x80376468; -D_803765E4 = 0x803765E4; -D_80376650 = 0x80376650; -D_80376658 = 0x80376658; -D_8037688C = 0x8037688C; -D_80376890 = 0x80376890; -D_80376898 = 0x80376898; -D_803768A0 = 0x803768A0; -D_803768A8 = 0x803768A8; -D_803768CC = 0x803768CC; -D_803768D0 = 0x803768D0; -D_803768D4 = 0x803768D4; -D_803768D8 = 0x803768D8; -D_803768DC = 0x803768DC; -D_803768E0 = 0x803768E0; -D_803768E4 = 0x803768E4; -D_803768E8 = 0x803768E8; -D_803768EC = 0x803768EC; -D_803768F0 = 0x803768F0; -D_803768F4 = 0x803768F4; -D_803768F8 = 0x803768F8; -D_803768FC = 0x803768FC; -D_80376900 = 0x80376900; -D_80376904 = 0x80376904; -D_80376908 = 0x80376908; -D_8037690C = 0x8037690C; -D_80376910 = 0x80376910; -D_80376914 = 0x80376914; -D_80376918 = 0x80376918; -D_8037691C = 0x8037691C; -D_80376920 = 0x80376920; -D_80376924 = 0x80376924; -D_80376928 = 0x80376928; -D_8037692C = 0x8037692C; -D_80376930 = 0x80376930; -D_80376934 = 0x80376934; -D_80376938 = 0x80376938; -D_8037693C = 0x8037693C; -D_80376940 = 0x80376940; -D_80376944 = 0x80376944; -D_80376948 = 0x80376948; -D_8037694C = 0x8037694C; -D_80376950 = 0x80376950; -D_80376954 = 0x80376954; -D_80376958 = 0x80376958; -D_8037695C = 0x8037695C; -D_80376960 = 0x80376960; -D_80376964 = 0x80376964; -D_80376968 = 0x80376968; -D_8037696C = 0x8037696C; -D_80376970 = 0x80376970; -D_80376974 = 0x80376974; -D_80376978 = 0x80376978; -D_8037697C = 0x8037697C; -D_80376980 = 0x80376980; -D_80376984 = 0x80376984; -D_80376988 = 0x80376988; -D_803772D0 = 0x803772D0; -D_80373DF0 = 0x80373DF0; -D_80373DF8 = 0x80373DF8; -D_80373E00 = 0x80373E00; -D_80373E18 = 0x80373E18; -D_80374C80 = 0x80374C80; -D_80376410 = 0x80376410; -D_80376440 = 0x80376440; -D_80376990 = 0x80376990; -D_80377320 = 0x80377320; -D_803774B0 = 0x803774B0; -D_803774B8 = 0x803774B8; -D_80378440 = 0x80378440; -D_80378DDC = 0x80378DDC; -D_80378F48 = 0x80378F48; -D_80378F60 = 0x80378F60; -D_80378F64 = 0x80378F64; -D_80378F68 = 0x80378F68; -D_80378FC8 = 0x80378FC8; -D_80378FCC = 0x80378FCC; -D_8037901C = 0x8037901C; -D_80379058 = 0x80379058; -D_80379060 = 0x80379060; -D_80379080 = 0x80379080; -D_80379084 = 0x80379084; -D_80379088 = 0x80379088; -D_8037908C = 0x8037908C; -D_80379090 = 0x80379090; -D_80379094 = 0x80379094; -D_803790C0 = 0x803790C0; -D_803790C8 = 0x803790C8; -D_803790D0 = 0x803790D0; -D_80379278 = 0x80379278; -D_80379280 = 0x80379280; -D_80379308 = 0x80379308; -D_80379318 = 0x80379318; -D_80379328 = 0x80379328; -D_80379348 = 0x80379348; -D_80379530 = 0x80379530; -D_80379538 = 0x80379538; -D_80379630 = 0x80379630; -D_80379638 = 0x80379638; -D_80379660 = 0x80379660; -D_80379670 = 0x80379670; -playerMarker = 0x8037BF70; -carriedObject_actorID = 0x8037BF78; -D_8037C078 = 0x8037C078; -climbPoleBottom = 0x8037C560; -D_8037C564 = 0x8037C564; -climbPoleTop = 0x8037C570; -climbRadius = 0x8037C57C; -player_position = 0x8037C5A0; -_bsclawHitboxActive = 0x8037D3C0; -_bscrocHitboxActive = 0x8037D3E4; -_bstwirlHitboxActive = 0x8037D5A5; -D_8037DDA0 = 0x8037DDA0; -D_8037DDA4 = 0x8037DDA4; -_gcbound_red = 0x80380900; -_gcbound_green = 0x80380901; -_gcbound_blue = 0x80380902; -func_80320044 = 0x80320044; -D_80370600 = 0x80370600; -D_80374388 = 0x80374388; -D_80374CD8 = 0x80374CD8; -D_80374CF0 = 0x80374CF0; -D_80375528 = 0x80375528; -D_803757A8 = 0x803757A8; -D_80375F60 = 0x80375F60; -D_80376180 = 0x80376180; -D_80376188 = 0x80376188; -D_80376290 = 0x80376290; -D_80376668 = 0x80376668; -D_803766F8 = 0x803766F8; -D_80376F68 = 0x80376F68; -D_80376FE8 = 0x80376FE8; -D_80377088 = 0x80377088; -D_80377318 = 0x80377318; -D_803788C0 = 0x803788C0; -D_803788F0 = 0x803788F0; -D_80378E38 = 0x80378E38; -D_803791A8 = 0x803791A8; -D_80379208 = 0x80379208; -D_80379210 = 0x80379210; -D_803793E0 = 0x803793E0; -D_80379400 = 0x80379400; -D_80379458 = 0x80379458; -D_80379460 = 0x80379460; -D_80379478 = 0x80379478; -D_803794C8 = 0x803794C8; -D_803794D0 = 0x803794D0; -D_80379508 = 0x80379508; -D_80379A78 = 0x80379A78; -D_8037DB38 = 0x8037DB38; -print_sFonts = 0x80380AD0; -print_sPrintBuffer = 0x80380AE0; -print_sCurrentPtr = 0x80380AE4; -print_sInFontFormatMode = 0x80380B08; -D_80381E90 = 0x80381E90; -jiggyscore = 0x803832C0; -sHoneycombScore = 0x803832E0; -sMumboTokenScore = 0x803832F0; -assetCacheDependencyCount = 0x80383CD8; +marker_despawn = 0x803282F4; +actor_playAnimationOnce = 0x803298AC; +actor_loopAnimation = 0x803298D8; +actor_copy = 0x80329C40; +actors_appendToSavestate = 0x80329CBC; +strIToA = 0x8033D884; +strlen = 0x8033DA80; +time_getDelta = 0x8033DD9C; +item_inc = 0x80345F24; +item_empty = 0x80345F74; +itemscore_noteScores_get = 0x80346F34; +demo_readInput = 0x80349EE4; +randf = 0x8034A390; +randf2 = 0x8034A754; +suBaddieActorArray = 0x8036E560; +D_80374CF0 = 0x80374CF0; +D_8037901C = 0x8037901C; +D_8037DCB0 = 0x8037DCB0; +print_sCurrentPtr = 0x80380AE4; +print_sInFontFormatMode = 0x80380B08; + D_A00001D8 = 0xA00001D8; -D_5E90 = 0x5E90; -D_D846C0 = 0xD846C0; -D_D954B0 = 0xD954B0; -D_EA3EB0 = 0xEA3EB0; -D_EADE60 = 0xEADE60; -D_1048560 = 0x1048560; - -osRomBase = 0x80000308; - - -bkboot_inflate = 0x80001B00; - -func_800020DC = 0x800020DC; - -func_802D3D54 = 0x802D3D54; - -D_80363590 = 0x80363590; - -D_803772C8 = 0x803772C8; -D_803772D0 = 0x803772D0; - -D_8037536C = 0x8037536C; - - - -__freePVoice = 0x8026AD90; - -__heap_align = 0x80254470; -osViGetNextFramebuffer = 0x802664B0; -osViGetCurrentFramebuffer = 0x80265880; -__osEnqueueAndYield = 0x8026A90C; -__osEnqueueThread = 0x8026AA0C; -__osPopThread = 0x8026AA54; -__osDispatchThread = 0x8026AA64; -__osCleanupThread = 0x8026ABE0; -__osDisableInt = 0x8026ACB0; -__osRestoreInt = 0x8026ACD0; D_A0000238 = 0xA0000238; -chBottlesBonusDescription = 0x803682D0; - -D_80004FF4 = 0x80004FF4; - -D_8023DA20 = 0x8023DA20; -func_8023DA20 = 0x8023DA20; - -D_8027BEF0 = 0x8027BEF0; - - -func_8028F9DC = 0x8028F9DC; -func_80295864 = 0x80295864; - - -func_802DA498 = 0x802DA498; - -func_80325888 = 0x80325888; - -D_80390C1E = 0x80390C1E; -D_80391738 = 0x80391738; -D_80391780 = 0x80391780; -D_803917A4 = 0x803917A4; -D_80392DA8 = 0x80392DA8; -D_80392DB8 = 0x80392DB8; -D_80392DC8 = 0x80392DC8; -D_803923E4 = 0x803923E4; -D_80392914 = 0x80392914; -D_80394D50 = 0x80394D50; -D_803907B0 = 0x803907B0; -core2_TEXT_START = 0x80286F90; -ml_min_w = 0x80258948; -guLookAtReflect = 0x8024128C; -D_80392D90 = 0x80392D90; // defined:false rom:0x108A9D0 -lair_D_80392D90 = 0x80392D90; // defined:false rom:0x10A4A10