Document `ACTOR_FLAG_UPDATE_DURING_OCARINA` and `PLAYER_STATE2_USING_OCARINA` (#1720)

* ocarina flag

* oops

* PR
This commit is contained in:
engineer124 2024-10-21 11:05:45 +11:00 committed by GitHub
parent 83bbdf7583
commit a746164041
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
74 changed files with 134 additions and 119 deletions

View File

@ -507,8 +507,10 @@ typedef enum DoorLockType {
#define ACTOR_FLAG_800000 (1 << 23)
//
#define ACTOR_FLAG_1000000 (1 << 24)
//
#define ACTOR_FLAG_2000000 (1 << 25)
// Actor can update even if Player is currently using the ocarina.
// Typically an actor will halt while the ocarina is active (depending on category).
// This flag allows a given actor to be an exception.
#define ACTOR_FLAG_UPDATE_DURING_OCARINA (1 << 25)
// actor can press and hold down switches
#define ACTOR_FLAG_CAN_PRESS_SWITCH (1 << 26)

View File

@ -988,8 +988,8 @@ typedef enum PlayerCueId {
#define PLAYER_STATE2_2000000 (1 << 25)
//
#define PLAYER_STATE2_4000000 (1 << 26)
//
#define PLAYER_STATE2_8000000 (1 << 27)
// Playing the ocarina
#define PLAYER_STATE2_USING_OCARINA (1 << 27)
// Playing a fidget idle animation (under typical circumstances, see `Player_ChooseNextIdleAnim` for more info)
#define PLAYER_STATE2_IDLE_FIDGET (1 << 28)
// Disable drawing player

View File

@ -2506,7 +2506,7 @@ void Actor_SpawnSetupActors(PlayState* play, ActorContext* actorCtx) {
typedef struct {
/* 0x00 */ PlayState* play;
/* 0x04 */ Actor* actor;
/* 0x08 */ u32 requiredActorFlag;
/* 0x08 */ u32 freezeExceptionFlag;
/* 0x0C */ u32 canFreezeCategory;
/* 0x10 */ Actor* talkActor;
/* 0x14 */ Player* player;
@ -2543,8 +2543,8 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) {
} else {
if (!Object_IsLoaded(&play->objectCtx, actor->objectSlot)) {
Actor_Kill(actor);
} else if ((params->requiredActorFlag && !(actor->flags & params->requiredActorFlag)) ||
(((!params->requiredActorFlag) != 0) &&
} else if (((params->freezeExceptionFlag != 0) && !(actor->flags & params->freezeExceptionFlag)) ||
(((!params->freezeExceptionFlag) != 0) &&
(!(actor->flags & ACTOR_FLAG_100000) ||
((actor->category == ACTORCAT_EXPLOSIVES) && (params->player->stateFlags1 & PLAYER_STATE1_200))) &&
params->canFreezeCategory && (actor != params->talkActor) && (actor != params->player->heldActor) &&
@ -2645,10 +2645,10 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) {
categoryFreezeMaskP = sCategoryFreezeMasks;
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
params.requiredActorFlag = ACTOR_FLAG_2000000;
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
params.freezeExceptionFlag = ACTOR_FLAG_UPDATE_DURING_OCARINA;
} else {
params.requiredActorFlag = 0;
params.freezeExceptionFlag = 0;
}
if ((player->stateFlags1 & PLAYER_STATE1_40) && ((player->actor.textId & 0xFF00) != 0x1900)) {
@ -3063,7 +3063,7 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
if (play->actorCtx.lensActive) {
Math_StepToC(&play->actorCtx.lensMaskSize, LENS_MASK_ACTIVE_SIZE, 20);
if (GET_PLAYER(play)->stateFlags2 & PLAYER_STATE2_8000000) {
if (GET_PLAYER(play)->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
Actor_DeactivateLens(play);
}
} else {

View File

@ -3,7 +3,7 @@
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200000 | \
ACTOR_FLAG_2000000 | ACTOR_FLAG_CAN_PRESS_SWITCH | ACTOR_FLAG_80000000)
ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCH | ACTOR_FLAG_80000000)
ActorFunc sPlayerCallInitFunc;
ActorFunc sPlayerCallDestroyFunc;

View File

@ -7,7 +7,7 @@
#include "z_arrow_fire.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ArrowFire*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_arrow_ice.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ArrowIce*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_arrow_light.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ArrowLight*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_bg_dy_yoseizo.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((BgDyYoseizo*)thisx)

View File

@ -72,7 +72,7 @@ void DemoEffect_Init(Actor* thisx, PlayState* play) {
switch (type) {
case DEMO_EFFECT_TIMEWARP_TIMEBLOCK_LARGE:
case DEMO_EFFECT_TIMEWARP_TIMEBLOCK_SMALL:
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
FALLTHROUGH;
case DEMO_EFFECT_TIMEWARP_LIGHTBLOCK_LARGE:
case DEMO_EFFECT_TIMEWARP_LIGHTBLOCK_VERY_LARGE:

View File

@ -6,7 +6,7 @@
#include "z_dm_bal.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((DmBal*)thisx)

View File

@ -8,7 +8,7 @@
#include "assets/objects/object_mtoride/object_mtoride.h"
#include "overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((DmChar01*)thisx)
@ -164,7 +164,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) {
return;
}
if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (player2->actor.world.pos.x > -40.0f) &&
if ((player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) && (player2->actor.world.pos.x > -40.0f) &&
(player2->actor.world.pos.x < 40.0f) && (player2->actor.world.pos.z > 1000.0f) &&
(player2->actor.world.pos.z < 1078.0f)) {
if (!D_80AAAAB4) {

View File

@ -7,7 +7,7 @@
#include "z_dm_char08.h"
#include "assets/objects/object_kamejima/object_kamejima.h"
#define FLAGS (ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((DmChar08*)thisx)
@ -256,7 +256,7 @@ void DmChar08_WaitForSong(DmChar08* this, PlayState* play) {
Player* player = GET_PLAYER(play);
Player* player2 = GET_PLAYER(play);
if ((player2->stateFlags2 & PLAYER_STATE2_8000000) &&
if ((player2->stateFlags2 & PLAYER_STATE2_USING_OCARINA) &&
((player2->actor.world.pos.x > -5780.0f) && (player2->actor.world.pos.x < -5385.0f) &&
(player2->actor.world.pos.z > 1120.0f) && (player2->actor.world.pos.z < 2100.0f))) {
if (!sSuccessSoundAlreadyPlayed) {

View File

@ -12,7 +12,7 @@
#include "assets/objects/object_stk2/object_stk2.h"
#include "assets/objects/object_stk3/object_stk3.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((DmStk*)thisx)
@ -1321,7 +1321,7 @@ void DmStk_ClockTower_DeflectHit(DmStk* this, PlayState* play) {
this->deflectCount++;
if (this->deflectCount >= 3) {
this->deflectCount = 0;
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
// That won't do you any good
Message_StartTextbox(play, 0x2013, &this->actor);
}
@ -1772,7 +1772,7 @@ void DmStk_ClockTower_IdleWithOcarina(DmStk* this, PlayState* play) {
this->tatlMessageTimer++;
if (this->tatlMessageTimer > 800) {
this->tatlMessageTimer = 0;
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
// Why are you just standing around?
Message_StartTextbox(play, 0x2014, &this->actor);
}

View File

@ -7,7 +7,7 @@
#include "z_door_ana.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.h"
#define FLAGS (ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((DoorAna*)thisx)

View File

@ -16,7 +16,9 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnBsb*)thisx)
@ -546,7 +548,7 @@ void func_80C0BFE8(EnBsb* this, PlayState* play) {
s16 yaw = ABS_ALT((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y));
if ((yaw < 0x4300) && !(this->actor.xzDistToPlayer > 300.0f)) {
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
if (!this->playedSfx) {
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
this->playedSfx = true;
@ -566,7 +568,7 @@ void func_80C0BFE8(EnBsb* this, PlayState* play) {
void func_80C0C0F4(EnBsb* this, PlayState* play) {
s32 i;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->unk_02A4 = 0;
this->collider.elements[0].dim.modelSphere.radius = 40;
this->collider.elements[0].dim.modelSphere.center.x = 1000;
@ -674,7 +676,7 @@ void func_80C0C484(EnBsb* this, PlayState* play) {
func_80C0BC30(this);
if (func_80C0B888(this, play)) {
this->actor.flags &= ~ACTOR_FLAG_2000000;
this->actor.flags &= ~ACTOR_FLAG_UPDATE_DURING_OCARINA;
func_80C0C86C(this);
return;
}
@ -682,7 +684,7 @@ void func_80C0C484(EnBsb* this, PlayState* play) {
var_a1 = this->actor.yawTowardsPlayer;
if (this->unk_0294 == 1) {
this->actor.flags &= ~ACTOR_FLAG_2000000;
this->actor.flags &= ~ACTOR_FLAG_UPDATE_DURING_OCARINA;
}
if (this->path != NULL) {

View File

@ -6,7 +6,9 @@
#include "z_en_dai.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnDai*)thisx)
@ -451,7 +453,7 @@ void func_80B3EEDC(EnDai* this, PlayState* play) {
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY)) {
EnDai_ChangeAnim(this, ENDAI_ANIM_1);
this->actionFunc = func_80B3EE8C;
} else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
} else if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
func_80B3E96C(this, play);
this->unk_A6C = 0;
} else if (this->unk_A6C == 0) {
@ -600,7 +602,7 @@ void EnDai_Update(Actor* thisx, PlayState* play) {
func_80B3E460(this);
} else {
this->actionFunc(this, play);
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
SkelAnime_Update(&this->skelAnime);
func_80B3E834(this);
if (!(this->unk_1CE & 0x200)) {

View File

@ -9,7 +9,7 @@
#include "z_en_ds2n.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnDs2n*)thisx)

View File

@ -8,7 +8,7 @@
#include "attributes.h"
#include "z64elf_message.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnElf*)thisx)

View File

@ -11,8 +11,8 @@
#include "overlays/actors/ovl_En_Bom/z_en_bom.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000 | \
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA | \
ACTOR_FLAG_LOCK_ON_DISABLED)
#define THIS ((EnFu*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_gakufu.h"
#include "assets/interface/parameter_static/parameter_static.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnGakufu*)thisx)
@ -142,7 +142,7 @@ void EnGakufu_Init(Actor* thisx, PlayState* play) {
return;
}
this->actor.flags &= ~ACTOR_FLAG_2000000;
this->actor.flags &= ~ACTOR_FLAG_UPDATE_DURING_OCARINA;
if (EnGakufu_IsPlayerInRange(this, play)) {
SET_EVENTINF(EVENTINF_31);

View File

@ -917,7 +917,7 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
this->unk_28A = 255;
this->actor.flags |= ACTOR_FLAG_10;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
if (CHECK_EVENTINF(EVENTINF_46)) {
func_80B0F728(this, play);

View File

@ -421,11 +421,11 @@ void func_80B359DC(EnGg* this, PlayState* play) {
if (this->actor.xzDistToPlayer < 200.0f) {
if (this->unk_306 == 0) {
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
this->unk_306 = 1;
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
}
} else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
} else if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->unk_306 = 0;
}
@ -691,7 +691,7 @@ void EnGg_Init(Actor* thisx, PlayState* play) {
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS;
this->unk_310 = this->actor.home.pos.y;
this->csId = this->actor.csId;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->unk_308 = 0;
this->unk_309 = 0;
this->unk_304 = 0;

View File

@ -286,11 +286,11 @@ s32 func_80B50854(EnGk* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (!(this->unk_1E4 & 0x40)) {
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
this->unk_1E4 |= 0x40;
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
}
} else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
} else if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->unk_1E4 &= ~0x40;
}
@ -1107,7 +1107,7 @@ void EnGk_Init(Actor* thisx, PlayState* play) {
this->animIndex = ENGK_ANIM_0;
this->csId = this->actor.csId;
this->actor.flags |= ACTOR_FLAG_10;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, ENGK_ANIM_0);
this->actionFunc = func_80B5202C;
} else {

View File

@ -21,7 +21,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#include "overlays/actors/ovl_Obj_Aqua/z_obj_aqua.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnGo*)thisx)
@ -2111,7 +2111,7 @@ void EnGo_ChangeToSnowballAnimation(EnGo* this, PlayState* play) {
Math_Vec3f_Copy(&currentPos, &this->actor.world.pos);
if (this->gatekeeperPath != NULL) {
this->actor.flags &= ~ACTOR_FLAG_2000000;
this->actor.flags &= ~ACTOR_FLAG_UPDATE_DURING_OCARINA;
SubS_CopyPointFromPathCheckBounds(this->gatekeeperPath, 0, &startingPathPoint);
yawToPathPoint = Math_Vec3f_Yaw(&currentPos, &startingPathPoint);
this->actor.shape.rot.y = yawToPathPoint;
@ -2654,7 +2654,7 @@ void EnGo_Snowball(EnGo* this, PlayState* play) {
// Stop the Gatekeeper when hit by an appropriate effect
Actor_PlaySfx(&this->actor, NA_SE_EV_SNOWBALL_BROKEN);
this->actor.flags &= ~ACTOR_FLAG_10;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
EnGo_InitSnow(this->effectTable, this->actor.world.pos);
this->actor.shape.rot.x = 0;
this->actor.speed = 0.0f;

View File

@ -12,7 +12,7 @@
#include "assets/objects/object_gs/object_gs.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnGs*)thisx)

View File

@ -6,8 +6,9 @@
#include "z_en_hg.h"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_100000 | \
ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnHg*)thisx)
@ -192,7 +193,7 @@ void EnHg_ChasePlayer(EnHg* this, PlayState* play) {
s32 pad;
this->actor.speed = 1.6f;
if (!(player->stateFlags2 & PLAYER_STATE2_8000000) && (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) && (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) {
if (((this->skelAnime.curFrame > 9.0f) && (this->skelAnime.curFrame < 16.0f)) ||
((this->skelAnime.curFrame > 44.0f) && (this->skelAnime.curFrame < 51.0f))) {
Actor_MoveWithGravity(&this->actor);
@ -388,7 +389,7 @@ void EnHg_WaitForPlayerAction(EnHg* this, PlayState* play) {
return;
}
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
if (!sHasSoundPlayed) {
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
}

View File

@ -6,7 +6,7 @@
#include "z_en_hgo.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnHgo*)thisx)

View File

@ -8,7 +8,7 @@
#include "z64voice.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnHiddenNuts*)thisx)
@ -175,7 +175,7 @@ void func_80BDB2B8(EnHiddenNuts* this, PlayState* play) {
Actor_PlaySfx(&this->actor, NA_SE_EN_NEMURI_SLEEP - SFX_FLAG);
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
if (!this->unk_20A) {
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
this->unk_20A = true;

View File

@ -9,7 +9,7 @@
#include "z64horse.h"
#include "assets/objects/object_horse_link_child/object_horse_link_child.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnHorseLinkChild*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_jgame_tsn.h"
#include "overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnJgameTsn*)thisx)

View File

@ -11,7 +11,7 @@
#include "assets/objects/object_ka/object_ka.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnKakasi*)thisx)

View File

@ -388,7 +388,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play) {
}
piece->airTimer = 100;
piece->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
piece->actor.flags |= ACTOR_FLAG_2000000;
piece->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->cutMarkTimer = 5;
Actor_PlaySfx(&this->actor, NA_SE_IT_SWORD_STRIKE);
}

View File

@ -7,8 +7,8 @@
#include "z_en_kendo_js.h"
#include "overlays/actors/ovl_En_Maruta/z_en_maruta.h"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000 | \
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA | \
ACTOR_FLAG_LOCK_ON_DISABLED)
#define THIS ((EnKendoJs*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_lift_nuts.h"
#include "overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnLiftNuts*)thisx)

View File

@ -6,7 +6,9 @@
#include "z_en_ma4.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | \
ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnMa4*)thisx)

View File

@ -8,7 +8,8 @@
#include "attributes.h"
#include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnMaYto*)thisx)

View File

@ -6,7 +6,8 @@
#include "z_en_ma_yts.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnMaYts*)thisx)

View File

@ -248,7 +248,7 @@ void EnMnk_MonkeyTiedUp_Init(Actor* thisx, PlayState* play) {
s32 i;
this->actionFunc = EnMnk_MonkeyTiedUp_Wait;
this->picto.actor.flags |= ACTOR_FLAG_2000000;
this->picto.actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
SkelAnime_InitFlex(play, &this->propSkelAnime, &gMonkeyTiedUpPoleSkel, &object_mnk_Anim_003584,
this->propJointTable, this->propMorphTable, OBJECT_MNK_1_LIMB_MAX);
this->cueId = 4;

View File

@ -6,7 +6,7 @@
#include "z_en_okarina_effect.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnOkarinaEffect*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_en_okarina_tag.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000 | ACTOR_FLAG_LOCK_ON_DISABLED)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_LOCK_ON_DISABLED)
#define THIS ((EnOkarinaTag*)thisx)

View File

@ -52,7 +52,7 @@ void EnOnpuman_Init(Actor* thisx, PlayState* play) {
EnOnpuman* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f);
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f);

View File

@ -585,7 +585,7 @@ void EnPamera_Draw(Actor* thisx, PlayState* play) {
void func_80BD9840(EnPamera* this, PlayState* play) {
this->actor.update = func_80BDA344;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->actor.flags |= ACTOR_FLAG_100000;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE)) {
func_80BD9E60(this);

View File

@ -13,7 +13,7 @@
#include "assets/objects/object_bal/object_bal.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnPaper*)thisx)

View File

@ -6,8 +6,9 @@
#include "z_en_po_composer.h"
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_100000 | \
ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnPoComposer*)thisx)
@ -301,7 +302,7 @@ void EnPoComposer_PlayCurse(EnPoComposer* this, PlayState* play) {
}
// Ocarina check
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
if (!sPlayerIsPlayingOcarina) {
// Play sound whenever the player begins playing the Ocarina
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);

View File

@ -7,7 +7,7 @@
#include "z_en_rsn.h"
#include "assets/objects/object_rsn/object_rsn.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnRsn*)thisx)

View File

@ -506,7 +506,7 @@ void EnRuppecrow_HandleSong(EnRuppecrow* this, PlayState* play) {
this->actionFunc = EnRuppecrow_HandleSongCutscene;
}
if (player->stateFlags2 & PLAYER_STATE2_8000000) {
if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
Math_ApproachF(&this->actor.speed, 0.0f, 0.1f, 1.0f);
} else {
Math_ApproachF(&this->actor.speed, 6.0f, 0.1f, 0.1f);
@ -637,7 +637,7 @@ void EnRuppecrow_Init(Actor* thisx, PlayState* play2) {
CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
Actor_SetScale(&this->actor, 0.01f);
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->path = SubS_GetPathByIndex(play, ENRUPPECROW_GET_PATH_INDEX(&this->actor), ENRUPPECROW_PATH_INDEX_NONE);
if (this->path != NULL) {

View File

@ -1028,7 +1028,7 @@ void EnSGoro_SetupAction(EnSGoro* this, PlayState* play) {
Actor_SetScale(&this->actor, 0.01f);
this->actor.gravity = -1.0f;
this->actor.flags |= ACTOR_FLAG_10;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->actor.attentionRangeType = ATTENTION_RANGE_1;
switch (EN_S_GORO_GET_MAIN_TYPE(&this->actor)) {

View File

@ -6,7 +6,7 @@
#include "z_en_tanron4.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnTanron4*)thisx)

View File

@ -12,7 +12,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200000 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnTest6*)thisx)

View File

@ -8,7 +8,7 @@
#include "z_en_test7.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_100000 | ACTOR_FLAG_200000 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_100000 | ACTOR_FLAG_200000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnTest7*)thisx)

View File

@ -67,12 +67,12 @@ void EnTimeTag_Init(Actor* thisx, PlayState* play) {
case TIMETAG_ROOFTOP_OATH:
this->actionFunc = EnTimeTag_RooftopOath_Wait;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
break;
case TIMETAG_SOARING_ENGRAVING:
this->actionFunc = EnTimeTag_SoaringEngraving_Wait;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
if (CHECK_QUEST_ITEM(QUEST_SONG_SOARING)) {
this->actor.textId = 0xC02;
} else {

View File

@ -8,7 +8,7 @@
#include "z64snap.h"
#include "assets/objects/object_tsn/object_tsn.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnTsn*)thisx)

View File

@ -8,7 +8,8 @@
#include "z_en_warp_tag.h"
#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_10 | ACTOR_FLAG_2000000 | ACTOR_FLAG_LOCK_ON_DISABLED)
#define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_LOCK_ON_DISABLED)
#define THIS ((EnWarptag*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_yb.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnYb*)thisx)
@ -379,10 +379,10 @@ void EnYb_Idle(EnYb* this, PlayState* play) {
}
if (this->playerOcarinaOut & 1) {
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->playerOcarinaOut &= ~1;
}
} else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (this->actor.xzDistToPlayer < 180.0f) &&
} else if ((player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) && (this->actor.xzDistToPlayer < 180.0f) &&
(fabsf(this->actor.playerHeightRel) < 50.0f)) {
this->playerOcarinaOut |= 1;
Actor_PlaySfx(&this->actor, NA_SE_SY_TRE_BOX_APPEAR);

View File

@ -110,7 +110,7 @@ void EnZob_Init(Actor* thisx, PlayState* play) {
}
this->actor.csId = this->csIdList[0];
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
switch (ENZOB_GET_F(&this->actor)) {
case ENZOB_F_1:

View File

@ -242,7 +242,7 @@ void EnZog_Init(Actor* thisx, PlayState* play) {
if ((ENZOG_GET_F(&this->actor) != ENZOG_F_2) && CHECK_WEEKEVENTREG(WEEKEVENTREG_88_10)) {
this->unk_302 = this->unk_300 = 0;
this->unk_2FC = this->unk_2FE = 3;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->actor.flags &= ~ACTOR_FLAG_10000;
this->unk_31C = 2;
this->unk_31E = 0;
@ -576,10 +576,10 @@ void func_80B943EC(EnZog* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (this->unk_30A & 0x10) {
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) {
if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->unk_30A &= ~0x10;
}
} else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (this->actor.xzDistToPlayer < 120.0f)) {
} else if ((player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) && (this->actor.xzDistToPlayer < 120.0f)) {
this->unk_30A |= 0x10;
Actor_PlaySfx(&this->actor, NA_SE_SY_TRE_BOX_APPEAR);
}
@ -618,7 +618,7 @@ void func_80B9461C(EnZog* this, PlayState* play) {
if (!func_80B93EA0(this, play)) {
this->actor.textId = 0x103C;
this->actionFunc = func_80B9451C;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
SET_WEEKEVENTREG(WEEKEVENTREG_91_02);
}
@ -720,7 +720,7 @@ void func_80B94A00(EnZog* this, PlayState* play) {
if (func_80B93BE0(this, play)) {
this->actionFunc = func_80B948A8;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_20)) {
this->actor.textId = 0x1009;
} else {

View File

@ -7,7 +7,7 @@
#include "z_en_zos.h"
#include "attributes.h"
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((EnZos*)thisx)

View File

@ -156,7 +156,7 @@ void EnZot_Init(Actor* thisx, PlayState* play2) {
break;
case 8:
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->actionFunc = func_80B98CA8;
func_80B96BEC(this, 5, ANIMMODE_LOOP);
break;

View File

@ -8,7 +8,7 @@
#include "z64quake.h"
#include "assets/objects/object_hariko/object_hariko.h"
#define FLAGS (ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ObjHariko*)thisx)

View File

@ -199,7 +199,8 @@ void func_80AC9A7C(ObjOcarinalift* this, PlayState* play) {
}
void func_80AC9AB8(ObjOcarinalift* this) {
this->dyna.actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_2000000 | ACTOR_FLAG_LOCK_ON_DISABLED);
this->dyna.actor.flags |=
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_LOCK_ON_DISABLED);
this->actionFunc = func_80AC9AE0;
}
@ -236,7 +237,8 @@ void func_80AC9B5C(ObjOcarinalift* this, PlayState* play) {
}
void func_80AC9C20(ObjOcarinalift* this) {
this->dyna.actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_2000000 | ACTOR_FLAG_LOCK_ON_DISABLED);
this->dyna.actor.flags &=
~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_LOCK_ON_DISABLED);
this->actionFunc = func_80AC9C48;
}

View File

@ -7,7 +7,7 @@
#include "z_obj_tree.h"
#include "assets/objects/object_tree/object_tree.h"
#define FLAGS (ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ObjTree*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_obj_wturn.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ObjWturn*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_object_kankyo.h"
#include "assets/objects/gameplay_keep/gameplay_keep.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((ObjectKankyo*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_spot.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffSpot*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_storm.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffStorm*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe2.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe2*)thisx)

View File

@ -7,7 +7,7 @@
#include "prevent_bss_reordering.h"
#include "z_oceff_wipe3.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe3*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe4.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe4*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe5.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe5*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe6.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe6*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe7.h"
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_2000000)
#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
#define THIS ((OceffWipe7*)thisx)

View File

@ -59,7 +59,7 @@ void ShotSun_Init(Actor* thisx, PlayState* play) {
(SHOTSUN_GET_TYPE(thisx) == SHOTSUN_FAIRY_SPAWNER_STORMS)) {
this->fairySpawnerState = SPAWNER_OUT_OF_RANGE; // never read after here
this->actor.flags |= ACTOR_FLAG_10;
this->actor.flags |= ACTOR_FLAG_2000000;
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
this->actionFunc = ShotSun_UpdateForOcarina;
this->actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED;
} else {

View File

@ -4407,8 +4407,8 @@ s32 Player_SetAction(PlayState* play, Player* this, PlayerActionFunc actionFunc,
this->stateFlags1 &= ~(PLAYER_STATE1_40 | PLAYER_STATE1_4000000 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000 |
PLAYER_STATE1_80000000);
this->stateFlags2 &= ~(PLAYER_STATE2_80000 | PLAYER_STATE2_800000 | PLAYER_STATE2_2000000 | PLAYER_STATE2_8000000 |
PLAYER_STATE2_IDLE_FIDGET);
this->stateFlags2 &= ~(PLAYER_STATE2_80000 | PLAYER_STATE2_800000 | PLAYER_STATE2_2000000 |
PLAYER_STATE2_USING_OCARINA | PLAYER_STATE2_IDLE_FIDGET);
this->stateFlags3 &=
~(PLAYER_STATE3_2 | PLAYER_STATE3_8 | PLAYER_STATE3_80 | PLAYER_STATE3_200 | PLAYER_STATE3_2000 |
PLAYER_STATE3_8000 | PLAYER_STATE3_10000 | PLAYER_STATE3_20000 | PLAYER_STATE3_40000 | PLAYER_STATE3_80000 |
@ -7842,7 +7842,7 @@ s32 Player_ActionHandler_13(Player* this, PlayState* play) {
(this->skelAnime.animation != D_8085D190[this->transformation]))) {
Player_Anim_PlayOnceAdjusted(play, this, D_8085D17C[this->transformation]);
}
this->stateFlags2 |= PLAYER_STATE2_8000000;
this->stateFlags2 |= PLAYER_STATE2_USING_OCARINA;
if (actorUnkA90 != NULL) {
this->actor.flags |= ACTOR_FLAG_20000000;
if (actorUnkA90->id == ACTOR_EN_ZOT) {
@ -12449,7 +12449,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_5);
Player_StopHorizontalMovement(this);
} else if (((u32)this->csAction == PLAYER_CSACTION_NONE) &&
!(this->stateFlags2 & (PLAYER_STATE2_400 | PLAYER_STATE2_8000000)) &&
!(this->stateFlags2 & (PLAYER_STATE2_400 | PLAYER_STATE2_USING_OCARINA)) &&
(play->csCtx.state != CS_STATE_STOP)) {
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_20);
Player_StopHorizontalMovement(this);