Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions soh/include/functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -2421,8 +2421,8 @@ u8 Message_ShouldAdvanceSilent(PlayState* play);
void Message_CloseTextbox(PlayState*);
void Message_StartTextbox(PlayState* play, u16 textId, Actor* actor);
void Message_ContinueTextbox(PlayState* play, u16 textId);
void func_8010BD58(PlayState* play, u16 arg1);
void func_8010BD88(PlayState* play, u16 arg1);
void Message_StartOcarinaWithSongEffect(PlayState* play, u16 arg1);
void Message_StartOcarinaNoSongEffect(PlayState* play, u16 arg1);
u8 Message_GetState(MessageContext* msgCtx);
void Message_Draw(PlayState* play);
void Message_Update(PlayState* play);
Expand Down
2 changes: 1 addition & 1 deletion soh/include/z64.h
Original file line number Diff line number Diff line change
Expand Up @@ -704,7 +704,7 @@ typedef struct {
/* 0xE406 */ s16 textboxColorAlphaCurrent;
/* 0xE408 */ Actor* talkActor;
/* 0xE40C */ s16 disableWarpSongs; // warp song flag set by scene commands
/* 0xE40E */ s16 unk_E40E; // ocarina related
/* 0xE40E */ s16 disableSongEffect; // ocarina related

@serprex serprex Jul 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should be striving to match decomp, for example they named this field disableSunsSong

where they haven't made a rename there should be an upstream PR at least proposing the renames there

/* 0xE410 */ u8 lastOcaNoteIdx;
} MessageContext; // size = 0xE418

