1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-21 14:31:17 +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

@ -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: