documentations:
- various particle system functions/structs - more in src/fight - beehive - added prototypes (reduced compiler warnings)
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user