mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
ClearTag Params Cleanup (#1308)
* clearTag params * header ordering * brackets * cleanup * add note
This commit is contained in:
@@ -538,16 +538,6 @@ typedef enum {
|
||||
#define COLORFILTER_BUFFLAG_XLU 0x2000
|
||||
#define COLORFILTER_BUFFLAG_OPA 0x0000
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ CLEAR_TAG_SMALL_EXPLOSION,
|
||||
/* 0x01 */ CLEAR_TAG_LARGE_EXPLOSION,
|
||||
/* 0x02 */ CLEAR_TAG_POP,
|
||||
/* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS,
|
||||
/* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS,
|
||||
/* 0x23 */ CLEAR_TAG_SPLASH = 35,
|
||||
/* 0xC8 */ CLEAR_TAG_SMOKE = 200
|
||||
} ClearTagType;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ TATL_HINT_ID_DEFAULT,
|
||||
/* 0x01 */ TATL_HINT_ID_SNAPPER,
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_boss_04.h"
|
||||
#include "z64shrink_window.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_10 | ACTOR_FLAG_20)
|
||||
|
||||
@@ -330,7 +331,7 @@ void func_809EC568(Boss04* this, PlayState* play) {
|
||||
this->unk_704 = 0;
|
||||
this->unk_2DA = 10;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_SPLASH);
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_PARAMS(CLEAR_TAG_SPLASH));
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EN_KONB_JUMP_LEV_OLD - SFX_FLAG);
|
||||
this->subCamAtOscillator = 20;
|
||||
}
|
||||
@@ -550,7 +551,7 @@ void func_809ED2A0(Boss04* this, PlayState* play) {
|
||||
|
||||
if ((this->unk_1F8 == 2) || (this->unk_1F8 == 5)) {
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_LARGE_EXPLOSION);
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_EXPLOSION));
|
||||
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 40, NA_SE_IT_BIG_BOMB_EXPLOSION);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "z_en_am.h"
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_400 | ACTOR_FLAG_4 | ACTOR_FLAG_1)
|
||||
|
||||
@@ -484,7 +485,7 @@ s32 EnAm_UpdateDamage(EnAm* this, PlayState* play) {
|
||||
this->drawDmgEffAlpha = 4.0f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->enemyCollider.info.bumper.hitPos.x,
|
||||
this->enemyCollider.info.bumper.hitPos.y, this->enemyCollider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
EnAm_TakeDamage(this, play);
|
||||
return true;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_baguo.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4)
|
||||
@@ -347,7 +348,7 @@ void EnBaguo_CheckForDetonation(EnBaguo* this, PlayState* play) {
|
||||
}
|
||||
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, this->actor.world.pos.y,
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_POP);
|
||||
this->actor.world.pos.z, 0, 0, 0, CLEAR_TAG_PARAMS(CLEAR_TAG_POP));
|
||||
Actor_PlaySfx(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
Actor_PlaySfx(&this->actor, NA_SE_EN_BAKUO_DEAD);
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bat.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/object_bat/object_bat.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_4000)
|
||||
@@ -332,7 +333,7 @@ void EnBat_SetupDie(EnBat* this, PlayState* play) {
|
||||
this->drawDmgEffScale = 0.45f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.info.bumper.hitPos.x,
|
||||
this->collider.info.bumper.hitPos.y, this->collider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
} else if (this->actor.colChkInfo.damageEffect == BAD_BAT_DMGEFF_FIRE) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 4.0f;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bb.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_200)
|
||||
@@ -550,7 +551,7 @@ void EnBb_UpdateDamage(EnBb* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.info.bumper.hitPos.x,
|
||||
this->collider.info.bumper.hitPos.y, this->collider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bbfall.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_10 | ACTOR_FLAG_200)
|
||||
@@ -571,7 +572,8 @@ void EnBbfall_UpdateDamage(EnBbfall* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.elements[0].info.bumper.hitPos.x,
|
||||
this->collider.elements[0].info.bumper.hitPos.y,
|
||||
this->collider.elements[0].info.bumper.hitPos.z, 0, 0, 0, CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
this->collider.elements[0].info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bigokuta.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4)
|
||||
|
||||
@@ -501,7 +502,7 @@ void EnBigokuta_CheckOneHitKill(EnBigokuta* this, PlayState* play) {
|
||||
this->drawDmgEffAlpha = 4.0f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->bodyCollider.info.bumper.hitPos.x,
|
||||
this->bodyCollider.info.bumper.hitPos.y, this->bodyCollider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bigpo.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/object_bigpo/object_bigpo.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
@@ -1136,7 +1137,7 @@ s32 EnBigpo_ApplyDamage(EnBigpo* this, PlayState* play) {
|
||||
this->drawDmgEffScale = 1.0f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.info.bumper.hitPos.x,
|
||||
this->collider.info.bumper.hitPos.y, this->collider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
EnBigpo_HitStun(this);
|
||||
return true;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "z_en_bigslime.h"
|
||||
#include "z64quake.h"
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
#include "objects/object_bigslime/object_bigslime.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
@@ -2635,10 +2636,10 @@ void EnBigslime_ApplyDamageEffectGekko(EnBigslime* this, PlayState* play) {
|
||||
this->gekkoDrawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
} else {
|
||||
this->gekkoDrawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG,
|
||||
this->gekkoCollider.info.bumper.hitPos.x,
|
||||
this->gekkoCollider.info.bumper.hitPos.y,
|
||||
this->gekkoCollider.info.bumper.hitPos.z, 0, 0, 0, CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
Actor_Spawn(
|
||||
&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->gekkoCollider.info.bumper.hitPos.x,
|
||||
this->gekkoCollider.info.bumper.hitPos.y, this->gekkoCollider.info.bumper.hitPos.z, 0,
|
||||
0, 0, CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
} else if (this->actor.colChkInfo.damageEffect == BIGSLIME_DMGEFF_ICE) {
|
||||
EnBigslime_GekkoFreeze(this);
|
||||
@@ -2670,10 +2671,10 @@ void EnBigslime_ApplyDamageEffectGekko(EnBigslime* this, PlayState* play) {
|
||||
this->gekkoDrawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
} else {
|
||||
this->gekkoDrawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG,
|
||||
this->gekkoCollider.info.bumper.hitPos.x,
|
||||
this->gekkoCollider.info.bumper.hitPos.y,
|
||||
this->gekkoCollider.info.bumper.hitPos.z, 0, 0, 0, CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
Actor_Spawn(
|
||||
&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->gekkoCollider.info.bumper.hitPos.x,
|
||||
this->gekkoCollider.info.bumper.hitPos.y, this->gekkoCollider.info.bumper.hitPos.z, 0,
|
||||
0, 0, CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
}
|
||||
EnBigslime_SetupDamageGekko(this, true);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_en_bom.h"
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20)
|
||||
@@ -543,8 +544,10 @@ void EnBom_Update(Actor* thisx, PlayState* play) {
|
||||
if (Actor_HasParent(thisx, play)) {
|
||||
effPos.y += 30.0f;
|
||||
}
|
||||
//! @note Assumes `isPowderKeg` values aligns with clearTag params.
|
||||
//! Here, 0/1 are small/large explosions respectively.
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, effPos.x, effPos.y - 10.0f, effPos.z, 0, 0, 0,
|
||||
this->isPowderKeg);
|
||||
CLEAR_TAG_PARAMS(this->isPowderKeg));
|
||||
Actor_RequestQuakeAndRumble(thisx, play, sQuakeY[this->isPowderKeg],
|
||||
sQuakeDurations[this->isPowderKeg]);
|
||||
play->envCtx.lightSettings.diffuseColor1[0] = play->envCtx.lightSettings.diffuseColor1[1] =
|
||||
@@ -579,16 +582,17 @@ void EnBom_Update(Actor* thisx, PlayState* play) {
|
||||
|
||||
if ((enBomScales[this->isPowderKeg] <= thisx->scale.x) && (thisx->params != BOMB_TYPE_EXPLOSION)) {
|
||||
if (thisx->depthInWater >= 20.0f) {
|
||||
Vec3f sp54;
|
||||
Vec3f effPos;
|
||||
|
||||
sp54.x = thisx->world.pos.x;
|
||||
sp54.y = thisx->world.pos.y + thisx->depthInWater;
|
||||
sp54.z = thisx->world.pos.z;
|
||||
EffectSsGRipple_Spawn(play, &sp54, 70, 500, 0);
|
||||
EffectSsGRipple_Spawn(play, &sp54, 70, 500, 10);
|
||||
sp54.y += 10.0f;
|
||||
EffectSsGSplash_Spawn(play, &sp54, NULL, NULL, 1, 500);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, sp54.x, sp54.y, sp54.z, 0, 0, 1, 200);
|
||||
effPos.x = thisx->world.pos.x;
|
||||
effPos.y = thisx->world.pos.y + thisx->depthInWater;
|
||||
effPos.z = thisx->world.pos.z;
|
||||
EffectSsGRipple_Spawn(play, &effPos, 70, 500, 0);
|
||||
EffectSsGRipple_Spawn(play, &effPos, 70, 500, 10);
|
||||
effPos.y += 10.0f;
|
||||
EffectSsGSplash_Spawn(play, &effPos, NULL, NULL, 1, 500);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, effPos.x, effPos.y, effPos.z, 0, 0, 1,
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMOKE));
|
||||
SoundSource_PlaySfxAtFixedWorldPos(play, &thisx->world.pos, 30, NA_SE_IT_BOMB_UNEXPLOSION);
|
||||
this->unk_1F4 = 0.0f;
|
||||
thisx->velocity.y = (KREG(83) * 0.1f) + -2.0f;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_bombal.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "assets/objects/object_fusen/object_fusen.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
@@ -105,7 +106,7 @@ void func_80C05B3C(EnBombal* this, PlayState* play) {
|
||||
void func_80C05C44(EnBombal* this, PlayState* play) {
|
||||
s32 phi_s0 = false;
|
||||
s32 i;
|
||||
Vec3f pos;
|
||||
Vec3f effPos;
|
||||
|
||||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
@@ -126,13 +127,13 @@ void func_80C05C44(EnBombal* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if (phi_s0) {
|
||||
Math_Vec3f_Copy(&pos, &this->actor.world.pos);
|
||||
pos.y += 60.0f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, pos.x, pos.y, pos.z, 255, 255, 200,
|
||||
CLEAR_TAG_LARGE_EXPLOSION);
|
||||
Math_Vec3f_Copy(&effPos, &this->actor.world.pos);
|
||||
effPos.y += 60.0f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, effPos.x, effPos.y, effPos.z, 255, 255, 200,
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_EXPLOSION));
|
||||
|
||||
for (i = 0; i < 100; i++) {
|
||||
EnBombal_InitEffects(this, &pos, 10);
|
||||
EnBombal_InitEffects(this, &effPos, 10);
|
||||
}
|
||||
|
||||
SET_WEEKEVENTREG(WEEKEVENTREG_83_04);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_en_bombf.h"
|
||||
#include "z64rumble.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/object_bombf/object_bombf.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_10)
|
||||
@@ -313,7 +314,7 @@ void EnBombf_Update(Actor* thisx, PlayState* play) {
|
||||
Vec3f sp8C = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f sp80 = { 0.0f, 0.1f, 0.0f };
|
||||
Vec3f sp74 = { 0.0f, 0.0f, 0.0f };
|
||||
Vec3f sp68;
|
||||
Vec3f effPos;
|
||||
Vec3f sp5C = { 0.0f, 0.6f, 0.0f };
|
||||
Color_RGBA8 sp58 = { 255, 255, 255, 255 };
|
||||
EnBombf* this = THIS;
|
||||
@@ -375,16 +376,16 @@ void EnBombf_Update(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (this->unk_1F8 != 0) {
|
||||
sp5C.y = 0.2f;
|
||||
sp68 = this->actor.world.pos;
|
||||
sp68.y += 25.0f;
|
||||
effPos = this->actor.world.pos;
|
||||
effPos.y += 25.0f;
|
||||
|
||||
if (this->timer < 127) {
|
||||
if ((play->gameplayFrames % 2) == 0) {
|
||||
EffectSsGSpk_SpawnFuse(play, &this->actor, &sp68, &sp8C, &sp74);
|
||||
EffectSsGSpk_SpawnFuse(play, &this->actor, &effPos, &sp8C, &sp74);
|
||||
}
|
||||
Actor_PlaySfx(&this->actor, NA_SE_IT_BOMB_IGNIT - SFX_FLAG);
|
||||
sp68.y += 3.0f;
|
||||
func_800B0DE0(play, &sp68, &sp8C, &sp5C, &sp58, &sp58, 0x32, 5);
|
||||
effPos.y += 3.0f;
|
||||
func_800B0DE0(play, &effPos, &sp8C, &sp5C, &sp58, &sp58, 0x32, 5);
|
||||
}
|
||||
|
||||
if ((this->timer == 3) || (this->timer == 30) || (this->timer == 50) || (this->timer == 70)) {
|
||||
@@ -402,15 +403,15 @@ void EnBombf_Update(Actor* thisx, PlayState* play) {
|
||||
}
|
||||
|
||||
if (this->timer == 0) {
|
||||
sp68 = this->actor.world.pos;
|
||||
sp68.y += 10.0f;
|
||||
effPos = this->actor.world.pos;
|
||||
effPos.y += 10.0f;
|
||||
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
sp68.y += 30.0f;
|
||||
effPos.y += 30.0f;
|
||||
}
|
||||
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, sp68.x, sp68.y, sp68.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_EXPLOSION);
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, effPos.x, effPos.y, effPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_EXPLOSION));
|
||||
Actor_PlaySfx(&this->actor, NA_SE_IT_BOMB_EXPLOSION);
|
||||
|
||||
play->envCtx.lightSettings.diffuseColor1[0] = play->envCtx.lightSettings.diffuseColor1[1] =
|
||||
|
||||
@@ -435,7 +435,7 @@ void EnClearTag_Init(Actor* thisx, PlayState* play) {
|
||||
|
||||
if (thisx->params != CLEAR_TAG_SPLASH) {
|
||||
// Initialize isolated light ray effect
|
||||
if (thisx->params == CLEAR_TAG_SMALL_LIGHT_RAYS || thisx->params == CLEAR_TAG_LARGE_LIGHT_RAYS) {
|
||||
if ((thisx->params == CLEAR_TAG_SMALL_LIGHT_RAYS) || (thisx->params == CLEAR_TAG_LARGE_LIGHT_RAYS)) {
|
||||
for (i = 0; i < 54; i++) {
|
||||
lightRayMaxScale =
|
||||
sLightRayMaxScale[thisx->params] + Rand_ZeroFloat(sLightRayMaxScale[thisx->params]);
|
||||
|
||||
@@ -5,6 +5,18 @@
|
||||
|
||||
struct EnClearTag;
|
||||
|
||||
#define CLEAR_TAG_PARAMS(type) (type)
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ CLEAR_TAG_SMALL_EXPLOSION,
|
||||
/* 0x01 */ CLEAR_TAG_LARGE_EXPLOSION,
|
||||
/* 0x02 */ CLEAR_TAG_POP,
|
||||
/* 0x03 */ CLEAR_TAG_SMALL_LIGHT_RAYS,
|
||||
/* 0x04 */ CLEAR_TAG_LARGE_LIGHT_RAYS,
|
||||
/* 0x23 */ CLEAR_TAG_SPLASH = 35,
|
||||
/* 0xC8 */ CLEAR_TAG_SMOKE = 200
|
||||
} ClearTagType;
|
||||
|
||||
typedef struct EnClearTagEffect {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x01 */ u8 actionTimer;
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_en_col_man.h"
|
||||
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_100000)
|
||||
@@ -200,7 +201,7 @@ void func_80AFE25C(EnColMan* this, PlayState* play) {
|
||||
if (this->actor.params == EN_COL_MAN_CUTSCENE_BOMB) {
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.parent->world.pos.x,
|
||||
this->actor.parent->world.pos.y, this->actor.parent->world.pos.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_EXPLOSION);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_EXPLOSION));
|
||||
} else {
|
||||
EnBom* bomb = (EnBom*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_BOM, this->actor.world.pos.x,
|
||||
this->actor.world.pos.y, this->actor.world.pos.z,
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_crow.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_4000)
|
||||
|
||||
@@ -317,7 +318,7 @@ void EnCrow_SetupDamaged(EnCrow* this, PlayState* play) {
|
||||
this->drawDmgEffFrozenSteamScale = 0.5f;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.elements->info.bumper.hitPos.x,
|
||||
this->collider.elements->info.bumper.hitPos.y, this->collider.elements->info.bumper.hitPos.z, 0, 0,
|
||||
0, CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
0, CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
} else if (this->actor.colChkInfo.damageEffect == GUAY_DMGEFF_FIRE) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FIRE;
|
||||
this->drawDmgEffAlpha = 4.0f;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_dekubaba.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
@@ -280,7 +281,7 @@ void EnDekubaba_SetFireLightEffects(EnDekubaba* this, PlayState* play, s32 index
|
||||
sphElement = &this->collider.elements[index];
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, sphElement->info.bumper.hitPos.x,
|
||||
sphElement->info.bumper.hitPos.y, sphElement->info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_dekunuts.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
|
||||
@@ -610,7 +611,7 @@ void func_808BE73C(EnDekunuts* this, PlayState* play) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->collider.info.bumper.hitPos.x,
|
||||
this->collider.info.bumper.hitPos.y, this->collider.info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_SMALL_LIGHT_RAYS);
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_SMALL_LIGHT_RAYS));
|
||||
} else if (this->actor.colChkInfo.damageEffect == 5) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_LARGE;
|
||||
this->drawDmgEffAlpha = 4.0f;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include "z_en_dinofos.h"
|
||||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "objects/object_dinofos/object_dinofos.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_4 | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_400)
|
||||
@@ -1332,7 +1333,8 @@ s32 func_8089D60C(EnDinofos* this, PlayState* play) {
|
||||
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG,
|
||||
this->colliderJntSph.elements[i].info.bumper.hitPos.x,
|
||||
this->colliderJntSph.elements[i].info.bumper.hitPos.y,
|
||||
this->colliderJntSph.elements[i].info.bumper.hitPos.z, 0, 0, 0, CLEAR_TAG_LARGE_LIGHT_RAYS);
|
||||
this->colliderJntSph.elements[i].info.bumper.hitPos.z, 0, 0, 0,
|
||||
CLEAR_TAG_PARAMS(CLEAR_TAG_LARGE_LIGHT_RAYS));
|
||||
}
|
||||
func_8089C87C(this, i);
|
||||
return true;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user