Make some particles unimportant objects

This commit is contained in:
Arceveti
2021-09-25 12:31:37 -07:00
parent b9e8fe1b10
commit bf3828b724
7 changed files with 15 additions and 17 deletions

View File

@@ -973,7 +973,7 @@ const BehaviorScript bhvSingleCoinGetsSpawned[] = {
};
const BehaviorScript bhvCoinSparkles[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
SET_FLOAT(oGraphYOffset, 25),
@@ -987,7 +987,7 @@ const BehaviorScript bhvCoinSparkles[] = {
DEACTIVATE(),
};
const BehaviorScript bhvGoldenCoinSparkles[] = {
const BehaviorScript bhvCoinSparklesSpawner[] = {
BEGIN(OBJ_LIST_DEFAULT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
DISABLE_RENDERING(),
@@ -1909,7 +1909,7 @@ const BehaviorScript bhvBulletBill[] = {
};
const BehaviorScript bhvWhitePuffSmoke[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
ADD_FLOAT(oPosY, -100),
@@ -3250,7 +3250,7 @@ const BehaviorScript bhvWaterDroplet[] = {
// Small splashes that are seen when a water droplet lands back into the water.
const BehaviorScript bhvWaterDropletSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
SET_INT(oFaceAnglePitch, 0),
SET_INT(oFaceAngleYaw, 0),
@@ -3266,7 +3266,7 @@ const BehaviorScript bhvWaterDropletSplash[] = {
// The splash created when an air bubble hits the surface of the water.
const BehaviorScript bhvBubbleSplash[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
SET_INT(oFaceAnglePitch, 0),
SET_INT(oFaceAngleYaw, 0),
@@ -3297,7 +3297,6 @@ const BehaviorScript bhvIdleWaterWave[] = {
};
// Water splashes similar to the splashes created by water droplets, but are created by other objects.
// Unlike water droplet splashes, they are unimportant objects.
const BehaviorScript bhvObjectWaterSplash[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@@ -3341,7 +3340,6 @@ const BehaviorScript bhvShallowWaterSplash[] = {
};
// Waves created by other objects along the water's surface, specifically the koopa shell and Sushi.
// Unlike Mario's waves, they are unimportant objects.
const BehaviorScript bhvObjectWaveTrail[] = {
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
@@ -3350,7 +3348,7 @@ const BehaviorScript bhvObjectWaveTrail[] = {
// The waves created by Mario while he is swimming.
const BehaviorScript bhvWaveTrail[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
PARENT_BIT_CLEAR(oActiveParticleFlags, ACTIVE_PARTICLE_WAVE_TRAIL),
// Wave trail - common:
@@ -3662,7 +3660,7 @@ const BehaviorScript bhvBobomb[] = {
};
const BehaviorScript bhvBobombFuseSmoke[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
SET_INT(oAnimState, -1),
@@ -4082,7 +4080,7 @@ const BehaviorScript bhvBowserBombExplosion[] = {
};
const BehaviorScript bhvBowserBombSmoke[] = {
BEGIN(OBJ_LIST_DEFAULT),
BEGIN(OBJ_LIST_UNIMPORTANT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
BILLBOARD(),
SET_FLOAT(oGraphYOffset, -288),

View File

@@ -60,7 +60,7 @@ extern const BehaviorScript bhvThreeCoinsSpawn[];
extern const BehaviorScript bhvTenCoinsSpawn[];
extern const BehaviorScript bhvSingleCoinGetsSpawned[];
extern const BehaviorScript bhvCoinSparkles[];
extern const BehaviorScript bhvGoldenCoinSparkles[];
extern const BehaviorScript bhvCoinSparklesSpawner[];
extern const BehaviorScript bhvWallTinyStarParticle[];
extern const BehaviorScript bhvVertStarParticleSpawner[];
extern const BehaviorScript bhvPoundTinyStarParticle[];

View File

@@ -39,7 +39,7 @@ void bhv_alpha_boo_key_loop(void) {
// Delete the object and spawn sparkles
obj_mark_for_deletion(o);
spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
}
}
@@ -98,7 +98,7 @@ static void beta_boo_key_dropped_loop(void) {
// Delete the object and spawn sparkles
obj_mark_for_deletion(o);
spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
}
}
}

View File

@@ -43,7 +43,7 @@ void bhv_hidden_blue_coin_loop(void) {
// Delete the coin once collected
if (o->oInteractStatus & INT_STATUS_INTERACTED) {
spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
obj_mark_for_deletion(o);
}

View File

@@ -17,7 +17,7 @@ s16 sCoinArrowPositions[][2] = { { 0, -150 }, { 0, -50 }, { 0, 50 }, { 0, 1
s32 bhv_coin_sparkles_init(void) {
if (o->oInteractStatus & INT_STATUS_INTERACTED && !(o->oInteractStatus & INT_STATUS_TOUCHED_BOB_OMB)) {
spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
obj_mark_for_deletion(o);
return 1;
}

View File

@@ -46,7 +46,7 @@ void moving_coin_flicker(void) {
}
void coin_collected(void) {
spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
}

View File

@@ -13,7 +13,7 @@ void bhv_orange_number_loop(void) {
o->oVelY = 14.0;
if (o->oTimer == 35) {
sparkleObj = spawn_object(o, MODEL_SPARKLES, bhvGoldenCoinSparkles);
sparkleObj = spawn_object(o, MODEL_SPARKLES, bhvCoinSparklesSpawner);
sparkleObj->oPosY -= 30.f;
o->activeFlags = ACTIVE_FLAG_DEACTIVATED;
}