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

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