diff --git a/include/enums.h b/include/enums.h index 3685bdd1..aa3f260f 100644 --- a/include/enums.h +++ b/include/enums.h @@ -4311,8 +4311,9 @@ enum marker_e{ MARKER_4B_CC_SCREW, MARKER_4C_CLANKER_TOKEN_TOOTH_EXT, MARKER_4D_CLANKER_JIGGY_TOOTH_EXT, - - MARKER_51_MM_HUT = 0x51, + + MARKER_50_BEEHIVE = 0x50, + MARKER_51_MM_HUT, MARKER_52_JIGGY, MARKER_53_EMPTY_HONEYCOMB, diff --git a/include/functions.h b/include/functions.h index 11ac0cf0..9ca143e0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -238,7 +238,7 @@ void particleEmitter_setParticleFramerateRange(ParticleEmitter *, f32, f32); void particleEmitter_setParticleSpawnPositionRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); void func_802EFB70(ParticleEmitter *, f32, f32); void func_802EFB84(ParticleEmitter *, f32, f32); -void func_802EFB98(ParticleEmitter *, struct31s *); +void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *, ParticleScaleAndLifetimeRanges *); void particleEmitter_setVelocityAndAccelerationRanges(ParticleEmitter *, struct41s *); void particleEmitter_setPositionAndVelocityRanges(ParticleEmitter *this, struct42s *arg1); void particleEmitter_setAngularVelocityRange(ParticleEmitter *, f32, f32, f32, f32, f32, f32); @@ -552,4 +552,8 @@ extern void fxSparkle_chTreasure(s16[3]); extern void actor_collisionOn(Actor *); extern void subaddie_set_state_forward(Actor *, s32); +extern BKModelBin *marker_loadModelBin(ActorMarker *this); +extern Struct70s *func_8034C2C4(ActorMarker *marker, s32 arg1); +extern void func_80326310(Actor *this); + #endif diff --git a/include/structs.h b/include/structs.h index b38fb70a..91f241d9 100644 --- a/include/structs.h +++ b/include/structs.h @@ -374,14 +374,14 @@ typedef struct particle_emitter{ struct particle *pList_capacity_12C; //capacity_end_ptr; } ParticleEmitter; -typedef struct struct_31_s{ +typedef struct particle_scale_and_lifetime_ranges_s{ 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; +} ParticleScaleAndLifetimeRanges; typedef struct struct_32_s{ f32 unk0[3]; @@ -399,7 +399,7 @@ typedef struct struct_34_s{ } struct34s; typedef struct struct_40_s{ - struct31s unk0; + ParticleScaleAndLifetimeRanges unk0; f32 unk28; f32 unk2C; } struct40s; diff --git a/src/BGS/ch/yumblie.c b/src/BGS/ch/yumblie.c index 0ef64071..65dfdbd6 100644 --- a/src/BGS/ch/yumblie.c +++ b/src/BGS/ch/yumblie.c @@ -122,7 +122,7 @@ Actor *chyumblie_draw(ActorMarker *this, Gfx **gfx, Mtx** mtx, Vtx **vtx){ modelRender_draw(gfx, mtx, sp44, sp38, 1.0f, NULL, chvilegame_get_grumblie_model(sp40->game_marker)); } else{ - modelRender_draw(gfx, mtx, sp44, sp38, 1.0f, NULL, func_80330B1C(this)); + modelRender_draw(gfx, mtx, sp44, sp38, 1.0f, NULL, marker_loadModelBin(this)); } return thisActor; } diff --git a/src/FP/ch/boggy2.c b/src/FP/ch/boggy2.c index b73d2008..9b2bc779 100644 --- a/src/FP/ch/boggy2.c +++ b/src/FP/ch/boggy2.c @@ -230,7 +230,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){ void func_80388EE8(ParticleEmitter *pCtrl){ static s32 D_80391D24[3] = {0xc8, 0xc8, 0xe6}; - static struct31s D_80391D30 = { + static ParticleScaleAndLifetimeRanges D_80391D30 = { {0.2f, 0.4f}, {1.2f, 1.6f}, {0.0f, 0.001f}, @@ -244,7 +244,7 @@ void func_80388EE8(ParticleEmitter *pCtrl){ particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); particleEmitter_setRGB(pCtrl, D_80391D24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_80391D58); - func_802EFB98(pCtrl, &D_80391D30); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80391D30); particleEmitter_manualFree(pCtrl); } diff --git a/src/FP/ch/snowmanbutton.c b/src/FP/ch/snowmanbutton.c index e862101b..b5c2b884 100644 --- a/src/FP/ch/snowmanbutton.c +++ b/src/FP/ch/snowmanbutton.c @@ -20,7 +20,7 @@ ActorInfo FP_D_80391AB0 = { 0, 0x800, 0.0f, 0 }; -struct31s D_80391AD4 = { +ParticleScaleAndLifetimeRanges D_80391AD4 = { {0.4f, 0.6f}, {1.8f, 3.6f}, {0.0f, 0.01f}, @@ -59,7 +59,7 @@ void FP_func_80386BEC(Actor *this){ particleEmitter_setSprite(pCtrl, ASSET_700_SPRITE_DUST); particleEmitter_setPosition(pCtrl, plyr_pos); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80391AFC); - func_802EFB98(pCtrl, &D_80391AD4); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80391AD4); particleEmitter_emitN(pCtrl, 12); } diff --git a/src/FP/ch/twinkly.c b/src/FP/ch/twinkly.c index f598272e..b9d7f9ba 100644 --- a/src/FP/ch/twinkly.c +++ b/src/FP/ch/twinkly.c @@ -3,7 +3,6 @@ #include "variables.h" extern Actor *func_802EBAE0(UNK_TYPE(s32), f32 position[3], f32 rotation[3], f32 scale, UNK_TYPE(s32), UNK_TYPE(s32), UNK_TYPE(s32), f32, UNK_TYPE(s32)); -extern Struct70s *func_8034C2C4(ActorMarker *marker, s32 arg1); Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE(s32) arg3); Actor *func_8038C1F8(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); @@ -61,7 +60,7 @@ s32 D_803920B0[4] = {0xFF, 0xFF, 0xFF, 0x00}; /* .code */ Actor *func_8038C0B0(ActorMarker *marker, UNK_TYPE(s32) arg1, f32 arg2, UNK_TYPE(s32) arg3){ - UNK_TYPE(s32) sp5C = func_8033A12C(func_80330B1C(marker)); + UNK_TYPE(s32) sp5C = func_8033A12C(marker_loadModelBin(marker)); Actor *this = marker_getActor(marker); f32 sp4C[3]; f32 sp40[3]; diff --git a/src/FP/ch/twinklybox.c b/src/FP/ch/twinklybox.c index f47efbca..7fdd4066 100644 --- a/src/FP/ch/twinklybox.c +++ b/src/FP/ch/twinklybox.c @@ -34,7 +34,7 @@ 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){ - static struct31s D_8039210C = { + static ParticleScaleAndLifetimeRanges D_8039210C = { { 0.4f, 0.8f }, {-1.0f, -1.0f }, { 0.0f, 0.02f}, @@ -57,14 +57,14 @@ void func_8038CF54(f32 position[3], s32 count, enum asset_e model_id){ 100.0f, 100.0f, 100.0f, 200.0f, 200.0f, 200.0f ); - func_802EFB98(pCtrl, &D_8039210C); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8039210C); func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 3); particleEmitter_emitN(pCtrl, count); } void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ - static struct31s D_8039217C = { + static ParticleScaleAndLifetimeRanges D_8039217C = { {0.8f, 1.2f }, {1.4f, 2.0f }, {0.0f, 0.01f}, @@ -86,12 +86,12 @@ void func_8038D01C(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803921B0); - func_802EFB98(pCtrl, &D_8039217C); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8039217C); particleEmitter_emitN(pCtrl, count); } void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ - static struct31s D_803921F8 = { + static ParticleScaleAndLifetimeRanges D_803921F8 = { { 0.2f, 0.3f }, {-1.0f, -1.0f }, { 0.0f, 0.02f}, @@ -114,14 +114,14 @@ void func_8038D0A8(f32 position[3], s32 count, enum asset_e model_id){ 200.0f, 200.0f, 200.0f, 300.0f, 300.0f, 300.0f ); - func_802EFB98(pCtrl, &D_803921F8); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803921F8); func_802EF9F8(pCtrl, 0.2f); func_802EFA18(pCtrl, 2); particleEmitter_emitN(pCtrl, count); } void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ - static struct31s D_80392268 ={ + static ParticleScaleAndLifetimeRanges D_80392268 ={ { 0.4f, 0.6f }, {-1.0f, -1.0f }, { 0.0f, 0.02f}, @@ -140,14 +140,14 @@ void func_8038D170(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_80392290); - func_802EFB98(pCtrl, &D_80392268); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392268); func_802EF9F8(pCtrl, 0.2f); func_802EFA18(pCtrl, 2); particleEmitter_emitN(pCtrl, count); } void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ - static struct31s D_803922D8 = { + static ParticleScaleAndLifetimeRanges D_803922D8 = { {0.5f, 0.7f }, {1.4f, 1.7f }, {0.0f, 0.01f}, @@ -167,7 +167,7 @@ void func_8038D208(f32 position[3], s32 count, enum asset_e sprite_id){ particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8039230C); - func_802EFB98(pCtrl, &D_803922D8); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803922D8); particleEmitter_emitN(pCtrl, count); } diff --git a/src/FP/ch/wozzasjig.c b/src/FP/ch/wozzasjig.c index d4d6ab70..201bfcfd 100644 --- a/src/FP/ch/wozzasjig.c +++ b/src/FP/ch/wozzasjig.c @@ -37,7 +37,7 @@ Actor *func_8038FF00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_8038FF54(Actor *this){ - static struct31s D_8039264C = {{0.3f, 0.5f}, {0.5f, 0.7f}, {0.0f, 0.01f}, {0.3f, 0.4f}, 0.3f, 0.7f}; + static ParticleScaleAndLifetimeRanges D_8039264C = {{0.3f, 0.5f}, {0.5f, 0.7f}, {0.0f, 0.01f}, {0.3f, 0.4f}, 0.3f, 0.7f}; Actor *other; f32 sp40[3]; ParticleEmitter *sp3C; @@ -97,7 +97,7 @@ void func_8038FF54(Actor *this){ 0.0f, -60.0f, 0.0f, 0.0f, -90.0f, 0.0f ); - func_802EFB98(sp3C, &D_8039264C); + particleEmitter_setScaleAndLifetimeRanges(sp3C, &D_8039264C); particleEmitter_emitN(sp3C, 1); } } diff --git a/src/FP/ch/xmastreeice.c b/src/FP/ch/xmastreeice.c index 7afd5695..90a474ad 100644 --- a/src/FP/ch/xmastreeice.c +++ b/src/FP/ch/xmastreeice.c @@ -21,7 +21,7 @@ Actor *func_803908F0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ } void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ - static struct31s D_80392754 = {{0.2f, 0.4f}, {-1.0f, -1.0f}, {0.0f, 0.02f}, {2.2f, 2.2f}, 0.0f, 0.3f}; + static ParticleScaleAndLifetimeRanges D_80392754 = {{0.2f, 0.4f}, {-1.0f, -1.0f}, {0.0f, 0.02f}, {2.2f, 2.2f}, 0.0f, 0.3f}; static struct43s D_8039277C = { {{-300.0f, 350.0f, -300.0f}, {300.0f, 600.0f, 300.0f}}, /*position*/ {{ 0.0f, -1000.0f, 0.0f}, { 0.0f, -1000.0f, 0.0f}}, /*velocitcy*/ @@ -35,7 +35,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ 100.0f, 100.0f, 100.0f, 250.0f, 250.0f, 250.0f ); - func_802EFB98(pCtrl, &D_80392754); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392754); func_802EF9F8(pCtrl, 0.6f); func_802EFA18(pCtrl, 0); func_802EFA20(pCtrl, 1.0f, 1.3f); @@ -44,7 +44,7 @@ void func_80390944(f32 position[3], s32 cnt, enum asset_e model_id){ } void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ - static struct31s D_803927C4 = {{0.6f, 0.8f}, {1.0f, 1.4f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01f}; + static ParticleScaleAndLifetimeRanges D_803927C4 = {{0.6f, 0.8f}, {1.0f, 1.4f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01f}; static struct43s D_803927EC = { {{-200.0f, 0.0f, -200.0f}, {200.0f, 200.0f, 200.0f}}, /*position*/ {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, /*velocitcy*/ @@ -56,7 +56,7 @@ void func_80390A30(f32 position[3], s32 cnt, enum asset_e sprite_id){ particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_803927EC); - func_802EFB98(pCtrl, &D_803927C4); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_803927C4); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/FP/ch/xmastreeswitch.c b/src/FP/ch/xmastreeswitch.c index b183ef34..f3ae72b5 100644 --- a/src/FP/ch/xmastreeswitch.c +++ b/src/FP/ch/xmastreeswitch.c @@ -46,7 +46,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}; + static ParticleScaleAndLifetimeRanges D_80392444 = {{0.4f, 0.6f}, {0.8f, 1.8f}, {0.0f, 0.01f}, {0.5f, 1.4f}, 0.0f, 0.01f}; ParticleEmitter *pCtrl = partEmitMgr_newEmitter(cnt); particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); @@ -62,7 +62,7 @@ void func_8038E840(f32 position[3], s32 cnt, enum asset_e sprite_id){ -200.0f, -100.0f, -200.0f, 200.0f, 300.0f, 200.0f ); - func_802EFB98(pCtrl, &D_80392444); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80392444); particleEmitter_emitN(pCtrl, cnt); } diff --git a/src/GV/ch/gobi1.c b/src/GV/ch/gobi1.c index 72bc6296..9b6ee577 100644 --- a/src/GV/ch/gobi1.c +++ b/src/GV/ch/gobi1.c @@ -203,7 +203,7 @@ void chGobi1_update(Actor *this){ if(this->state == 4){ func_80326224(this); - tmp_s1 = func_8033A12C(func_80330B1C(this->marker)); + tmp_s1 = func_8033A12C(marker_loadModelBin(this->marker)); if(tmp_s1){ player_getPosition(sp54); sp54[1] += 50.0f; diff --git a/src/GV/ch/gobi2.c b/src/GV/ch/gobi2.c index d576eaac..916ac163 100644 --- a/src/GV/ch/gobi2.c +++ b/src/GV/ch/gobi2.c @@ -132,7 +132,7 @@ Actor *chGobi2_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ sp3C[2] = this->roll; modelRender_setBoneTransformList(skeletalAnim_getBoneTransformList(this->unk148)); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this); - modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, func_80330B1C(this_marker)); + modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, marker_loadModelBin(this_marker)); if(this->state == 4){ modelRender_setBoneTransformList(skeletalAnim_getBoneTransformList(local->unk4)); diff --git a/src/GV/ch/gobirock.c b/src/GV/ch/gobirock.c index 64a76f61..2e19db59 100644 --- a/src/GV/ch/gobirock.c +++ b/src/GV/ch/gobirock.c @@ -71,7 +71,7 @@ Actor *chGobiRock_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx sp3C[2] = this->roll; modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32) this); func_8033A450(func_80329934()); - modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL,func_80330B1C(this_marker)); + modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL,marker_loadModelBin(this_marker)); func_8034A174(func_80329934(), 5, local->unk0); return this; diff --git a/src/GV/code_2EE0.c b/src/GV/code_2EE0.c index fa7b6831..b45c7f87 100644 --- a/src/GV/code_2EE0.c +++ b/src/GV/code_2EE0.c @@ -30,7 +30,7 @@ Actor *func_803892D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ position[2] = this->position_z; position[1] += 8.0f; modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this); - modelRender_draw(gfx, mtx, position, rotation, this->unk1C[0], NULL, func_80330B1C(this_marker)); + modelRender_draw(gfx, mtx, position, rotation, this->unk1C[0], NULL, marker_loadModelBin(this_marker)); } return this; } diff --git a/src/MM/ch/juju.c b/src/MM/ch/juju.c index 1493d8fe..9ff7dcf5 100644 --- a/src/MM/ch/juju.c +++ b/src/MM/ch/juju.c @@ -54,7 +54,7 @@ Actor* func_80389014(ActorMarker *this, Gfx **dl, Mtx **mPtr, Vtx **arg2){ jujuPtr = (ActorLocal_Juju_2 *)&actorPtr->local; if(jujuPtr->unk0 != 2){ modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); - modelRender_draw(dl, mPtr, actorPtr->position, sp34, jujuPtr->unk14, NULL, func_80330B1C(this)); + modelRender_draw(dl, mPtr, actorPtr->position, sp34, jujuPtr->unk14, NULL, marker_loadModelBin(this)); } return actorPtr; } diff --git a/src/MMM/ch/motzhand.c b/src/MMM/ch/motzhand.c index a9147255..05e74cf9 100644 --- a/src/MMM/ch/motzhand.c +++ b/src/MMM/ch/motzhand.c @@ -78,7 +78,7 @@ Actor *chMotzhand_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ sp3C[0] = sp3C[1] = sp3C[2] = 0.0f; sp3C[1] = 180.0f; modelRender_setDepthMode(MODEL_RENDER_DEPTH_FULL); - modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, this->position, sp3C, 1.0f, NULL, marker_loadModelBin(marker)); this->marker->unk14_21 = func_8033A170(); return this; } diff --git a/src/MMM/code_16B0.c b/src/MMM/code_16B0.c index ca0a4929..f30523e1 100644 --- a/src/MMM/code_16B0.c +++ b/src/MMM/code_16B0.c @@ -117,7 +117,7 @@ void func_80387D48(ActorMarker *marker){ void func_80387DF8(f32 position[3], s32 count, enum asset_e sprite_id) { static s32 D_8038BAF4[3] = {0xB4, 0xFF, 0x8C}; - static struct31s D_8038BB00 = {{0.2f, 0.4f}, {1.8f, 2.8f}, {0.0f, 0.15f}, {0.7f, 1.2f}, 0.0f, 0.01f}; + static ParticleScaleAndLifetimeRanges D_8038BB00 = {{0.2f, 0.4f}, {1.8f, 2.8f}, {0.0f, 0.15f}, {0.7f, 1.2f}, 0.0f, 0.01f}; static struct43s D_8038BB28 = { {{-150.0f, 250.0f, -150.0f}, {150.0f, 300.0f, 150.0f}}, {{ 0.0f, -600.0f, 0.0f}, { 0.0f, -600.0f, 0.0f}}, @@ -130,12 +130,12 @@ void func_80387DF8(f32 position[3], s32 count, enum asset_e sprite_id) { particleEmitter_setSprite(pCtrl, sprite_id); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8038BB28); - func_802EFB98(pCtrl, &D_8038BB00); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038BB00); particleEmitter_emitN(pCtrl, count); } void func_80387E84(f32 position[3], s32 count, enum asset_e model_id) { - static struct31s D_8038BB70 = {{1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.0f}, {3.2f, 3.2f}, 0.0f, 0.45f}; + static ParticleScaleAndLifetimeRanges D_8038BB70 = {{1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.0f}, {3.2f, 3.2f}, 0.0f, 0.45f}; static struct43s D_8038BB98 = { {{-90.0f, 300.0f, -90.0f}, {90.0f, 660.0f, 90.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}}, @@ -153,7 +153,7 @@ void func_80387E84(f32 position[3], s32 count, enum asset_e model_id) { func_802EFA20(pCtrl, 1.0f, 1.3f); particleEmitter_setSfx(pCtrl, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setDrawMode(pCtrl, 2); - func_802EFB98(pCtrl, &D_8038BB70); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038BB70); particleEmitter_emitN(pCtrl, count); } diff --git a/src/RBB/ch/bossboombox.c b/src/RBB/ch/bossboombox.c index c8e006c2..e9de3192 100644 --- a/src/RBB/ch/bossboombox.c +++ b/src/RBB/ch/bossboombox.c @@ -5,7 +5,6 @@ extern void actor_predrawMethod(Actor *); extern void actor_postdrawMethod(ActorMarker *); extern void func_8030E394(u8); -extern void func_80326310(Actor *); extern int func_803342AC(f32 (*)[3], f32(*)[3], f32); extern void particleEmitter_setModel(ParticleEmitter *, s32); @@ -466,7 +465,7 @@ Actor *func_8038D638(ActorMarker *marker, Gfx **gdl, Mtx ** mptr, s32 arg3){ } modelRender_preDraw( (GenFunction_1)actor_predrawMethod, (s32)actor); modelRender_postDraw((GenFunction_1)actor_postdrawMethod, (s32)marker); - modelRender_draw(gdl, mptr, actor->position, sp3C, actor->scale, NULL, func_80330B1C(marker)); + modelRender_draw(gdl, mptr, actor->position, sp3C, actor->scale, NULL, marker_loadModelBin(marker)); return actor; } diff --git a/src/RBB/ch/propellorswitch.c b/src/RBB/ch/propellorswitch.c index d45e0984..a59d86a9 100644 --- a/src/RBB/ch/propellorswitch.c +++ b/src/RBB/ch/propellorswitch.c @@ -81,7 +81,7 @@ Actor *chPropellorSwitch_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, s32 ar modelRender_draw(gdl, mptr, &actor->position, NULL, 1.0f, NULL, local->unk4); } else{ - modelRender_draw(gdl, mptr, &actor->position, NULL, 1.0f, NULL, func_80330B1C(marker)); + modelRender_draw(gdl, mptr, &actor->position, NULL, 1.0f, NULL, marker_loadModelBin(marker)); } return actor; } diff --git a/src/RBB/ch/whistle.c b/src/RBB/ch/whistle.c index 835679c8..90e7d196 100644 --- a/src/RBB/ch/whistle.c +++ b/src/RBB/ch/whistle.c @@ -46,7 +46,7 @@ ActorInfo RBB_D_803909F8 = { 0, 0, 0.0f, 0 }; -struct31s D_80390A1C = { +ParticleScaleAndLifetimeRanges D_80390A1C = { { 1.0f, 2.0f}, { 3.0f, 5.0f}, { 0.05f, 0.1f}, @@ -91,7 +91,7 @@ void RBB_func_8038B0B8(Actor *this, s32 arg1){ -400.0f, 0.0f, -30.0f, -800.0f, 0.0f, 30.0f ); - func_802EFB98(other, &D_80390A1C); + particleEmitter_setScaleAndLifetimeRanges(other, &D_80390A1C); particleEmitter_setSpawnInterval(other, 0.5f); } } @@ -113,7 +113,7 @@ Actor *func_8038B230(ActorMarker *marker, Gfx** gdl, Mtx** mptr, s32 arg3){ sp3C[2] = actor->roll; modelRender_preDraw(&actor_predrawMethod, actor); func_8033A450(func_80329934()); - modelRender_draw(gdl, mptr, &actor->position, &sp3C, actor->scale, NULL, func_80330B1C(marker)); + modelRender_draw(gdl, mptr, &actor->position, &sp3C, actor->scale, NULL, marker_loadModelBin(marker)); func_8034A174(func_80329934(), 5, &local->unk4); local->unk4[0] -= 60.0f; return actor; diff --git a/src/RBB/ch/whistleswitch.c b/src/RBB/ch/whistleswitch.c index f57b760c..686cc61f 100644 --- a/src/RBB/ch/whistleswitch.c +++ b/src/RBB/ch/whistleswitch.c @@ -69,7 +69,7 @@ void func_8038AC18(Actor *this, s32 new_state){ local->unk8 = 0.0f; if(new_state == 2){ func_8030E6D4(SFX_90_SWITCH_PRESS); - local->unkC = vtxList_clone(model_getVtxList(func_80330B1C(this->marker))); + local->unkC = vtxList_clone(model_getVtxList(marker_loadModelBin(this->marker))); mapSpecificFlags_set(local->unk4->unk10, TRUE); this->position_y -= 30.0f; @@ -113,7 +113,7 @@ Actor *func_8038AD9C(ActorMarker *marker, Gfx **gdl, Mtx **mptr, s32 arg3){ if( actor->state == 2 && local->unk0 != 0 ){ - temp_v0 = func_80330B1C(marker); + temp_v0 = marker_loadModelBin(marker); sp1C = (local->unk0 == 2) ? &D_80390938 : &D_8039092C; vtxList_tint(local->unkC, sp1C, (local->unk4->unk4[1] - actor->position_y)/30.0, diff --git a/src/RBB/code_1570.c b/src/RBB/code_1570.c index 4dbbbe2d..b8fad6cb 100644 --- a/src/RBB/code_1570.c +++ b/src/RBB/code_1570.c @@ -27,7 +27,7 @@ f32 D_803902D4[3] = {4500.0f, 0.0f, 500.0f}; f32 D_803902E0[3] = {4500.0f, 0.0f, 500.0f}; f32 D_803902EC[3] = {4000.0f, -600.0f, 0.0f}; f32 D_803902F8[3] = {4500.0f, 0.0f, 500.0f}; -struct31s D_80390304 = { +ParticleScaleAndLifetimeRanges D_80390304 = { { 5.0f, 5.0f}, { 5.0f, 5.0f}, { 0.0f, 0.01f}, @@ -142,7 +142,7 @@ void func_80387D80(void){ ParticleEmitter *actor = partEmitMgr_newEmitter(3); particleEmitter_setSprite(actor, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setStartingFrameRange(actor, 0, 7); - func_802EFB98(actor, &D_80390304); + particleEmitter_setScaleAndLifetimeRanges(actor, &D_80390304); particleEmitter_setParticleVelocityRange(actor, 0.0f, 100.0f, 0.0f, 0.0f, 200.0f ,0.0f); particleEmitter_emitInVolume(actor, &D_803902EC, &D_803902F8, 3); } diff --git a/src/SM/ch/vegetables.c b/src/SM/ch/vegetables.c index 168f655d..0e58d6c6 100644 --- a/src/SM/ch/vegetables.c +++ b/src/SM/ch/vegetables.c @@ -80,7 +80,7 @@ ActorInfo D_8038AD7C = { MARKER_1E8_COLLYWOBBLE_B, ACTOR_COLLYWOBBLE_B, MODEL_CO s32 D_8038ADA0[3] = {0xFF, 0xFF, 0xFF}; -struct31s D_8038ADAC = { +ParticleScaleAndLifetimeRanges D_8038ADAC = { {0.1f, 0.5f}, {1.5f, 3.0f}, {0.0f, 0.01f}, @@ -93,7 +93,7 @@ struct42s D_8038ADD4 = { {{-40.0f, -40.0f, -40.0f}, {40.0f, 40.0f, 40.0f}} }; -struct31s D_8038AE04 = { +ParticleScaleAndLifetimeRanges D_8038AE04 = { {0.5f, 0.75f}, {0.4f, 0.6f}, {0.0f, 0.01f}, @@ -107,7 +107,7 @@ struct43s D_8038AE2C = { {{-80.0f, -80.0f, -80.0f}, {80.0f, 80.0f, 80.0f}} }; -struct31s D_8038AE74 = { +ParticleScaleAndLifetimeRanges D_8038AE74 = { {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, @@ -121,7 +121,7 @@ struct43s D_8038AE9C = { {{-20.0f, -20.0f, -20.0f}, {20.0f, 20.0f, 20.0f}} }; -struct31s D_8038AEE4 = { +ParticleScaleAndLifetimeRanges D_8038AEE4 = { {0.6f, 0.8f}, {0.5f, 0.7f}, {0.0f, 0.01f}, @@ -142,7 +142,7 @@ void func_80387910(ParticleEmitter *arg0, f32 *arg1, s32 arg2){ particleEmitter_setSprite(arg0, ASSET_700_SPRITE_DUST); particleEmitter_setStartingFrameRange(arg0, 0, 7); particleEmitter_setPosition(arg0, arg1); - func_802EFB98(arg0, &D_8038ADAC); + particleEmitter_setScaleAndLifetimeRanges(arg0, &D_8038ADAC); particleEmitter_setPositionAndVelocityRanges(arg0, &D_8038ADD4); particleEmitter_emitN(arg0, arg2); } @@ -154,7 +154,7 @@ void func_803879B8(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e mode particleEmitter_setPosition(arg0, arg1); 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_setScaleAndLifetimeRanges(arg0, &D_8038AE04); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE2C); particleEmitter_emitN(arg0, arg2); } @@ -166,7 +166,7 @@ void func_80387A80(ParticleEmitter *arg0, f32 *arg1, s32 arg2, enum asset_e mode particleEmitter_setPosition(arg0, arg1); 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_setScaleAndLifetimeRanges(arg0, &D_8038AE74); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AE9C); particleEmitter_emitN(arg0, arg2); } @@ -179,7 +179,7 @@ void func_80387B48(ParticleEmitter *arg0, f32 arg1[3], s32 arg2, enum asset_e mo 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_setScaleAndLifetimeRanges(arg0, &D_8038AEE4); particleEmitter_setPositionVelocityAndAccelerationRanges(arg0, &D_8038AF0C); particleEmitter_emitN(arg0, arg2); } diff --git a/src/TTC/ch/clam.c b/src/TTC/ch/clam.c index ab2b743e..cf094b94 100644 --- a/src/TTC/ch/clam.c +++ b/src/TTC/ch/clam.c @@ -197,7 +197,7 @@ void __chClam_emitSmallShellParticles(f32 position[3], s32 count){ } void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite_id, s32 count){ - static struct31s D_8038C484 = { + static ParticleScaleAndLifetimeRanges D_8038C484 = { {0.2f, 0.35f}, {0.0f, 0.0f}, {0.0f, 0.01f}, @@ -217,7 +217,7 @@ void __chClam_emitEatencollectibleParticles(f32 position[3], enum asset_e sprite particleEmitter_setStartingFrameRange(pCtrl, 1, 6); particleEmitter_setPosition(pCtrl, position); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038C4AC); - func_802EFB98(pCtrl, &D_8038C484); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038C484); particleEmitter_emitN(pCtrl, count); } diff --git a/src/TTC/ch/nipper.c b/src/TTC/ch/nipper.c index 23952e43..c6247272 100644 --- a/src/TTC/ch/nipper.c +++ b/src/TTC/ch/nipper.c @@ -30,7 +30,7 @@ ActorInfo D_8038C580 = { /* .code */ void func_80387DC0(f32 *position, s32 count) { static s32 D_8038C5A4[3] = {180, 180, 180}; - static struct31s D_8038C5B0 = { + static ParticleScaleAndLifetimeRanges D_8038C5B0 = { {0.1f, 0.5f}, {1.4f, 2.8f}, {0.0f, 0.01f}, @@ -53,7 +53,7 @@ void func_80387DC0(f32 *position, s32 count) { -40.0f, 10.0f, -40.0f, 40.0f, 40.0f, 40.0f ); - func_802EFB98(pCtrl, &D_8038C5B0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038C5B0); particleEmitter_emitN(pCtrl, count); } diff --git a/src/TTC/ch/treasurehunt.c b/src/TTC/ch/treasurehunt.c index abd9a40d..91939865 100644 --- a/src/TTC/ch/treasurehunt.c +++ b/src/TTC/ch/treasurehunt.c @@ -57,7 +57,7 @@ ActorInfo D_8038C8F8 = { }; s32 D_8038C91C[3] = {160, 120, 20}; -struct31s D_8038C928 = { +ParticleScaleAndLifetimeRanges D_8038C928 = { {1.1f, 1.5f}, {4.0f, 4.6f}, {0.0f, 0.01f}, @@ -164,7 +164,7 @@ void func_80389CC4(s16 arg0[3], s32 arg1){ particleEmitter_setStartingFrameRange(D_8038D700, 0, 7); particleEmitter_setPosition(D_8038D700, D_8038D708); particleEmitter_setPositionAndVelocityRanges(D_8038D700, &D_8038C950); - func_802EFB98(D_8038D700, &D_8038C928); + particleEmitter_setScaleAndLifetimeRanges(D_8038D700, &D_8038C928); particleEmitter_emitN(D_8038D700, 5); D_8038D708[2] += 300.0f; gcpausemenu_80314AC8(0); @@ -240,6 +240,6 @@ Actor *func_8038A0D0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ func_8032AA58(actor, sp3C); modelRender_preDraw(actor_predrawMethod, actor); - modelRender_draw(gfx, mtx, sp40, sp4C, sp3C, NULL, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, sp40, sp4C, sp3C, NULL, marker_loadModelBin(marker)); return actor; } diff --git a/src/core1/code_18350.c b/src/core1/code_18350.c index 336d2147..93df7bb3 100644 --- a/src/core1/code_18350.c +++ b/src/core1/code_18350.c @@ -724,37 +724,37 @@ f32 func_80257AD4(f32 val1, f32 val2) 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) +f32 ml_map_f(f32 val, f32 in_min, f32 in_max, f32 out_min, f32 out_max) { - f32 val; + f32 result; - if (c != b) + if (in_max != in_min) { - if (d < e) + if (out_min < out_max) { - val = (((a - b) / (c - b)) * (e - d)) + d; + result = (((val - in_min) / (in_max - in_min)) * (out_max - out_min)) + out_min; - if (val > e) - return e; + if (result > out_max) + return out_max; - if (val < d) - return d; + if (result < out_min) + return out_min; } else { - val = (((a - b) / (c - b)) * (e - d)) + d; + result = (((val - in_min) / (in_max - in_min)) * (out_max - out_min)) + out_min; - if (val < e) - return e; + if (result < out_max) + return out_max; - if (val > d) - return d; + if (result > out_min) + return out_min; } - return val; + return result; } - return e; + return out_max; } f32 ml_mapRange_f(f32 val, f32 in_min, f32 in_max, f32 out_min, f32 out_max) diff --git a/src/core2/ch/badShad.c b/src/core2/ch/badShad.c index fe9417d8..bbe3b848 100644 --- a/src/core2/ch/badShad.c +++ b/src/core2/ch/badShad.c @@ -52,7 +52,7 @@ Actor *chBadShad_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ modelRender_setAlpha(other->alpha_124_19); sp40 = ml_map_f(this->unk28, 0.0f , 800.0f, 0.53f, 0.18f)*this->unk1C[1]; modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE); - modelRender_draw(gfx, mtx, this->position, sp44, sp40, NULL, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, this->position, sp44, sp40, NULL, marker_loadModelBin(marker)); return this; } diff --git a/src/core2/ch/beehive.c b/src/core2/ch/beehive.c index 61db5e17..527995e6 100644 --- a/src/core2/ch/beehive.c +++ b/src/core2/ch/beehive.c @@ -2,30 +2,34 @@ #include "functions.h" #include "variables.h" -void func_802CE8D4(Actor *this); +void chBeehive_update(Actor *this); -/* .data */ -ActorAnimationInfo D_803672C0[] ={ +enum chBeehive_state { + CHBEEHIVE_STATE_0_UNKNOWN, + CHBEEHIVE_STATE_1_IDLE, + CHBEEHIVE_STATE_2_DIE +}; + +ActorAnimationInfo chBeehiveAnimations[] ={ {0x000, 0.0f}, {ASSET_165_ANIM_BEEHIVE_IDLE, 0.65f}, {ASSET_65_ANIM_BEEHIVE_DIE, 0.5f}, {ASSET_65_ANIM_BEEHIVE_DIE, 1000000.0f}, }; -ActorInfo D_803672E0 = {0x50, ACTOR_12_BEEHIVE, ASSET_364_MODEL_BEEHIVE, - 1, D_803672C0, - func_802CE8D4, func_80326224, actor_draw, +ActorInfo chBeehive = {MARKER_50_BEEHIVE, ACTOR_12_BEEHIVE, ASSET_364_MODEL_BEEHIVE, + 1, chBeehiveAnimations, + chBeehive_update, func_80326224, actor_draw, 0, 0x333, 0.0f, 0 }; -/* .code */ -void func_802CE7E0(ActorMarker *marker, ActorMarker *other){ - Actor *actor = marker_getActor(marker); +void chBeehive_die(ActorMarker *this, ActorMarker *other){ + Actor *actor = marker_getActor(this); FUNC_8030E8B4(SFX_11_WOOD_BREAKING_1, 1.0f, 28000, actor->position, 300, 3000); FUNC_8030E8B4(SFX_D_EGGSHELL_BREAKING, 1.0f, 28000, actor->position, 300, 3000); - subaddie_set_state(actor, 2); + subaddie_set_state(actor, CHBEEHIVE_STATE_2_DIE); actor_playAnimationOnce(actor); - marker->collidable = FALSE; + this->collidable = FALSE; actor->unk138_27 = 3; __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4C_STEAM, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2])); __spawnQueue_add_4((GenFunction_4)func_802C4140, ACTOR_4A_WOOD_EXPLOSION, reinterpret_cast(s32, actor->position[0]), reinterpret_cast(s32, actor->position[1]), reinterpret_cast(s32, actor->position[2])); @@ -34,9 +38,9 @@ void func_802CE7E0(ActorMarker *marker, ActorMarker *other){ func_803115C4(ASSET_DA6_TEXT_BEEHIVE_WITH_BEES); } -void func_802CE8D4(Actor *this){ +void chBeehive_update(Actor *this){ if(!this->unk16C_4){ - marker_setCollisionScripts(this->marker, NULL, NULL, func_802CE7E0); + marker_setCollisionScripts(this->marker, NULL, NULL, chBeehive_die); this->marker->propPtr->unk8_3 = 1; this->unk44_31 = func_8030D90C(); this->unk16C_4 = 1; @@ -48,42 +52,44 @@ void func_802CE8D4(Actor *this){ return; } this->unk58_0 = 1; - }//L802CE9A4 + } + switch(this->state) { - case 1://L802CE9C4 - if( !fileProgressFlag_get(FILEPROG_D_BEEHIVE_TEXT) - && subaddie_playerIsWithinCylinder(this, 250, 300) - ){ - if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){ - if( player_getTransformation() == TRANSFORM_1_BANJO - && func_80311480(ASSET_D96_DIALOG_BEEHIVE_MEET, 0, NULL, NULL, NULL, 0) - ){ - fileProgressFlag_set(FILEPROG_D_BEEHIVE_TEXT, 1); + case CHBEEHIVE_STATE_1_IDLE: + if( !fileProgressFlag_get(FILEPROG_D_BEEHIVE_TEXT) + && subaddie_playerIsWithinCylinder(this, 250, 300) + ){ + if(func_8028ECAC() == 0 || func_8028ECAC() == BSGROUP_8_TROT){ + if( player_getTransformation() == TRANSFORM_1_BANJO + && func_80311480(ASSET_D96_DIALOG_BEEHIVE_MEET, 0, NULL, NULL, NULL, 0) + ){ + fileProgressFlag_set(FILEPROG_D_BEEHIVE_TEXT, 1); + } } } - }//L802CEA48 - if( actor_animationIsAt(this, 0.45f) - || actor_animationIsAt(this, 0.55f) - || actor_animationIsAt(this, 0.6f) - ){ - if(!this->unk38_0){ - func_8030E394(this->unk44_31); - sfxsource_setSfxId(this->unk44_31, SFX_67_BEEHIVE_CLONK); - sfxsource_setSampleRate(this->unk44_31, 12000); - func_8030DBB4(this->unk44_31, (animctrl_getAnimTimer(this->animctrl) + 0.9) - 0.4); - sfxsource_set_position(this->unk44_31, this->position); - sfxsource_set_fade_distances(this->unk44_31, 300.0f, 1500.0f); - func_8030DD14(this->unk44_31, 3); - func_8030E2C4(this->unk44_31); + + if( actor_animationIsAt(this, 0.45f) + || actor_animationIsAt(this, 0.55f) + || actor_animationIsAt(this, 0.6f) + ){ + if(!this->unk38_0){ + func_8030E394(this->unk44_31); + sfxsource_setSfxId(this->unk44_31, SFX_67_BEEHIVE_CLONK); + sfxsource_setSampleRate(this->unk44_31, 12000); + func_8030DBB4(this->unk44_31, (animctrl_getAnimTimer(this->animctrl) + 0.9) - 0.4); + sfxsource_set_position(this->unk44_31, this->position); + sfxsource_set_fade_distances(this->unk44_31, 300.0f, 1500.0f); + func_8030DD14(this->unk44_31, 3); + func_8030E2C4(this->unk44_31); + } } - }//L802CEB48 - break; - case 2://L802CEB2C - if(animctrl_isStopped(this->animctrl)){ - func_80326310(this); - } - break; - }//L802CEB48 -} + break; + case CHBEEHIVE_STATE_2_DIE: + if(animctrl_isStopped(this->animctrl)) { + func_80326310(this); + } + break; + } +} diff --git a/src/core2/ch/bottlesbonus.c b/src/core2/ch/bottlesbonus.c index 9e86fe47..335cd15a 100644 --- a/src/core2/ch/bottlesbonus.c +++ b/src/core2/ch/bottlesbonus.c @@ -178,7 +178,7 @@ Actor *chBottlesBonus_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)sp6C); modelRender_postDraw((GenFunction_1)actor_postdrawMethod, (s32)marker); - modelRender_draw(gfx, mtx, sp60, NULL, D_80368250, sp54, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, sp60, NULL, D_80368250, sp54, marker_loadModelBin(marker)); gDPSetTextureFilter((*gfx)++, G_TF_BILERP); gDPSetColorDither((*gfx)++, G_CD_MAGICSQ); chBottlesBonusCursor_draw(gfx, mtx, vtx); @@ -226,7 +226,7 @@ f32 *chBottlesBonus_func_802DD584(s32 arg0){ // temp_f0 = D_80376F48; sizeof(BKAnimationList); - temp_v1 = (BKAnimation*)(model_getAnimationList(func_80330B1C(chBottlesBonusMarker)) + 1); + temp_v1 = (BKAnimation*)(model_getAnimationList(marker_loadModelBin(chBottlesBonusMarker)) + 1); D_8037DF70[0] = temp_v1[5 + arg0].unk0[0] * 0.01; D_8037DF70[1] = temp_v1[5 + arg0].unk0[1] * 0.01; D_8037DF70[2] = temp_v1[5 + arg0].unk0[2] * 0.01; diff --git a/src/core2/ch/bottlesbonuscursor.c b/src/core2/ch/bottlesbonuscursor.c index 46faccf4..98aac683 100644 --- a/src/core2/ch/bottlesbonuscursor.c +++ b/src/core2/ch/bottlesbonuscursor.c @@ -156,7 +156,7 @@ void chBottlesBonusCursor_draw(Gfx **gfx, Mtx **mtx, Vtx **vtx) { (s32)sp3C, (s32)sp3C, D_803A5D00[getActiveFramebuffer()] ); - modelRender_draw(gfx, mtx, this->position, rotation, this->scale, NULL, func_80330B1C(chBottlesBonusCursorMarker)); + modelRender_draw(gfx, mtx, this->position, rotation, this->scale, NULL, marker_loadModelBin(chBottlesBonusCursorMarker)); func_8024E030(this->position, D_8037E5C0.unk10); if (this->state == 1) { D_8037E5C0.unk10[0] -= 24.0f; diff --git a/src/core2/ch/drips.c b/src/core2/ch/drips.c index d8a4db68..c432aac2 100644 --- a/src/core2/ch/drips.c +++ b/src/core2/ch/drips.c @@ -49,7 +49,7 @@ void func_80359A40(f32 position[3], struct_core2_D2AB0 *arg1, s32 cnt){ particleEmitter_emitN(pCtrl, cnt); } -void __chdrips_particleCallback(struct31s *pCtrl, f32 position[3]){ +void __chdrips_particleCallback(ParticleScaleAndLifetimeRanges *pCtrl, f32 position[3]){ if(func_8024549C(position, 4.0f)){ position[1] += 2.0f; func_80359A40(position, &D_80372AF0, 1); diff --git a/src/core2/ch/flotsam.c b/src/core2/ch/flotsam.c index 405bcaff..00621e00 100644 --- a/src/core2/ch/flotsam.c +++ b/src/core2/ch/flotsam.c @@ -29,7 +29,7 @@ ActorInfo D_80372C80 = { 0, 0, 1.0f, 0 }; -struct31s D_80372CA4 = { +ParticleScaleAndLifetimeRanges D_80372CA4 = { {1.0f, 1.2f}, {1.6f, 2.0f}, {0.05f, 0.05f}, @@ -183,7 +183,7 @@ void func_8035C080(Actor *this, s32 next_state){ particleEmitter_setStartingFrameRange(local->pCtrl_8, 0, 7); particleEmitter_setPosition(local->pCtrl_8, this->position); particleEmitter_setPositionVelocityAndAccelerationRanges(local->pCtrl_8, &D_80372CCC); - func_802EFB98(local->pCtrl_8, &D_80372CA4); + particleEmitter_setScaleAndLifetimeRanges(local->pCtrl_8, &D_80372CA4); particleEmitter_setSpawnInterval(local->pCtrl_8, 4); }//L8035C698 diff --git a/src/core2/ch/gravestone.c b/src/core2/ch/gravestone.c index 06f79c1b..42bbb2fb 100644 --- a/src/core2/ch/gravestone.c +++ b/src/core2/ch/gravestone.c @@ -70,7 +70,7 @@ bool func_8035ED60(Actor *this) { void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) { static s32 D_80373014[3] = {0xAA, 0xAA, 0xAA}; - static struct31s D_80373020 = {{0.4f, 0.8f}, {1.4f, 2.0f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01}; + static ParticleScaleAndLifetimeRanges D_80373020 = {{0.4f, 0.8f}, {1.4f, 2.0f}, {0.0f, 0.01f}, {1.2f, 1.8f}, 0.0f, 0.01}; static struct43s D_80373048 = { {{-200.0f, -200.0f, -200.0f}, { 200.0f, 200.0f, 200.0f}}, {{ 0.0f, -10.0f, 0.0f}, { 0.0f, -10.0f, 0.0f}}, @@ -83,7 +83,7 @@ void func_8035EDB0(f32 position[3], s32 count, enum asset_e sprite) { particleEmitter_setSprite(p_ctrl, sprite); particleEmitter_setPosition(p_ctrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_80373048); - func_802EFB98(p_ctrl, &D_80373020); + particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_80373020); particleEmitter_setDrawMode(p_ctrl, PART_EMIT_NO_DEPTH); particleEmitter_emitN(p_ctrl, count); } diff --git a/src/core2/ch/jinjo.c b/src/core2/ch/jinjo.c index 5eff07f3..3c89d878 100644 --- a/src/core2/ch/jinjo.c +++ b/src/core2/ch/jinjo.c @@ -5,7 +5,6 @@ extern void subaddie_set_state_with_direction(Actor *, s32, f32 , s32); extern f32 func_80309B24(f32*); extern void func_80329904(ActorMarker*, s32, f32*); -extern void func_80326310(Actor *); extern void func_8032BB88(Actor *, s32, s32); void chJinjo_update(Actor *this); diff --git a/src/core2/ch/molehill.c b/src/core2/ch/molehill.c index d571b58a..b89bfeb1 100644 --- a/src/core2/ch/molehill.c +++ b/src/core2/ch/molehill.c @@ -28,7 +28,7 @@ ActorInfo D_80367E20= { 0, 0, 0.0f, 0 }; -struct31s D_80367E44 = { +ParticleScaleAndLifetimeRanges D_80367E44 = { {0.05f, 0.1f}, {0.0f, 0.0f}, {0.0f, 0.01f}, @@ -59,7 +59,7 @@ void func_802DA634(ParticleEmitter *pCtrl, f32 arg1[3], s32 cnt){ particleEmitter_setPosition(pCtrl, arg1); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -150.0f, 150.0f, -150.0f, 150.0f, 360.0f, 150.0f); - func_802EFB98(pCtrl, &D_80367E44); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80367E44); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); particleEmitter_emitN(pCtrl, cnt); diff --git a/src/core2/ch/overlaynocontroller.c b/src/core2/ch/overlaynocontroller.c index b9f5f279..1b68e459 100644 --- a/src/core2/ch/overlaynocontroller.c +++ b/src/core2/ch/overlaynocontroller.c @@ -46,7 +46,7 @@ Actor *chOverlayNoController_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vt func_8024C904(gdl, mptr); {sp40[0] = 0.0f; sp40[1] = 0.0f; sp40[2] = 0.0f;}; {sp34[0] = 0.0f; sp34[1] = 165.0f; sp34[2] = 0.0f;}; - modelRender_draw(gdl, mptr, sp40, 0, 1.0f, sp34, func_80330B1C(marker)); + modelRender_draw(gdl, mptr, sp40, 0, 1.0f, sp34, marker_loadModelBin(marker)); func_8024E2FC(); func_8024C904(gdl, mptr); return actor; diff --git a/src/core2/ch/overlaypressstart.c b/src/core2/ch/overlaypressstart.c index 74fdb6e8..68722cc3 100644 --- a/src/core2/ch/overlaypressstart.c +++ b/src/core2/ch/overlaypressstart.c @@ -56,7 +56,7 @@ Actor *chOverlayPressStart_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx func_8024C904(gdl, mptr); {sp40[0] = 0.0f; sp40[1] = 0.0f; sp40[2] = 0.0f;}; {sp34[0] = 0.0f; sp34[1] = 400.0f; sp34[2] = 0.0f;}; - modelRender_draw(gdl, mptr, sp40, 0, 1.0f, sp34, func_80330B1C(marker)); + modelRender_draw(gdl, mptr, sp40, 0, 1.0f, sp34, marker_loadModelBin(marker)); func_8024E2FC(); func_8024C904(gdl, mptr); return actor; diff --git a/src/core2/ch/snowball.c b/src/core2/ch/snowball.c index 1882b977..93185b8a 100644 --- a/src/core2/ch/snowball.c +++ b/src/core2/ch/snowball.c @@ -39,7 +39,7 @@ Actor *chSnowball_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { } void __chSnowball_spawnPieces(f32 position[3]) { - static struct31s D_80368734 = {{0.65f, 1.1}, {0.0f, 0.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.0f, 0.5f}; + static ParticleScaleAndLifetimeRanges D_80368734 = {{0.65f, 1.1}, {0.0f, 0.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.0f, 0.5f}; static struct43s D_8036875C = { {{-220.0f, 210.0f, -220.0f}, {280.0f, 460.0f, 280.0f}}, {{ 0.0f, -800.0f, 0.0f}, { 0.0f, -800.0f, 0.0f}}, @@ -53,7 +53,7 @@ void __chSnowball_spawnPieces(f32 position[3]) { particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &D_8036875C); particleEmitter_setAngularVelocityRange(pCtrl, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); - func_802EFB98(pCtrl, &D_80368734); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80368734); particleEmitter_emitN(pCtrl, 8); } diff --git a/src/core2/ch/snowman.c b/src/core2/ch/snowman.c index d42a1532..16dfcb9d 100644 --- a/src/core2/ch/snowman.c +++ b/src/core2/ch/snowman.c @@ -104,7 +104,7 @@ void __chSnowman_spawnHat(ActorMarker *marker){ } void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){ - static struct31s D_80368694 = { + static ParticleScaleAndLifetimeRanges D_80368694 = { {0.4f, 1.55f}, {0.0f, 0.0f}, {0.0f, 0.01f}, @@ -127,7 +127,7 @@ void __chSnowman_spawnSnowballParticles(f32 position[3], s32 count){ func_802EFA18(particleSpawner, 3); func_802EFA20(particleSpawner, 1.0f, 1.3f); particleEmitter_setSfx(particleSpawner, SFX_2F_ORANGE_SPLAT, 16000); - func_802EFB98(particleSpawner, &D_80368694); + particleEmitter_setScaleAndLifetimeRanges(particleSpawner, &D_80368694); particleEmitter_emitN(particleSpawner, count); } diff --git a/src/core2/code_43800.c b/src/core2/code_43800.c index 8b611a13..f39aaecc 100644 --- a/src/core2/code_43800.c +++ b/src/core2/code_43800.c @@ -53,7 +53,7 @@ Actor *func_802CA7BC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ rotation[2] = this->roll; sp44 = ml_map_f(sp54[1] - sp40, 0.0f, 300.0f, 0.43f, 0.28f); modelRender_preDraw((GenFunction_1)func_802CA790, (s32)this); - modelRender_draw(gfx, mtx, this->position, rotation, sp44, NULL, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, this->position, rotation, sp44, NULL, marker_loadModelBin(marker)); return this; } diff --git a/src/core2/code_43A40.c b/src/core2/code_43A40.c index 1a23170b..737fde84 100644 --- a/src/core2/code_43A40.c +++ b/src/core2/code_43A40.c @@ -29,7 +29,7 @@ extern ActorInfo chFightFlightPad = { }; -extern struct31s chFightFlightPad_D_80366F8C = { +extern ParticleScaleAndLifetimeRanges chFightFlightPad_D_80366F8C = { {0.4f, 0.4f}, {0.0f, 0.0f}, {0.0f, 0.01f}, @@ -85,7 +85,7 @@ void chFightFlightPad_emitSparklesAtPosition(f32 position[3]){ particleEmitter_setSprite(pCtrl, ASSET_715_SPRITE_SPARKLE_RED); particleEmitter_setPosition(pCtrl, position); particleEmitter_setPositionVelocityAndAccelerationRanges(pCtrl, &chFightFlightPad_D_80366FB4); - func_802EFB98(pCtrl, &chFightFlightPad_D_80366F8C); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &chFightFlightPad_D_80366F8C); func_802EFA78(pCtrl, 1); particleEmitter_emitN(pCtrl, 0x18); } diff --git a/src/core2/code_47BD0.c b/src/core2/code_47BD0.c index 9501230e..3e10693a 100644 --- a/src/core2/code_47BD0.c +++ b/src/core2/code_47BD0.c @@ -87,7 +87,7 @@ Actor *chBeeSwarm_draw(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ this = marker_getActor(marker); local = (ActorLocal_core2_47BD0 *)&this->local; - phi_fp = func_80330B1C(marker); + phi_fp = marker_loadModelBin(marker); for(phi_s2 = 0, phi_s0 = local->unk8; phi_s2 < local->unk0; phi_s2++){ sp80[0] = 0.0f; sp80[1] = phi_s0->unk24[1] - 90.0f; diff --git a/src/core2/code_4BE10.c b/src/core2/code_4BE10.c index c2517356..b19475f8 100644 --- a/src/core2/code_4BE10.c +++ b/src/core2/code_4BE10.c @@ -12,7 +12,7 @@ ActorInfo D_803675F0 = { 0, 0, 0.0f, 0 }; s16 D_80367614[] = {3,2,3,4,3,5,3,0}; -struct31s D_80367624 = {{0.7f, 0.3f}, {0.01f, 0.01f}, {0.05f, 0.05f}, {0.2f, 0.2f}, 0.0f, 0.01f}; +ParticleScaleAndLifetimeRanges D_80367624 = {{0.7f, 0.3f}, {0.01f, 0.01f}, {0.05f, 0.05f}, {0.2f, 0.2f}, 0.0f, 0.01f}; struct42s D_8036764C = { {{-100.0f, 400.0f, -100.0f}, { 100.0f, 800.0f, 100.0f}}, {{-100.0f, 0.0f, -100.0f}, { 100.0f, 0.0f, 100.0f}} @@ -39,7 +39,7 @@ void func_802D2DA0(Actor *this) { particleEmitter_setStartingFrameRange(pCtrl, 0, 0); particleEmitter_setPosition(pCtrl, sp70); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8036764C); - func_802EFB98(pCtrl, &D_80367624); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80367624); particleEmitter_setSpawnInterval(pCtrl, 1.0f); } } diff --git a/src/core2/code_509D0.c b/src/core2/code_509D0.c index d4772c70..cd2d1900 100644 --- a/src/core2/code_509D0.c +++ b/src/core2/code_509D0.c @@ -55,7 +55,7 @@ ActorInfo D_80367C10 = { /* .code */ void __chLevelCollectible_presentReturnEmitSparkles(f32 position[3], enum asset_e sprite_id) { - static struct31s D_80367C34 = {{0.2f, 0.4f}, {0.1f, 0.1f}, {0.0f, 0.01f}, {3.0f, 3.5f}, 0.1f, 0.1f}; + static ParticleScaleAndLifetimeRanges D_80367C34 = {{0.2f, 0.4f}, {0.1f, 0.1f}, {0.0f, 0.01f}, {3.0f, 3.5f}, 0.1f, 0.1f}; ParticleEmitter *p_emitter; p_emitter = partEmitMgr_newEmitter(1); @@ -64,7 +64,7 @@ void __chLevelCollectible_presentReturnEmitSparkles(f32 position[3], enum asset_ particleEmitter_setPosition(p_emitter, position); particleEmitter_setParticleSpawnPositionRange(p_emitter, -40.0f, 0.0f, -40.0f, 40.0f, 60.0f, 40.0f); particleEmitter_setParticleAccelerationRange(p_emitter, 0.0f, -1000.0f, 0.0f, 0.0f, -1000.0f, 0.0f); - func_802EFB98(p_emitter, &D_80367C34); + particleEmitter_setScaleAndLifetimeRanges(p_emitter, &D_80367C34); particleEmitter_emitN(p_emitter, 1); } diff --git a/src/core2/code_51950.c b/src/core2/code_51950.c index f9c2bd63..039e21d2 100644 --- a/src/core2/code_51950.c +++ b/src/core2/code_51950.c @@ -21,7 +21,7 @@ ActorInfo D_80367CB4 = { 0, 0, 0.0f, 0 }; -struct31s D_80367CD8 = { +ParticleScaleAndLifetimeRanges D_80367CD8 = { {0.24f, 0.2f}, {0.01f, 0.01f}, {0.0f, 0.0f}, @@ -55,7 +55,7 @@ void func_802D88E0(Actor *this) { particleEmitter_setPosition(pCtrl, sp5C); particleEmitter_setSprite(pCtrl, (this->modelCacheIndex == 0x1FF) ? ASSET_715_SPRITE_SPARKLE_RED : ASSET_713_SPRITE_SPARKLE_YELLOW); particleEmitter_setStartingFrameRange(pCtrl, 0, 0); - func_802EFB98(pCtrl, &D_80367CD8); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_80367CD8); func_802EFF50(pCtrl, 1.0f); particleEmitter_setSpawnInterval(pCtrl, 0.25f); } diff --git a/src/core2/code_55390.c b/src/core2/code_55390.c index 00ae1f2d..3c898192 100644 --- a/src/core2/code_55390.c +++ b/src/core2/code_55390.c @@ -48,7 +48,7 @@ Actor *func_802DC320(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ sp34[0] = 0.0f; sp34[1] = 137.5f; sp34[2] = 0.0f; - modelRender_draw(gfx, mtx, model_position, NULL, 1.0f, sp34, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, model_position, NULL, 1.0f, sp34, marker_loadModelBin(marker)); func_8024E2FC(); func_8024C904(gfx, mtx); return this; diff --git a/src/core2/code_55850.c b/src/core2/code_55850.c index f4cc3204..afe72ef7 100644 --- a/src/core2/code_55850.c +++ b/src/core2/code_55850.c @@ -47,7 +47,7 @@ Actor *func_802DC7E0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ sp34[0] = 0.0f; sp34[1] = -87.0f; sp34[2] = 0.0f; - modelRender_draw(gfx, mtx, sp40, NULL, 1.0f, sp34, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, sp40, NULL, 1.0f, sp34, marker_loadModelBin(marker)); func_8024E2FC(); func_8024C904(gfx, mtx); return this; diff --git a/src/core2/code_57C70.c b/src/core2/code_57C70.c index 65ecac43..a709693b 100644 --- a/src/core2/code_57C70.c +++ b/src/core2/code_57C70.c @@ -67,7 +67,7 @@ Actor *func_802DEC00(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ gSPSegment((*gfx)++, 0x04, osVirtualToPhysical(sp48)); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this); modelRender_postDraw((GenFunction_1)actor_postdrawMethod, (s32)marker); - modelRender_draw(gfx, mtx, this->position, NULL, 4.5f, sp4C, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, this->position, NULL, 4.5f, sp4C, marker_loadModelBin(marker)); gDPSetTextureFilter((*gfx)++, G_TF_BILERP); gDPSetColorDither((*gfx)++, G_CD_MAGICSQ); chBottlesBonus_func_802DD158(gfx, mtx); diff --git a/src/core2/code_581D0.c b/src/core2/code_581D0.c index ed008aee..a6702acf 100644 --- a/src/core2/code_581D0.c +++ b/src/core2/code_581D0.c @@ -33,7 +33,7 @@ Actor *func_802DF160(Gfx **gfx, Mtx **mtx, Vtx **vtx) { gSPSegment((*gfx)++, 0x04, osVirtualToPhysical(sp38)); modelRender_preDraw((GenFunction_1)actor_predrawMethod, (s32)this); modelRender_postDraw((GenFunction_1)actor_postdrawMethod, (s32)D_8037E000); - modelRender_draw(gfx, mtx, &D_80368360, NULL, 1.0f, NULL, func_80330B1C(D_8037E000)); + modelRender_draw(gfx, mtx, &D_80368360, NULL, 1.0f, NULL, marker_loadModelBin(D_8037E000)); gDPSetTextureFilter((*gfx)++, G_TF_BILERP); return this; } diff --git a/src/core2/code_59780.c b/src/core2/code_59780.c index 7f3a94c3..94a5e785 100644 --- a/src/core2/code_59780.c +++ b/src/core2/code_59780.c @@ -91,7 +91,7 @@ Actor *func_802E0738(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ this = marker_getActorAndRotation(marker, &sp34); modelRender_preDraw( (GenFunction_1)func_802E0710, (s32)this); modelRender_postDraw((GenFunction_1)actor_postdrawMethod, (s32)marker); - modelRender_draw(gfx, mtx, this->position, sp34, this->scale, NULL, func_80330B1C(marker)); + modelRender_draw(gfx, mtx, this->position, sp34, this->scale, NULL, marker_loadModelBin(marker)); return this; } diff --git a/src/core2/code_9E370.c b/src/core2/code_9E370.c index 79c8c55b..ef040a76 100644 --- a/src/core2/code_9E370.c +++ b/src/core2/code_9E370.c @@ -80,7 +80,7 @@ Actor *func_80325340(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ BKModelBin * model_bin = func_80330DE4(marker); if(model_bin && func_8033A12C(model_bin)){ if(marker->collidable) - func_80330B1C(marker); + marker_loadModelBin(marker); } return NULL; } @@ -92,7 +92,7 @@ void actor_predrawMethod(Actor *this){ BKVertexList *sp40; f32 sp34[3]; - sp48 = func_80330B1C(this->marker); + sp48 = marker_loadModelBin(this->marker); func_80330534(this); if(this->animctrl != NULL){ animctrl_drawSetup(this->animctrl, this->position, 1); diff --git a/src/core2/code_A5BC0.c b/src/core2/code_A5BC0.c index 26e8ba06..c519cff0 100644 --- a/src/core2/code_A5BC0.c +++ b/src/core2/code_A5BC0.c @@ -1491,8 +1491,7 @@ Struct6Cs *func_80330B10(void){ return &D_8036E7D0; } -//marker_loadModelBin -BKModelBin *func_80330B1C(ActorMarker *this){ +BKModelBin *marker_loadModelBin(ActorMarker *this){ Actor* thisActor; BKModelBin * model; ModelCache *modelInfo; @@ -1540,7 +1539,7 @@ BKVertexList *func_80330CFC(Actor *this, s32 arg1){ ModelCache *model_cache_ptr; model_cache_ptr = &modelCache[this->modelCacheIndex]; if(model_cache_ptr->modelPtr == NULL){ - func_80330B1C(this->marker); + marker_loadModelBin(this->marker); } if(this->unkF4_30 && this->unk14C[this->unkF4_29 ^ arg1] != NULL) return this->unk14C[this->unkF4_29 ^ arg1]; @@ -1718,10 +1717,10 @@ s32 func_803311D4(Cube *arg0, f32 *arg1, f32 *arg2, f32 *arg3, u32 arg4) { if (!(var_s1->actorProp.marker->unk3E_0 && (marker_getActor(var_s1->actorProp.marker)->unk3C & 0x008000000))) { var_a0 = func_80330DE4(var_s1->actorProp.marker); } else { - var_a0 = func_80330B1C(var_s1->actorProp.marker); + var_a0 = marker_loadModelBin(var_s1->actorProp.marker); } - if(var_a0 != NULL || (func_8028F280() && (var_a0 = func_80330B1C(var_s1->actorProp.marker), TRUE))){ + if(var_a0 != NULL || (func_8028F280() && (var_a0 = marker_loadModelBin(var_s1->actorProp.marker), TRUE))){ temp_s0 = model_getCollisionList(var_a0); if (temp_s0 != 0) { temp_s2_2 = marker_getActor(var_s1->actorProp.marker); @@ -1734,7 +1733,7 @@ s32 func_803311D4(Cube *arg0, f32 *arg1, f32 *arg2, f32 *arg3, u32 arg4) { sp7C[2] = (f32) var_s1->actorProp.marker->roll; temp_s0_2 = func_802E805C(temp_s0, temp_a1, &sp88, &sp7C, temp_s2_2->scale, arg1, arg2, arg3, arg4); if ((temp_s0_2 != 0) && (func_8029453C())) { - func_80330B1C(var_s1->actorProp.marker); + marker_loadModelBin(var_s1->actorProp.marker); if (var_s1->actorProp.marker->unk50 != 0) { D_80383410[0] = arg2[0]; D_80383410[1] = arg2[1]; @@ -2007,7 +2006,7 @@ f32 func_80331F54(ActorMarker *marker) { f32 model_center[3]; BKModelBin *model; - model = func_80330B1C(marker); + model = marker_loadModelBin(marker); if (model == NULL) { return 1.0f; } diff --git a/src/core2/code_B8080.c b/src/core2/code_B8080.c index fd8a5258..ca91adf2 100644 --- a/src/core2/code_B8080.c +++ b/src/core2/code_B8080.c @@ -187,7 +187,7 @@ void func_8033F738(ActorMarker *arg0) { BKModelBin *sp1C; s32 sp18; - sp1C = func_80330B1C(arg0); + sp1C = marker_loadModelBin(arg0); sp18 = func_8033A0B0(sp1C); arg0->unk48 = func_8033F5F8(sp18, model_getVtxList(sp1C)); } diff --git a/src/core2/code_D0CA0.c b/src/core2/code_D0CA0.c index 5f972083..128ed0c7 100644 --- a/src/core2/code_D0CA0.c +++ b/src/core2/code_D0CA0.c @@ -238,7 +238,7 @@ void func_803584BC(Actor *this) { void func_80358524(f32 position[3], s32 count, enum asset_e model_id) { - static struct31s D_803728C4 = { {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, {1.2f, 1.2f}, 0.0f, 0.1f}; + static ParticleScaleAndLifetimeRanges D_803728C4 = { {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, {1.2f, 1.2f}, 0.0f, 0.1f}; static struct43s D_803728EC = { {{-250.0f, 500.0f, -250.0f}, { 350.0f, 760.0f, 350.0f}}, {{ 0.0f, -1200.0f, 0.0f}, { 0.0f, -1200.0f, 0.0f}}, @@ -257,7 +257,7 @@ void func_80358524(f32 position[3], s32 count, enum asset_e model_id) { func_802EFA20(p_ctrl, 1.0f, 1.3f); particleEmitter_setSfx(p_ctrl, SFX_2F_ORANGE_SPLAT, 16000); particleEmitter_setPositionVelocityAndAccelerationRanges(p_ctrl, &D_803728EC); - func_802EFB98(p_ctrl, &D_803728C4); + particleEmitter_setScaleAndLifetimeRanges(p_ctrl, &D_803728C4); particleEmitter_emitN(p_ctrl, count); } diff --git a/src/core2/code_DA3A0.c b/src/core2/code_DA3A0.c index f338d520..521f2546 100644 --- a/src/core2/code_DA3A0.c +++ b/src/core2/code_DA3A0.c @@ -26,7 +26,7 @@ ActorInfo D_80373158 = { 0, 0, 0.0f, 0 }; -struct31s D_8037317C = { +ParticleScaleAndLifetimeRanges D_8037317C = { {0.01f, 0.01f}, {2.5f, 3.0f}, {0.05f, 0.05f}, @@ -56,7 +56,7 @@ void func_80361330(Actor *this, s32 next_state){ particleEmitter_setStartingFrameRange(pctrl, 0, 7); particleEmitter_setParticleSpawnPositionRange(pctrl, -20.0f, -20.0f, -20.0f, 20.0f, 20.0f, 20.0f); particleEmitter_setPosition(pctrl, this->position); - func_802EFB98(pctrl, &D_8037317C); + particleEmitter_setScaleAndLifetimeRanges(pctrl, &D_8037317C); particleEmitter_setParticleVelocityRange(pctrl, sp40[0] *0.6, sp40[1]*0.6, sp40[2]*0.6, sp40[0], sp40[1], sp40[2] diff --git a/src/core2/particle.c b/src/core2/particle.c index a9775acb..4562cfe3 100644 --- a/src/core2/particle.c +++ b/src/core2/particle.c @@ -459,7 +459,7 @@ void func_802EFB84(ParticleEmitter * this, f32 min, f32 max){ this->particleFinalScaleRange_B4_max = max; } -void func_802EFB98(ParticleEmitter *this, struct31s *arg1){ +void particleEmitter_setScaleAndLifetimeRanges(ParticleEmitter *this, ParticleScaleAndLifetimeRanges *arg1){ this->particleStartingScaleRange_AC_min = arg1->unk0[0]; this->particleStartingScaleRange_AC_max = arg1->unk0[1]; if(-1.0f != arg1->unk8[0]){ @@ -474,7 +474,7 @@ void func_802EFB98(ParticleEmitter *this, struct31s *arg1){ } void func_802EFC28(ParticleEmitter *this, struct40s *arg1){ - func_802EFB98(this, &arg1->unk0); + particleEmitter_setScaleAndLifetimeRanges(this, &arg1->unk0); particleEmitter_setDrawMode(this, (s32)arg1->unk28); particleEmitter_emitN(this, (s32)arg1->unk2C); } diff --git a/src/core2/spawnqueue.c b/src/core2/spawnqueue.c index 70b79f5d..4f1bb87b 100644 --- a/src/core2/spawnqueue.c +++ b/src/core2/spawnqueue.c @@ -51,7 +51,7 @@ extern ActorInfo chJinjoGreen; //jingo_green extern ActorInfo chJinjoYellow; //jingo_yellow extern ActorInfo chJinjoPink; //jingo_pink extern ActorInfo chJinjoOrange; //jingo_orange -extern ActorInfo D_803672E0; //chbeehive +extern ActorInfo chBeehive; //chbeehive extern ActorInfo D_80367310; //chswarm extern ActorInfo D_80367390; //chwaterfallfx extern ActorInfo chShrapnelDescription; //scrapnel @@ -215,7 +215,7 @@ void spawnQueue_reset(void){ spawnableActorList_add(&D_80366090, actor_new, 0x2010103); spawnableActorList_add(&D_803660B4, actor_new, 0x0000103); spawnableActorList_add(&D_803674E0, actor_new, 0x0000182); - spawnableActorList_add(&D_803672E0, actor_new, 0x2000108); + spawnableActorList_add(&chBeehive, actor_new, 0x2000108); spawnableActorList_add(&D_80367310, actor_new, 0x0020001); spawnableActorList_add(&D_80367390, actor_new, 0x0080084); spawnableActorList_add(&chJinjoYellow, actor_new, 0x0000140); diff --git a/src/cutscenes/code_0.c b/src/cutscenes/code_0.c index cfa7b15b..4e33d4b9 100644 --- a/src/cutscenes/code_0.c +++ b/src/cutscenes/code_0.c @@ -170,7 +170,7 @@ void func_80386A90(s32 marker, s32 duration) { } void func_80386AC8(s32 arg0) { - static struct31s D_8038D350 = {{2.2f, 2.8f}, {6.3f, 9.4f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.2f, 0.9f}; + static ParticleScaleAndLifetimeRanges D_8038D350 = {{2.2f, 2.8f}, {6.3f, 9.4f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.2f, 0.9f}; Actor *actor; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -186,12 +186,12 @@ void func_80386AC8(s32 arg0) { particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D350); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D350); particleEmitter_emitN(pCtrl, 10); } void func_80386C34(s32 arg0) { - static struct31s D_8038D378 = {{3.0f, 6.0f}, {6.3f, 9.4f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.0f, 0.9f}; + static ParticleScaleAndLifetimeRanges D_8038D378 = {{3.0f, 6.0f}, {6.3f, 9.4f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.0f, 0.9f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -207,12 +207,12 @@ void func_80386C34(s32 arg0) { particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 600.0f, -50.0f, 50.0f, 600.0f, 50.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D378); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D378); particleEmitter_emitN(pCtrl, 15); } void func_80386DA0(s32 arg0) { - static struct31s D_8038D3A0 = {{10.0f, 10.0f}, {100.0f, 100.0f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.3f, 0.9f}; + static ParticleScaleAndLifetimeRanges D_8038D3A0 = {{10.0f, 10.0f}, {100.0f, 100.0f}, {0.0f, 0.05f}, {10.0f, 10.0f}, 0.3f, 0.9f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -228,12 +228,12 @@ void func_80386DA0(s32 arg0) { particleEmitter_setParticleSpawnPositionRange(pCtrl, -50.0f, 1500.0f, -50.0f, 50.0f, 1500.0f, 50.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D3A0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3A0); particleEmitter_emitN(pCtrl, 1); } void func_80386EF8(s32 arg0) { - static struct31s D_8038D3C8 = {{0.05f, 0.1f}, {0.0f, 0.0f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.3f}; + static ParticleScaleAndLifetimeRanges D_8038D3C8 = {{0.05f, 0.1f}, {0.0f, 0.0f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.3f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -248,12 +248,12 @@ void func_80386EF8(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -600.0f, 0.0f, 0.0f, -600.0f, 0.0f); func_802EF9F8(pCtrl, 0.01f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D3C8); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3C8); particleEmitter_emitN(pCtrl, 8); } void func_8038702C(s32 arg0) { - static struct31s D_8038D3F0 = {{0.2f, 0.25f}, {0.35f, 0.4f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.8f}; + static ParticleScaleAndLifetimeRanges D_8038D3F0 = {{0.2f, 0.25f}, {0.35f, 0.4f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.8f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -269,12 +269,12 @@ void func_8038702C(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); func_802EF9F8(pCtrl, 0.4f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D3F0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D3F0); particleEmitter_emitN(pCtrl, 8); } void func_80387170(s32 arg0) { - static struct31s D_8038D418 ={{0.2f, 0.25f}, {0.35f, 0.4f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.8f}; + static ParticleScaleAndLifetimeRanges D_8038D418 ={{0.2f, 0.25f}, {0.35f, 0.4f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.8f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -290,7 +290,7 @@ void func_80387170(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -800.0f, 0.0f, 0.0f, -800.0f, 0.0f); func_802EF9F8(pCtrl, 0.4f); func_802EFA18(pCtrl, 3); - func_802EFB98(pCtrl, &D_8038D418); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D418); particleEmitter_emitN(pCtrl, 8); } @@ -312,7 +312,7 @@ void func_803872B4(s32 arg0) { func_8034A174((struct5Bs *)sp44->marker->unk44, 7, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D470); - func_802EFB98(pCtrl, &D_8038D440.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D440.unk0); particleEmitter_emitN(pCtrl, 4); } @@ -336,12 +336,12 @@ void func_80387364(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 8, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D4DC); - func_802EFB98(pCtrl, &D_8038D4AC.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D4AC.unk0); particleEmitter_emitN(pCtrl, 1); } void func_80387424(s32 arg0) { - static struct31s D_8038D50C = {{0.06f, 0.07f}, {0.07f, 0.07f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; + static ParticleScaleAndLifetimeRanges D_8038D50C = {{0.06f, 0.07f}, {0.07f, 0.07f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -355,13 +355,13 @@ void func_80387424(s32 arg0) { particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); - func_802EFB98(pCtrl, &D_8038D50C); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D50C); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -300.0f, 0.0f, 0.0f, -300.0f, 0.0f); particleEmitter_emitN(pCtrl, 8); } void cutscenes_func_80387560(s32 arg0) { - static struct31s D_8038D534 = {{0.15f, 0.15f}, {0.15f, 0.15f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; + static ParticleScaleAndLifetimeRanges D_8038D534 = {{0.15f, 0.15f}, {0.15f, 0.15f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -373,13 +373,13 @@ void cutscenes_func_80387560(s32 arg0) { particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); - func_802EFB98(pCtrl, &D_8038D534); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D534); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); particleEmitter_emitN(pCtrl, 11); } void func_80387680(s32 arg0) { - static struct31s D_8038D55C = {{0.03f, 0.03f}, {0.03f, 0.03f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; + static ParticleScaleAndLifetimeRanges D_8038D55C = {{0.03f, 0.03f}, {0.03f, 0.03f}, {0.0f, 0.8f}, {1.0f, 1.1f}, 0.0f, 0.4f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -391,7 +391,7 @@ void func_80387680(s32 arg0) { particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f, -600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setParticleVelocityRange(pCtrl, -30.0f, 130.0f, -30.0f, 130.0f, 45.0f, 30.0f); - func_802EFB98(pCtrl, &D_8038D55C); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D55C); particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -500.0f, 0.0f, 0.0f, -500.0f, 0.0f); particleEmitter_emitN(pCtrl, 11); } @@ -419,12 +419,12 @@ void func_803877A0(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 6, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D5C0); - func_802EFB98(pCtrl, &D_8038D590.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D590.unk0); particleEmitter_emitN(pCtrl, 1); } void func_803878A4(s32 arg0) { - static struct31s D_8038D5F0 = {{1.6f, 1.6f}, {1.6f, 1.6f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.3f}; + static ParticleScaleAndLifetimeRanges D_8038D5F0 = {{1.6f, 1.6f}, {1.6f, 1.6f}, {0.0f, 0.05f}, {4.0f, 4.0f}, 0.0f, 0.3f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -440,13 +440,13 @@ void func_803878A4(s32 arg0) { func_802EF9F8(pCtrl, 0.3f); func_802EFA18(pCtrl, 3); particleEmitter_setDrawMode(pCtrl, 2); - func_802EFB98(pCtrl, &D_8038D5F0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D5F0); particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); particleEmitter_emitN(pCtrl, 1); } void cutscenes_func_803879E0(s32 arg0) { - static struct31s D_8038D618 = {{1.6f, 1.6f}, {1.6f, 1.6f}, {0.0f, 3.0f}, {4.0f, 4.0f}, 0.0f, 0.3f}; + static ParticleScaleAndLifetimeRanges D_8038D618 = {{1.6f, 1.6f}, {1.6f, 1.6f}, {0.0f, 3.0f}, {4.0f, 4.0f}, 0.0f, 0.3f}; Actor *sp44; ParticleEmitter *pCtrl; f32 sp34[3]; @@ -463,7 +463,7 @@ void cutscenes_func_803879E0(s32 arg0) { func_802EF9F8(pCtrl, 0.3f); func_802EFA18(pCtrl, 3); particleEmitter_setDrawMode(pCtrl, 2); - func_802EFB98(pCtrl, &D_8038D618); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D618); particleEmitter_setSfx(pCtrl, SFX_21_EGG_BOUNCE_1, 15000); particleEmitter_emitN(pCtrl, 2); } @@ -488,7 +488,7 @@ void func_80387B58(s32 arg0) { func_8034A174((struct5Bs *) sp44->marker->unk44, 5, sp34); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D670); - func_802EFB98(pCtrl, &D_8038D640.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D640.unk0); particleEmitter_emitN(pCtrl, 1); } @@ -517,7 +517,7 @@ void func_80387C64(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D6DC); - func_802EFB98(pCtrl, &D_8038D6AC.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D6AC.unk0); particleEmitter_emitN(pCtrl, 1); } } @@ -543,7 +543,7 @@ void func_80387D88(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D73C); - func_802EFB98(pCtrl, &D_8038D70C.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D70C.unk0); particleEmitter_emitN(pCtrl, 25); } } @@ -571,7 +571,7 @@ void func_80387E9C(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, -30.0f, 0.0f, 0.0f, -30.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D7A8); - func_802EFB98(pCtrl, &D_8038D778.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D778.unk0); particleEmitter_emitN(pCtrl, 1); } } @@ -598,7 +598,7 @@ void func_80387FC0(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, 200.0f, 0.0f, 0.0f, 200.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D808); - func_802EFB98(pCtrl, &D_8038D7D8.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D7D8.unk0); particleEmitter_emitN(pCtrl, 1); } } @@ -626,7 +626,7 @@ void func_803880C8(s32 arg0) { func_8034A174((struct5Bs *) sp34->marker->unk44, 5, sp24); particleEmitter_setPosition(pCtrl, sp24); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D874); - func_802EFB98(pCtrl, &D_8038D844.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D844.unk0); particleEmitter_emitN(pCtrl, 1); } @@ -651,7 +651,7 @@ void func_803881CC(s32 arg0) { particleEmitter_setParticleAccelerationRange(pCtrl, 0.0f, 100.0f, 0.0f, 0.0f, 300.0f, 0.0f); particleEmitter_setPosition(pCtrl, sp34); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038D8D4); - func_802EFB98(pCtrl, &D_8038D8A4.unk0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038D8A4.unk0); particleEmitter_emitN(pCtrl, 2); } } diff --git a/src/cutscenes/code_6730.c b/src/cutscenes/code_6730.c index caa0b1dc..39b3c925 100644 --- a/src/cutscenes/code_6730.c +++ b/src/cutscenes/code_6730.c @@ -25,7 +25,7 @@ extern ActorInfo D_8038E718 = { extern s32 D_8038E73C[3] = {0xff, 0xff, 0xff}; -extern struct31s D_8038E748 = { +extern ParticleScaleAndLifetimeRanges D_8038E748 = { {0.1f, 0.3f}, {0.0f, 0.0f}, {0.0f, 0.01f}, @@ -45,7 +45,7 @@ void cutscenes_func_8038CB20(ParticleEmitter *pCtrl){ particleEmitter_setAlpha(pCtrl, 230); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038E770); - func_802EFB98(pCtrl, &D_8038E748); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E748); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); } diff --git a/src/cutscenes/code_69F0.c b/src/cutscenes/code_69F0.c index 2b2ad6d9..c26a37a1 100644 --- a/src/cutscenes/code_69F0.c +++ b/src/cutscenes/code_69F0.c @@ -19,7 +19,7 @@ ActorInfo D_8038E7A0 = { s32 D_8038E7C4[3] = {0xFF, 0xFF, 0xFF}; -struct31s D_8038E7D0 = { +ParticleScaleAndLifetimeRanges D_8038E7D0 = { {0.7f, 0.9f}, {0.4f, 0.5f}, {0.0f, 0.01f}, @@ -34,7 +34,7 @@ struct42s D_8038E7F8 ={ s32 D_8038E828[3] = {0xFF, 0xFF, 0xFF}; -struct31s D_8038E834 = { +ParticleScaleAndLifetimeRanges D_8038E834 = { {0.05f, 0.1f}, {0.1f, 0.2f}, {0.0f, 0.01f}, @@ -55,7 +55,7 @@ void func_8038CDE0(ParticleEmitter *pCtrl){ particleEmitter_setAlpha(pCtrl, 0xff); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E7F8); - func_802EFB98(pCtrl, &D_8038E7D0); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E7D0); func_802EFA78(pCtrl, 1); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); @@ -67,7 +67,7 @@ void func_8038CE98(ParticleEmitter *pCtrl){ particleEmitter_setAlpha(pCtrl, 0xff); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setPositionAndVelocityRanges(pCtrl, &D_8038E85C); - func_802EFB98(pCtrl, &D_8038E834); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E834); func_802EFA78(pCtrl, 1); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); diff --git a/src/cutscenes/code_6C90.c b/src/cutscenes/code_6C90.c index cee45e44..a81fa45d 100644 --- a/src/cutscenes/code_6C90.c +++ b/src/cutscenes/code_6C90.c @@ -25,7 +25,7 @@ ActorInfo D_8038E8A8 = { s32 D_8038E8CC[3] = {0xff, 0xff, 0xff}; -struct31s D_8038E8D8 = { +ParticleScaleAndLifetimeRanges D_8038E8D8 = { {0.6f, 0.6f}, {0.9f, 0.9f}, {0.0f, 0.01f}, @@ -46,7 +46,7 @@ void func_8038D080(ParticleEmitter *pCtrl){ particleEmitter_setAlpha(pCtrl, 60); particleEmitter_setAngularVelocityRange(pCtrl, -600.0f, -600.0f,-600.0f, 600.0f, 600.0f, 600.0f); particleEmitter_setVelocityAndAccelerationRanges(pCtrl, &D_8038E900); - func_802EFB98(pCtrl, &D_8038E8D8); + particleEmitter_setScaleAndLifetimeRanges(pCtrl, &D_8038E8D8); particleEmitter_setDrawMode(pCtrl, 4); particleEmitter_manualFree(pCtrl); } diff --git a/src/fight/chbossjinjo.c b/src/fight/chbossjinjo.c index 42e093a9..57f4dfab 100644 --- a/src/fight/chbossjinjo.c +++ b/src/fight/chbossjinjo.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" #include "core2/particle.h" @@ -68,7 +69,7 @@ f32 D_80391948[4] = {1.0f, 1.0f, 1.0f, 1.0f}; f32 D_80391958[4] = {0.33f, 0.33f, 0.33f, 1.0f}; -struct31s D_80391968 = { +ParticleScaleAndLifetimeRanges D_80391968 = { {0.1f, 0.1f}, {10.0f, 10.0f}, {0.0f, 0.01f}, {0.8f, 0.8f}, 0.1f, 0.1f }; @@ -340,7 +341,7 @@ void func_8038CED8(f32 arg0[3], enum asset_e model_id, f32 arg2, f32 arg3){ D_80391968.unk0[1] *= arg2; D_80391968.unk8[0] *= arg2; D_80391968.unk8[1] *= arg2; - func_802EFB98(s0, &D_80391968); + particleEmitter_setScaleAndLifetimeRanges(s0, &D_80391968); particleEmitter_setDrawMode(s0, PART_EMIT_NO_DEPTH); func_802EFA78(s0, 1); particleEmitter_emitN(s0, 1); diff --git a/src/fight/chbossjinjobase.c b/src/fight/chbossjinjobase.c index cdd8b4a7..ded84712 100644 --- a/src/fight/chbossjinjobase.c +++ b/src/fight/chbossjinjobase.c @@ -1,24 +1,31 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" typedef struct { u8 unk0; -}ActorLocal_fight_6E90; +}ActorLocal_BossJinjoBase; -void func_8038D568(Actor *this); +enum chBossJinjoBase_states { + CHBOSSJINJOBASE_STATE_1_RAISE = 1, + CHBOSSJINJOBASE_STATE_2_DEFAULT = 2, + CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO = 3 +}; + +void chBossJinjoBase_update(Actor *this); /* .data */ ActorInfo chBossJinjoBase = { MARKER_27A_JINJO_STATUE_BASE, ACTOR_3A2_JINJO_STATUE_BASE, ASSET_543_MODEL_JINJO_STATUE_BASE, 0x1, NULL, - func_8038D568, func_80326224, actor_draw, + chBossJinjoBase_update, func_80326224, actor_draw, 0, 0x800, 0.0f, 0 }; -s32 D_803919B4[3] = {0xC8, 0xC8, 0xA0}; +s32 chBossJinjoBase_smokeColor[3] = {0xC8, 0xC8, 0xA0}; -struct31s D_803919C0 = { +ParticleScaleAndLifetimeRanges chBossJinjoBase_smokeSettings = { {1.0f, 1.0f}, {1.7f, 2.7f}, {0.0f, 0.05f}, @@ -36,17 +43,17 @@ void chbossjinjobase_spawnStoneJinjo(ActorMarker *arg0) { sp1C->unk100 = temp_v0->marker; } -void func_8038D2EC(f32 arg0[3], s32 arg1) { - ParticleEmitter *temp_v0 = partEmitMgr_newEmitter(arg1); +void chBossJinjoBase_emitSmoke(f32 position[3], s32 count) { + ParticleEmitter *p = partEmitMgr_newEmitter(count); - particleEmitter_setSprite(temp_v0, ASSET_70E_SPRITE_SMOKE_2); - particleEmitter_setRGB(temp_v0, D_803919B4); - particleEmitter_setStartingFrameRange(temp_v0, 0, 7); - particleEmitter_setPosition(temp_v0, arg0); - particleEmitter_setParticleSpawnPositionRange(temp_v0, -90.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); - particleEmitter_setParticleVelocityRange(temp_v0, -170.0f, 0.0f, -170.0f, 170.0f, 100.0f, 170.0f); - func_802EFB98(temp_v0, &D_803919C0); - particleEmitter_emitN(temp_v0, arg1); + particleEmitter_setSprite(p, ASSET_70E_SPRITE_SMOKE_2); + particleEmitter_setRGB(p, chBossJinjoBase_smokeColor); + particleEmitter_setStartingFrameRange(p, 0, 7); + particleEmitter_setPosition(p, position); + particleEmitter_setParticleSpawnPositionRange(p, -90.0f, 0.0f, -80.0f, 80.0f, 60.0f, 80.0f); + particleEmitter_setParticleVelocityRange(p, -170.0f, 0.0f, -170.0f, 170.0f, 100.0f, 170.0f); + particleEmitter_setScaleAndLifetimeRanges(p, &chBossJinjoBase_smokeSettings); + particleEmitter_emitN(p, count); } void func_8038D3DC(Actor* this, s32 arg1, f32 arg2, f32 arg3, f32 arg4){ @@ -57,25 +64,27 @@ void func_8038D3DC(Actor* this, s32 arg1, f32 arg2, f32 arg3, f32 arg4){ } } -void func_8038D428(ActorMarker *arg0, ActorMarker *arg1) { - Actor *temp_v0; - Actor *s0; +void chBossJinjoBase_getHitByEgg(ActorMarker *this, ActorMarker *other) { + Actor *actor_base; + Actor *actor_other; - temp_v0 = marker_getActor(arg0); - if (temp_v0->state != 3) { + actor_base = marker_getActor(this); + + if (actor_base->state != CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO) { func_8025A70C(COMUSIC_2B_DING_B); - temp_v0->unk38_31++; - if (temp_v0->unk38_31 >= 3) { - subaddie_set_state(temp_v0, 3); - chstonejinjo_breakOpen(temp_v0->unk100); - func_8038D3DC(temp_v0, 0x19A, -100.0f, 0.0f, 1.2f); - func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, temp_v0->position, 1000.0f, 2000.0f); + actor_base->unk38_31++; // hit count + + if (actor_base->unk38_31 >= 3) { // spawn Jjnjonator + subaddie_set_state(actor_base, CHBOSSJINJOBASE_STATE_3_SPAWNED_BOSS_JINJO); + chstonejinjo_breakOpen(actor_base->unk100); + func_8038D3DC(actor_base, 0x19A, -100.0f, 0.0f, 1.2f); + func_80324D54(1.2f, SFX_90_SWITCH_PRESS, 1.0f, 32000, actor_base->position, 1000.0f, 2000.0f); } } } void fight_func_8038D510(Actor *arg0) { - ActorLocal_fight_6E90 *sp18 = (ActorLocal_fight_6E90 *)&arg0->local; + ActorLocal_BossJinjoBase *sp18 = (ActorLocal_BossJinjoBase *)&arg0->local; if ((u8)arg0->unk44_31 != 0) { func_8030DA44(arg0->unk44_31); @@ -87,21 +96,21 @@ void fight_func_8038D510(Actor *arg0) { } } -void func_8038D568(Actor *this){ - ActorLocal_fight_6E90 *local = (ActorLocal_fight_6E90 *)&this->local; +void chBossJinjoBase_update(Actor *this) { + ActorLocal_BossJinjoBase *local = (ActorLocal_BossJinjoBase *)&this->local; - f32 sp48 = time_getDelta(); - u32 sp44 = globalTimer_getTime() & 0xF; - Actor *other; //sp40 - f32 sp3C; - f32 sp30[3]; + f32 delta_time = time_getDelta(); + u32 shake_noise = globalTimer_getTime() & 0xF; + Actor *actor_stone_jinjo; //sp40 + f32 y_delta; + f32 position_delta[3]; this->unkF4_29 = 0; - func_80330B1C(this->marker); + marker_loadModelBin(this->marker); if(!this->unk16C_4){ this->unk16C_4 = 1; - marker_setCollisionScripts(this->marker, NULL, func_8038D428, NULL); + marker_setCollisionScripts(this->marker, NULL, chBossJinjoBase_getHitByEgg, NULL); marker_setFreeMethod(this->marker, fight_func_8038D510); this->marker->propPtr->unk8_3 = 1; actor_collisionOn(this); @@ -128,44 +137,45 @@ void func_8038D568(Actor *this){ func_802BB3DC(0, 8.0f, 0.92f); __spawnQueue_add_4((GenFunction_4)func_802C4140, 0x3ad, *(s32*)&this->unk1C[0], *(s32*)&this->unk1C[1], *(s32*)&this->unk1C[2]); - func_8038D2EC(this->unk1C, 0x10); + chBossJinjoBase_emitSmoke(this->unk1C, 0x10); SPAWNQUEUE_ADD_1(chbossjinjobase_spawnStoneJinjo, this->marker); } - else{//L8038D774 - if(this->state == 1){ - other = marker_getActor(this->unk100); - sp3C = this->velocity_y * sp48; - if(this->position_y + sp3C < this->unk1C[1]){ - if( !fileProgressFlag_get(FILEPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT) || this->unkF4_8 == 1){ + else{ + if(this->state == CHBOSSJINJOBASE_STATE_1_RAISE) { + actor_stone_jinjo = marker_getActor(this->unk100); + y_delta = this->velocity_y * delta_time; + + if(this->position_y + y_delta < this->unk1C[1]) { + if( !fileProgressFlag_get(FILEPROG_D2_HAS_SPAWNED_A_JINJO_STATUE_IN_FINAL_FIGHT) || this->unkF4_8 == 1) { func_8030E2C4(this->unk44_31); func_8030E2C4(local->unk0); } - sp30[0] = (sp44 & 1) ? 3.0f : -3.0f; - sp30[1] = sp3C; - sp30[2] = (sp44 & 2) ? 3.0f : -3.0f; + + position_delta[0] = (shake_noise & 1) ? 3.0f : -3.0f; + position_delta[1] = y_delta; + position_delta[2] = (shake_noise & 2) ? 3.0f : -3.0f; this->position_x = this->unk1C[0]; this->position_z = this->unk1C[2]; - this->position_x = sp30[0] + this->position_x; - this->position_y = sp30[1] + this->position_y; - this->position_z = sp30[2] + this->position_z; - - other->position_x = this->unk1C[0]; - other->position_z = this->unk1C[2]; - other->position_x = sp30[0] + other->position_x; - other->position_y = sp30[1] + other->position_y; - other->position_z = sp30[2] + other->position_z; + this->position_x = position_delta[0] + this->position_x; + this->position_y = position_delta[1] + this->position_y; + this->position_z = position_delta[2] + this->position_z; + actor_stone_jinjo->position_x = this->unk1C[0]; + actor_stone_jinjo->position_z = this->unk1C[2]; + actor_stone_jinjo->position_x = position_delta[0] + actor_stone_jinjo->position_x; + actor_stone_jinjo->position_y = position_delta[1] + actor_stone_jinjo->position_y; + actor_stone_jinjo->position_z = position_delta[2] + actor_stone_jinjo->position_z; } - else{//L8038D8E0 - subaddie_set_state(this, 2); + else { + subaddie_set_state(this, CHBOSSJINJOBASE_STATE_2_DEFAULT); func_8030DA44(this->unk44_31); this->unk44_31 = 0; func_8030DA44(local->unk0); local->unk0 = 0; TUPLE_COPY(this->position, this->unk1C); - TUPLE_COPY(other->position, this->unk1C); - other->position_y += 172.0f; + TUPLE_COPY(actor_stone_jinjo->position, this->unk1C); + actor_stone_jinjo->position_y += 172.0f; } } }//L8038D954 diff --git a/src/fight/chbossshadow.c b/src/fight/chbossshadow.c index 0ca0469b..6cc6b843 100644 --- a/src/fight/chbossshadow.c +++ b/src/fight/chbossshadow.c @@ -1,30 +1,29 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" -Actor *chbossshadow_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3); -void chbossshadow_update(Actor *this); - -/* .data */ ActorInfo chBossShadow = { MARKER_288_GRUNTY_SHADOW, ACTOR_3AF_GRUNTY_SHADOW, ASSET_3BF_MODEL_PLAYER_SHADOW, 0x1, NULL, - chbossshadow_update, func_80326224, chbossshadow_draw, + chBossShadow_update, func_80326224, chBossShadow_draw, 0, 0, 0.0f, 0 }; -/* .code */ -Actor *chbossshadow_draw(ActorMarker *marker, Gfx **gdl, Mtx **mptr, Vtx **arg3){ - f32 sp34[3]; - f32 sp30; - Actor *this; - this = marker_getActorAndRotation(marker, sp34); - sp30 = this->scale * ml_map_f(this->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f); +Actor *chBossShadow_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **vptr) { + f32 rotation[3]; + f32 scale; + Actor *actor; + + // unk1C[0] of ACTOR_3AF_GRUNTY_SHADOW is set in chfinalboss_update to the distance between Gruntilda and the floor triangle below her + actor = marker_getActorAndRotation(this, rotation); + scale = actor->scale * ml_map_f(actor->unk1C[0], 0.0f, 1000.0f, 1.75f, 0.9f); + modelRender_setDepthMode(MODEL_RENDER_DEPTH_COMPARE); - modelRender_draw(gdl, mptr, this->position, sp34, sp30, NULL, func_80330B1C(marker)); - return this; + modelRender_draw(gdl, mptr, actor->position, rotation, scale, NULL, marker_loadModelBin(this)); + + return actor; } - -void chbossshadow_update(Actor *this){ +void chBossShadow_update(Actor *this) { actor_collisionOff(this); } diff --git a/src/fight/chfinalboss.c b/src/fight/chfinalboss.c index a1aeedff..d707abfe 100644 --- a/src/fight/chfinalboss.c +++ b/src/fight/chfinalboss.c @@ -122,7 +122,7 @@ f32 fight_D_80391524[3] = {0.0f, -8.0f, 400.0f}; f32 D_80391530[3] = {0.0f, -8.0f, 0.0f}; -struct31s D_8039153C ={ +ParticleScaleAndLifetimeRanges D_8039153C ={ {1.0f, 1.0f}, {1.0f, 1.0f}, {0.0f, 0.01f}, @@ -285,7 +285,7 @@ void chfinalboss_spawnBroomstickParticles(f32 position[3], enum asset_e model_id particleEmitter_setPosition(temp_s0, position); particleEmitter_setAngularVelocityRange(temp_s0, -300.0f, -300.0f, -300.0f, 300.0f, 300.0f, 300.0f); particleEmitter_setPositionVelocityAndAccelerationRanges(temp_s0, &D_80391564); - func_802EFB98(temp_s0, &D_8039153C); + particleEmitter_setScaleAndLifetimeRanges(temp_s0, &D_8039153C); func_802EFA78(temp_s0, 1); particleEmitter_emitN(temp_s0, n); } diff --git a/src/fight/chgreenblast.c b/src/fight/chgreenblast.c index 56834e23..468a57a8 100644 --- a/src/fight/chgreenblast.c +++ b/src/fight/chgreenblast.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" extern void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]); extern void func_80387470(Actor *, f32 [3], f32, f32, f32, f32, f32); diff --git a/src/fight/chjinjonator.c b/src/fight/chjinjonator.c index cd32034e..eaf721fc 100644 --- a/src/fight/chjinjonator.c +++ b/src/fight/chjinjonator.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" extern f32 func_8038C288(void); extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32); diff --git a/src/fight/chjinjonatorbase.c b/src/fight/chjinjonatorbase.c index 304b4ef5..64e7113f 100644 --- a/src/fight/chjinjonatorbase.c +++ b/src/fight/chjinjonatorbase.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" typedef struct { u8 unk0[4]; @@ -18,7 +19,7 @@ ActorInfo chJinjonatorBase = { s32 D_80391A64[3] = {0xC8, 0xC8, 0xA0}; -struct31s fight_D_80391A70 = { +ParticleScaleAndLifetimeRanges fight_D_80391A70 = { {1.0f, 1.0f}, {1.7f, 2.7f}, {0.0f, 0.05f}, @@ -53,7 +54,7 @@ void func_8038E03C(f32 arg0[3], u32 arg1) { particleEmitter_setStartingFrameRange(temp_v0, 0, 7); particleEmitter_setPosition(temp_v0, arg0); particleEmitter_setPositionAndVelocityRanges(temp_v0, &D_80391A98); - func_802EFB98(temp_v0, &fight_D_80391A70); + particleEmitter_setScaleAndLifetimeRanges(temp_v0, &fight_D_80391A70); particleEmitter_emitN(temp_v0, arg1); } @@ -116,7 +117,7 @@ void chjinjonatorbase_update(Actor *this){ f32 sp38[3]; - func_80330B1C(this->marker); + marker_loadModelBin(this->marker); if(!this->unk16C_4){ this->unk16C_4 = 1; marker_setCollisionScripts(this->marker, NULL, func_8038E120, NULL); diff --git a/src/fight/chspellbarrier.c b/src/fight/chspellbarrier.c index 65482518..99009fed 100644 --- a/src/fight/chspellbarrier.c +++ b/src/fight/chspellbarrier.c @@ -1,7 +1,7 @@ #include #include "functions.h" #include "variables.h" - +#include "fight.h" extern ActorMarker *chfinalboss_findCollidingJinjo(Actor*, f32); void func_80386654(f32 arg0, f32 (*arg1)[4], f32 (*arg2)[4]); diff --git a/src/fight/chspellfireball.c b/src/fight/chspellfireball.c index 39ef4e29..1dac6dca 100644 --- a/src/fight/chspellfireball.c +++ b/src/fight/chspellfireball.c @@ -1,6 +1,7 @@ #include #include "functions.h" #include "variables.h" +#include "fight.h" #include "core2/particle.h" extern void func_80324CFC(f32, s32, s32); diff --git a/src/fight/code_0.c b/src/fight/code_0.c index 2ec3311c..bd57eed5 100644 --- a/src/fight/code_0.c +++ b/src/fight/code_0.c @@ -1,26 +1,9 @@ #include #include "functions.h" #include "variables.h" - #include "prop.h" +#include "fight.h" -extern ActorInfo chFightFlightPad; -extern ActorInfo chFinalBoss; -extern ActorInfo chBossJinjoOrange; -extern ActorInfo chBossJinjoGreen; -extern ActorInfo chBossJinjoPink; -extern ActorInfo chBossJinjoYellow; -extern ActorInfo chBossJinjoBase; -extern ActorInfo chStoneJinjo; -extern ActorInfo chJinjonatorBase; -extern ActorInfo chSpellBarrier; -extern ActorInfo chSpellFireball; -extern ActorInfo chSpellGreen; -extern ActorInfo chGreenBlast; -extern ActorInfo chJinjonator; -extern ActorInfo chBossShadow; - -/* .bss */ u8 pad_fight_80392740[0x10]; void fight_func_803863F0(void) diff --git a/src/fight/fight.h b/src/fight/fight.h index 365ed708..c2f8d511 100644 --- a/src/fight/fight.h +++ b/src/fight/fight.h @@ -9,4 +9,25 @@ enum bossjinjo_e{ BOSSJINJO_JINJONATOR }; +extern ActorInfo chFightFlightPad; +extern ActorInfo chFinalBoss; +extern ActorInfo chBossJinjoOrange; +extern ActorInfo chBossJinjoGreen; +extern ActorInfo chBossJinjoPink; +extern ActorInfo chBossJinjoYellow; +extern ActorInfo chBossJinjoBase; +extern ActorInfo chStoneJinjo; +extern ActorInfo chJinjonatorBase; +extern ActorInfo chSpellBarrier; +extern ActorInfo chSpellFireball; +extern ActorInfo chSpellGreen; +extern ActorInfo chGreenBlast; +extern ActorInfo chJinjonator; +extern ActorInfo chBossShadow; + +extern void fight_func_803863F0(void); + +extern Actor *chBossShadow_draw(ActorMarker *this, Gfx **gdl, Mtx **mptr, Vtx **vptr); +extern void chBossShadow_update(Actor *this); + #endif diff --git a/src/lair/code_0.c b/src/lair/code_0.c index 32ee0a05..bdfb5ddd 100644 --- a/src/lair/code_0.c +++ b/src/lair/code_0.c @@ -16,7 +16,6 @@ extern int actor_animationIsAt(Actor *, f32); extern void subaddie_set_state_with_direction(Actor *, s32, f32, s32); extern void func_8033A45C(s32, s32); extern void func_8034E0FC(void *, s32); -extern void *func_8034C2C4(ActorMarker *, s32); @@ -162,7 +161,7 @@ ActorInfo D_8039339C = { 0x234, 0x23E, 0x4E1, 0x12, D_80392CB0, func_8038982C, f ActorInfo D_803933C0 = { 0x163, 0x258, 0x511, 0x12, D_80392CB0, func_80389898, func_80326224, func_8038664C, 0, 0, 0.0f, 0x8E}; ActorInfo D_803933E4 = { 0x160, 0x255, 0x509, 0x15, D_80392CB0, func_80389934, func_80326224, actor_draw, 0, 0, 0.0f, 0}; ActorInfo D_80393408 = { 0x102, 0x203, 0x491, 0x1, D_80392CB0, func_80387730, func_80326224, func_80387DA8, 0, 0, 0.0f, 0}; -struct31s D_8039342C = { +ParticleScaleAndLifetimeRanges D_8039342C = { {0.31f, 0.37f}, {0.17f, 0.22f}, {0.0f, 0.01f}, @@ -199,7 +198,7 @@ s16 D_8039347C[] = {50, 180, 260, 350, 450, 640, 765, 810, 828, 846, 864, 882}; s16 D_80393494[] = {0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B}; s32 D_803934A0[3] = {0x00, 0xFF, 0x00}; -struct31s D_803934AC = { +ParticleScaleAndLifetimeRanges D_803934AC = { {1.0f, 2.0f}, {2.4f, 5.0f}, {0.0f, 3.2f}, @@ -320,7 +319,7 @@ ParticleEmitter *func_803866D8(s32 a0) particleEmitter_manualFree(ptr); particleEmitter_setSprite(ptr, ASSET_710_SPRITE_SPARKLE_PURPLE); - func_802EFB98(ptr, &D_8039342C); + particleEmitter_setScaleAndLifetimeRanges(ptr, &D_8039342C); particleEmitter_setParticleVelocityRange(ptr, 0.f, 70.f, 0.f, 0.f, 140.f, 0.f); colour[0] = a0 * 0xFF; @@ -1191,7 +1190,7 @@ void func_80388524(Actor *this) { particleEmitter_setAlpha(sp2C, 0x3C); particleEmitter_setPosition(sp2C, this->position); particleEmitter_setPositionAndVelocityRanges(sp2C, &D_803934D4); - func_802EFB98(sp2C, &D_803934AC); + particleEmitter_setScaleAndLifetimeRanges(sp2C, &D_803934AC); particleEmitter_emitN(sp2C, 3); } break; @@ -1640,7 +1639,7 @@ void func_80389934(Actor *this) if (actor_animationIsAt(this, 0.95f)) { subaddie_set_state_with_direction(this, 0x18, 0.999f, 1); - FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 1.0f, 26000,); + FUNC_8030E624(SFX_7F_HEAVYDOOR_SLAM, 1.0f, 26000); } break; diff --git a/src/lair/code_86F0.c b/src/lair/code_86F0.c index 47d02d86..ad7b2e89 100644 --- a/src/lair/code_86F0.c +++ b/src/lair/code_86F0.c @@ -41,7 +41,7 @@ Struct_lair_86F0_0 D_803947F8[0xb] ={ { 4, 0x3, FILEPROG_7F_DOUBLE_HEALTH_PUZZLE_PIECES_PLACED} }; s32 D_80394824[3] = {0xff, 0xff, 0}; -struct31s D_80394830 = { +ParticleScaleAndLifetimeRanges D_80394830 = { {0.17f, 0.24f}, {0.08f, 0.13f}, {0.0f, 0.01f}, @@ -460,7 +460,7 @@ void lair_func_8038F924(Actor *this) { sp54 = partEmitMgr_newEmitter(6); particleEmitter_setSprite(sp54, ASSET_710_SPRITE_SPARKLE_PURPLE); particleEmitter_setAlpha(sp54, 0xFF); - func_802EFB98(sp54, &D_80394830); + particleEmitter_setScaleAndLifetimeRanges(sp54, &D_80394830); particleEmitter_setPosition(sp54, this->position); sp58[2] = randf() * 255.0f; particleEmitter_setRGB(sp54, sp58); diff --git a/src/lair/code_AD70.c b/src/lair/code_AD70.c index 36289cd6..7d801c5a 100644 --- a/src/lair/code_AD70.c +++ b/src/lair/code_AD70.c @@ -20,7 +20,7 @@ void func_80391B04(Actor *this); /* .data */ ActorInfo D_80394AB0 = { 0x1EF, 0x3BB, 0x54B, 0x1, NULL, func_80391B04, func_80326224, func_80325340, 0, 0, 0.0f, 0}; s32 D_80394AD4[3] = {0xBA, 0xBA, 0xBA}; -struct31s D_80394AE0 = { +ParticleScaleAndLifetimeRanges D_80394AE0 = { {0.1f, 0.2f}, {3.6f, 4.6f}, {1.0f, 1.0f}, @@ -28,7 +28,7 @@ struct31s D_80394AE0 = { 0.05f, 0.1f }; -struct31s D_80394B08 = { +ParticleScaleAndLifetimeRanges D_80394B08 = { {0.3f, 0.5f}, {0.0f, 0.0f}, {0.0f, 0.1f}, @@ -62,7 +62,7 @@ void func_80391160(f32 pos[3], u32 count) particleEmitter_setPosition(p, pos); particleEmitter_setParticleSpawnPositionRange(p, -55, -55, -55, 55, 55, 55); particleEmitter_setParticleVelocityRange(p, -70, -70, -70, 70, 70, 70); - func_802EFB98(p, &D_80394AE0); + particleEmitter_setScaleAndLifetimeRanges(p, &D_80394AE0); particleEmitter_emitN(p, count); } @@ -91,7 +91,7 @@ void func_8039137C(f32 pos[3], u32 count, enum asset_e sprite) func_802EFA18(p, 3); particleEmitter_setAngularVelocityRange(p, 0, 0, 600, 0, 0, 900); particleEmitter_setPositionVelocityAndAccelerationRanges(p, &D_80394B30); - func_802EFB98(p, &D_80394B08); + particleEmitter_setScaleAndLifetimeRanges(p, &D_80394B08); particleEmitter_setDrawMode(p, 2); particleEmitter_emitN(p, count); }