Expand Down
2 changes: 1 addition & 1 deletion soh/include/z64player.h
Original file line number Diff line number Diff line change
Expand Up @@ -843,7 +843,7 @@ typedef struct Player {
/* 0x069C */ char unk_69C[0x004];
/* 0x06A0 */ f32 unk_6A0;
/* 0x06A4 */ f32 closestSecretDistSq;
/* 0x06A8 */ Actor* unk_6A8;
/* 0x06A8 */ Actor* ocarinaTargetActor;
/* 0x06AC */ s8 idleType;
/* 0x06AD */ u8 unk_6AD; // Camera related. 0 = normal, 1 = first person without weapon, 2 = first person with weapon, 3 = cutscene action, 4 = cutscene items
/* 0x06AE */ u16 unk_6AE_rotFlags; // See `UNK6AE_ROT_` macros. If its flag isn't set, a rot steps to 0.
Expand Down
4 changes: 2 additions & 2 deletions soh/src/code/z_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -1647,7 +1647,7 @@ void Cutscene_Command_Textbox(PlayState* play, CutsceneContext* csCtx, CsCmdText
} else {
if (D_8011E1C4 != cmd->base) {
D_8011E1C4 = cmd->base;
func_8010BD58(play, cmd->base);
Message_StartOcarinaWithSongEffect(play, cmd->base);
return;
}
}
Expand Down Expand Up @@ -1692,7 +1692,7 @@ void Cutscene_Command_Textbox(PlayState* play, CutsceneContext* csCtx, CsCmdText

if (dialogState == TEXT_STATE_EVENT) {
if (Message_ShouldAdvance(play)) {
func_8010BD58(play, cmd->base);
Message_StartOcarinaWithSongEffect(play, cmd->base);
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions soh/src/code/z_message_PAL.c
Original file line number Diff line number Diff line change
Expand Up @@ -3032,13 +3032,13 @@ void Message_StartOcarina(PlayState* play, u16 ocarinaActionId) {
}
}

void func_8010BD58(PlayState* play, u16 ocarinaActionId) {
play->msgCtx.unk_E40E = 0;
void Message_StartOcarinaWithSongEffect(PlayState* play, u16 ocarinaActionId) {
play->msgCtx.disableSongEffect = 0;
Message_StartOcarina(play, ocarinaActionId);
}

void func_8010BD88(PlayState* play, u16 ocarinaActionId) {
play->msgCtx.unk_E40E = 1;
void Message_StartOcarinaNoSongEffect(PlayState* play, u16 ocarinaActionId) {
play->msgCtx.disableSongEffect = 1;
Message_StartOcarina(play, ocarinaActionId);
}

Expand Down Expand Up @@ -3875,7 +3875,7 @@ void Message_DrawMain(PlayState* play, Gfx** p) {
Message_DrawText(play, &gfx);
}
if (Message_ShouldAdvance(play)) {
func_8010BD58(play, msgCtx->ocarinaAction);
Message_StartOcarinaWithSongEffect(play, msgCtx->ocarinaAction);
}
break;
case MSGMODE_SCARECROW_LONG_RECORDING_START:
Expand Down
8 changes: 4 additions & 4 deletions soh/src/overlays/actors/ovl_En_Box/z_en_box.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ void EnBox_Update(Actor* thisx, PlayState* play);
void EnBox_Draw(Actor* thisx, PlayState* play);

void EnBox_FallOnSwitchFlag(EnBox*, PlayState*);
void func_809C9700(EnBox*, PlayState*);
void EnBox_WaitForOcarina(EnBox*, PlayState*);
void EnBox_AppearOnSwitchFlag(EnBox*, PlayState*);
void EnBox_AppearOnRoomClear(EnBox*, PlayState*);
void EnBox_AppearInit(EnBox*, PlayState*);
Expand Down Expand Up @@ -161,7 +161,7 @@ void EnBox_Init(Actor* thisx, PlayState* play2) {
this->alpha = 0;
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
} else if (this->type == ENBOX_TYPE_9 || this->type == ENBOX_TYPE_10) {
EnBox_SetupAction(this, func_809C9700);
EnBox_SetupAction(this, EnBox_WaitForOcarina);
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
func_8003EBF8(play, &play->colCtx.dyna, this->dyna.bgId);
this->movementFlags |= ENBOX_MOVE_IMMOBILE;
Expand Down Expand Up @@ -305,7 +305,7 @@ void EnBox_FallOnSwitchFlag(EnBox* this, PlayState* play) {
}

// used for types 9, 10
void func_809C9700(EnBox* this, PlayState* play) {
void EnBox_WaitForOcarina(EnBox* this, PlayState* play) {
s32 treasureFlag = this->dyna.actor.params & 0x1F;
Player* player = GET_PLAYER(play);

Expand All @@ -325,7 +325,7 @@ void func_809C9700(EnBox* this, PlayState* play) {
}

if (this->unk_1FB == ENBOX_STATE_1) {
func_8010BD58(play, OCARINA_ACTION_FREE_PLAY);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_FREE_PLAY);
this->unk_1FB = ENBOX_STATE_2;
} else if (this->unk_1FB == ENBOX_STATE_2 && play->msgCtx.ocarinaMode == OCARINA_MODE_04) {
if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_LULLABY && this->type == ENBOX_TYPE_9) ||
Expand Down
26 changes: 13 additions & 13 deletions soh/src/overlays/actors/ovl_En_Du/z_en_du.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ void EnDu_Update(Actor* thisx, PlayState* play);
void EnDu_Draw(Actor* thisx, PlayState* play);

void func_809FE3B4(EnDu* this, PlayState* play);
void func_809FE3C0(EnDu* this, PlayState* play);
void EnDu_WaitForOcarina(EnDu* this, PlayState* play);
void func_809FE638(EnDu* this, PlayState* play);
void func_809FE890(EnDu* this, PlayState* play);
void func_809FE4A4(EnDu* this, PlayState* play);
void EnDu_ListenToOcarina(EnDu* this, PlayState* play);
void func_809FE6CC(EnDu* this, PlayState* play);
void func_809FE740(EnDu* this, PlayState* play);
void func_809FE798(EnDu* this, PlayState* play);
Expand Down Expand Up @@ -336,7 +336,7 @@ void EnDu_Init(Actor* thisx, PlayState* play) {
} else if (play->sceneNum == SCENE_FIRE_TEMPLE) {
EnDu_SetupAction(this, func_809FE638);
} else if (!LINK_IS_ADULT) {
EnDu_SetupAction(this, func_809FE3C0);
EnDu_SetupAction(this, EnDu_WaitForOcarina);
} else {
EnDu_SetupAction(this, func_809FE3B4);
}
Expand All @@ -352,14 +352,14 @@ void EnDu_Destroy(Actor* thisx, PlayState* play) {
void func_809FE3B4(EnDu* this, PlayState* play) {
}

void func_809FE3C0(EnDu* this, PlayState* play) {
void EnDu_WaitForOcarina(EnDu* this, PlayState* play) {
Player* player = GET_PLAYER(play);

if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
func_8010BD88(play, OCARINA_ACTION_CHECK_SARIA);
Message_StartOcarinaNoSongEffect(play, OCARINA_ACTION_CHECK_SARIA);
player->stateFlags2 |= PLAYER_STATE2_PLAY_FOR_ACTOR;
player->unk_6A8 = &this->actor;
EnDu_SetupAction(this, func_809FE4A4);
player->ocarinaTargetActor = &this->actor;
EnDu_SetupAction(this, EnDu_ListenToOcarina);
return;
}
if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) {
Expand All @@ -371,12 +371,12 @@ void func_809FE3C0(EnDu* this, PlayState* play) {
}
}

void func_809FE4A4(EnDu* this, PlayState* play) {
void EnDu_ListenToOcarina(EnDu* this, PlayState* play) {
Player* player = GET_PLAYER(play);

if (play->msgCtx.ocarinaMode == OCARINA_MODE_04) {
play->msgCtx.ocarinaMode = OCARINA_MODE_00;
EnDu_SetupAction(this, func_809FE3C0);
EnDu_SetupAction(this, EnDu_WaitForOcarina);
} else if (play->msgCtx.ocarinaMode >= OCARINA_MODE_06) {
if (GameInteractor_Should(VB_PLAY_DARUNIAS_JOY_CS, true)) {
play->csCtx.segment = SEGMENTED_TO_VIRTUAL(gGoronCityDaruniaWrongCs);
Expand Down Expand Up @@ -553,7 +553,7 @@ void func_809FEB08(EnDu* this, PlayState* play) {
if (this->unk_1E8 == 1) {
Player_SetCsActionWithHaltedActors(play, &this->actor, 7);
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENDU_ANIM_1);
EnDu_SetupAction(this, func_809FE3C0);
EnDu_SetupAction(this, EnDu_WaitForOcarina);
return;
}
if (GameInteractor_Should(VB_BE_ELIGIBLE_FOR_DARUNIAS_JOY_REWARD, CUR_UPG_VALUE(UPG_STRENGTH) <= 0)) {
Expand All @@ -562,7 +562,7 @@ void func_809FEB08(EnDu* this, PlayState* play) {
EnDu_SetupAction(this, func_809FEC14);
} else {
this->actor.textId = 0x301F;
EnDu_SetupAction(this, func_809FE3C0);
EnDu_SetupAction(this, EnDu_WaitForOcarina);
}
Message_StartTextbox(play, this->actor.textId, NULL);
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENDU_ANIM_14);
Expand Down Expand Up @@ -591,7 +591,7 @@ void func_809FEC70(EnDu* this, PlayState* play) {
void func_809FECE4(EnDu* this, PlayState* play) {
if (this->interactInfo.talkState == NPC_TALK_STATE_ITEM_GIVEN) {
this->interactInfo.talkState = NPC_TALK_STATE_IDLE;
EnDu_SetupAction(this, func_809FE3C0);
EnDu_SetupAction(this, EnDu_WaitForOcarina);
}
}

Expand Down Expand Up @@ -621,7 +621,7 @@ void EnDu_Update(Actor* thisx, PlayState* play) {

Actor_UpdateBgCheckInfo(play, &this->actor, 0.0f, 0.0f, 0.0f, 4);

if (this->actionFunc != func_809FE4A4) {
if (this->actionFunc != EnDu_ListenToOcarina) {
Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 116.0f,
EnDu_GetTextId, EnDu_UpdateTalkState);
}
Expand Down
8 changes: 4 additions & 4 deletions soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ void EnFr_Idle(EnFr* this, PlayState* play) {
this->reward = GI_NONE;
this->actionFunc = EnFr_Activate;
} else if (EnFr_IsAboveAndWithin30DistXZ(player, this)) {
player->unk_6A8 = &this->actor;
player->ocarinaTargetActor = &this->actor;
}
}

Expand Down Expand Up @@ -673,7 +673,7 @@ void func_80A1BE98(EnFr* this, PlayState* play) {
}
}

func_8010BD58(play, OCARINA_ACTION_CHECK_NOWARP);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_CHECK_NOWARP);
this->actionFunc = EnFr_ListeningToOcarinaNotes;
}

Expand Down Expand Up @@ -832,7 +832,7 @@ void EnFr_SetupFrogSong(EnFr* this, PlayState* play) {
EnFr_SetupReward(this, play, false);
} else {
this->ocarinaNoteIndex = 0;
func_8010BD58(play, OCARINA_ACTION_FROGS);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_FROGS);
this->ocarinaNote = EnFr_GetNextNoteFrogSong(this->ocarinaNoteIndex);
EnFr_CheckOcarinaInputFrogSong(this->ocarinaNote);
this->actionFunc = EnFr_ContinueFrogSong;
Expand All @@ -841,7 +841,7 @@ void EnFr_SetupFrogSong(EnFr* this, PlayState* play) {
} else {
this->frogSongTimer = 40;
this->ocarinaNoteIndex = 0;
func_8010BD58(play, OCARINA_ACTION_FROGS);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_FROGS);
this->ocarinaNote = EnFr_GetNextNoteFrogSong(this->ocarinaNoteIndex);
EnFr_CheckOcarinaInputFrogSong(this->ocarinaNote);
this->actionFunc = EnFr_ContinueFrogSong;
Expand Down
4 changes: 2 additions & 2 deletions soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ void EnFu_WaitForPlayback(EnFu* this, PlayState* play) {
player->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
// if dialog state is 7, player has played back the song
if (Message_GetState(&play->msgCtx) == TEXT_STATE_SONG_DEMO_DONE) {
func_8010BD58(play, OCARINA_ACTION_PLAYBACK_STORMS);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_PLAYBACK_STORMS);
this->actionFunc = func_80A1DBD4;
}
}
Expand All @@ -215,7 +215,7 @@ void EnFu_TeachSong(EnFu* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) {
this->behaviorFlags &= ~FU_WAIT;
AudioOcarina_SetInstrument(4); // seems to be related to setting instrument type
func_8010BD58(play, OCARINA_ACTION_TEACH_STORMS);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_TEACH_STORMS);
this->actionFunc = EnFu_WaitForPlayback;
}
}
Expand Down
2 changes: 1 addition & 1 deletion soh/src/overlays/actors/ovl_En_Gs/z_en_gs.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ void func_80A4E470(EnGs* this, PlayState* play) {
if (this->unk_19D == 0) {
player->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
func_8010BD58(play, OCARINA_ACTION_FREE_PLAY);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_FREE_PLAY);
this->unk_19D |= 1;
}
} else if (GameInteractor_Should(VB_SPAWN_GOSSIP_STONE_FAIRY, this->unk_19D & 1, this)) {
Expand Down
4 changes: 2 additions & 2 deletions soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ void func_80A8F75C(EnKakasi* this, PlayState* play) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN);

func_8010BD58(play, OCARINA_ACTION_SCARECROW_LONG_RECORDING);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_SCARECROW_LONG_RECORDING);
this->unk_19A = 0;
this->unk_1B8 = 0.0;
player->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
Expand Down Expand Up @@ -270,7 +270,7 @@ void func_80A8F9C8(EnKakasi* this, PlayState* play) {
this->camId = OnePointCutscene_Init(play, 2270, -99, &this->actor, CAM_ID_MAIN);
play->msgCtx.msgMode = MSGMODE_PAUSED;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
func_8010BD58(play, OCARINA_ACTION_SCARECROW_LONG_PLAYBACK);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_SCARECROW_LONG_PLAYBACK);
this->actionFunc = func_80A8FAA4;
}
}
Expand Down
6 changes: 3 additions & 3 deletions soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ void func_80A91348(EnKakasi3* this, PlayState* play) {
void func_80A915B8(EnKakasi3* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
func_8010BD58(play, OCARINA_ACTION_SCARECROW_RECORDING);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_SCARECROW_RECORDING);
this->actionFunc = func_80A91620;
}
}
Expand Down Expand Up @@ -313,7 +313,7 @@ void func_80A91760(EnKakasi3* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if (this->dialogState == Message_GetState(&play->msgCtx) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
func_8010BD58(play, OCARINA_ACTION_SCARECROW_PLAYBACK);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_SCARECROW_PLAYBACK);
this->actionFunc = func_80A917FC;
this->camId = OnePointCutscene_Init(play, 2280, -99, &this->actor, CAM_ID_MAIN);
}
Expand All @@ -334,7 +334,7 @@ void func_80A917FC(EnKakasi3* this, PlayState* play) {
void func_80A9187C(EnKakasi3* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT && Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
func_8010BD58(play, OCARINA_ACTION_CHECK_SCARECROW);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_CHECK_SCARECROW);
this->actionFunc = func_80A918E4;
}
}
Expand Down
6 changes: 3 additions & 3 deletions soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ void EnMa1_IdleTeachSong(EnMa1* this, PlayState* play) {
if (Flags_GetEventChkInf(EVENTCHKINF_INVITED_TO_SING_WITH_CHILD_MALON)) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
player->stateFlags2 |= PLAYER_STATE2_PLAY_FOR_ACTOR;
player->unk_6A8 = &this->actor;
player->ocarinaTargetActor = &this->actor;
this->actor.textId = 0x2061;
Message_StartTextbox(play, this->actor.textId, NULL);
this->interactInfo.talkState = NPC_TALK_STATE_TALKING;
Expand All @@ -392,7 +392,7 @@ void EnMa1_StartTeachSong(EnMa1* this, PlayState* play) {
GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) {
AudioOcarina_SetInstrument(2);
func_8010BD58(play, OCARINA_ACTION_TEACH_EPONA);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_TEACH_EPONA);
this->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
this->actionFunc = EnMa1_TeachSong;
}
Expand All @@ -401,7 +401,7 @@ void EnMa1_StartTeachSong(EnMa1* this, PlayState* play) {
void EnMa1_TeachSong(EnMa1* this, PlayState* play) {
GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
if (Message_GetState(&play->msgCtx) == TEXT_STATE_SONG_DEMO_DONE) {
func_8010BD58(play, OCARINA_ACTION_PLAYBACK_EPONA);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_PLAYBACK_EPONA);
this->actionFunc = EnMa1_WaitForPlayback;
}
}
Expand Down
4 changes: 2 additions & 2 deletions soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
Original file line number Diff line number Diff line change
Expand Up @@ -268,9 +268,9 @@ void EnMa2_WaitForOcarina(EnMa2* this, PlayState* play) {
Player* player = GET_PLAYER(play);

if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
player->unk_6A8 = &this->actor;
player->ocarinaTargetActor = &this->actor;
player->stateFlags2 |= PLAYER_STATE2_PLAY_FOR_ACTOR;
func_8010BD58(play, OCARINA_ACTION_CHECK_EPONA);
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_CHECK_EPONA);
this->actionFunc = EnMa2_WaitForEponasSong;
} else if (this->actor.xzDistToPlayer < 30.0f + (f32)this->collider.dim.radius) {
player->stateFlags2 |= PLAYER_STATE2_NEAR_OCARINA_ACTOR;
Expand Down
4 changes: 2 additions & 2 deletions soh/src/overlays/actors/ovl_En_Md/z_en_md.c
Original file line number Diff line number Diff line change
Expand Up @@ -754,8 +754,8 @@ void EnMd_BlockPath(EnMd* this, PlayState* play) {
if ((this->interactInfo.talkState == NPC_TALK_STATE_IDLE) && (play->sceneNum == SCENE_LOST_WOODS)) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
player->stateFlags2 |= PLAYER_STATE2_PLAY_FOR_ACTOR;
player->unk_6A8 = &this->actor;
func_8010BD58(play, OCARINA_ACTION_CHECK_SARIA);
player->ocarinaTargetActor = &this->actor;
Message_StartOcarinaWithSongEffect(play, OCARINA_ACTION_CHECK_SARIA);
this->actionFunc = EnMd_ListenToOcarina;
return;
}
Expand Down
Loading
Loading