documentations:
- various particle system functions/structs - more in src/fight - beehive - added prototypes (reduced compiler warnings)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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];
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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));
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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,
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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)
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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));
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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]
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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);
|
||||
|
@@ -1,24 +1,31 @@
|
||||
#include <ultra64.h>
|
||||
#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
|
||||
|
@@ -1,30 +1,29 @@
|
||||
#include <ultra64.h>
|
||||
#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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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);
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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);
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#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]);
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
#include "fight.h"
|
||||
#include "core2/particle.h"
|
||||
|
||||
extern void func_80324CFC(f32, s32, s32);
|
||||
|
@@ -1,26 +1,9 @@
|
||||
#include <ultra64.h>
|
||||
#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)
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user