1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-04 06:54:33 +00:00

Document Attention/Lock-on Related Actor Flags (#2161)

* document actor flags 0, 2, 3, and 27

* format

* fly -> hover

* wodring
This commit is contained in:
fig02 2024-09-07 17:53:48 -04:00 committed by GitHub
parent a039aeffb7
commit 2056ae5f1a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
181 changed files with 616 additions and 597 deletions

View file

@ -107,14 +107,19 @@ typedef struct ActorShape {
/* 0x18 */ Vec3f feetPos[2]; // Update by using `Actor_SetFeetPos` in PostLimbDraw
} ActorShape; // size = 0x30
//
#define ACTOR_FLAG_0 (1 << 0)
// Actor is discoverable by the Attention System. This enables Navi to hover over the actor when it is in range.
// The actor can also be locked onto (as long as `ACTOR_FLAG_LOCK_ON_DISABLED` is not set).
#define ACTOR_FLAG_ATTENTION_ENABLED (1 << 0)
//
#define ACTOR_FLAG_2 (1 << 2)
// Actor is hostile toward the Player. Player has specific "battle" behavior when locked onto hostile actors.
// Enemy background music will also be played when the player is close enough to a hostile actor.
// Note: This must be paired with `ACTOR_FLAG_ATTENTION_ENABLED` to have any effect.
#define ACTOR_FLAG_HOSTILE (1 << 2)
//
#define ACTOR_FLAG_3 (1 << 3)
// Actor is not hostile toward the player; Opposite flag of `ACTOR_FLAG_HOSTILE`.
// Note that this flag doesn't have any effect on either the actor, or Player's behvaior.
// What actually matters is the presence or lack of `ACTOR_FLAG_HOSTILE`.
#define ACTOR_FLAG_NEUTRAL (1 << 3)
//
#define ACTOR_FLAG_4 (1 << 4)
@ -187,8 +192,9 @@ typedef struct ActorShape {
//
#define ACTOR_FLAG_26 (1 << 26)
//
#define ACTOR_FLAG_27 (1 << 27)
// Player is not able to lock onto the actor.
// Navi will still be able to hover over the actor, assuming `ACTOR_FLAG_ATTENTION_ENABLED` is set.
#define ACTOR_FLAG_LOCK_ON_DISABLED (1 << 27)
//
#define ACTOR_FLAG_28 (1 << 28)

View file

@ -431,7 +431,7 @@ void Attention_Draw(Attention* attention, PlayState* play) {
actor = attention->arrowHoverActor;
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_27)) {
if ((actor != NULL) && !(actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
AttentionColor* attentionColor = &sAttentionColors[actor->category];
POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_7);
@ -545,8 +545,9 @@ void Attention_Update(Attention* attention, Player* player, Actor* playerFocusAc
attention->reticleFadeAlphaControl = 0;
}
lockOnSfxId = CHECK_FLAG_ALL(playerFocusActor->flags, ACTOR_FLAG_0 | ACTOR_FLAG_2) ? NA_SE_SY_LOCK_ON
: NA_SE_SY_LOCK_ON_HUMAN;
lockOnSfxId = CHECK_FLAG_ALL(playerFocusActor->flags, ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
? NA_SE_SY_LOCK_ON
: NA_SE_SY_LOCK_ON_HUMAN;
Sfx_PlaySfxCentered(lockOnSfxId);
}
@ -848,7 +849,7 @@ s32 TitleCard_Clear(PlayState* play, TitleCardContext* titleCtx) {
void Actor_Kill(Actor* actor) {
actor->draw = NULL;
actor->update = NULL;
actor->flags &= ~ACTOR_FLAG_0;
actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void Actor_SetWorldToHome(Actor* actor) {
@ -1589,7 +1590,7 @@ f32 Attention_WeightedDistToPlayerSq(Actor* actor, Player* player, s16 playerSha
s16 yawTempAbs = ABS(yawTemp);
if (player->focusActor != NULL) {
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_27)) {
if ((yawTempAbs > 0x4000) || (actor->flags & ACTOR_FLAG_LOCK_ON_DISABLED)) {
return MAXFLOAT;
} else {
f32 adjDistSq;
@ -1650,14 +1651,14 @@ u32 Attention_ActorIsInRange(Actor* actor, f32 distSq) {
* Returns true if an actor lock-on should be released.
* This function does not actually release the lock-on, as that is Player's responsibility.
*
* If an actor's update function is NULL or `ACTOR_FLAG_0` is unset, the lock-on should be released.
* If an actor's update function is NULL or `ACTOR_FLAG_ATTENTION_ENABLED` is unset, the lock-on should be released.
*
* There is also a check for Player exceeding the lock-on leash distance.
* Note that this check will be ignored if `ignoreLeash` is true.
*
*/
s32 Attention_ShouldReleaseLockOn(Actor* actor, Player* player, s32 ignoreLeash) {
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_0)) {
if ((actor->update == NULL) || !(actor->flags & ACTOR_FLAG_ATTENTION_ENABLED)) {
return true;
}
@ -3208,7 +3209,7 @@ s16 sAttentionPlayerRotY;
* To be considered an attention actor the actor needs to:
* - Have a non-NULL update function (still active)
* - Not be player (this is technically a redundant check because the PLAYER category is never searched)
* - Have `ACTOR_FLAG_0` set
* - Have `ACTOR_FLAG_ATTENTION_ENABLED` set
* - Not be the current focus actor
* - Be the closest attention actor found so far
* - Be within range, specified by attentionRangeType
@ -3233,8 +3234,10 @@ void Attention_FindActorInCategory(PlayState* play, ActorContext* actorCtx, Play
playerFocusActor = player->focusActor;
while (actor != NULL) {
if ((actor->update != NULL) && ((Player*)actor != player) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_0)) {
if ((actorCategory == ACTORCAT_ENEMY) && CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_0 | ACTOR_FLAG_2) &&
if ((actor->update != NULL) && ((Player*)actor != player) &&
CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_ATTENTION_ENABLED)) {
if ((actorCategory == ACTORCAT_ENEMY) &&
CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE) &&
(actor->xyzDistToPlayerSq < SQ(500.0f)) && (actor->xyzDistToPlayerSq < sBgmEnemyDistSq)) {
actorCtx->attention.bgmEnemy = actor;
sBgmEnemyDistSq = actor->xyzDistToPlayerSq;
@ -4335,10 +4338,10 @@ s16 func_80034DD4(Actor* actor, PlayState* play, s16 arg2, f32 arg3) {
}
if (arg3 < var) {
actor->flags &= ~ACTOR_FLAG_0;
actor->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Math_SmoothStepToS(&arg2, 0, 6, 0x14, 1);
} else {
actor->flags |= ACTOR_FLAG_0;
actor->flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Math_SmoothStepToS(&arg2, 0xFF, 6, 0x14, 1);
}

View file

@ -132,7 +132,7 @@ void EnAObj_Init(Actor* thisx, PlayState* play) {
break;
case A_OBJ_UNKNOWN_6:
this->focusYoffset = 10.0f;
thisx->flags |= ACTOR_FLAG_0;
thisx->flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->dyna.bgId = 5;
thisx->gravity = -2.0f;
EnAObj_SetupWaitTalk(this, thisx->params);
@ -146,7 +146,7 @@ void EnAObj_Init(Actor* thisx, PlayState* play) {
case A_OBJ_SIGNPOST_ARROW:
thisx->textId = (this->textId & 0xFF) | 0x300;
thisx->lockOnArrowOffset = 500.0f;
thisx->flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
thisx->flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL;
this->focusYoffset = 45.0f;
EnAObj_SetupWaitTalk(this, thisx->params);
Collider_InitCylinder(play, &this->collider);

View file

@ -1,6 +1,7 @@
#include "global.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_26)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_26)
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"

View file

@ -164,7 +164,7 @@ void BgBdanSwitch_Init(Actor* thisx, PlayState* play) {
case YELLOW_TALL_1:
case YELLOW_TALL_2:
BgBdanSwitch_InitCollision(this, play);
this->dyna.actor.flags |= ACTOR_FLAG_0;
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->dyna.actor.attentionRangeType = ATTENTION_RANGE_4;
break;
}

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_haka_objects/object_haka_objects.h"
#include "assets/objects/object_ice_objects/object_ice_objects.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4)
typedef enum SpinningScytheTrapMode {
/* 0 */ SCYTHE_TRAP_SHADOW_TEMPLE,
@ -170,7 +170,7 @@ void BgHakaSgami_Init(Actor* thisx, PlayState* play) {
if (thisx->params == SCYTHE_TRAP_SHADOW_TEMPLE) {
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_HAKA_OBJECTS);
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, OBJECT_ICE_OBJECTS);
this->colliderScytheCenter.dim.radius = 30;

View file

@ -1,7 +1,7 @@
#include "z_bg_jya_bombchuiwa.h"
#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h"
#include "assets/objects/object_jya_obj/object_jya_obj.h"
#define FLAGS ACTOR_FLAG_0
#define FLAGS ACTOR_FLAG_ATTENTION_ENABLED
void BgJyaBombchuiwa_Init(Actor* thisx, PlayState* play);
void BgJyaBombchuiwa_Destroy(Actor* thisx, PlayState* play2);
@ -162,7 +162,7 @@ void BgJyaBombchuiwa_CleanUpAfterExplosion(BgJyaBombchuiwa* this, PlayState* pla
BgJyaBombchuiwa_SetDrawFlags(this, 4);
this->lightRayIntensity = 0.3f;
this->timer = 0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void func_808949B8(BgJyaBombchuiwa* this, PlayState* play) {

View file

@ -330,7 +330,7 @@ void BgMizuMovebg_UpdateMain(BgMizuMovebg* this, PlayState* play) {
this->dyna.actor.child->world.pos.x = this->dyna.actor.world.pos.x + offsetPos.x;
this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + offsetPos.y;
this->dyna.actor.child->world.pos.z = this->dyna.actor.world.pos.z + offsetPos.z;
this->dyna.actor.child->flags &= ~ACTOR_FLAG_0;
this->dyna.actor.child->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
break;
}

View file

@ -138,7 +138,7 @@ s32 BgMoriHashigo_SpawnLadder(BgMoriHashigo* this, PlayState* play) {
s32 BgMoriHashigo_InitClasp(BgMoriHashigo* this, PlayState* play) {
Actor_ProcessInitChain(&this->dyna.actor, sInitChainClasp);
this->dyna.actor.flags |= ACTOR_FLAG_0;
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetFocus(&this->dyna.actor, 55.0f);
BgMoriHashigo_InitCollider(this, play);
if ((this->dyna.actor.params == HASHIGO_CLASP) && !BgMoriHashigo_SpawnLadder(this, play)) {

View file

@ -142,9 +142,9 @@ void func_808BC8B8(BgTreemouth* this, PlayState* play) {
if (!LINK_IS_ADULT) {
if (Flags_GetEventChkInf(EVENTCHKINF_0C)) {
if (Actor_IsFacingAndNearPlayer(&this->dyna.actor, 1658.0f, 0x7530)) {
this->dyna.actor.flags |= ACTOR_FLAG_0;
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
if (this->dyna.actor.isLockedOn) {
this->dyna.actor.flags &= ~ACTOR_FLAG_0;
this->dyna.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
play->csCtx.script = D_808BD2A0;
gSaveContext.cutsceneTrigger = 1;
BgTreemouth_SetupAction(this, func_808BC9EC);

View file

@ -3,7 +3,7 @@
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#include "assets/scenes/dungeons/ddan_boss/ddan_boss_room_1.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void BossDodongo_Init(Actor* thisx, PlayState* play);
void BossDodongo_Destroy(Actor* thisx, PlayState* play);
@ -217,7 +217,7 @@ void BossDodongo_Init(Actor* thisx, PlayState* play) {
}
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void BossDodongo_Destroy(Actor* thisx, PlayState* play) {
@ -476,7 +476,7 @@ void BossDodongo_SetupWalk(BossDodongo* this) {
this->unk_1AA = 0;
this->actionFunc = BossDodongo_Walk;
this->unk_1DA = 0;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->unk_1E4 = 0.0f;
}
@ -1279,7 +1279,7 @@ void BossDodongo_SetupDeathCutscene(BossDodongo* this) {
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_K_DEAD);
this->unk_1DA = 0;
this->csState = 0;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
this->unk_1BC = 1;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 1);
}

View file

@ -12,7 +12,7 @@
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
typedef enum BossFdIntroFlyState {
/* 0 */ INTRO_FLY_EMERGE,
@ -1277,9 +1277,9 @@ void BossFd_Effects(BossFd* this, PlayState* play) {
}
if ((this->actor.world.pos.y < 90.0f) || (700.0f < this->actor.world.pos.y) || (this->actionFunc == BossFd_Wait)) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
}

View file

@ -10,7 +10,7 @@
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
typedef enum BossFd2CutsceneState {
/* 0 */ DEATH_START,
@ -612,7 +612,7 @@ void BossFd2_SetupDeath(BossFd2* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gHoleVolvagiaDamagedAnim, 1.0f, 0.0f, this->fwork[FD2_END_FRAME],
ANIMMODE_ONCE_INTERP, -3.0f);
this->actionFunc = BossFd2_Death;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->deathState = DEATH_START;
}
@ -995,9 +995,9 @@ void BossFd2_Update(Actor* thisx, PlayState* play2) {
this->fwork[FD2_TEX2_SCROLL_X] += 3.0f;
this->fwork[FD2_TEX2_SCROLL_Y] -= 2.0f;
if (this->actor.focus.pos.y < 90.0f) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
}

View file

@ -9,7 +9,7 @@
#include "assets/objects/object_ganon_anime2/object_ganon_anime2.h"
#include "assets/scenes/dungeons/ganon_boss/ganon_boss_scene.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void BossGanon_Init(Actor* thisx, PlayState* play2);
void BossGanon_Destroy(Actor* thisx, PlayState* play);
@ -392,7 +392,7 @@ void BossGanon_Init(Actor* thisx, PlayState* play2) {
0, 0, 1);
Actor_ChangeCategory(play, &play->actorCtx, thisx, ACTORCAT_BOSS);
} else {
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->fwork[GDF_FWORK_1] = 255.0f;
if (thisx->params >= 0xC8) {
@ -2521,7 +2521,7 @@ void BossGanon_Vulnerable(BossGanon* this, PlayState* play) {
Vec3f sp40;
if (this->timers[3] == 0) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
SkelAnime_Update(&this->skelAnime);
@ -2671,7 +2671,7 @@ void BossGanon_SetupDamaged(BossGanon* this, PlayState* play) {
}
void BossGanon_Damaged(BossGanon* this, PlayState* play) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
SkelAnime_Update(&this->skelAnime);
@ -2832,7 +2832,7 @@ void BossGanon_Update(Actor* thisx, PlayState* play2) {
this->collider.base.colType = 3;
sCape->gravity = -3.0f;
this->shockGlow = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->unk_1A2++;
this->unk_1A4++;

View file

@ -7,7 +7,7 @@
#include "assets/objects/object_ganon_anime3/object_ganon_anime3.h"
#include "assets/objects/object_geff/object_geff.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void BossGanon2_Init(Actor* thisx, PlayState* play);
void BossGanon2_Destroy(Actor* thisx, PlayState* play);
@ -175,7 +175,7 @@ void func_808FD4D4(BossGanon2* this, PlayState* play, s16 arg2, s16 arg3) {
void func_808FD5C4(BossGanon2* this, PlayState* play) {
this->actionFunc = func_808FD5F4;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.world.pos.y = -3000.0f;
}
@ -882,7 +882,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
this->unk_337 = 1;
func_808FFDB0(this, play);
this->unk_1A2[1] = 50;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
sZelda->unk_3C8 = 7;
}
break;
@ -1054,7 +1054,7 @@ void func_808FFDB0(BossGanon2* this, PlayState* play) {
}
this->unk_336 = 1;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->unk_228 = 1.0f;
this->unk_224 = 1.0f;
} else {

View file

@ -12,7 +12,7 @@
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
typedef enum BossGanondrofDeathState {
/* 0 */ NOT_DEAD,
@ -296,7 +296,7 @@ void BossGanondrof_Init(Actor* thisx, PlayState* play) {
Collider_InitCylinder(play, &this->colliderSpear);
Collider_SetCylinder(play, &this->colliderBody, &this->actor, &sCylinderInitBody);
Collider_SetCylinder(play, &this->colliderSpear, &this->actor, &sCylinderInitSpear);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (Flags_GetClear(play, play->roomCtx.curRoom.num)) {
Actor_Kill(&this->actor);
Actor_Spawn(&play->actorCtx, play, ACTOR_DOOR_WARP1, GND_BOSSROOM_CENTER_X, GND_BOSSROOM_CENTER_Y,
@ -438,7 +438,7 @@ void BossGanondrof_Paintings(BossGanondrof* this, PlayState* play) {
EnfHG* horseTemp;
Animation_MorphToPlayOnce(&this->skelAnime, &gPhantomGanonRideSpearRaiseAnim, -2.0f);
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
horseTemp = (EnfHG*)this->actor.child;
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_FHG_FIRE, this->spearTip.x, this->spearTip.y,
this->spearTip.z, 30, FHGFIRE_LIGHT_GREEN, 0, FHGFIRE_SPEAR_LIGHT);
@ -449,7 +449,7 @@ void BossGanondrof_Paintings(BossGanondrof* this, PlayState* play) {
Animation_MorphToPlayOnce(&this->skelAnime, &gPhantomGanonRideSpearResetAnim, -2.0f);
} else if (horse->bossGndSignal == FHG_RIDE) {
Animation_MorphToLoop(&this->skelAnime, &gPhantomGanonRideAnim, -2.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
PRINTF("RUN 3\n");
@ -476,7 +476,7 @@ void BossGanondrof_Paintings(BossGanondrof* this, PlayState* play) {
void BossGanondrof_SetupNeutral(BossGanondrof* this, f32 arg1) {
Animation_MorphToLoop(&this->skelAnime, &gPhantomGanonNeutralAnim, arg1);
this->actionFunc = BossGanondrof_Neutral;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->fwork[GND_FLOAT_SPEED] = 0.0f;
this->timers[0] = (s16)(Rand_ZeroOne() * 64.0f) + 30;
}
@ -931,7 +931,7 @@ void BossGanondrof_SetupDeath(BossGanondrof* this, PlayState* play) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 1);
Actor_PlaySfx(&this->actor, NA_SE_EN_FANTOM_DEAD);
this->deathState = DEATH_START;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->work[GND_VARIANCE_TIMER] = 0;
this->shockTimer = 50;
}

View file

@ -4,7 +4,7 @@
#include "overlays/actors/ovl_Door_Shutter/z_door_shutter.h"
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
// IRIS_FOLLOW: gohma looks towards the player (iris rotation)
// BONUS_IFRAMES: gain invincibility frames when the player does something (throwing things?), or
@ -404,7 +404,7 @@ void BossGoma_SetupDefeated(BossGoma* this, PlayState* play) {
this->noBackfaceCulling = false;
this->framesUntilNextAction = 1200;
this->actionState = 0;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
this->actor.speed = 0.0f;
this->actor.shape.shadowScale = 0.0f;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 1);
@ -627,7 +627,7 @@ void BossGoma_SetupEncounterState4(BossGoma* this, PlayState* play) {
player = GET_PLAYER(play);
this->actionState = 4;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Cutscene_StartManual(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
this->subCamId = Play_CreateSubCamera(play);
@ -718,7 +718,7 @@ void BossGoma_Encounter(BossGoma* this, PlayState* play) {
this->framesUntilNextAction = 50;
this->timer = 80;
this->frameCount = 0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
FALLTHROUGH;
case 2: // zoom on player from room center
// room entrance, towards center

View file

@ -12,7 +12,7 @@
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define MO_WATER_LEVEL(play) play->colCtx.colHeader->waterBoxes[0].ySurface
@ -526,7 +526,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
}
switch (this->work[MO_TENT_ACTION_STATE]) {
case MO_TENT_WAIT:
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (this == sMorphaTent2) {
this->work[MO_TENT_ACTION_STATE] = MO_TENT_SPAWN;
this->timers[0] = 70;
@ -919,7 +919,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Vec3f spFC;
Vec3f spF0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Math_ApproachF(&this->baseAlpha, 0.0, 1.0f, 5.0f);
for (indS1 = 0; indS1 < 40; indS1++) {
indS0 = sTentSpawnIndex[(s16)Rand_ZeroFloat(20.9f)];
@ -963,7 +963,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
}
break;
case MO_TENT_DESPAWN:
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Math_ApproachF(&this->baseAlpha, 0, 1.0f, 5.0f);
if ((this->baseAlpha <= 0.5f) && (this->timers[0] == 0)) {
this->meltIndex = 0;
@ -990,7 +990,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
case MO_TENT_DEATH_3:
this->baseBubblesTimer = 20;
Math_ApproachF(&sMorphaCore->waterLevel, -300.0f, 0.1f, 0.8f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
for (indS1 = 0; indS1 < 41; indS1++) {
sin = Math_SinS(((s16)this->fwork[MO_TENT_SWING_LAG_X] * indS1) + this->xSwing);
tempf1 = this->fwork[MO_TENT_SWING_SIZE_X] * (indS1 * 0.025f * sin);
@ -1357,8 +1357,8 @@ void BossMo_IntroCs(BossMo* this, PlayState* play) {
this->subCamFov = 60.0f;
this->actor.world.pos = sMorphaTent1->actor.world.pos;
this->work[MO_TENT_ACTION_STATE] = MO_CORE_INTRO_REVEAL;
this->actor.flags &= ~ACTOR_FLAG_0;
sMorphaTent1->actor.flags |= ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
sMorphaTent1->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
goto intro_reveal;
}
sMorphaTent1->xSwing = 0xCEC;
@ -1569,7 +1569,7 @@ void BossMo_DeathCs(BossMo* this, PlayState* play) {
Rand_ZeroFloat(0.08f) + 0.13f);
}
this->drawActor = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_PlaySfx(&this->actor, NA_SE_EN_MOFER_CORE_JUMP);
SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 70, NA_SE_EN_MOFER_LASTVOICE);
}
@ -1810,7 +1810,7 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) {
sMorphaTent1->cutScale = 1.0f;
sMorphaTent1->work[MO_TENT_ACTION_STATE] = MO_TENT_CUT;
sMorphaTent1->timers[0] = 40;
sMorphaTent1->actor.flags &= ~ACTOR_FLAG_0;
sMorphaTent1->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (player->actor.parent == &sMorphaTent1->actor) {
player->av2.actionVar2 = 0x65;
player->actor.parent = NULL;
@ -1877,7 +1877,7 @@ void BossMo_Core(BossMo* this, PlayState* play) {
if ((this->csState != MO_BATTLE) && (this->csState < MO_DEATH_START)) {
BossMo_IntroCs(this, play);
if (this->work[MO_TENT_ACTION_STATE] == MO_CORE_INTRO_WAIT) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
return;
}
} else if (this->csState >= MO_DEATH_START) {
@ -1910,7 +1910,7 @@ void BossMo_Core(BossMo* this, PlayState* play) {
}
switch (this->work[MO_TENT_ACTION_STATE]) {
case MO_CORE_MOVE:
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
if ((this->timers[0] == 0) &&
((sMorphaTent1->work[MO_TENT_ACTION_STATE] == MO_TENT_WAIT) ||
(sMorphaTent1->work[MO_TENT_ACTION_STATE] == MO_TENT_READY)) &&
@ -1949,7 +1949,7 @@ void BossMo_Core(BossMo* this, PlayState* play) {
}
break;
case MO_CORE_STUNNED:
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
if (this->timers[0] == 0) {
this->work[MO_TENT_ACTION_STATE] = MO_CORE_MOVE;
this->timers[0] = 30;
@ -1966,7 +1966,7 @@ void BossMo_Core(BossMo* this, PlayState* play) {
if (this->timers[0] == 0) {
switch (this->work[MO_TENT_ACTION_STATE]) {
case MO_CORE_ATTACK:
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->work[MO_CORE_POS_IN_TENT]++;
if (sMorphaTent1->work[MO_TENT_ACTION_STATE] == MO_TENT_ATTACK) {
temp = (s16)(Math_SinS(this->work[MO_TENT_MOVE_TIMER] * 0x300) * 10.0f) + 15;
@ -1991,7 +1991,7 @@ void BossMo_Core(BossMo* this, PlayState* play) {
this->timers[0] = 0;
break;
case MO_CORE_INTRO_REVEAL:
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->work[MO_CORE_POS_IN_TENT]++;
temp = (s16)(Math_SinS(this->work[MO_TENT_MOVE_TIMER] * 0x500) * 10.0f) + 15;
if (this->work[MO_CORE_POS_IN_TENT] >= temp) {
@ -2258,7 +2258,7 @@ void BossMo_UpdateCore(Actor* thisx, PlayState* play) {
}
BossMo_UpdateEffects(this, play);
if (player->actor.parent != NULL) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
#if !PLATFORM_N64

View file

@ -12,7 +12,7 @@
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_10)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_10)
#define vParity actionVar
#define vVanish actionVar
@ -304,7 +304,7 @@ void BossSst_Init(Actor* thisx, PlayState* play2) {
sHands[LEFT]->actor.child = &sHands[RIGHT]->actor;
sHands[RIGHT]->actor.child = &sHands[LEFT]->actor;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.update = BossSst_UpdateHead;
this->actor.draw = BossSst_DrawHead;
this->radius = -650.0f;
@ -329,7 +329,7 @@ void BossSst_Init(Actor* thisx, PlayState* play2) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 95.0f);
this->handZPosMod = -3500;
this->actor.lockOnArrowOffset = 5000.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossSst_HandSetupWait(this);
}
}
@ -403,8 +403,8 @@ void BossSst_HeadIntro(BossSst* this, PlayState* play) {
}
if (this->timer == 0) {
sHands[RIGHT]->actor.flags |= ACTOR_FLAG_0;
sHands[LEFT]->actor.flags |= ACTOR_FLAG_0;
sHands[RIGHT]->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
sHands[LEFT]->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
player->stateFlags1 &= ~PLAYER_STATE1_5;
Cutscene_StopManual(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_7);
@ -1401,7 +1401,7 @@ void BossSst_HandSetupRetreat(BossSst* this) {
Animation_MorphToPlayOnce(&this->skelAnime, sHandHangPoses[this->actor.params], 10.0f);
this->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
this->colliderJntSph.base.acFlags |= AC_ON;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
BossSst_HandSetInvulnerable(this, false);
this->timer = 0;
this->actionFunc = BossSst_HandRetreat;
@ -2055,7 +2055,7 @@ void BossSst_HandShake(BossSst* this, PlayState* play) {
this->timer = 80;
}
} else if (this->timer == 0) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
BossSst_HandSetupSlam(this);
}
}
@ -2536,7 +2536,7 @@ void BossSst_HandCollisionCheck(BossSst* this, PlayState* play) {
BossSst_HandSetupRetreat(OTHER_HAND(this));
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (this->actor.colChkInfo.damageEffect == 3) {
BossSst_HandSetupFrozen(this);
} else {
@ -2678,9 +2678,9 @@ void BossSst_UpdateHead(Actor* thisx, PlayState* play) {
((this->actionFunc == BossSst_HeadReadyCharge) || (this->actionFunc == BossSst_HeadCharge) ||
(this->actionFunc == BossSst_HeadFrozenHand) || (this->actionFunc == BossSst_HeadStunned) ||
(this->actionFunc == BossSst_HeadVulnerable) || (this->actionFunc == BossSst_HeadDamage))) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
if (this->actionFunc == BossSst_HeadCharge) {

View file

@ -3,7 +3,7 @@
#include "assets/objects/object_tw/object_tw.h"
#include "overlays/actors/ovl_Door_Warp1/z_door_warp1.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
typedef enum TwEffType {
/* 0 */ TWEFF_NONE,
@ -457,7 +457,7 @@ void BossTw_Init(Actor* thisx, PlayState* play2) {
Actor_SetScale(&this->actor, 0.01f);
this->actor.update = BossTw_BlastUpdate;
this->actor.draw = BossTw_BlastDraw;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInitBlasts);
@ -646,7 +646,7 @@ void BossTw_SetupFlyTo(BossTw* this, PlayState* play) {
BossTw* otherTw = (BossTw*)this->actor.parent;
this->unk_5F8 = 1;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = BossTw_FlyTo;
this->rotateSpeed = 0.0f;
Animation_MorphToLoop(&this->skelAnime, &gTwinrovaKotakeKoumeFlyAnim, -10.0f);
@ -1470,7 +1470,7 @@ void BossTw_SetupWait(BossTw* this, PlayState* play) {
this->actionFunc = BossTw_Wait;
this->visible = false;
this->actor.world.pos.y = -2000.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void BossTw_Wait(BossTw* this, PlayState* play) {
@ -1632,7 +1632,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, PlayState* play) {
this->csState1 = 1;
this->visible = true;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.shape.rot.y = 0;
BossTw_SetupWait(sKotakePtr, play);
BossTw_SetupWait(sKoumePtr, play);
@ -1753,7 +1753,7 @@ void BossTw_SetupCSWait(BossTw* this, PlayState* play) {
this->actionFunc = BossTw_CSWait;
this->visible = false;
this->actor.world.pos.y = -2000.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
/**
@ -1766,7 +1766,7 @@ void BossTw_TwinrovaSetupIntroCS(BossTw* this, PlayState* play) {
this->actionFunc = BossTw_TwinrovaIntroCS;
this->visible = false;
this->actor.world.pos.y = -2000.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void BossTw_TwinrovaIntroCS(BossTw* this, PlayState* play) {
@ -2372,7 +2372,7 @@ void BossTw_TwinrovaSetupDeathCS(BossTw* this, PlayState* play) {
this->actionFunc = BossTw_TwinrovaDeathCS;
Animation_MorphToLoop(&this->skelAnime, &gTwinrovaDamageAnim, -3.0f);
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->csState2 = this->csState1 = 0;
this->work[CS_TIMER_1] = this->work[CS_TIMER_2] = 0;
this->work[INVINC_TIMER] = 10000;
@ -2670,7 +2670,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, PlayState* play) {
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, TW_DEATHBALL_KOUME);
Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_BOSS_TW, this->actor.world.pos.x,
this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, TW_DEATHBALL_KOTAKE);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
}
Actor_SetScale(&this->actor, this->actor.scale.x);
@ -2723,7 +2723,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, PlayState* play) {
sKoumePtr->work[YAW_TGT] = sKotakePtr->work[YAW_TGT] = sKoumePtr->actor.shape.rot.x =
sKotakePtr->actor.shape.rot.x = sKoumePtr->actor.shape.rot.y = sKotakePtr->actor.shape.rot.y = 0;
Player_SetCsActionWithHaltedActors(play, &sKoumePtr->actor, PLAYER_CSACTION_1);
sKoumePtr->actor.flags |= ACTOR_FLAG_0;
sKoumePtr->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
break;
case 2:

View file

@ -9,7 +9,7 @@
#include "overlays/actors/ovl_En_Boom/z_en_boom.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define GET_BODY(this) ((BossVa*)(this)->actor.parent)
#define vaGorePulse offset.x
@ -756,7 +756,7 @@ void BossVa_SetupIntro(BossVa* this) {
Animation_Change(&this->skelAnime, &gBarinadeBodyAnim, 1.0f, lastFrame, lastFrame, ANIMMODE_ONCE, 0.0f);
this->actor.shape.yOffset = -450.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_BodyIntro);
}
@ -1048,7 +1048,7 @@ void BossVa_SetupBodyPhase1(BossVa* this) {
Animation_Change(&this->skelAnime, &gBarinadeBodyAnim, 1.0f, lastFrame, lastFrame, ANIMMODE_ONCE, 0.0f);
this->actor.shape.yOffset = -450.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->timer = 25;
sBodyState = 0x80;
BossVa_SetupAction(this, BossVa_BodyPhase1);
@ -1115,7 +1115,7 @@ void BossVa_SetupBodyPhase2(BossVa* this, PlayState* play) {
}
this->invincibilityTimer = 0;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_BodyPhase2);
}
@ -1181,10 +1181,10 @@ void BossVa_BodyPhase2(BossVa* this, PlayState* play) {
Math_SmoothStepToS(&this->actor.shape.rot.z, this->actor.world.rot.z, 1, 0xC8, 0);
Math_SmoothStepToF(&this->actor.shape.yOffset, -1000.0f, 1.0f, 20.0f, 0.0f);
if (!(sPhase2Timer & 0x100)) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 1.0f;
} else {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
}
@ -1247,7 +1247,7 @@ void BossVa_BodyPhase3(BossVa* this, PlayState* play) {
Actor_PlaySfx(&this->actor, NA_SE_EN_BALINADE_FAINT);
sBodyState = 1;
this->timer = 131;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
sBodyState = 0;
if (this->timer == 0) {
@ -1257,7 +1257,7 @@ void BossVa_BodyPhase3(BossVa* this, PlayState* play) {
}
Math_SmoothStepToF(&this->actor.speed, 3.0f, 1.0f, 0.15f, 0.0f);
}
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->timer--;
if (this->timer < 35) {
@ -1332,7 +1332,7 @@ void BossVa_BodyPhase3(BossVa* this, PlayState* play) {
void BossVa_SetupBodyPhase4(BossVa* this, PlayState* play) {
this->unk_1AC = 0;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->vaBodySpinRate = this->unk_1AC;
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
this->timer2 = (s16)(Rand_ZeroOne() * 150.0f) + 300;
@ -1511,7 +1511,7 @@ void BossVa_BodyPhase4(BossVa* this, PlayState* play) {
void BossVa_SetupBodyDeath(BossVa* this, PlayState* play) {
func_800F436C(&this->actor.projectedPos, NA_SE_EN_BALINADE_LEVEL - SFX_FLAG, 1.0f);
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 1);
this->vaCamRotMod = 0xC31;
sCsState = DEATH_START;
@ -1800,7 +1800,7 @@ void BossVa_SupportCut(BossVa* this, PlayState* play) {
lastFrame = Animation_GetLastFrame(&gBarinadeSupportDetachedAnim);
Animation_Change(&this->skelAnime, &gBarinadeSupportDetachedAnim, 1.0f, 0.0f, lastFrame, ANIMMODE_LOOP_INTERP,
0.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
if ((this->timer == 0) && (sCsState < DEATH_START)) {
@ -1854,7 +1854,7 @@ void BossVa_SupportCut(BossVa* this, PlayState* play) {
void BossVa_SetupStump(BossVa* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gBarinadeStumpAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gBarinadeStumpAnim),
ANIMMODE_ONCE, 0.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_Stump);
}
@ -1873,7 +1873,7 @@ void BossVa_SetupZapperIntro(BossVa* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gBarinadeZapperIdleAnim, 1.0f, lastFrame - 1.0f, lastFrame,
ANIMMODE_LOOP_INTERP, -6.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_ZapperIntro);
}
@ -1900,7 +1900,7 @@ void BossVa_SetupZapperAttack(BossVa* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gBarinadeZapperIdleAnim, 1.0f, lastFrame - 1.0f, lastFrame,
ANIMMODE_LOOP_INTERP, -6.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_ZapperAttack);
}
@ -2399,7 +2399,7 @@ void BossVa_SetupBariIntro(BossVa* this, PlayState* play) {
this->actor.world.pos.y = sInitPosOffsets[this->actor.params + 10].y + this->actor.home.pos.y;
this->actor.world.pos.z = sInitPosOffsets[this->actor.params + 10].z + this->actor.home.pos.z;
this->timer = 45;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_BariIntro);
}
@ -2521,7 +2521,7 @@ void BossVa_SetupBariPhase3Attack(BossVa* this, PlayState* play) {
this->unk_1F0 = 0x78;
this->unk_1A0 = 60.0f;
this->unk_1A8 = 0.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_BariPhase3Attack);
}
@ -2608,7 +2608,7 @@ void BossVa_SetupBariPhase2Attack(BossVa* this, PlayState* play) {
this->unk_1F0 = 0x78;
this->unk_1A0 = 60.0f;
this->unk_1A8 = 0.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_BariPhase2Attack);
}
@ -2658,7 +2658,7 @@ void BossVa_BariPhase2Attack(BossVa* this, PlayState* play) {
if (!(sPhase2Timer & 0x100) && (GET_BODY(this)->actor.colorFilterTimer == 0)) {
sp4C = 200.0f;
BossVa_Spark(play, this, 1, 125, 15.0f, 7.0f, SPARK_TETHER, 1.0f, true);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (PARAMS_GET_U(this->actor.params, 0, 1)) {
sp4C = -200.0f;
}
@ -2681,7 +2681,7 @@ void BossVa_BariPhase2Attack(BossVa* this, PlayState* play) {
CollisionCheck_SetAT(play, &play->colChkCtx, &this->colliderLightning.base);
CollisionCheck_SetAT(play, &play->colChkCtx, &this->colliderSph.base);
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Math_SmoothStepToS(&this->unk_1AC, sp50 + 150, 1, 0x3C, 0);
if (GET_BODY(this)->actor.colorFilterTimer == 0) {
Math_SmoothStepToF(&this->unk_1A0, 180.0f, 1.0f, 1.5f, 0.0f);
@ -2722,7 +2722,7 @@ void BossVa_BariPhase2Attack(BossVa* this, PlayState* play) {
}
void BossVa_SetupBariPhase3Stunned(BossVa* this, PlayState* play) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->timer = GET_BODY(this)->timer;
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_XLU, this->timer);
BossVa_SetupAction(this, BossVa_BariPhase3Stunned);
@ -2755,7 +2755,7 @@ void BossVa_BariPhase3Stunned(BossVa* this, PlayState* play) {
} else {
BossVa_Spark(play, this, 1, 85, 15.0f, 0.0f, SPARK_TETHER, 1.0f, true);
if (this->timer2 >= 0x10) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->timer2 = 0x80;
BossVa_SetupAction(this, BossVa_BariPhase3Attack);
}
@ -2764,7 +2764,7 @@ void BossVa_BariPhase3Stunned(BossVa* this, PlayState* play) {
}
void BossVa_SetupBariDeath(BossVa* this) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->timer = 30;
Actor_PlaySfx(&this->actor, NA_SE_EN_BALINADE_BL_DEAD);
this->isDead++;
@ -2782,7 +2782,7 @@ void BossVa_SetupDoor(BossVa* this, PlayState* play) {
if (sCsState >= INTRO_SPAWN_BARI) {
sDoorState = 100;
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
BossVa_SetupAction(this, BossVa_Door);
}

View file

@ -11,7 +11,7 @@
#include "assets/objects/object_im/object_im.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4)
void DemoIm_Init(Actor* thisx, PlayState* play);
void DemoIm_Destroy(Actor* thisx, PlayState* play);
@ -861,7 +861,7 @@ s32 func_80986A5C(DemoIm* this, PlayState* play) {
}
s32 func_80986AD0(DemoIm* this, PlayState* play) {
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL;
if (!Actor_TalkOfferAccepted(&this->actor, play)) {
this->actor.textId = 0x708E;
Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play);
@ -957,7 +957,7 @@ void func_80986DC8(DemoIm* this, PlayState* play) {
DemoIm_UpdateSkelAnime(this);
func_80984BE0(this);
func_80984E58(this, play);
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL);
}
void func_80986E20(DemoIm* this, PlayState* play) {
@ -1004,7 +1004,7 @@ void func_80986FA8(DemoIm* this, PlayState* play) {
DemoIm_UpdateSkelAnime(this);
func_80984BE0(this);
func_80984E58(this, play);
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL);
DemoIm_UpdateCollider(this, play);
func_80986CFC(this, play);
}
@ -1122,7 +1122,7 @@ void DemoIm_Init(Actor* thisx, PlayState* play) {
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 30.0f);
DemoIm_InitCollider(thisx, play);
SkelAnime_InitFlex(play, &this->skelAnime, &gImpaSkel, NULL, this->jointTable, this->morphTable, 17);
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
switch (this->actor.params) {
case 2:

View file

@ -88,7 +88,8 @@ void ElfMsg2_Init(Actor* thisx, PlayState* play) {
ElfMsg2_SetupAction(this, ElfMsg2_WaitUntilActivated);
} else {
ElfMsg2_SetupAction(this, ElfMsg2_WaitForTextRead);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_18; // Make actor targetable and Navi-checkable
this->actor.flags |=
ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_18; // Make actor targetable and Navi-checkable
this->actor.textId = ElfMsg2_GetMessageId(this);
}
this->actor.shape.rot.x = this->actor.shape.rot.y = this->actor.shape.rot.z = 0;
@ -140,7 +141,7 @@ void ElfMsg2_WaitUntilActivated(ElfMsg2* this, PlayState* play) {
if ((this->actor.world.rot.y >= 0x41) && (this->actor.world.rot.y <= 0x80) &&
(Flags_GetSwitch(play, (this->actor.world.rot.y - 0x41)))) {
ElfMsg2_SetupAction(this, ElfMsg2_WaitForTextRead);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_18; // Make actor targetable and Navi-checkable
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_18; // Make actor targetable and Navi-checkable
this->actor.textId = ElfMsg2_GetMessageId(this);
}
}

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_am/object_am.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_26)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_26)
void EnAm_Init(Actor* thisx, PlayState* play);
void EnAm_Destroy(Actor* thisx, PlayState* play);
@ -284,7 +284,7 @@ void EnAm_SetupStatue(EnAm* this) {
f32 lastFrame = Animation_GetLastFrame(&gArmosRicochetAnim);
Animation_Change(&this->skelAnime, &gArmosRicochetAnim, 0.0f, lastFrame, lastFrame, ANIMMODE_LOOP, 0.0f);
this->dyna.actor.flags &= ~ACTOR_FLAG_0;
this->dyna.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->behavior = AM_BEHAVIOR_DO_NOTHING;
this->dyna.actor.speed = 0.0f;
EnAm_SetupAction(this, EnAm_Statue);
@ -385,7 +385,7 @@ void EnAm_Sleep(EnAm* this, PlayState* play) {
if (this->textureBlend >= 240) {
this->attackTimer = 200;
this->textureBlend = 255;
this->dyna.actor.flags |= ACTOR_FLAG_0;
this->dyna.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->dyna.actor.shape.yOffset = 0.0f;
EnAm_SetupLunge(this);
} else {
@ -406,7 +406,7 @@ void EnAm_Sleep(EnAm* this, PlayState* play) {
this->textureBlend -= 10;
} else {
this->textureBlend = 0;
this->dyna.actor.flags &= ~ACTOR_FLAG_0;
this->dyna.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (this->dyna.bgId < 0) {
this->unk_264 = 0;

View file

@ -7,7 +7,7 @@
#include "z_en_ani.h"
#include "assets/objects/object_ani/object_ani.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnAni_Init(Actor* thisx, PlayState* play);
void EnAni_Destroy(Actor* thisx, PlayState* play);

View file

@ -10,7 +10,7 @@
#include "overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
void EnAnubice_Init(Actor* thisx, PlayState* play);
void EnAnubice_Destroy(Actor* thisx, PlayState* play);
@ -146,7 +146,7 @@ void EnAnubice_Init(Actor* thisx, PlayState* play) {
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.shape.yOffset = -4230.0f;
this->focusHeightOffset = 0.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->home = this->actor.world.pos;
this->actor.attentionRangeType = ATTENTION_RANGE_3;
this->actionFunc = EnAnubice_FindFlameCircles;
@ -193,7 +193,7 @@ void EnAnubice_FindFlameCircles(EnAnubice* this, PlayState* play) {
}
this->hasSearchedForFlameCircles = true;
}
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnAnubice_SetupIdle;
}
}
@ -374,7 +374,7 @@ void EnAnubice_Update(Actor* thisx, PlayState* play) {
(fabsf(this->flameCircles[i]->actor.world.pos.z - this->actor.world.pos.z) < 60.0f) &&
(flameCircle->timer != 0)) {
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Enemy_StartFinishingBlow(play, &this->actor);
Actor_PlaySfx(&this->actor, NA_SE_EN_ANUBIS_DEAD);
this->actionFunc = EnAnubice_SetupDie;
@ -386,7 +386,7 @@ void EnAnubice_Update(Actor* thisx, PlayState* play) {
this->collider.base.acFlags &= ~AC_HIT;
if (this->actor.colChkInfo.damageEffect == ANUBICE_DMGEFF_FIRE) {
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Enemy_StartFinishingBlow(play, &this->actor);
Actor_PlaySfx(&this->actor, NA_SE_EN_ANUBIS_DEAD);
this->actionFunc = EnAnubice_SetupDie;

View file

@ -53,7 +53,7 @@ void EnAttackNiw_Init(Actor* thisx, PlayState* play) {
this->unk_298.y = Rand_CenteredFloat(10.0f);
this->unk_298.z = Rand_CenteredFloat(100.0f);
Actor_SetScale(&this->actor, 0.01f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.shape.rot.y = this->actor.world.rot.y = (Rand_ZeroOne() - 0.5f) * 60000.0f;
this->actionFunc = func_809B5670;
}

View file

@ -7,7 +7,7 @@
#include "z_en_ba.h"
#include "assets/objects/object_bxa/object_bxa.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
void EnBa_Init(Actor* thisx, PlayState* play);
void EnBa_Destroy(Actor* thisx, PlayState* play);
@ -146,7 +146,7 @@ void EnBa_Idle(EnBa* this, PlayState* play) {
if ((this->actor.colChkInfo.mass == MASS_IMMOVABLE) && (this->actor.xzDistToPlayer > 175.0f)) {
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.home.pos.y + 330.0f, 1.0f, 7.0f, 0.0f);
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.home.pos.y + 100.0f, 1.0f, 10.0f, 0.0f);
}
this->unk_2FC = this->actor.world.pos;
@ -402,7 +402,7 @@ void func_809B75A0(EnBa* this, PlayState* play2) {
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
Matrix_RotateZYX(this->actor.shape.rot.x - 0x8000, this->actor.shape.rot.y, 0, MTXMODE_APPLY);
Matrix_MultVec3f(&D_809B8080, &this->unk_158[0]);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
for (i = 5; i < 13; i++) {
Math_SmoothStepToS(&this->unk_2A8[i].x, this->unk_2A8[5].x, 1, this->unk_31C, 0);
Math_SmoothStepToS(&this->unk_2A8[i].y, this->unk_2A8[5].y, 1, this->unk_31C, 0);

View file

@ -8,7 +8,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_Bb/object_Bb.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_24)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_24)
#define vBombHopPhase actionVar1
#define vTrailIdx actionVar1
@ -412,7 +412,7 @@ void EnBb_SetupFlameTrail(EnBb* this) {
this->actor.velocity.y = 0.0f;
this->actor.gravity = 0.0f;
this->actor.speed = 0.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnBb_SetupAction(this, EnBb_FlameTrail);
}
@ -700,7 +700,7 @@ void EnBb_Down(EnBb* this, PlayState* play) {
this->moveMode = BBMOVE_HIDDEN;
this->timer = 10;
this->actionState++;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->action = BB_RED;
EnBb_SetupAction(this, EnBb_Red);
return;
@ -765,7 +765,7 @@ void EnBb_SetupRed(PlayState* play, EnBb* this) {
this->actor.home.pos = this->actor.world.pos;
this->actor.velocity.y = this->actor.gravity = this->actor.speed = 0.0f;
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
this->action = BB_RED;
EnBb_SetupAction(this, EnBb_Red);
@ -799,7 +799,7 @@ void EnBb_Red(EnBb* this, PlayState* play) {
case BBRED_ATTACK:
if (this->timer == 0) {
this->moveMode = BBMOVE_NORMAL;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
this->bobPhase += Rand_ZeroOne();
Math_SmoothStepToF(&this->flameScaleY, 80.0f, 1.0f, 10.0f, 0.0f);
@ -818,7 +818,7 @@ void EnBb_Red(EnBb* this, PlayState* play) {
this->moveMode = BBMOVE_HIDDEN;
this->timer = 10;
this->actionState++;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
this->actor.velocity.y *= -1.06f;
if (this->actor.velocity.y > 13.0f) {
@ -1128,7 +1128,7 @@ void EnBb_Stunned(EnBb* this, PlayState* play) {
EnBb_SetupDown(this);
}
} else {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnBb_SetupDeath(this, play);
}
}
@ -1194,7 +1194,7 @@ void EnBb_CollisionCheck(EnBb* this, PlayState* play) {
}
}
if (this->actor.colChkInfo.health == 0) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (this->actor.params == ENBB_RED) {
EnBb_KillFlameTrail(this);
}

View file

@ -1,7 +1,7 @@
#include "z_en_bigokuta.h"
#include "assets/objects/object_bigokuta/object_bigokuta.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void EnBigokuta_Init(Actor* thisx, PlayState* play);
void EnBigokuta_Destroy(Actor* thisx, PlayState* play);
@ -383,7 +383,7 @@ void func_809BD6B8(EnBigokuta* this) {
void func_809BD768(EnBigokuta* this) {
this->unk_194 = Rand_ZeroOne() < 0.5f ? -1 : 1;
this->unk_19A = 0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->cylinder[0].base.atFlags &= ~AT_ON;
Actor_PlaySfx(&this->actor, NA_SE_EN_DAIOCTA_SINK);
this->actionFunc = func_809BE4A4;
@ -684,7 +684,7 @@ void func_809BE4A4(EnBigokuta* this, PlayState* play) {
void func_809BE518(EnBigokuta* this, PlayState* play) {
if (Math_StepToF(&this->actor.world.pos.y, this->actor.home.pos.y, 10.0f)) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
func_809BD3F8(this);
}
}

View file

@ -7,7 +7,7 @@
#include "z_en_bili.h"
#include "assets/objects/object_bl/object_bl.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
void EnBili_Init(Actor* thisx, PlayState* play);
void EnBili_Destroy(Actor* thisx, PlayState* play);
@ -227,7 +227,7 @@ void EnBili_SetupBurnt(EnBili* this) {
void EnBili_SetupDie(EnBili* this) {
this->timer = 18;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnBili_Die;
this->actor.speed = 0.0f;
}
@ -555,7 +555,7 @@ void EnBili_UpdateDamage(EnBili* this, PlayState* play) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Actor_PlaySfx(&this->actor, NA_SE_EN_BIRI_DEAD);
Enemy_StartFinishingBlow(play, &this->actor);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
damageEffect = this->actor.colChkInfo.damageEffect;

View file

@ -4,7 +4,8 @@
#include "overlays/actors/ovl_En_Ex_Item/z_en_ex_item.h"
#include "assets/objects/object_bg/object_bg.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_27)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_LOCK_ON_DISABLED)
typedef enum BombchuGirlEyeMode {
/* 0 */ CHU_GIRL_EYES_ASLEEP,

View file

@ -234,7 +234,7 @@ void EnBomChu_WaitForRelease(EnBomChu* this, PlayState* play) {
//! @bug there is no NULL check on the floor poly. If the player is out of bounds the floor poly will be NULL
//! and will cause a crash inside this function.
EnBomChu_UpdateFloorPoly(this, this->actor.floorPoly, play);
this->actor.flags |= ACTOR_FLAG_0; // make chu targetable
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED; // make chu targetable
func_8002F850(play, &this->actor);
this->actionFunc = EnBomChu_Move;
}

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_bombf/object_bombf.h"
#include "overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4)
void EnBombf_Init(Actor* thisx, PlayState* play);
void EnBombf_Destroy(Actor* thisx, PlayState* play);
@ -117,7 +117,7 @@ void EnBombf_Init(Actor* thisx, PlayState* play) {
thisx->gravity = -1.5f;
Actor_ChangeCategory(play, &play->actorCtx, thisx, ACTORCAT_EXPLOSIVE);
thisx->colChkInfo.mass = 200;
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnBombf_SetupAction(this, EnBombf_Move);
} else {
thisx->colChkInfo.mass = MASS_IMMOVABLE;
@ -157,7 +157,7 @@ void EnBombf_GrowBomb(EnBombf* this, PlayState* play) {
this->timer = 180;
this->flowerBombScale = 0.0f;
Actor_PlaySfx(&this->actor, NA_SE_PL_PULL_UP_ROCK);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
player->actor.child = NULL;
player->heldActor = NULL;
@ -175,7 +175,7 @@ void EnBombf_GrowBomb(EnBombf* this, PlayState* play) {
bombFlower->isFuseEnabled = true;
bombFlower->timer = 0;
this->timer = 180;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->flowerBombScale = 0.0f;
}
}
@ -186,7 +186,7 @@ void EnBombf_GrowBomb(EnBombf* this, PlayState* play) {
if (bombFlower != NULL) {
bombFlower->timer = 100;
this->timer = 180;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->flowerBombScale = 0.0f;
}
} else {
@ -206,7 +206,7 @@ void EnBombf_GrowBomb(EnBombf* this, PlayState* play) {
if (this->timer == 0) {
this->flowerBombScale += 0.05f;
if (this->flowerBombScale >= 1.0f) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
}

View file

@ -7,7 +7,7 @@
#include "z_en_brob.h"
#include "assets/objects/object_brob/object_brob.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnBrob_Init(Actor* thisx, PlayState* play);
void EnBrob_Destroy(Actor* thisx, PlayState* play);
@ -91,7 +91,7 @@ void EnBrob_Init(Actor* thisx, PlayState* play) {
this->colliders[1].dim.height *= thisx->scale.y;
this->colliders[1].dim.yShift *= thisx->scale.y;
this->actionFunc = NULL;
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnBrob_SetupIdle(this, play);
}

View file

@ -1,7 +1,7 @@
#include "z_en_bubble.h"
#include "assets/objects/object_bubble/object_bubble.h"
#define FLAGS ACTOR_FLAG_0
#define FLAGS ACTOR_FLAG_ATTENTION_ENABLED
void EnBubble_Init(Actor* thisx, PlayState* play);
void EnBubble_Destroy(Actor* thisx, PlayState* play);
@ -76,7 +76,7 @@ void EnBubble_SetDimensions(EnBubble* this, f32 dim) {
f32 c;
f32 d;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetScale(&this->actor, 1.0f);
this->actor.shape.yOffset = 16.0f;
this->graphicRotSpeed = 16.0f;
@ -145,7 +145,7 @@ s32 EnBubble_Explosion(EnBubble* this, PlayState* play) {
&sEffectEnvColor, Rand_S16Offset(100, 50), 0x19, 0);
}
Item_DropCollectibleRandom(play, NULL, &this->actor.world.pos, 0x50);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
return Rand_S16Offset(90, 60);
}

View file

@ -8,7 +8,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_bw/object_bw.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
void EnBw_Init(Actor* thisx, PlayState* play);
void EnBw_Destroy(Actor* thisx, PlayState* play);
@ -573,7 +573,7 @@ void func_809CFF98(EnBw* this, PlayState* play) {
void func_809D00F4(EnBw* this) {
this->unk_220 = 0;
this->unk_222 = 40;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
Actor_PlaySfx(&this->actor, NA_SE_EN_BUBLEWALK_DEAD);
EnBw_SetupAction(this, func_809D014C);

View file

@ -194,7 +194,7 @@ void EnChanger_Init(Actor* thisx, PlayState* play2) {
((this->rightChestNum & 0x1F) << 8) + (rightChestItem & 0xFF));
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnChanger_Wait;
}

View file

@ -1,6 +1,6 @@
#include "z_en_clear_tag.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void EnClearTag_Init(Actor* thisx, PlayState* play);
void EnClearTag_Destroy(Actor* thisx, PlayState* play);
@ -250,7 +250,7 @@ void EnClearTag_Init(Actor* thisx, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sLaserCylinderInit);
Actor_PlaySfx(&this->actor, NA_SE_IT_SWORD_REFLECT_MG);
} else { // Initialize the Arwing.
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.attentionRangeType = ATTENTION_RANGE_5;
Collider_SetCylinder(play, &this->collider, &this->actor, &sArwingCylinderInit);
this->actor.colChkInfo.health = 3;
@ -537,7 +537,7 @@ void EnClearTag_Update(Actor* thisx, PlayState* play2) {
if (this->drawMode != CLEAR_TAG_DRAW_MODE_ARWING) {
this->drawMode = CLEAR_TAG_DRAW_MODE_EFFECT;
this->deathTimer = 70;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else {
Actor_Kill(&this->actor);
}

View file

@ -6,7 +6,7 @@
#include "z_en_cow.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnCow_Init(Actor* thisx, PlayState* play);
void EnCow_Destroy(Actor* thisx, PlayState* play);
@ -158,7 +158,7 @@ void EnCow_Init(Actor* thisx, PlayState* play) {
this->actor.draw = EnCow_DrawTail;
this->actionFunc = EnCow_IdleTail;
EnCow_SetTailPos(this);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->animationTimer = (u16)Rand_ZeroFloat(1000.0f) + 40.0f;
break;
}

View file

@ -1,7 +1,7 @@
#include "z_en_crow.h"
#include "assets/objects/object_crow/object_crow.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
void EnCrow_Init(Actor* thisx, PlayState* play);
void EnCrow_Destroy(Actor* thisx, PlayState* play);
@ -400,7 +400,7 @@ void EnCrow_Respawn(EnCrow* this, PlayState* play) {
target = 0.01f;
}
if (Math_StepToF(&this->actor.scale.x, target, target * 0.1f)) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.flags &= ~ACTOR_FLAG_4;
this->actor.colChkInfo.health = 1;
EnCrow_SetupFlyIdle(this);
@ -418,7 +418,7 @@ void EnCrow_UpdateDamage(EnCrow* this, PlayState* play) {
EnCrow_SetupTurnAway(this);
} else {
Actor_ApplyDamage(&this->actor);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Enemy_StartFinishingBlow(play, &this->actor);
EnCrow_SetupDamaged(this, play);
}

View file

@ -2,7 +2,7 @@
#include "assets/objects/object_cs/object_cs.h"
#include "assets/objects/object_link_child/object_link_child.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnCs_Init(Actor* thisx, PlayState* play);
void EnCs_Destroy(Actor* thisx, PlayState* play);

View file

@ -2,7 +2,7 @@
#include "overlays/actors/ovl_En_GeldB/z_en_geldb.h"
#include "assets/objects/object_daiku/object_daiku.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
typedef struct EnDaikuEscapeSubCamParam {
Vec3f eyePosDeltaLocal;
@ -367,7 +367,7 @@ void EnDaiku_Jailed(EnDaiku* this, PlayState* play) {
this->actionFunc = EnDaiku_WaitFreedom;
} else if (!(this->stateFlags & ENDAIKU_STATEFLAG_GERUDOFIGHTING) && !gerudo->invisible) {
this->stateFlags |= ENDAIKU_STATEFLAG_GERUDOFIGHTING;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL);
}
}
@ -379,7 +379,7 @@ void EnDaiku_WaitFreedom(EnDaiku* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if (Flags_GetSwitch(play, PARAMS_GET_U(this->actor.params, 8, 6))) {
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL;
EnDaiku_UpdateText(this, play);
}
}

View file

@ -7,7 +7,7 @@
#include "z_en_daiku_kakariko.h"
#include "assets/objects/object_daiku/object_daiku.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
typedef enum KakarikoCarpenterType {
/* 0x0 */ CARPENTER_ICHIRO, // Red and purple pants, normal hair

View file

@ -3,7 +3,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnDekubaba_Init(Actor* thisx, PlayState* play);
void EnDekubaba_Destroy(Actor* thisx, PlayState* play);
@ -955,7 +955,7 @@ void EnDekubaba_PrunedSomersault(EnDekubaba* this, PlayState* play) {
((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH) || (this->actor.bgCheckFlags & BGCHECKFLAG_WALL))) {
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.0f;
this->actor.speed = 0.0f;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
EffectSsHahen_SpawnBurst(play, &this->actor.world.pos, this->size * 3.0f, 0, this->size * 12.0f,
this->size * 5.0f, 15, HAHEN_OBJECT_DEFAULT, 10, NULL);
}

View file

@ -8,7 +8,7 @@
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "assets/objects/object_dekunuts/object_dekunuts.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
#define DEKUNUTS_FLOWER 10
@ -111,7 +111,7 @@ void EnDekunuts_Init(Actor* thisx, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sInitChain);
if (thisx->params == DEKUNUTS_FLOWER) {
thisx->flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
thisx->flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
} else {
ActorShape_Init(&thisx->shape, 0.0f, ActorShadow_DrawCircle, 35.0f);
SkelAnime_Init(play, &this->skelAnime, &gDekuNutsSkel, &gDekuNutsStandAnim, this->jointTable, this->morphTable,

View file

@ -1,7 +1,7 @@
#include "z_en_dh.h"
#include "assets/objects/object_dh/object_dh.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_10)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_10)
typedef enum EnDhAction {
/* 0 */ DH_WAIT,
@ -148,7 +148,7 @@ void EnDh_Init(Actor* thisx, PlayState* play) {
this->actor.colChkInfo.mass = MASS_HEAVY;
this->actor.colChkInfo.health = LINK_IS_ADULT ? 14 : 20;
this->alpha = this->unk_258 = 255;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Collider_InitCylinder(play, &this->collider1);
Collider_SetCylinder(play, &this->collider1, &this->actor, &sCylinderInit);
Collider_InitJntSph(play, &this->collider2);
@ -206,7 +206,7 @@ void EnDh_Wait(EnDh* this, PlayState* play) {
if ((this->actor.params >= ENDH_START_ATTACK_GRAB) || (this->actor.params <= ENDH_HANDS_KILLED_4)) {
switch (this->actionState) {
case 0:
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS;
this->actionState++;
@ -366,7 +366,7 @@ void EnDh_SetupBurrow(EnDh* this) {
this->actor.world.rot.y = this->actor.shape.rot.y;
this->dirtWavePhase = 0;
this->actionState = 0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_PlaySfx(&this->actor, NA_SE_EN_DEADHAND_HIDE);
EnDh_SetupAction(this, EnDh_Burrow);
}
@ -437,7 +437,7 @@ void EnDh_SetupDeath(EnDh* this) {
Animation_MorphToPlayOnce(&this->skelAnime, &object_dh_Anim_0032BC, -1.0f);
this->curAction = DH_DEATH;
this->timer = 300;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
func_800F5B58();
this->actor.params = ENDH_DEATH;

View file

@ -8,7 +8,7 @@
#include "overlays/actors/ovl_En_Dh/z_en_dh.h"
#include "assets/objects/object_dh/object_dh.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
void EnDha_Init(Actor* thisx, PlayState* play);
void EnDha_Destroy(Actor* thisx, PlayState* play);
@ -166,7 +166,7 @@ void EnDha_Init(Actor* thisx, PlayState* play) {
this->limbAngleX[0] = -0x4000;
Collider_InitJntSph(play, &this->collider);
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colliderItem);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDha_SetupWait(this);
}

View file

@ -9,7 +9,7 @@
#include "assets/objects/object_zo/object_zo.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnDivingGame_Init(Actor* thisx, PlayState* play);
void EnDivingGame_Destroy(Actor* thisx, PlayState* play);

View file

@ -7,7 +7,7 @@
#include "z_en_dns.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnDns_Init(Actor* thisx, PlayState* play);
void EnDns_Destroy(Actor* thisx, PlayState* play);
@ -435,7 +435,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) {
this->dnsItemEntry->payment(this);
this->dropCollectible = true;
this->isColliderEnabled = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDns_ChangeAnim(this, DNS_ANIM_BURROW);
this->actionFunc = EnDns_Burrow;
}
@ -443,7 +443,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) {
this->dnsItemEntry->payment(this);
this->dropCollectible = true;
this->isColliderEnabled = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDns_ChangeAnim(this, DNS_ANIM_BURROW);
this->actionFunc = EnDns_Burrow;
}
@ -452,7 +452,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) {
void EnDns_SetupNoSaleBurrow(EnDns* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
this->isColliderEnabled = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDns_ChangeAnim(this, DNS_ANIM_BURROW);
this->actionFunc = EnDns_Burrow;
}

View file

@ -98,7 +98,7 @@ void EnDntDemo_Init(Actor* thisx, PlayState* play2) {
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ じじじじじじじじじじい ☆☆☆☆☆ %x\n" VT_RST, this->leader);
}
this->subCamId = SUB_CAM_ID_DONE;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnDntDemo_Judge;
}

View file

@ -10,7 +10,7 @@
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnDntJiji_Init(Actor* thisx, PlayState* play);
void EnDntJiji_Destroy(Actor* thisx, PlayState* play);
@ -82,7 +82,7 @@ void EnDntJiji_Init(Actor* thisx, PlayState* play) {
PRINTF("\n\n");
// "Deku Scrub mask show elder"
PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ デグナッツお面品評会長老 ☆☆☆☆☆ %x\n" VT_RST, this->stage);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.colChkInfo.mass = 0xFF;
this->actor.attentionRangeType = ATTENTION_RANGE_6;
this->actionFunc = EnDntJiji_SetFlower;
@ -221,7 +221,7 @@ void EnDntJiji_SetupCower(EnDntJiji* this, PlayState* play) {
} else {
this->getItemId = GI_DEKU_NUT_UPGRADE_40;
}
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.textId = 0x10DB;
this->unused = 5;
this->actionFunc = EnDntJiji_Cower;
@ -302,7 +302,7 @@ void EnDntJiji_GivePrize(EnDntJiji* this, PlayState* play) {
this->stage->leaderSignal = DNT_SIGNAL_RETURN;
}
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (!this->unburrow) {
this->actionFunc = EnDntJiji_SetupHide;
} else {

View file

@ -122,7 +122,7 @@ void EnDntNomal_Init(Actor* thisx, PlayState* play) {
if (this->type < ENDNTNOMAL_TARGET) {
this->type = ENDNTNOMAL_TARGET;
}
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.colChkInfo.mass = 0xFF;
this->objectId = -1;
if (this->type == ENDNTNOMAL_TARGET) {

View file

@ -8,7 +8,7 @@
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "assets/objects/object_dodojr/object_dodojr.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnDodojr_Init(Actor* thisx, PlayState* play);
void EnDodojr_Destroy(Actor* thisx, PlayState* play);
@ -76,7 +76,7 @@ void EnDodojr_Init(Actor* thisx, PlayState* play) {
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(4), &sColChkInit);
this->actor.naviEnemyId = NAVI_ENEMY_BABY_DODONGO;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetScale(&this->actor, 0.02f);
@ -203,7 +203,7 @@ void EnDodojr_SetupJumpAttackBounce(EnDodojr* this) {
void EnDodojr_SetupDespawn(EnDodojr* this) {
this->actor.shape.shadowDraw = NULL;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.home.pos = this->actor.world.pos;
this->actor.speed = 0.0f;
this->actor.gravity = -0.8f;
@ -315,7 +315,7 @@ s32 EnDodojr_IsPlayerWithinAttackRange(EnDodojr* this) {
void EnDodojr_SetupStandardDeathBounce(EnDodojr* this) {
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_DEAD);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDodojr_SetupFlipBounce(this);
this->actionFunc = EnDodojr_StandardDeathBounce;
}
@ -400,7 +400,7 @@ void EnDodojr_WaitUnderground(EnDodojr* this, PlayState* play) {
-10.0f);
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_M_UP);
this->actor.world.pos.y -= 60.0f;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.world.rot.x -= 0x4000;
this->actor.shape.rot.x = this->actor.world.rot.x;
this->dustPos = this->actor.world.pos;
@ -477,7 +477,7 @@ void EnDodojr_EatBomb(EnDodojr* this, PlayState* play) {
void EnDodojr_SwallowBomb(EnDodojr* this, PlayState* play) {
if (DECR(this->timer) == 0) {
EnDodojr_DoSwallowedBombEffects(this);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnDodojr_SetupFlipBounce(this);
this->actionFunc = EnDodojr_SwallowedBombDeathBounce;
}

View file

@ -3,7 +3,7 @@
#include "overlays/actors/ovl_En_Bombf/z_en_bombf.h"
#include "assets/objects/object_dodongo/object_dodongo.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
typedef enum EnDodongoActionState {
DODONGO_SWEEP_TAIL,
@ -563,12 +563,12 @@ void EnDodongo_Walk(EnDodongo* this, PlayState* play) {
if (Math_Vec3f_DistXZ(&this->actor.home.pos, &player->actor.world.pos) < 400.0f) {
Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 0x1F4, 0);
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
if ((this->actor.xzDistToPlayer < 100.0f) && (yawDiff < 0x1388) && (this->actor.yDistToPlayer < 60.0f)) {
EnDodongo_SetupBreatheFire(this);
}
} else {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if ((Math_Vec3f_DistXZ(&this->actor.world.pos, &this->actor.home.pos) > 150.0f) || (this->retreatTimer != 0)) {
s16 yawToHome = Math_Vec3f_Yaw(&this->actor.world.pos, &this->actor.home.pos);
@ -663,7 +663,7 @@ void EnDodongo_SetupDeath(EnDodongo* this, PlayState* play) {
this->timer = 0;
Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_J_DEAD);
this->actionState = DODONGO_DEATH;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
EnDodongo_SetupAction(this, EnDodongo_Death);
}

View file

@ -206,7 +206,7 @@ void EnDoor_SetupType(EnDoor* this, PlayState* play) {
doorType = DOOR_SCENEEXIT;
} else {
this->actionFunc = EnDoor_WaitForCheck;
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_27;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_LOCK_ON_DISABLED;
}
}
// Replace the door type it was loaded with by the new type

View file

@ -7,7 +7,7 @@
#include "z_en_ds.h"
#include "assets/objects/object_ds/object_ds.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnDs_Init(Actor* thisx, PlayState* play);
void EnDs_Destroy(Actor* thisx, PlayState* play);
@ -43,7 +43,7 @@ void EnDs_Init(Actor* thisx, PlayState* play) {
this->actionFunc = EnDs_Wait;
this->actor.attentionRangeType = ATTENTION_RANGE_1;
this->unk_1E8 = 0;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->unk_1E4 = 0.0f;
}

View file

@ -2,7 +2,7 @@
#include "assets/objects/object_du/object_du.h"
#include "assets/scenes/overworld/spot18/spot18_scene.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_25)
void EnDu_Init(Actor* thisx, PlayState* play);
void EnDu_Destroy(Actor* thisx, PlayState* play);

View file

@ -1,7 +1,7 @@
#include "z_en_eiyer.h"
#include "assets/objects/object_ei/object_ei.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnEiyer_Init(Actor* thisx, PlayState* play);
void EnEiyer_Destroy(Actor* thisx, PlayState* play);
@ -200,7 +200,7 @@ void EnEiyer_SetupAppearFromGround(EnEiyer* this) {
this->collider.base.atFlags &= ~AT_ON;
this->collider.base.acFlags &= ~AC_ON;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_IGNORE_QUAKE);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_IGNORE_QUAKE);
this->actor.shape.shadowScale = 0.0f;
this->actor.shape.yOffset = 0.0f;
this->actionFunc = EnEiyer_AppearFromGround;
@ -216,11 +216,11 @@ void EnEiyer_SetupUnderground(EnEiyer* this) {
this->collider.base.acFlags |= AC_ON;
this->actor.flags &= ~ACTOR_FLAG_4;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
void EnEiyer_SetupInactive(EnEiyer* this) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.world.rot.y = this->actor.shape.rot.y;
this->actionFunc = EnEiyer_Inactive;
}
@ -608,7 +608,7 @@ void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Enemy_StartFinishingBlow(play, &this->actor);
Actor_PlaySfx(&this->actor, NA_SE_EN_EIER_DEAD);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
// If underground, one hit kill
@ -672,7 +672,7 @@ void EnEiyer_Update(Actor* thisx, PlayState* play) {
}
}
if (this->actor.flags & ACTOR_FLAG_0) {
if (this->actor.flags & ACTOR_FLAG_ATTENTION_ENABLED) {
this->actor.focus.pos.x = this->actor.world.pos.x + Math_SinS(this->actor.shape.rot.y) * 12.5f;
this->actor.focus.pos.z = this->actor.world.pos.z + Math_CosS(this->actor.shape.rot.y) * 12.5f;
this->actor.focus.pos.y = this->actor.world.pos.y;

View file

@ -2,7 +2,7 @@
#include "terminal.h"
#include "overlays/actors/ovl_En_Tite/z_en_tite.h"
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_27)
#define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_LOCK_ON_DISABLED)
void EnEncount1_Init(Actor* thisx, PlayState* play);
void EnEncount1_Update(Actor* thisx, PlayState* play);
@ -66,7 +66,7 @@ void EnEncount1_Init(Actor* thisx, PlayState* play) {
this->spawnRange);
PRINTF("\n\n");
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
switch (this->spawnType) {
case SPAWNER_LEEVER:
this->timer = 30;

View file

@ -51,7 +51,7 @@ void EnExItem_Init(Actor* thisx, PlayState* play) {
s32 pad;
EnExItem* this = (EnExItem*)thisx;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->type = PARAMS_GET_U(this->actor.params, 0, 8);
this->unusedParam = PARAMS_GET_U(this->actor.params, 8, 8);
PRINTF("\n\n");

View file

@ -105,7 +105,7 @@ void EnExRuppy_Init(Actor* thisx, PlayState* play) {
this->unk_15A = this->actor.world.rot.z;
this->actor.world.rot.z = 0;
this->timer = 30;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnExRuppy_DropIntoWater;
break;
@ -123,7 +123,7 @@ void EnExRuppy_Init(Actor* thisx, PlayState* play) {
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ わーなーコイン ☆☆☆☆☆ \n" VT_RST);
this->actor.shape.shadowScale = 6.0f;
this->actor.shape.yOffset = 700.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnExRuppy_WaitToBlowUp;
break;
@ -145,13 +145,13 @@ void EnExRuppy_Init(Actor* thisx, PlayState* play) {
PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ ノーマルルピー ☆☆☆☆☆ \n" VT_RST);
this->actor.shape.shadowScale = 6.0f;
this->actor.shape.yOffset = 700.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnExRuppy_WaitAsCollectible;
break;
case 4: // Progress markers in the shooting gallery
this->actor.gravity = -3.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetScale(&this->actor, 0.01f);
this->actor.shape.shadowScale = 6.0f;
this->actor.shape.yOffset = -700.0f;

View file

@ -8,7 +8,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_fw/object_fw.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_9)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_9)
void EnFd_Init(Actor* thisx, PlayState* play);
void EnFd_Destroy(Actor* thisx, PlayState* play);
@ -288,7 +288,7 @@ s32 EnFd_ColliderCheck(EnFd* this, PlayState* play) {
return false;
}
this->invincibilityTimer = 30;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_PlaySfx(&this->actor, NA_SE_EN_FLAME_DAMAGE);
Enemy_StartFinishingBlow(play, &this->actor);
return true;
@ -452,7 +452,7 @@ void EnFd_Init(Actor* thisx, PlayState* play) {
Collider_InitJntSph(play, &this->collider);
Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->colSphs);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(0xF), &sColChkInit);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.flags |= ACTOR_FLAG_24;
Actor_SetScale(&this->actor, 0.01f);
this->firstUpdateFlag = true;
@ -485,7 +485,7 @@ void EnFd_SpinAndGrow(EnFd* this, PlayState* play) {
this->actor.velocity.y = 6.0f;
this->actor.scale.y = 0.01f;
this->actor.world.rot.y ^= 0x8000;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 8.0f;
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENFD_ANIM_1);
this->actionFunc = EnFd_JumpToGround;
@ -663,7 +663,7 @@ void EnFd_Update(Actor* thisx, PlayState* play) {
if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_13)) {
// has been hookshoted
if (EnFd_SpawnCore(this, play)) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->invincibilityTimer = 30;
Actor_PlaySfx(&this->actor, NA_SE_EN_FLAME_DAMAGE);
Enemy_StartFinishingBlow(play, &this->actor);

View file

@ -1,7 +1,7 @@
#include "z_en_fd_fire.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
void EnFdFire_Init(Actor* thisx, PlayState* play);
void EnFdFire_Destroy(Actor* thisx, PlayState* play);
@ -128,7 +128,7 @@ void EnFdFire_Init(Actor* thisx, PlayState* play) {
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
CollisionCheck_SetInfo2(&this->actor.colChkInfo, &sDamageTable, &sColChkInit);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.gravity = -0.6f;
this->actor.speed = 5.0f;
this->actor.velocity.y = 12.0f;

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_firefly/object_firefly.h"
#include "overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_14)
void EnFirefly_Init(Actor* thisx, PlayState* play);
void EnFirefly_Destroy(Actor* thisx, PlayState* play);
@ -625,7 +625,7 @@ void EnFirefly_UpdateDamage(EnFirefly* this, PlayState* play) {
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
if (Actor_ApplyDamage(&this->actor) == 0) {
Enemy_StartFinishingBlow(play, &this->actor);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
damageEffect = this->actor.colChkInfo.damageEffect;

View file

@ -7,7 +7,7 @@
#include "z_en_floormas.h"
#include "assets/objects/object_wallmaster/object_wallmaster.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_10)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10)
#define SPAWN_INVISIBLE 0x8000
#define SPAWN_SMALL 0x10
@ -144,7 +144,7 @@ void EnFloormas_Init(Actor* thisx, PlayState* play2) {
if (this->actor.params == SPAWN_SMALL) {
this->actor.draw = NULL;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnFloormas_SmallWait;
} else {
// spawn first small floormaster
@ -345,7 +345,7 @@ void EnFloormas_SetupGrabLink(EnFloormas* this, Player* player) {
f32 xzDelta;
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.0f, 36.0f, 45.0f, ANIMMODE_ONCE, -3.0f);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
this->actor.velocity.y = 0.0f;
EnFloormas_MakeInvulnerable(this);
@ -384,7 +384,7 @@ void EnFloormas_SetupSmallWait(EnFloormas* this) {
}
this->actor.draw = NULL;
this->actionFunc = EnFloormas_SmallWait;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_4);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4);
}
void EnFloormas_SetupTakeDamage(EnFloormas* this) {
@ -662,7 +662,7 @@ void EnFloormas_Land(EnFloormas* this, PlayState* play) {
void EnFloormas_Split(EnFloormas* this, PlayState* play) {
if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) {
if (SkelAnime_Update(&this->skelAnime)) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->smallActionTimer = 50;
EnFloormas_SetupStand(this);
}
@ -804,7 +804,7 @@ void EnFloormas_GrabLink(EnFloormas* this, PlayState* play) {
this->actor.shape.rot.x = 0;
this->actor.velocity.y = 6.0f;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = -3.0f;
EnFloormas_SetupLand(this);
} else {
@ -996,7 +996,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) {
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DEAD);
}
Enemy_StartFinishingBlow(play, &this->actor);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else if (this->actor.colChkInfo.damage != 0) {
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DAMAGE);
}

View file

@ -3,7 +3,7 @@
#include "terminal.h"
#include "assets/objects/object_fr/object_fr.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4 | ACTOR_FLAG_25)
void EnFr_Init(Actor* thisx, PlayState* play);
void EnFr_Destroy(Actor* thisx, PlayState* play);
@ -236,7 +236,7 @@ void EnFr_Init(Actor* thisx, PlayState* play) {
this->actor.destroy = NULL;
this->actor.draw = NULL;
this->actor.update = EnFr_UpdateIdle;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_4);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4);
this->actor.flags &= ~0;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
this->actor.textId = 0x40AC;
@ -321,7 +321,7 @@ void EnFr_Update(Actor* thisx, PlayState* play) {
this->posButterflyLight.x = this->posButterfly.x = this->posLogSpot.x;
this->posButterflyLight.y = this->posButterfly.y = this->posLogSpot.y + 50.0f;
this->posButterflyLight.z = this->posButterfly.z = this->posLogSpot.z;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
}

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_fu/object_fu.h"
#include "assets/scenes/indoors/hakasitarelay/hakasitarelay_scene.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4 | ACTOR_FLAG_25)
#define FU_RESET_LOOK_ANGLE (1 << 0)
#define FU_WAIT (1 << 1)

View file

@ -9,7 +9,7 @@
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_9)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_9)
void EnFw_Init(Actor* thisx, PlayState* play);
void EnFw_Destroy(Actor* thisx, PlayState* play);

View file

@ -1,7 +1,7 @@
#include "z_en_fz.h"
#include "assets/objects/object_fz/object_fz.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_10)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_10)
void EnFz_Init(Actor* thisx, PlayState* play);
void EnFz_Destroy(Actor* thisx, PlayState* play);
@ -173,7 +173,7 @@ void EnFz_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.008f);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->unusedTimer1 = 0;
this->unusedCounter = 0;
this->updateBgInfo = true;
@ -389,7 +389,7 @@ void EnFz_SetYawTowardsPlayer(EnFz* this) {
void EnFz_SetupDisappear(EnFz* this) {
this->state = 2;
this->isFreezing = false;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnFz_Disappear;
}
@ -447,7 +447,7 @@ void EnFz_SetupAimForMove(EnFz* this) {
this->timer = 40;
this->updateBgInfo = true;
this->isFreezing = true;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnFz_AimForMove;
this->actor.gravity = -1.0f;
}
@ -554,7 +554,7 @@ void EnFz_SetupDespawn(EnFz* this, PlayState* play) {
this->updateBgInfo = true;
this->isFreezing = false;
this->isDespawning = true;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->isActive = false;
this->timer = 60;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
@ -572,7 +572,7 @@ void EnFz_SetupMelt(EnFz* this) {
this->state = 3;
this->isFreezing = false;
this->isDespawning = true;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.speed = 0.0f;
this->speedXZ = 0.0f;
this->actionFunc = EnFz_Melt;
@ -603,7 +603,7 @@ void EnFz_SetupBlowSmokeStationary(EnFz* this) {
this->timer = 40;
this->updateBgInfo = true;
this->isFreezing = true;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actionFunc = EnFz_BlowSmokeStationary;
this->actor.gravity = -1.0f;
}

View file

@ -102,7 +102,7 @@ static u64 sForceAlignment = 0;
void EnGanonMant_Init(Actor* thisx, PlayState* play) {
EnGanonMant* this = (EnGanonMant*)thisx;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void EnGanonMant_Destroy(Actor* thisx, PlayState* play) {

View file

@ -31,7 +31,7 @@ static u64 sForceAlignment = 0;
#include "assets/overlays/ovl_En_Ganon_Organ/ovl_En_Ganon_Organ.c"
void EnGanonOrgan_Init(Actor* thisx, PlayState* play) {
thisx->flags &= ~ACTOR_FLAG_0;
thisx->flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void EnGanonOrgan_Destroy(Actor* thisx, PlayState* play) {

View file

@ -7,7 +7,7 @@
#include "z_en_gb.h"
#include "assets/objects/object_ps/object_ps.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnGb_Init(Actor* thisx, PlayState* play);
void EnGb_Destroy(Actor* thisx, PlayState* play);

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_ge1/object_ge1.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
#define GE1_STATE_TALKING (1 << 0)
#define GE1_STATE_GIVE_QUIVER (1 << 1)

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_gla/object_gla.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
#define GE2_STATE_ANIMCOMPLETE (1 << 1)
#define GE2_STATE_KO (1 << 2)
@ -298,7 +298,7 @@ void EnGe2_KnockedOut(EnGe2* this, PlayState* play) {
s32 effectAngle;
Vec3f effectPos;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if (this->stateFlags & GE2_STATE_ANIMCOMPLETE) {
effectAngle = (play->state.frames) * 0x2800;
effectPos.x = this->actor.focus.pos.x + (Math_CosS(effectAngle) * 5.0f);

View file

@ -8,7 +8,7 @@
#include "assets/objects/object_geldb/object_geldb.h"
#include "versions.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnGe3_Init(Actor* thisx, PlayState* play2);
void EnGe3_Destroy(Actor* thisx, PlayState* play);

View file

@ -7,7 +7,7 @@
#include "z_en_geldb.h"
#include "assets/objects/object_geldb/object_geldb.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4)
typedef enum EnGeldBAction {
/* 0 */ GELDB_WAIT,
@ -355,7 +355,7 @@ void EnGeldB_SetupWait(EnGeldB* this) {
this->action = GELDB_WAIT;
this->actor.bgCheckFlags &= ~(BGCHECKFLAG_GROUND | BGCHECKFLAG_GROUND_TOUCH);
this->actor.gravity = -2.0f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
EnGeldB_SetupAction(this, EnGeldB_Wait);
}
@ -372,7 +372,7 @@ void EnGeldB_Wait(EnGeldB* this, PlayState* play) {
Actor_PlaySfx(&this->actor, NA_SE_EN_RIZA_DOWN);
this->skelAnime.playSpeed = 1.0f;
this->actor.world.pos.y = this->actor.floorHeight;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.focus.pos = this->actor.world.pos;
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND_TOUCH;
this->actor.velocity.y = 0.0f;
@ -1328,7 +1328,7 @@ void EnGeldB_SetupDefeated(EnGeldB* this) {
this->invisible = true;
}
this->action = GELDB_DEFEAT;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_PlaySfx(&this->actor, NA_SE_EN_GERUDOFT_DEAD);
EnGeldB_SetupAction(this, EnGeldB_Defeated);
}

View file

@ -7,7 +7,7 @@
#include "z_en_girla.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnGirlA_Init(Actor* thisx, PlayState* play);
void EnGirlA_Destroy(Actor* thisx, PlayState* play);
@ -1058,7 +1058,7 @@ void EnGirlA_WaitForObject(EnGirlA* this, PlayState* play) {
this->hiliteFunc = itemEntry->hiliteFunc;
this->giDrawId = itemEntry->giDrawId;
PRINTF("%s(%2d)\n", sShopItemDescriptions[params], params);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetScale(&this->actor, 0.25f);
this->actor.shape.yOffset = 24.0f;
this->actor.shape.shadowScale = 4.0f;

View file

@ -9,7 +9,7 @@
#include "assets/objects/object_gm/object_gm.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnGm_Init(Actor* thisx, PlayState* play);
void EnGm_Destroy(Actor* thisx, PlayState* play);

View file

@ -3,7 +3,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "assets/objects/object_oF1d_map/object_oF1d_map.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void EnGo_Init(Actor* thisx, PlayState* play);
void EnGo_Destroy(Actor* thisx, PlayState* play);

View file

@ -5,7 +5,7 @@
#include "quake.h"
#include "versions.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4 | ACTOR_FLAG_5)
/*
FLAGS
@ -961,10 +961,10 @@ s32 EnGo2_IsWakingUp(EnGo2* this) {
if (PARAMS_GET_S(this->actor.params, 0, 5) == GORON_DMT_BIGGORON) {
if (!(this->collider.base.ocFlags2 & OC2_HIT_PLAYER)) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
return false;
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
return true;
}
}
@ -1296,7 +1296,7 @@ void EnGo2_GetDustData(EnGo2* this, s32 index2) {
void EnGo2_RollingAnimation(EnGo2* this, PlayState* play) {
if (PARAMS_GET_S(this->actor.params, 0, 5) == GORON_DMT_BIGGORON) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_10);
this->skelAnime.playSpeed = -0.5f;
} else {
@ -1601,7 +1601,7 @@ void EnGo2_Init(Actor* thisx, PlayState* play) {
break;
case GORON_DMT_BIGGORON:
this->actor.shape.shadowDraw = NULL;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
if ((INV_CONTENT(ITEM_TRADE_ADULT) >= ITEM_BROKEN_GORONS_SWORD) &&
(INV_CONTENT(ITEM_TRADE_ADULT) <= ITEM_EYE_DROPS)) {
this->eyeMouthTexState = 1;
@ -1680,7 +1680,7 @@ void func_80A46B40(EnGo2* this, PlayState* play) {
} else {
if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) {
if (PARAMS_GET_S(this->actor.params, 0, 5) == GORON_DMT_BIGGORON) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
}
func_80A454CC(this);
this->unk_211 = true;
@ -1828,7 +1828,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) {
switch (this->goronState) {
case 0:
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_5);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.shape.rot.y += 0x5B0;
this->trackingMode = NPC_TRACKING_NONE;
this->animTimer = this->skelAnime.endFrame + 60.0f + 60.0f; // eyeDrops animation timer
@ -1859,7 +1859,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) {
}
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) {
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_1);
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->trackingMode = NPC_TRACKING_HEAD_AND_TORSO;
this->skelAnime.playSpeed = 0.0f;
this->skelAnime.curFrame = this->skelAnime.endFrame;

View file

@ -4,7 +4,7 @@
#include "overlays/actors/ovl_Boss_Goma/z_boss_goma.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2 | ACTOR_FLAG_4 | ACTOR_FLAG_5)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5)
void EnGoma_Init(Actor* thisx, PlayState* play);
void EnGoma_Destroy(Actor* thisx, PlayState* play);
@ -119,10 +119,10 @@ void EnGoma_Init(Actor* thisx, PlayState* play) {
this->gomaType = ENGOMA_BOSSLIMB;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 0.0f);
this->actionTimer = this->actor.params + 150;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
} else if (params >= 10) { // Debris when hatching
this->actor.gravity = -1.3f;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->actionTimer = 50;
this->gomaType = ENGOMA_HATCH_DEBRIS;
this->eggScale = 1.0f;
@ -366,7 +366,7 @@ void EnGoma_SetupDie(EnGoma* this) {
}
this->invincibilityTimer = 100;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
void EnGoma_Die(EnGoma* this, PlayState* play) {

View file

@ -9,7 +9,7 @@
#include "overlays/actors/ovl_En_Elf/z_en_elf.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_25)
void EnGs_Init(Actor* thisx, PlayState* play);
void EnGs_Destroy(Actor* thisx, PlayState* play);

View file

@ -9,7 +9,7 @@
#include "assets/objects/object_boj/object_boj.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnGuest_Init(Actor* thisx, PlayState* play);
void EnGuest_Destroy(Actor* thisx, PlayState* play);

View file

@ -12,7 +12,7 @@
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnHeishi2_Init(Actor* thisx, PlayState* play);
void EnHeishi2_Destroy(Actor* thisx, PlayState* play);
@ -92,7 +92,7 @@ void EnHeishi2_Init(Actor* thisx, PlayState* play) {
if ((this->type == 6) || (this->type == 9)) {
this->actor.draw = EnHeishi2_DrawKingGuard;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
if (this->type == 6) {
this->actionFunc = EnHeishi2_DoNothing1;
@ -112,7 +112,7 @@ void EnHeishi2_Init(Actor* thisx, PlayState* play) {
this->actor.shape.rot.y = this->actor.world.rot.y;
Collider_DestroyCylinder(play, &this->collider);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_4;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4;
this->actionFunc = func_80A544AC;
}
} else {
@ -143,7 +143,7 @@ void EnHeishi2_Init(Actor* thisx, PlayState* play) {
// "Peep hole soldier!"
PRINTF(VT_FGCOL(GREEN) " ☆☆☆☆☆ 覗き穴奥兵士ふぃ〜 ☆☆☆☆☆ \n" VT_RST);
Collider_DestroyCylinder(play, collider);
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL);
this->actionFunc = EnHeishi_DoNothing2;
break;
}

View file

@ -2,7 +2,7 @@
#include "assets/objects/object_sd/object_sd.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnHeishi4_Init(Actor* thisx, PlayState* play);
void EnHeishi4_Destroy(Actor* thisx, PlayState* play);

View file

@ -7,7 +7,7 @@
#include "z_en_hintnuts.h"
#include "assets/objects/object_hintnuts/object_hintnuts.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnHintnuts_Init(Actor* thisx, PlayState* play);
void EnHintnuts_Destroy(Actor* thisx, PlayState* play);
@ -75,7 +75,7 @@ void EnHintnuts_Init(Actor* thisx, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sInitChain);
if (this->actor.params == 0xA) {
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
} else {
ActorShape_Init(&this->actor.shape, 0x0, ActorShadow_DrawCircle, 35.0f);
SkelAnime_Init(play, &this->skelAnime, &gHintNutsSkel, &gHintNutsStandAnim, this->jointTable, this->morphTable,
@ -110,8 +110,8 @@ void EnHintnuts_Destroy(Actor* thisx, PlayState* play) {
void EnHintnuts_HitByScrubProjectile1(EnHintnuts* this, PlayState* play) {
if (this->actor.textId != 0 && this->actor.category == ACTORCAT_ENEMY &&
((this->actor.params == 0) || (sPuzzleCounter == 2))) {
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3;
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_BG);
}
}
@ -204,7 +204,7 @@ void EnHintnuts_SetupLeave(EnHintnuts* this, PlayState* play) {
void EnHintnuts_SetupFreeze(EnHintnuts* this) {
Animation_PlayLoop(&this->skelAnime, &gHintNutsFreezeAnim);
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 100);
this->actor.colorFilterTimer = 1;
this->animFlagAndTimer = 0;
@ -377,8 +377,8 @@ void EnHintnuts_Run(EnHintnuts* this, PlayState* play) {
fabsf(this->actor.world.pos.y - this->actor.home.pos.y) < 2.0f) {
this->actor.speed = 0.0f;
if (this->actor.category == ACTORCAT_BG) {
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_16);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2;
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_16);
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_ENEMY);
}
EnHintnuts_SetupBurrow(this);
@ -449,7 +449,7 @@ void EnHintnuts_Freeze(EnHintnuts* this, PlayState* play) {
if (this->animFlagAndTimer == 1) {
Actor_Kill(&this->actor);
} else {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->actor.flags &= ~ACTOR_FLAG_4;
this->actor.colChkInfo.health = sColChkInfoInit.health;
this->actor.colorFilterTimer = 0;

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_hs/object_hs.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnHs_Init(Actor* thisx, PlayState* play);
void EnHs_Destroy(Actor* thisx, PlayState* play);

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_hs/object_hs.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnHs2_Init(Actor* thisx, PlayState* play);
void EnHs2_Destroy(Actor* thisx, PlayState* play);

View file

@ -15,7 +15,7 @@
#include "assets/objects/object_cob/object_cob.h"
#include "assets/objects/object_os_anime/object_os_anime.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnHy_Init(Actor* thisx, PlayState* play);
void EnHy_Destroy(Actor* thisx, PlayState* play);

View file

@ -105,7 +105,7 @@ void EnIceHono_InitCapturableFlame(Actor* thisx, PlayState* play) {
Actor_ProcessInitChain(&this->actor, sInitChainCapturableFlame);
Actor_SetScale(&this->actor, 0.0074f);
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Actor_SetFocus(&this->actor, 10.0f);
Collider_InitCylinder(play, &this->collider);

View file

@ -313,7 +313,7 @@ void EnIk_StandUp(EnIk* this, PlayState* play) {
}
if (SkelAnime_Update(&this->skelAnime)) {
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE;
EnIk_SetupWalkOrRun(this);
}
}
@ -321,7 +321,7 @@ void EnIk_StandUp(EnIk* this, PlayState* play) {
void EnIk_SetupIdle(EnIk* this) {
f32 endFrame = Animation_GetLastFrame(&object_ik_Anim_00DD50);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE;
this->unk_2F8 = 4;
this->actor.speed = 0.0f;
Animation_Change(&this->skelAnime, &object_ik_Anim_00DD50, 0.0f, 0.0f, endFrame, ANIMMODE_LOOP, 4.0f);
@ -1522,7 +1522,7 @@ void EnIk_CsInit(EnIk* this, PlayState* play) {
void EnIk_ChangeToEnemy(EnIk* this, PlayState* play) {
this->actor.update = EnIk_UpdateEnemy;
this->actor.draw = EnIk_DrawEnemy;
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE;
SET_EVENTCHKINF(EVENTCHKINF_3B);
Actor_SetScale(&this->actor, 0.012f);
EnIk_SetupIdle(this);

View file

@ -2,7 +2,7 @@
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
#include "assets/objects/object_in/object_in.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
void EnIn_Init(Actor* thisx, PlayState* play);
void EnIn_Destroy(Actor* thisx, PlayState* play);
@ -467,7 +467,7 @@ void func_80A79C78(EnIn* this, PlayState* play) {
player->rideActor->freezeTimer = 10;
}
player->actor.freezeTimer = 10;
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
Letterbox_SetSizeTarget(32);
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING_ALT);
}

View file

@ -7,7 +7,7 @@
#include "z_en_js.h"
#include "assets/objects/object_js/object_js.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnJs_Init(Actor* thisx, PlayState* play);
void EnJs_Destroy(Actor* thisx, PlayState* play);

View file

@ -7,7 +7,7 @@
#include "z_en_jsjutan.h"
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL)
void EnJsjutan_Init(Actor* thisx, PlayState* play);
void EnJsjutan_Destroy(Actor* thisx, PlayState* play);
@ -40,7 +40,7 @@ void EnJsjutan_Init(Actor* thisx, PlayState* play) {
s32 pad;
CollisionHeader* header = NULL;
this->dyna.actor.flags &= ~ACTOR_FLAG_0;
this->dyna.actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
DynaPolyActor_Init(&this->dyna, 0);
CollisionHeader_GetVirtual(&sCol, &header);
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, header);

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_ka/object_ka.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_25)
void EnKakasi_Init(Actor* thisx, PlayState* play);
void EnKakasi_Destroy(Actor* thisx, PlayState* play);

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_ka/object_ka.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_27)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_LOCK_ON_DISABLED)
static ColliderCylinderInit sCylinderInit = {
{
@ -124,7 +124,7 @@ void func_80A90264(EnKakasi2* this, PlayState* play) {
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
SkelAnime_InitFlex(play, &this->skelAnime, &object_ka_Skel_0065B0, &object_ka_Anim_000214, NULL, NULL, 0);
OnePointCutscene_Attention(play, &this->actor);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_27;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_LOCK_ON_DISABLED;
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
if (this->switchFlag >= 0) {
@ -151,7 +151,7 @@ void func_80A90264(EnKakasi2* this, PlayState* play) {
OnePointCutscene_Attention(play, &this->actor);
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_27;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_LOCK_ON_DISABLED;
this->actionFunc = func_80A904D8;
}
}

View file

@ -8,7 +8,7 @@
#include "terminal.h"
#include "assets/objects/object_ka/object_ka.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_25)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_25)
void EnKakasi3_Init(Actor* thisx, PlayState* play);
void EnKakasi3_Destroy(Actor* thisx, PlayState* play);

View file

@ -10,7 +10,7 @@
#include "assets/objects/object_kanban/object_kanban.h"
#include "terminal.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_NEUTRAL | ACTOR_FLAG_4)
#define PART_UPPER_LEFT (1 << 0)
#define PART_LEFT_UPPER (1 << 1)
@ -215,7 +215,7 @@ void EnKanban_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
if (this->actor.params != ENKANBAN_PIECE) {
this->actor.attentionRangeType = ATTENTION_RANGE_0;
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Collider_InitCylinder(play, &this->collider);
Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
PRINTF("KANBAN ARG %x\n", this->actor.params);
@ -287,7 +287,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
this->zTargetTimer--;
}
if (this->zTargetTimer == 1) {
this->actor.flags &= ~ACTOR_FLAG_0;
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
}
if (this->partFlags == 0xFFFF) {
EnKanban_Message(this, play);
@ -405,7 +405,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
piece->direction = -1;
}
piece->airTimer = 100;
piece->actor.flags &= ~ACTOR_FLAG_0;
piece->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
piece->actor.flags |= ACTOR_FLAG_25;
this->cutMarkTimer = 5;
Actor_PlaySfx(&this->actor, NA_SE_IT_SWORD_STRIKE);
@ -417,7 +417,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base);
CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base);
if (this->actor.xzDistToPlayer > 500.0f) {
this->actor.flags |= ACTOR_FLAG_0;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
this->partFlags = 0xFFFF;
}
if (this->cutMarkTimer != 0) {
@ -780,7 +780,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) {
((pDiff + yDiff + rDiff + this->spinRot.x + this->spinRot.z) == 0) && (this->floorRot.x == 0.0f) &&
(this->floorRot.z == 0.0f)) {
signpost->partFlags |= this->partFlags;
signpost->actor.flags |= ACTOR_FLAG_0;
signpost->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
Actor_Kill(&this->actor);
}
} break;

View file

@ -9,7 +9,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_2)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE)
void EnKarebaba_Init(Actor* thisx, PlayState* play);
void EnKarebaba_Destroy(Actor* thisx, PlayState* play);
@ -328,7 +328,7 @@ void EnKarebaba_Dying(EnKarebaba* this, PlayState* play) {
((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND_TOUCH) || (this->actor.bgCheckFlags & BGCHECKFLAG_WALL))) {
this->actor.scale.x = this->actor.scale.y = this->actor.scale.z = 0.0f;
this->actor.speed = 0.0f;
this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_2);
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
EffectSsHahen_SpawnBurst(play, &this->actor.world.pos, 3.0f, 0, 12, 5, 15, HAHEN_OBJECT_DEFAULT, 10, NULL);
}
@ -400,7 +400,7 @@ void EnKarebaba_Regrow(EnKarebaba* this, PlayState* play) {
if (this->actor.params == 20) {
this->actor.flags &= ~ACTOR_FLAG_4;
this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_2;
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE;
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_ENEMY);
EnKarebaba_SetupIdle(this);
}

Some files were not shown because too many files have changed in this diff Show more