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_800000 (1 << 23)
// //
#define ACTOR_FLAG_1000000 (1 << 24) #define ACTOR_FLAG_1000000 (1 << 24)
// // Actor can update even if Player is currently using the ocarina.
#define ACTOR_FLAG_2000000 (1 << 25) // 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 // actor can press and hold down switches
#define ACTOR_FLAG_CAN_PRESS_SWITCH (1 << 26) #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_2000000 (1 << 25)
// //
#define PLAYER_STATE2_4000000 (1 << 26) #define PLAYER_STATE2_4000000 (1 << 26)
// // Playing the ocarina
#define PLAYER_STATE2_8000000 (1 << 27) #define PLAYER_STATE2_USING_OCARINA (1 << 27)
// Playing a fidget idle animation (under typical circumstances, see `Player_ChooseNextIdleAnim` for more info) // Playing a fidget idle animation (under typical circumstances, see `Player_ChooseNextIdleAnim` for more info)
#define PLAYER_STATE2_IDLE_FIDGET (1 << 28) #define PLAYER_STATE2_IDLE_FIDGET (1 << 28)
// Disable drawing player // Disable drawing player

View File

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

View File

@ -3,7 +3,7 @@
#define FLAGS \ #define FLAGS \
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_200000 | \ (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 sPlayerCallInitFunc;
ActorFunc sPlayerCallDestroyFunc; ActorFunc sPlayerCallDestroyFunc;

View File

@ -7,7 +7,7 @@
#include "z_arrow_fire.h" #include "z_arrow_fire.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.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) #define THIS ((ArrowFire*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_arrow_ice.h" #include "z_arrow_ice.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.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) #define THIS ((ArrowIce*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_arrow_light.h" #include "z_arrow_light.h"
#include "overlays/actors/ovl_En_Arrow/z_en_arrow.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) #define THIS ((ArrowLight*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_bg_dy_yoseizo.h" #include "z_bg_dy_yoseizo.h"
#include "overlays/actors/ovl_Demo_Effect/z_demo_effect.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) #define THIS ((BgDyYoseizo*)thisx)

View File

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

View File

@ -6,7 +6,7 @@
#include "z_dm_bal.h" #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) #define THIS ((DmBal*)thisx)

View File

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

View File

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

View File

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

View File

@ -7,7 +7,7 @@
#include "z_door_ana.h" #include "z_door_ana.h"
#include "assets/objects/gameplay_field_keep/gameplay_field_keep.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) #define THIS ((DoorAna*)thisx)

View File

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

View File

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

View File

@ -9,7 +9,7 @@
#include "z_en_ds2n.h" #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) #define THIS ((EnDs2n*)thisx)

View File

@ -8,7 +8,7 @@
#include "attributes.h" #include "attributes.h"
#include "z64elf_message.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) #define THIS ((EnElf*)thisx)

View File

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

View File

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

View File

@ -917,7 +917,7 @@ void EnGb2_Init(Actor* thisx, PlayState* play) {
this->unk_28A = 255; this->unk_28A = 255;
this->actor.flags |= ACTOR_FLAG_10; 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)) { if (CHECK_EVENTINF(EVENTINF_46)) {
func_80B0F728(this, play); 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->actor.xzDistToPlayer < 200.0f) {
if (this->unk_306 == 0) { if (this->unk_306 == 0) {
if (player->stateFlags2 & PLAYER_STATE2_8000000) { if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) {
this->unk_306 = 1; this->unk_306 = 1;
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); 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; this->unk_306 = 0;
} }
@ -691,7 +691,7 @@ void EnGg_Init(Actor* thisx, PlayState* play) {
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS; this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS;
this->unk_310 = this->actor.home.pos.y; this->unk_310 = this->actor.home.pos.y;
this->csId = this->actor.csId; 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_308 = 0;
this->unk_309 = 0; this->unk_309 = 0;
this->unk_304 = 0; this->unk_304 = 0;

View File

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

View File

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

View File

@ -12,7 +12,7 @@
#include "assets/objects/object_gs/object_gs.h" #include "assets/objects/object_gs/object_gs.h"
#include "assets/objects/gameplay_keep/gameplay_keep.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) #define THIS ((EnGs*)thisx)

View File

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

View File

@ -6,7 +6,7 @@
#include "z_en_hgo.h" #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) #define THIS ((EnHgo*)thisx)

View File

@ -8,7 +8,7 @@
#include "z64voice.h" #include "z64voice.h"
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.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) #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); 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) { if (!this->unk_20A) {
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR); Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
this->unk_20A = true; this->unk_20A = true;

View File

@ -9,7 +9,7 @@
#include "z64horse.h" #include "z64horse.h"
#include "assets/objects/object_horse_link_child/object_horse_link_child.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) #define THIS ((EnHorseLinkChild*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_jgame_tsn.h" #include "z_en_jgame_tsn.h"
#include "overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.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) #define THIS ((EnJgameTsn*)thisx)

View File

@ -11,7 +11,7 @@
#include "assets/objects/object_ka/object_ka.h" #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) #define THIS ((EnKakasi*)thisx)

View File

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

View File

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

View File

@ -7,7 +7,7 @@
#include "z_en_lift_nuts.h" #include "z_en_lift_nuts.h"
#include "overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.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) #define THIS ((EnLiftNuts*)thisx)

View File

@ -6,7 +6,9 @@
#include "z_en_ma4.h" #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) #define THIS ((EnMa4*)thisx)

View File

@ -8,7 +8,8 @@
#include "attributes.h" #include "attributes.h"
#include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.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) #define THIS ((EnMaYto*)thisx)

View File

@ -6,7 +6,8 @@
#include "z_en_ma_yts.h" #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) #define THIS ((EnMaYts*)thisx)

View File

@ -248,7 +248,7 @@ void EnMnk_MonkeyTiedUp_Init(Actor* thisx, PlayState* play) {
s32 i; s32 i;
this->actionFunc = EnMnk_MonkeyTiedUp_Wait; 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, SkelAnime_InitFlex(play, &this->propSkelAnime, &gMonkeyTiedUpPoleSkel, &object_mnk_Anim_003584,
this->propJointTable, this->propMorphTable, OBJECT_MNK_1_LIMB_MAX); this->propJointTable, this->propMorphTable, OBJECT_MNK_1_LIMB_MAX);
this->cueId = 4; this->cueId = 4;

View File

@ -6,7 +6,7 @@
#include "z_en_okarina_effect.h" #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) #define THIS ((EnOkarinaEffect*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_en_okarina_tag.h" #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) #define THIS ((EnOkarinaTag*)thisx)

View File

@ -52,7 +52,7 @@ void EnOnpuman_Init(Actor* thisx, PlayState* play) {
EnOnpuman* this = THIS; EnOnpuman* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 36.0f); 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); Collider_InitAndSetCylinder(play, &this->collider, &this->actor, &sCylinderInit);
this->actor.colChkInfo.mass = MASS_IMMOVABLE; this->actor.colChkInfo.mass = MASS_IMMOVABLE;
Actor_SetScale(&this->actor, 0.01f); 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) { void func_80BD9840(EnPamera* this, PlayState* play) {
this->actor.update = func_80BDA344; 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; this->actor.flags |= ACTOR_FLAG_100000;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE)) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE)) {
func_80BD9E60(this); func_80BD9E60(this);

View File

@ -13,7 +13,7 @@
#include "assets/objects/object_bal/object_bal.h" #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) #define THIS ((EnPaper*)thisx)

View File

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

View File

@ -7,7 +7,7 @@
#include "z_en_rsn.h" #include "z_en_rsn.h"
#include "assets/objects/object_rsn/object_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) #define THIS ((EnRsn*)thisx)

View File

@ -506,7 +506,7 @@ void EnRuppecrow_HandleSong(EnRuppecrow* this, PlayState* play) {
this->actionFunc = EnRuppecrow_HandleSongCutscene; 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); Math_ApproachF(&this->actor.speed, 0.0f, 0.1f, 1.0f);
} else { } else {
Math_ApproachF(&this->actor.speed, 6.0f, 0.1f, 0.1f); 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); CollisionCheck_SetInfo(&this->actor.colChkInfo, &sDamageTable, &sColChkInfoInit);
Actor_SetScale(&this->actor, 0.01f); 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); this->path = SubS_GetPathByIndex(play, ENRUPPECROW_GET_PATH_INDEX(&this->actor), ENRUPPECROW_PATH_INDEX_NONE);
if (this->path != NULL) { if (this->path != NULL) {

View File

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

View File

@ -6,7 +6,7 @@
#include "z_en_tanron4.h" #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) #define THIS ((EnTanron4*)thisx)

View File

@ -12,7 +12,7 @@
#include "assets/objects/gameplay_keep/gameplay_keep.h" #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) #define THIS ((EnTest6*)thisx)

View File

@ -8,7 +8,7 @@
#include "z_en_test7.h" #include "z_en_test7.h"
#include "assets/objects/gameplay_keep/gameplay_keep.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) #define THIS ((EnTest7*)thisx)

View File

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

View File

@ -8,7 +8,7 @@
#include "z64snap.h" #include "z64snap.h"
#include "assets/objects/object_tsn/object_tsn.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) #define THIS ((EnTsn*)thisx)

View File

@ -8,7 +8,8 @@
#include "z_en_warp_tag.h" #include "z_en_warp_tag.h"
#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.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) #define THIS ((EnWarptag*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_en_yb.h" #include "z_en_yb.h"
#include "assets/objects/gameplay_keep/gameplay_keep.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) #define THIS ((EnYb*)thisx)
@ -379,10 +379,10 @@ void EnYb_Idle(EnYb* this, PlayState* play) {
} }
if (this->playerOcarinaOut & 1) { if (this->playerOcarinaOut & 1) {
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->playerOcarinaOut &= ~1; 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)) { (fabsf(this->actor.playerHeightRel) < 50.0f)) {
this->playerOcarinaOut |= 1; this->playerOcarinaOut |= 1;
Actor_PlaySfx(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); 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.csId = this->csIdList[0];
this->actor.flags |= ACTOR_FLAG_2000000; this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
switch (ENZOB_GET_F(&this->actor)) { switch (ENZOB_GET_F(&this->actor)) {
case ENZOB_F_1: 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)) { if ((ENZOG_GET_F(&this->actor) != ENZOG_F_2) && CHECK_WEEKEVENTREG(WEEKEVENTREG_88_10)) {
this->unk_302 = this->unk_300 = 0; this->unk_302 = this->unk_300 = 0;
this->unk_2FC = this->unk_2FE = 3; 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->actor.flags &= ~ACTOR_FLAG_10000;
this->unk_31C = 2; this->unk_31C = 2;
this->unk_31E = 0; this->unk_31E = 0;
@ -576,10 +576,10 @@ void func_80B943EC(EnZog* this, PlayState* play) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
if (this->unk_30A & 0x10) { if (this->unk_30A & 0x10) {
if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { if (!(player->stateFlags2 & PLAYER_STATE2_USING_OCARINA)) {
this->unk_30A &= ~0x10; 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; this->unk_30A |= 0x10;
Actor_PlaySfx(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); 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)) { if (!func_80B93EA0(this, play)) {
this->actor.textId = 0x103C; this->actor.textId = 0x103C;
this->actionFunc = func_80B9451C; this->actionFunc = func_80B9451C;
this->actor.flags |= ACTOR_FLAG_2000000; this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
SET_WEEKEVENTREG(WEEKEVENTREG_91_02); SET_WEEKEVENTREG(WEEKEVENTREG_91_02);
} }
@ -720,7 +720,7 @@ void func_80B94A00(EnZog* this, PlayState* play) {
if (func_80B93BE0(this, play)) { if (func_80B93BE0(this, play)) {
this->actionFunc = func_80B948A8; this->actionFunc = func_80B948A8;
this->actor.flags |= ACTOR_FLAG_2000000; this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_20)) { if (CHECK_WEEKEVENTREG(WEEKEVENTREG_29_20)) {
this->actor.textId = 0x1009; this->actor.textId = 0x1009;
} else { } else {

View File

@ -7,7 +7,7 @@
#include "z_en_zos.h" #include "z_en_zos.h"
#include "attributes.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) #define THIS ((EnZos*)thisx)

View File

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

View File

@ -8,7 +8,7 @@
#include "z64quake.h" #include "z64quake.h"
#include "assets/objects/object_hariko/object_hariko.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) #define THIS ((ObjHariko*)thisx)

View File

@ -199,7 +199,8 @@ void func_80AC9A7C(ObjOcarinalift* this, PlayState* play) {
} }
void func_80AC9AB8(ObjOcarinalift* this) { 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; this->actionFunc = func_80AC9AE0;
} }
@ -236,7 +237,8 @@ void func_80AC9B5C(ObjOcarinalift* this, PlayState* play) {
} }
void func_80AC9C20(ObjOcarinalift* this) { 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; this->actionFunc = func_80AC9C48;
} }

View File

@ -7,7 +7,7 @@
#include "z_obj_tree.h" #include "z_obj_tree.h"
#include "assets/objects/object_tree/object_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) #define THIS ((ObjTree*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_obj_wturn.h" #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) #define THIS ((ObjWturn*)thisx)

View File

@ -7,7 +7,7 @@
#include "z_object_kankyo.h" #include "z_object_kankyo.h"
#include "assets/objects/gameplay_keep/gameplay_keep.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) #define THIS ((ObjectKankyo*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_spot.h" #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) #define THIS ((OceffSpot*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_storm.h" #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) #define THIS ((OceffStorm*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe.h" #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) #define THIS ((OceffWipe*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe2.h" #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) #define THIS ((OceffWipe2*)thisx)

View File

@ -7,7 +7,7 @@
#include "prevent_bss_reordering.h" #include "prevent_bss_reordering.h"
#include "z_oceff_wipe3.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) #define THIS ((OceffWipe3*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe4.h" #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) #define THIS ((OceffWipe4*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe5.h" #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) #define THIS ((OceffWipe5*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe6.h" #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) #define THIS ((OceffWipe6*)thisx)

View File

@ -6,7 +6,7 @@
#include "z_oceff_wipe7.h" #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) #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)) { (SHOTSUN_GET_TYPE(thisx) == SHOTSUN_FAIRY_SPAWNER_STORMS)) {
this->fairySpawnerState = SPAWNER_OUT_OF_RANGE; // never read after here this->fairySpawnerState = SPAWNER_OUT_OF_RANGE; // never read after here
this->actor.flags |= ACTOR_FLAG_10; 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->actionFunc = ShotSun_UpdateForOcarina;
this->actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED; this->actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED;
} else { } 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 | this->stateFlags1 &= ~(PLAYER_STATE1_40 | PLAYER_STATE1_4000000 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000 |
PLAYER_STATE1_80000000); PLAYER_STATE1_80000000);
this->stateFlags2 &= ~(PLAYER_STATE2_80000 | PLAYER_STATE2_800000 | PLAYER_STATE2_2000000 | PLAYER_STATE2_8000000 | this->stateFlags2 &= ~(PLAYER_STATE2_80000 | PLAYER_STATE2_800000 | PLAYER_STATE2_2000000 |
PLAYER_STATE2_IDLE_FIDGET); PLAYER_STATE2_USING_OCARINA | PLAYER_STATE2_IDLE_FIDGET);
this->stateFlags3 &= this->stateFlags3 &=
~(PLAYER_STATE3_2 | PLAYER_STATE3_8 | PLAYER_STATE3_80 | PLAYER_STATE3_200 | PLAYER_STATE3_2000 | ~(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 | 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]))) { (this->skelAnime.animation != D_8085D190[this->transformation]))) {
Player_Anim_PlayOnceAdjusted(play, this, D_8085D17C[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) { if (actorUnkA90 != NULL) {
this->actor.flags |= ACTOR_FLAG_20000000; this->actor.flags |= ACTOR_FLAG_20000000;
if (actorUnkA90->id == ACTOR_EN_ZOT) { 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_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_5);
Player_StopHorizontalMovement(this); Player_StopHorizontalMovement(this);
} else if (((u32)this->csAction == PLAYER_CSACTION_NONE) && } 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)) { (play->csCtx.state != CS_STATE_STOP)) {
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_20); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_20);
Player_StopHorizontalMovement(this); Player_StopHorizontalMovement(this);