misc documentation

This commit is contained in:
Banjo Kazooie
2023-01-30 00:02:44 -06:00
parent da9a0109b5
commit cd146f444f
258 changed files with 2526 additions and 3594 deletions

View File

@@ -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]

17
include/core2/ba/model.h Normal file
View File

@@ -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

11
include/core2/particle.h Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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 *);

View File

@@ -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{

View File

@@ -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);
}

View File

@@ -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);
}
}

View File

@@ -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];

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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){

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

@@ -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) {

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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 {

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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){}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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,

View File

@@ -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;

View File

@@ -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);

View File

@@ -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,

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -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,

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -116,6 +116,6 @@ void chhut_update(Actor *this){
}
void func_80386C90(void){
void mm_resetHuts(void){
D_8037DCB0 = 0;
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -41,7 +41,7 @@ void MMM_func_803871FC(Actor *this){
func_803255FC(this);
}
void func_80387260() {
void mm_resetFlowerPots() {
func_803871D4(5);
}

View File

@@ -1,6 +1,7 @@
#include <ultra64.h>
#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){

View File

@@ -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];

View File

@@ -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)

View File

@@ -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{

View File

@@ -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){

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,8 +1,10 @@
#include <ultra64.h>
#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);

View File

@@ -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)

View File

@@ -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;
}

View File

@@ -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))

View File

@@ -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))

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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,

View File

@@ -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;
}

View File

@@ -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){

View File

@@ -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)
{

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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){

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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
){

View File

@@ -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){}

View File

@@ -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){

View File

@@ -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));
}
}
}

View File

@@ -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);
}

View File

@@ -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:

388
src/core2/ba/model.c Normal file
View File

@@ -0,0 +1,388 @@
#include <ultra64.h>
#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);
}
}

View File

@@ -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);
}

View File

@@ -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){

View File

@@ -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();
}

View File

@@ -1,7 +1,7 @@
#include <ultra64.h>
#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();
}

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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()) {

View File

@@ -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();
}

View File

@@ -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));
}
}

Some files were not shown because too many files have changed in this diff Show More