Z_message (2 NON_MATCHINGS) (#1398)

* matched func_8014D62C

* matched func_8014D304

* matched func_80149048

* matched func_80159438 & func_8014CDF0

* matched Message_GetState

* matched func_80152CAC

* matched func_80149454

* matched func_801491DC

* matched func_80150A84

* matched func_801496C8

* matched func_80149C18

* func_8014995C progress

* matched 8014995C

* matched func_80153EF0

* fix MessageContext lottery guess array size to match func_801496C8

* matched 80148D64

* matched func_8014AAD0

* progress func_8014CFDC

* matched func_8014CFDC

* progress func_801514B0

* progress#2 func_801514B0

* matched func_801514B0

* progress func_8014C70C

* Progress on few functions

* fix some variables & func name

* change unk11F00 type and usages

* func_8014C70C matched

* match func_8015268c

* fix building

* format

* engi message WIP

* enums, cleanup

* missed one

* oops

* even more enums

* another oops

* func_8015E7EC NON_MATCHING

* cleanup Message_DrawTextCredits

* MSGMODE cleanup

* import sFontWidths

* Import z_message_nes data

* Message_DrawTextNES draft

* fix types in message_nes

* Message_DrawTextNES NON_EQUIVALENT

* Message_DrawTextNES improvement

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Import bss

* fixes

* Data clean up

* Delete Message_Decode m2c output

* Readd Message_Update data

* import data

* func declaration

* cleanup

* Language enum

* fix naming, some flags

* Update functions and variables related to the bombers notebook event queue.

* Update renamed variables.txt

* format

* attempt Message_DecodeCredits

* begin Message_DecodeNES

* decode cleanup

* incremental improvements on Message_DecodeNES

* oops

* more progress

* first attempt at Message_Decode

* cleanup Message_Decode

* Message_Decode progress

* good progress on decode loops

* more progress

* good Message_Decode progress, thank anon

* decode creep

* big improvements, thanks anon/hatal

* small nes improvement

* cleanup

* match Message_DrawTextDefault, big progress on Message_DrawTextNES

* namefixer for save structs

* Some cleanup/fix non-equivalencies in decodes

* cleanup

* Small cleanup

* func_80150A84

* TextBoxType enum usage

* Format

* match Message_DecodeCredit by Maide, small improvement in Message_DrawTextNES

* comments

* some docs

* cleanup, improve matches

* Some improvement

Co-Authored-By: Santiago <github-santaclose-noreplay@NA.com>

* Fixes

* Missed

* Match Message_DrawTextNES

* Move functions to z64message.h

* string macros

* Small cleanups

* 1 more small thing

* decompme scratches

* Cleanup

* Item enum

* PR

* SEGMENT_ROM_START

* PR

* format

* ocarina cleanup

---------

Co-authored-by: andzura <andzura@andzura.fr>
Co-authored-by: Angie <angheloalf95@gmail.com>
Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Zoey Zolotova <zoey.zolotova@gmail.com>
Co-authored-by: Santiago <github-santaclose-noreplay@NA.com>
This commit is contained in:
Derek Hensley
2023-10-03 14:51:45 -07:00
committed by GitHub
parent f08a69a2cb
commit 9e72c240d9
88 changed files with 7398 additions and 815 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ void SaveContext_Init(void) {
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
gSaveContext.prevHudVisibility = HUD_VISIBILITY_ALL;
gSaveContext.options.language = 1;
gSaveContext.options.language = LANGUAGE_ENG;
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
gSaveContext.options.zTargetSetting = 0;
}
+4 -4
View File
@@ -197,7 +197,7 @@ void CutsceneCmd_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdMisc* cmd) {
if (isFirstFrame) {
loadedScene = play->loadedScene;
if (loadedScene->titleTextId != 0) {
func_80151A68(play, loadedScene->titleTextId);
Message_DisplaySceneTitleCard(play, loadedScene->titleTextId);
}
}
break;
@@ -1043,7 +1043,7 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) {
if (sCurOcarinaAction != cmd->textId) {
sCutsceneTextboxType = CS_TEXT_OCARINA_ACTION;
sCurOcarinaAction = cmd->textId;
func_80152434(play, cmd->textId);
Message_DisplayOcarinaStaff(play, cmd->textId);
return;
}
}
@@ -1098,7 +1098,7 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) {
}
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
func_80152434(play, cmd->textId);
Message_DisplayOcarinaStaff(play, cmd->textId);
}
}
@@ -1565,7 +1565,7 @@ void Cutscene_HandleEntranceTriggers(PlayState* play) {
if ((Entrance_GetTransitionFlags(((void)0, gSaveContext.save.entrance) +
((void)0, gSaveContext.sceneLayer)) &
0x4000) != 0) {
func_80151A68(play, scene->titleTextId);
Message_DisplaySceneTitleCard(play, scene->titleTextId);
}
}
+1 -1
View File
@@ -93,7 +93,7 @@ void KaleidoSetup_Update(PlayState* play) {
(play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
if ((gSaveContext.save.cutsceneIndex < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
if (!Play_InCsMode(play) || ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId == 0xFF))) {
if ((play->unk_1887C < 2) && (gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY) &&
(gSaveContext.magicState != MAGIC_STATE_FILL)) {
if (!CHECK_EVENTINF(EVENTINF_17) && !(player->stateFlags1 & PLAYER_STATE1_20)) {
+5598 -166
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -2,7 +2,6 @@
#include "message_data_static.h"
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
// fontWidth
f32 sNESFontWidths[160] = {
8.0f, 8.0f, 6.0f, 9.0f, 9.0f, 14.0f, 12.0f, 3.0f, 7.0f, 7.0f, 7.0f, 9.0f, 4.0f, 6.0f, 4.0f, 9.0f,
10.0f, 5.0f, 9.0f, 9.0f, 10.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 6.0f, 6.0f, 9.0f, 11.0f, 9.0f, 11.0f,
File diff suppressed because it is too large Load Diff
+29 -28
View File
@@ -1709,7 +1709,7 @@ void Interface_UpdateButtonsPart2(PlayState* play) {
if (CHECK_EVENTINF(EVENTINF_41)) {
// Related to swamp boat (non-minigame)?
for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) {
if ((GET_CUR_FORM_BTN_ITEM(i) != ITEM_PICTOGRAPH_BOX) || (msgCtx->msgMode != 0)) {
if ((GET_CUR_FORM_BTN_ITEM(i) != ITEM_PICTOGRAPH_BOX) || (msgCtx->msgMode != MSGMODE_NONE)) {
if (gSaveContext.buttonStatus[i] == BTN_ENABLED) {
restoreHudVisibility = true;
}
@@ -3657,7 +3657,7 @@ void Magic_Update(PlayState* play) {
case MAGIC_STATE_CONSUME_LENS:
// Slowly consume magic while Lens of Truth is active
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) &&
!Play_InCsMode(play)) {
@@ -3700,7 +3700,7 @@ void Magic_Update(PlayState* play) {
// fallthrough
case MAGIC_STATE_CONSUME_GORON_ZORA:
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == 0) &&
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
if (!Play_InCsMode(play)) {
interfaceCtx->magicConsumptionTimer--;
@@ -3722,7 +3722,7 @@ void Magic_Update(PlayState* play) {
case MAGIC_STATE_CONSUME_GIANTS_MASK:
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
if (!Play_InCsMode(play)) {
interfaceCtx->magicConsumptionTimer--;
@@ -3932,7 +3932,7 @@ void Interface_DrawItemButtons(PlayState* play) {
if ((gSaveContext.hudVisibility == HUD_VISIBILITY_NONE) ||
(gSaveContext.hudVisibility == HUD_VISIBILITY_NONE_ALT) ||
(gSaveContext.hudVisibility == HUD_VISIBILITY_A_HEARTS_MAGIC_WITH_OVERWRITE) ||
(msgCtx->msgMode != 0)) {
(msgCtx->msgMode != MSGMODE_NONE)) {
temp = 0;
} else if (player->stateFlags1 & PLAYER_STATE1_200000) {
temp = 70;
@@ -4400,8 +4400,8 @@ void Interface_DrawClock(PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
if ((R_TIME_SPEED != 0) &&
((msgCtx->msgMode == 0) || ((play->actorCtx.flags & ACTORCTX_FLAG_1) && !Play_InCsMode(play)) ||
(msgCtx->msgMode == 0) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
((msgCtx->msgMode == MSGMODE_NONE) || ((play->actorCtx.flags & ACTORCTX_FLAG_1) && !Play_InCsMode(play)) ||
(msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
(gSaveContext.gameMode == GAMEMODE_END_CREDITS)) &&
!FrameAdvance_IsEnabled(&play->state) && !Environment_IsTimeStopped() && (gSaveContext.save.day <= 3)) {
/**
@@ -5440,31 +5440,31 @@ void Interface_StartMoonCrash(PlayState* play) {
play->transitionType = TRANS_TYPE_FADE_WHITE;
}
void Interface_GetTimerDigits(u64 timer, s16* timerArr) {
u64 time = timer;
void Interface_GetTimerDigits(OSTime time, s16* timerArr) {
OSTime t = time;
// 6 minutes
timerArr[0] = time / SECONDS_TO_TIMER(360);
time -= timerArr[0] * SECONDS_TO_TIMER(360);
timerArr[0] = t / SECONDS_TO_TIMER(360);
t -= timerArr[0] * SECONDS_TO_TIMER(360);
// minutes
timerArr[1] = time / SECONDS_TO_TIMER(60);
time -= timerArr[1] * SECONDS_TO_TIMER(60);
timerArr[1] = t / SECONDS_TO_TIMER(60);
t -= timerArr[1] * SECONDS_TO_TIMER(60);
// 10 seconds
timerArr[3] = time / SECONDS_TO_TIMER(10);
time -= timerArr[3] * SECONDS_TO_TIMER(10);
timerArr[3] = t / SECONDS_TO_TIMER(10);
t -= timerArr[3] * SECONDS_TO_TIMER(10);
// seconds
timerArr[4] = time / SECONDS_TO_TIMER(1);
time -= timerArr[4] * SECONDS_TO_TIMER(1);
timerArr[4] = t / SECONDS_TO_TIMER(1);
t -= timerArr[4] * SECONDS_TO_TIMER(1);
// 100 milliseconds
timerArr[6] = time / SECONDS_TO_TIMER_PRECISE(0, 10);
time -= timerArr[6] * SECONDS_TO_TIMER_PRECISE(0, 10);
timerArr[6] = t / SECONDS_TO_TIMER_PRECISE(0, 10);
t -= timerArr[6] * SECONDS_TO_TIMER_PRECISE(0, 10);
// 10 milliseconds
timerArr[7] = time;
timerArr[7] = t;
}
#define IS_POSTMAN_TIMER_DRAWN \
@@ -5500,8 +5500,8 @@ void Interface_DrawTimers(PlayState* play) {
// Not satisfying any of these conditions will pause the timer
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
(play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
((msgCtx->msgMode == 0) ||
((msgCtx->msgMode != 0) && (msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
((msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId >= 0x1BB2) &&
(msgCtx->currentTextId <= 0x1BB6))) &&
!(player->stateFlags1 & PLAYER_STATE1_200) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
(play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play)) {
@@ -5950,7 +5950,7 @@ void Interface_UpdateBottleTimers(PlayState* play) {
// Not satisfying any of these conditions will pause the bottle timer
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
(play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
((msgCtx->msgMode == 0) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
((msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
((msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) &&
!Play_InCsMode(play)) {
@@ -6870,7 +6870,7 @@ void Interface_Update(PlayState* play) {
interfaceCtx->aButtonRoll = -15700.0f;
interfaceCtx->aButtonState = A_BTN_STATE_2;
if ((msgCtx->msgMode != 0) && (msgCtx->textboxYTarget == 0x26)) {
if ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->textboxYTarget == 38)) {
R_A_BTN_Y_OFFSET = -14;
} else {
R_A_BTN_Y_OFFSET = 0;
@@ -7018,8 +7018,9 @@ void Interface_Update(PlayState* play) {
// Update Sun Song
if (gSaveContext.sunsSongState != SUNSSONG_INACTIVE) {
// exit out of ocarina mode after suns song finishes playing
if ((msgCtx->ocarinaAction != 0x39) && (gSaveContext.sunsSongState == SUNSSONG_START)) {
play->msgCtx.ocarinaMode = 4;
if ((msgCtx->ocarinaAction != OCARINA_ACTION_CHECK_NOTIME_DONE) &&
(gSaveContext.sunsSongState == SUNSSONG_START)) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
// handle suns song in areas where time moves
@@ -7039,7 +7040,7 @@ void Interface_Update(PlayState* play) {
// Daytime has been reached. End suns song effect
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
R_TIME_SPEED = sPrevTimeSpeed;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
} else {
// Daytime
@@ -7047,7 +7048,7 @@ void Interface_Update(PlayState* play) {
// Nighttime has been reached. End suns song effect
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
R_TIME_SPEED = sPrevTimeSpeed;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
}
} else {
+1 -1
View File
@@ -1072,7 +1072,7 @@ void Play_Update(PlayState* this) {
this->pauseCtx.bombersNotebookOpen = false;
sBombersNotebook.loadState = BOMBERS_NOTEBOOK_LOAD_STATE_NONE;
this->msgCtx.msgLength = 0;
this->msgCtx.msgMode = 0;
this->msgCtx.msgMode = MSGMODE_NONE;
this->msgCtx.currentTextId = 0;
this->msgCtx.stateTimer = 0;
Audio_PlaySfx(NA_SE_SY_CANCEL);
+6 -7
View File
@@ -638,7 +638,7 @@ void Sram_SaveEndOfCycle(PlayState* play) {
}
gSaveContext.save.saveInfo.playerData.rupees = 0;
gSaveContext.save.saveInfo.unk_F41 = 0;
gSaveContext.save.saveInfo.scarecrowSpawnSongSet = false;
gSaveContext.powderKegTimer = 0;
gSaveContext.unk_1014 = 0;
gSaveContext.jinxTimer = 0;
@@ -1304,7 +1304,7 @@ void Sram_OpenSave(FileSelectState* fileSelect, SramContext* sramCtx) {
gSaveContext.cycleSceneFlags[i].collectible = gSaveContext.save.saveInfo.permanentSceneFlags[i].collectible;
}
if (gSaveContext.save.saveInfo.unk_F41) {
if (gSaveContext.save.saveInfo.scarecrowSpawnSongSet) {
Lib_MemCpy(gScarecrowSpawnSongPtr, gSaveContext.save.saveInfo.scarecrowSpawnSong,
sizeof(gSaveContext.save.saveInfo.scarecrowSpawnSong));
@@ -1649,7 +1649,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
} else {
if (phi_s2) {
gSaveContext.options.optionId = 0xA51D;
gSaveContext.options.language = 1;
gSaveContext.options.language = LANGUAGE_ENG;
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
gSaveContext.options.languageSetting = 0;
gSaveContext.options.zTargetSetting = 0;
@@ -1657,7 +1657,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
Lib_MemCpy(&gSaveContext.options, sramCtx->saveBuf, sizeof(SaveOptions));
if (gSaveContext.options.optionId != 0xA51D) {
gSaveContext.options.optionId = 0xA51D;
gSaveContext.options.language = 1;
gSaveContext.options.language = LANGUAGE_ENG;
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
gSaveContext.options.languageSetting = 0;
gSaveContext.options.zTargetSetting = 0;
@@ -1671,7 +1671,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
gSaveContext.flashSaveAvailable = D_801F6AF2;
}
gSaveContext.options.language = 1;
gSaveContext.options.language = LANGUAGE_ENG;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_801457CC.s")
@@ -1853,8 +1853,7 @@ void Sram_InitSave(FileSelectState* fileSelect2, SramContext* sramCtx) {
*/
void Sram_WriteSaveOptionsToBuffer(SramContext* sramCtx) {
if (gSaveContext.flashSaveAvailable) {
// TODO: macros for languages
gSaveContext.options.language = 1;
gSaveContext.options.language = LANGUAGE_ENG;
Lib_MemCpy(sramCtx->saveBuf, &gSaveContext.options, sizeof(SaveOptions));
}
}
@@ -204,7 +204,7 @@ void FireArrow_Fly(ArrowFire* this, PlayState* play) {
void ArrowFire_Update(Actor* thisx, PlayState* play) {
ArrowFire* this = (ArrowFire*)thisx;
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
Actor_Kill(&this->actor);
return;
}
@@ -176,7 +176,7 @@ void ArrowIce_Fly(ArrowIce* this, PlayState* play) {
void ArrowIce_Update(Actor* thisx, PlayState* play) {
ArrowIce* this = THIS;
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
Actor_Kill(&this->actor);
return;
} else {
@@ -172,7 +172,7 @@ void ArrowLight_Fly(ArrowLight* this, PlayState* play) {
void ArrowLight_Update(Actor* thisx, PlayState* play) {
ArrowLight* this = THIS;
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
Actor_Kill(&this->actor);
return;
}
@@ -176,7 +176,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) {
D_80AAAAB4 = false;
}
if ((player->transformation == PLAYER_FORM_DEKU) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_DEKU) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA)) {
if ((player2->actor.world.pos.x > -40.0f) && (player2->actor.world.pos.x < 40.0f) &&
@@ -266,7 +266,7 @@ void DmChar08_WaitForSong(DmChar08* this, PlayState* play) {
} else {
sSuccessSoundAlreadyPlayed = false;
}
if ((player->transformation == PLAYER_FORM_ZORA) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_ZORA) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_NEW_WAVE)) {
if ((player2->actor.world.pos.x > -5780.0f) && (player2->actor.world.pos.x < -5385.0f)) {
if ((player2->actor.world.pos.z > 1120.0f) && (player2->actor.world.pos.z < 2100.0f)) {
+1 -1
View File
@@ -1867,7 +1867,7 @@ void DmStk_Update(Actor* thisx, PlayState* play) {
// This code is responsible for making in-game time pass while using the telescope in the Astral Observatory.
// Skull Kid is always loaded in the scene, even if he isn't visible, hence why time always passes.
if ((play->actorCtx.flags & ACTORCTX_FLAG_1) && (play->msgCtx.msgMode != 0) &&
if ((play->actorCtx.flags & ACTORCTX_FLAG_1) && (play->msgCtx.msgMode != MSGMODE_NONE) &&
(play->msgCtx.currentTextId == 0x5E6) && !FrameAdvance_IsEnabled(&play->state) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (CutsceneManager_GetCurrentCsId() == CS_ID_NONE) &&
(play->csCtx.state == CS_STATE_IDLE)) {
@@ -457,7 +457,7 @@ void func_80BED3BC(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C &= ~0x1;
this->unk_32C |= 0x40;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -546,7 +546,7 @@ void func_80BED680(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -650,7 +650,7 @@ void func_80BED8A4(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -739,7 +739,7 @@ void func_80BEDB88(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -838,7 +838,7 @@ void func_80BEDDAC(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -922,7 +922,7 @@ void func_80BEE070(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x161A;
this->actionFunc = func_80BEF360;
@@ -1011,7 +1011,7 @@ void func_80BEE274(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x1629;
this->actionFunc = func_80BEF360;
@@ -1095,7 +1095,7 @@ void func_80BEE530(EnAkindonuts* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
this->unk_32C |= 0x40;
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0x15EF;
this->actionFunc = func_80BEF360;
@@ -1335,7 +1335,7 @@ void func_80BEEFA8(EnAkindonuts* this, PlayState* play) {
if (Message_ShouldAdvance(play)) {
if (this->unk_32C & 1) {
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0;
this->actionFunc = func_80BEEE10;
@@ -1343,7 +1343,7 @@ void func_80BEEFA8(EnAkindonuts* this, PlayState* play) {
this->unk_32C &= ~0x20;
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
this->unk_32C &= ~0x4;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->animIndex = ENAKINDONUTS_ANIM_8;
this->unk_33C = 0;
@@ -1378,7 +1378,7 @@ void func_80BEEFA8(EnAkindonuts* this, PlayState* play) {
void func_80BEF18C(EnAkindonuts* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_33C = 0;
this->actionFunc = func_80BEEE10;
@@ -1405,7 +1405,7 @@ void func_80BEF20C(EnAkindonuts* this, PlayState* play) {
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->unk_32C & 1) {
this->unk_32C &= ~0x1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80BEF360;
} else {
@@ -449,7 +449,7 @@ void EnAob01_BeforeRace_HandleConversation(EnAob01* this, PlayState* play) {
this->stateFlags &= ~ENAOB01_FLAG_PLAYER_CONFIRMED_CHOICE;
Rupees_ChangeBy(-this->rupeesBet);
func_800B7298(play, NULL, PLAYER_CSMODE_WAIT);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnAob01_BeforeRace_StartRace;
return;
@@ -518,7 +518,7 @@ void EnAob01_BeforeRace_RespondToPlayAgainQuestion(EnAob01* this, PlayState* pla
}
}
} else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->textId = 0;
this->actionFunc = EnAob01_BeforeRace_Idle;
@@ -672,7 +672,7 @@ void EnAob01_BeforeRace_Talk(EnAob01* this, PlayState* play) {
this->stateFlags &= ~ENAOB01_FLAG_LAUGH;
if (this->stateFlags & ENAOB01_FLAG_CONVERSATION_OVER) {
this->stateFlags &= ~ENAOB01_FLAG_CONVERSATION_OVER;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnAob01_BeforeRace_Idle;
} else {
@@ -898,7 +898,7 @@ void EnAob01_AfterRace_GiveReward(EnAob01* this, PlayState* play) {
if (EnAob01_ProcessIdleAnim(this)) {
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
this->rupeesBet = 0;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
}
+5 -5
View File
@@ -707,7 +707,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
if (SubS_StartCutscene(&brother->actor, brother->csIdList[0], CS_ID_GLOBAL_TALK,
SUBS_CUTSCENE_NORMAL)) {
brother->unk_374 |= 0x8000;
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
ret = 0;
}
} else if (Message_ShouldAdvance(play)) {
@@ -832,7 +832,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
case 0x10DB:
if (play->msgCtx.choiceIndex == 0) {
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->unk_2FA = 1;
ret = 0;
} else {
@@ -945,7 +945,7 @@ s32 func_80A9617C(EnAz* this, PlayState* play) {
case 0x10EB:
if (play->msgCtx.choiceIndex == 0) {
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
Audio_PlaySfx_MessageDecide();
switch (this->unk_2FA) {
case 4:
@@ -1497,7 +1497,7 @@ void func_80A97A28(EnAz* this, PlayState* play) {
void func_80A97A40(EnAz* this, PlayState* play) {
if (SubS_StartCutscene(&this->actor, 0, CS_ID_NONE, SUBS_CUTSCENE_WITH_PLAYER)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_80A97A9C(this, play);
}
@@ -1525,7 +1525,7 @@ void func_80A97AB4(EnAz* this, PlayState* play) {
case 0x10D8:
if (play->msgCtx.choiceIndex == 0) {
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
func_800FD750(NA_BGM_TIMED_MINI_GAME);
func_80A94AB8(this, play, 1);
func_80A979DC(this, play);
+3 -3
View File
@@ -596,7 +596,7 @@ void EnBaba_FollowSchedule_Talk(EnBaba* this, PlayState* play) {
u8 talkState = Message_GetState(&play->msgCtx);
if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnBaba_FollowSchedule;
}
@@ -610,7 +610,7 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
if (Message_ShouldAdvance(play)) {
if (this->stateFlags & BOMB_SHOP_LADY_STATE_END_CONVERSATION) {
this->stateFlags &= ~BOMB_SHOP_LADY_STATE_END_CONVERSATION;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (this->stateFlags & BOMB_SHOP_LADY_STATE_AUTOTALK) {
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
@@ -629,7 +629,7 @@ void EnBaba_Talk(EnBaba* this, PlayState* play) {
}
} else if (this->stateFlags & BOMB_SHOP_LADY_STATE_GIVE_BLAST_MASK) {
this->stateFlags &= ~BOMB_SHOP_LADY_STATE_GIVE_BLAST_MASK;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnBaba_GiveBlastMask;
} else {
@@ -101,7 +101,7 @@ void func_809CCEE8(EnBji01* this, PlayState* play) {
}
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_809CD028(this, play);
} else {
@@ -393,7 +393,7 @@ void func_809C51B4(EnBomBowlMan* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if ((play->msgCtx.bombersNotebookEventQueueCount == 0) &&
((play->msgCtx.msgMode == 0) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
((play->msgCtx.msgMode == MSGMODE_NONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
play->nextEntrance = Entrance_CreateFromSpawn(6);
gSaveContext.nextCutsceneIndex = 0;
play->transitionTrigger = TRANS_TRIGGER_START;
@@ -511,7 +511,7 @@ void func_809C5738(EnBomBowlMan* this, PlayState* play) {
if (this->unk_2C2 == 0) {
if ((play->msgCtx.bombersNotebookEventQueueCount == 0) &&
((play->msgCtx.msgMode == 0) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
((play->msgCtx.msgMode == MSGMODE_NONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE))) {
this->unk_2C2 = 1;
func_809C4B6C(this);
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) {
+1 -1
View File
@@ -268,7 +268,7 @@ void EnCow_Talk(EnCow* this, PlayState* play) {
}
void EnCow_Idle(EnCow* this, PlayState* play) {
if ((play->msgCtx.ocarinaMode == 0) || (play->msgCtx.ocarinaMode == 4)) {
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_NONE) || (play->msgCtx.ocarinaMode == OCARINA_MODE_END)) {
if (gHorsePlayedEponasSong) {
if (this->flags & EN_COW_FLAG_WONT_GIVE_MILK) {
this->flags &= ~EN_COW_FLAG_WONT_GIVE_MILK;
+1 -1
View File
@@ -429,7 +429,7 @@ void func_80B3EE8C(EnDai* this, PlayState* play) {
void func_80B3EEDC(EnDai* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY)) {
EnDai_ChangeAnim(this, ENDAI_ANIM_1);
this->actionFunc = func_80B3EE8C;
+3 -3
View File
@@ -372,7 +372,7 @@ void func_80A71C3C(EnDno* this, PlayState* play) {
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_80A71E54(this, play);
} else if (this->actor.xzDistToPlayer < 60.0f) {
@@ -482,7 +482,7 @@ void func_80A71F18(EnDno* this, PlayState* play) {
if (Message_ShouldAdvance(play)) {
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo,
EN_DNO_ANIM_IMPLORE_END, &this->animIndex);
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
}
break;
@@ -688,7 +688,7 @@ void func_80A725F8(EnDno* this, PlayState* play) {
case 0x800:
case 0x801:
if (Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->unk_452 = 1;
this->unk_454 = 0.0f;
SubS_ChangeAnimationBySpeedInfo(&this->skelAnime, sAnimationSpeedInfo, EN_DNO_ANIM_OPEN_PARASOL,
@@ -5605,7 +5605,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
Audio_PlaySfx_AtPos(&sStreamSoundProjectedPos, NA_SE_EV_WATER_WALL - SFX_FLAG);
if (gSaveContext.options.language == 0) { // Added in MM
if (gSaveContext.options.language == LANGUAGE_JPN) { // Added in MM
gSaveContext.minigameScore = D_8090CCF8;
} else {
gSaveContext.minigameScore = (SQ((f32)D_8090CCF8) * 0.0036f) + 0.5f;
+8 -8
View File
@@ -410,7 +410,7 @@ void EnFsn_EndInteraction(EnFsn* this, PlayState* play) {
this->cutsceneState = ENFSN_CUTSCENESTATE_STOPPED;
}
Actor_ProcessTalkRequest(&this->actor, &play->state);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
@@ -995,7 +995,7 @@ void EnFsn_MakeOffer(EnFsn* this, PlayState* play) {
switch (play->msgCtx.choiceIndex) {
case 0:
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (this->cutsceneState == ENFSN_CUTSCENESTATE_PLAYING) {
CutsceneManager_Stop(this->csId);
@@ -1204,7 +1204,7 @@ void EnFsn_HandleCanPlayerBuyItem(EnFsn* this, PlayState* play) {
item = this->items[this->cursorIndex];
item->buyFanfareFunc(play, item);
Actor_OfferGetItem(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
@@ -1246,7 +1246,7 @@ void EnFsn_SetupEndInteraction(EnFsn* this, PlayState* play) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
}
} else {
@@ -1327,7 +1327,7 @@ void EnFsn_AskCanBuyMore(EnFsn* this, PlayState* play) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
}
} else {
@@ -1378,7 +1378,7 @@ void EnFsn_AskCanBuyAterRunningOutOfItems(EnFsn* this, PlayState* play) {
if (play->msgCtx.bombersNotebookEventQueueCount == 0) {
EnFsn_EndInteraction(this, play);
} else {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
}
} else {
@@ -1433,12 +1433,12 @@ void EnFsn_ConverseBackroom(EnFsn* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->flags & ENFSN_END_CONVERSATION) {
this->flags &= ~ENFSN_END_CONVERSATION;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnFsn_IdleBackroom;
} else if (this->flags & ENFSN_GIVE_ITEM) {
this->flags &= ~ENFSN_GIVE_ITEM;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnFsn_GiveItem;
} else {
+8 -8
View File
@@ -379,8 +379,8 @@ void func_80B0FE7C(PlayState* play) {
}
void func_80B0FEBC(EnGb2* this, PlayState* play) {
if ((play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
play->msgCtx.ocarinaMode = 4;
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
SET_EVENTINF(EVENTINF_47);
this->unk_26E = 0x14D1;
this->unk_288 = 10;
@@ -400,7 +400,7 @@ void func_80B0FFA8(EnGb2* this, PlayState* play) {
if (talkState == TEXT_STATE_5) {
if (Message_ShouldAdvance(play)) {
if (this->unk_26C & 2) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_26E = 0x14D1;
this->unk_288 = 30;
@@ -443,7 +443,7 @@ void func_80B0FFA8(EnGb2* this, PlayState* play) {
case 0:
Audio_PlaySfx_MessageDecide();
Rupees_ChangeBy(-this->unk_288);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_800B7298(play, NULL, PLAYER_CSMODE_WAIT);
this->actionFunc = func_80B11344;
@@ -568,7 +568,7 @@ void func_80B10634(EnGb2* this, PlayState* play) {
if (talkState == TEXT_STATE_5) {
if (Message_ShouldAdvance(play)) {
if (this->unk_26C & 2) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_26C &= ~2;
if (this->unk_26E == 0x14DD) {
@@ -598,7 +598,7 @@ void func_80B10634(EnGb2* this, PlayState* play) {
} else {
Audio_PlaySfx_MessageDecide();
Rupees_ChangeBy(-this->unk_288);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_800B7298(play, NULL, PLAYER_CSMODE_WAIT);
this->actionFunc = func_80B11344;
@@ -771,7 +771,7 @@ void func_80B10E98(EnGb2* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->unk_26C & 2) {
this->unk_26C &= ~2;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if ((this->unk_26E != 0x14E8) && (this->unk_26E != 0x14EA)) {
CutsceneManager_Stop(this->csIdList[this->csIdIndex]);
@@ -814,7 +814,7 @@ void func_80B11048(EnGb2* this, PlayState* play) {
void func_80B110F8(EnGb2* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->unk_26C & 2) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_26C &= ~2;
this->actionFunc = func_80B10A48;
+7 -7
View File
@@ -598,7 +598,7 @@ void func_80BB26EC(EnGeg* this, PlayState* play) {
case 0xD61:
CutsceneManager_Stop(this->csId);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_230 &= ~0x10;
this->actionFunc = func_80BB221C;
@@ -617,14 +617,14 @@ void func_80BB27D4(EnGeg* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
switch (this->unk_496) {
case 0xD63:
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80BB221C;
break;
case 0xD69:
this->nextCsId = this->csIdList[6];
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80BB2520;
break;
@@ -632,7 +632,7 @@ void func_80BB27D4(EnGeg* this, PlayState* play) {
case 0xD6D:
case 0xD6F:
case 0xD8A:
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80BB31B8;
break;
@@ -640,7 +640,7 @@ void func_80BB27D4(EnGeg* this, PlayState* play) {
case 0xD72:
case 0xD75:
case 0xD8B:
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_230 &= ~0x10;
this->nextCsId = this->csIdList[7];
@@ -667,7 +667,7 @@ void func_80BB2944(EnGeg* this, PlayState* play) {
}
} else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->unk_496 == 0xD67) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->nextCsId = this->csIdList[4];
this->actionFunc = func_80BB2520;
@@ -684,7 +684,7 @@ void func_80BB2A54(EnGeg* this, PlayState* play) {
CutsceneManager_Stop(this->csId);
this->unk_230 &= ~0x10;
this->unk_244 = 65;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80BB347C;
} else {
+2 -2
View File
@@ -278,7 +278,7 @@ void func_80B35450(EnGg* this, PlayState* play) {
void func_80B3556C(EnGg* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->animIndex == ENGG_ANIM_4) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_308 = 0;
this->actor.flags &= ~ACTOR_FLAG_REACT_TO_LENS;
@@ -429,7 +429,7 @@ void func_80B359DC(EnGg* this, PlayState* play) {
this->unk_306 = 0;
}
if ((player->transformation == PLAYER_FORM_HUMAN) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_HUMAN) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_19_80)) {
SET_WEEKEVENTREG(WEEKEVENTREG_19_80);
+1 -1
View File
@@ -201,7 +201,7 @@ void func_80B3B05C(EnGg2* this, PlayState* play) {
void func_80B3B0A0(EnGg2* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_2F0 = 0;
this->actionFunc = func_80B3B5D4;
@@ -223,7 +223,7 @@ void EnGinkoMan_DepositDialogue(EnGinkoMan* this, PlayState* play) {
break;
case 0x464:
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
EnGinkoMan_SetupStamp(this); // stamp player
break;
+4 -4
View File
@@ -294,7 +294,7 @@ s32 func_80B50854(EnGk* this, PlayState* play) {
this->unk_1E4 &= ~0x40;
}
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY)) {
Flags_SetSwitch(play, ENGK_GET_3F00(&this->actor));
this->animIndex = ENGK_ANIM_3;
@@ -545,7 +545,7 @@ void func_80B51410(EnGk* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (this->actor.xzDistToPlayer < 100.0f) {
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY_INTRO)) {
this->unk_1E4 |= 0x20;
}
@@ -906,7 +906,7 @@ void func_80B5202C(EnGk* this, PlayState* play) {
}
if (this->unk_1E4 & 2) {
if ((play->msgCtx.ocarinaMode != 1) && (play->msgCtx.ocarinaMode != 3) &&
if ((play->msgCtx.ocarinaMode != OCARINA_MODE_ACTIVE) && (play->msgCtx.ocarinaMode != OCARINA_MODE_EVENT) &&
(play->csCtx.state == CS_STATE_IDLE)) {
Audio_PlaySfx_AtFixedPos(&this->actor.projectedPos, NA_SE_EN_GOLON_KID_CRY - SFX_FLAG);
}
@@ -918,7 +918,7 @@ void func_80B5202C(EnGk* this, PlayState* play) {
void func_80B5216C(EnGk* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80B51698;
}
+1 -1
View File
@@ -748,7 +748,7 @@ s32 EnGo_IsFallingAsleep(EnGo* this, PlayState* play) {
Player* player = GET_PLAYER(play);
s32 isFallingAsleep = false;
if (((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3) &&
if (((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY) && (this->sleepState == ENGO_AWAKE) &&
(this->actor.xzDistToPlayer < 400.0f)) ||
(!CHECK_WEEKEVENTREG(WEEKEVENTREG_CALMED_GORON_ELDERS_SON) && (play->sceneId == SCENE_16GORON_HOUSE) &&
+6 -6
View File
@@ -277,13 +277,13 @@ void func_80997FF0(EnGs* this, PlayState* play) {
}
void func_80998040(EnGs* this, PlayState* play) {
func_80152434(play, 1);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_FREE_PLAY);
this->actionFunc = func_8099807C;
}
void func_8099807C(EnGs* this, PlayState* play) {
switch (play->msgCtx.ocarinaMode) {
case 3:
case OCARINA_MODE_EVENT:
switch (play->msgCtx.lastPlayedSong) {
case OCARINA_SONG_HEALING:
case OCARINA_SONG_EPONAS:
@@ -341,11 +341,11 @@ void func_8099807C(EnGs* this, PlayState* play) {
}
break;
case 0:
case 4:
case OCARINA_MODE_NONE:
case OCARINA_MODE_END:
func_80998300(this, play);
case 26:
case OCARINA_MODE_APPLY_DOUBLE_SOT:
func_80997D14(this, play);
break;
@@ -1030,7 +1030,7 @@ void EnGs_Update(Actor* thisx, PlayState* play) {
EnGs* this = THIS;
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
this->collider.base.acFlags &= ~AC_HIT;
func_80997DEC(this, play);
+1 -1
View File
@@ -398,7 +398,7 @@ void EnHg_WaitForPlayerAction(EnHg* this, PlayState* play) {
sHasSoundPlayed = false;
}
if (play->msgCtx.ocarinaMode == 3) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
if (INV_CONTENT(ITEM_MASK_GIBDO) == ITEM_MASK_GIBDO) {
this->csIdIndex = HG_CS_SONG_OF_HEALING;
@@ -210,8 +210,8 @@ void func_80BDB2B8(EnHiddenNuts* this, PlayState* play) {
}
if (!(this->actor.xzDistToPlayer > 120.0f)) {
if ((play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA)) {
play->msgCtx.ocarinaMode = 4;
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA)) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
func_80BDB788(this);
} else if (func_801A5100() == 2) {
func_80BDB788(this);
@@ -417,7 +417,7 @@ void func_80C2077C(EnHintSkb* this, PlayState* play) {
Message_StartTextbox(play, 0x1147, &this->actor);
this->unk_3E6 = 0x1147;
if (this->skelAnime.animation == &object_skb_Anim_00697C) {
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->actor.speed = 2.4f;
this->actor.gravity = -1.0f;
this->actor.velocity.y = 3.0f;
+6 -6
View File
@@ -365,7 +365,7 @@ void EnJg_GoronShrineTalk(EnJg* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if ((this->textId == 0xDCC) || (this->textId == 0xDDD) || (this->textId == 0xDE0)) {
// There is nothing more to say after these lines, so end the current conversation.
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->actionFunc = EnJg_GoronShrineIdle;
@@ -430,7 +430,7 @@ void EnJg_AlternateTalkOrWalkInPlace(EnJg* this, PlayState* play) {
}
} else if (this->animIndex == EN_JG_ANIM_SURPRISE_LOOP) {
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->animIndex = EN_JG_ANIM_WALK;
@@ -488,7 +488,7 @@ void EnJg_Talk(EnJg* this, PlayState* play) {
temp = this->textId;
if ((temp == 0xDB4) || (temp == 0xDB5) || (temp == 0xDC4) || (temp == 0xDC6)) {
// There is nothing more to say after these lines, so end the current conversation.
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->actionFunc = EnJg_SetupWalk;
@@ -500,7 +500,7 @@ void EnJg_Talk(EnJg* this, PlayState* play) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_24_80)) {
// The player hasn't talked to the Goron Child at least once, so they can't learn
// the Lullaby Intro. End the current conversation with the player.
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->actionFunc = EnJg_SetupWalk;
@@ -514,7 +514,7 @@ void EnJg_Talk(EnJg* this, PlayState* play) {
// To get to this point, the player *has* talked to the Goron Child, but doesn't
// already have the Lullaby or Lullaby Intro. End the current conversation and
// start the cutscene that teaches the Lullaby Intro.
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags &= ~FLAG_LOOKING_AT_PLAYER;
this->csId = EnJg_GetCsIdForTeachingLullabyIntro(this);
@@ -605,7 +605,7 @@ void EnJg_FrozenIdle(EnJg* this, PlayState* play) {
void EnJg_EndFrozenInteraction(EnJg* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnJg_FrozenIdle;
}
@@ -575,7 +575,7 @@ void EnKakasi_SetupSongTeach(EnKakasi* this, PlayState* play) {
*/
void EnKakasi_OcarinaRemark(EnKakasi* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
func_80152434(play, 0x35);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_SCARECROW_SPAWN_RECORDING);
this->unkState1A8 = 0;
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) {
CutsceneManager_Stop(CS_ID_GLOBAL_TALK);
@@ -632,7 +632,7 @@ void EnKakasi_TeachingSong(EnKakasi* this, PlayState* play) {
func_8096FAAC(this, play);
func_8096FBB8(this, play);
if (play->msgCtx.ocarinaMode == 4) { // song failed
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) { // song failed
this->unk190 = 0;
this->unkCounter1A4 = 0;
CutsceneManager_Stop(this->csIdList[0]);
@@ -645,7 +645,7 @@ void EnKakasi_TeachingSong(EnKakasi* this, PlayState* play) {
EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_ARMS_CROSSED_ROCKING);
this->actionFunc = EnKakasi_RegularDialogue;
} else if (play->msgCtx.ocarinaMode == 3) { // song success
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) { // song success
this->postTeachTimer = 30;
this->skelAnime.playSpeed = 2.0f;
EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_HOPPING_REGULAR);
@@ -668,7 +668,7 @@ void EnKakasi_PostSongLearnTwirl(EnKakasi* this, PlayState* play) {
void EnKakasi_SetupPostSongLearnDialogue(EnKakasi* this, PlayState* play) {
CutsceneManager_Stop(this->csIdList[0]);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
this->unk190 = 0;
this->unkCounter1A4 = 0;
EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_HOPPING_REGULAR);
@@ -1054,9 +1054,9 @@ void EnKakasi_SetupIdleUnderground(EnKakasi* this) {
void EnKakasi_IdleUnderground(EnKakasi* this, PlayState* play) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_08) && (this->picto.actor.xzDistToPlayer < this->songSummonDist) &&
((BREG(1) != 0) || (play->msgCtx.ocarinaMode == 0xD))) {
((BREG(1) != 0) || (play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_SCARECROW_SPAWN))) {
this->picto.actor.flags &= ~ACTOR_FLAG_CANT_LOCK_ON;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
this->actionFunc = EnKakasi_SetupRiseOutOfGround;
}
}
@@ -824,13 +824,14 @@ void EnKanban_Update(Actor* thisx, PlayState* play) {
switch (this->ocarinaFlag) {
case 0:
if (play->msgCtx.ocarinaMode == 1) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_ACTIVE) {
this->ocarinaFlag = 1;
}
break;
case 1:
if ((play->msgCtx.ocarinaMode == 4) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_END) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING)) {
this->actionState = ENKANBAN_REPAIR;
this->bounceX = 1;
Audio_PlaySfx(NA_SE_SY_TRE_BOX_APPEAR);
+1 -1
View File
@@ -412,7 +412,7 @@ void func_80959E18(EnMk* this, PlayState* play) {
}
if (func_800B8718(&this->actor, &play->state)) {
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
this->actionFunc = func_80959D28;
if (GET_PLAYER_FORM == PLAYER_FORM_ZORA) {
this->actor.csId = this->csIdList[0];
+3 -3
View File
@@ -1318,7 +1318,7 @@ void EnMnk_MonkeyTiedUp_ReactToWrongInstrument(EnMnk* this, PlayState* play) {
case 0x8DB:
Message_CloseTextbox(play);
this->actionFunc = EnMnk_MonkeyTiedUp_WaitForInstrument;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
EnMnk_MonkeyTiedUp_SetAnim(this, MONKEY_TIEDUP_ANIM_WAIT);
if (this->csId != CS_ID_NONE) {
CutsceneManager_Stop(this->csId);
@@ -1489,7 +1489,7 @@ void EnMnk_MonkeyTiedUp_WaitForInstrument(EnMnk* this, PlayState* play) {
this->csId = 2;
SET_EVENTINF(EVENTINF_24);
this->picto.actor.csId = this->csIdList[2];
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
CutsceneManager_Queue(this->csIdList[2]);
return;
@@ -1577,7 +1577,7 @@ void EnMnk_MonkeyTiedUp_Wait(EnMnk* this, PlayState* play) {
this->csId = 2;
SET_EVENTINF(EVENTINF_24);
this->picto.actor.csId = this->csIdList[2];
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
CutsceneManager_Queue(this->csIdList[2]);
} else if (Actor_ProcessTalkRequest(&this->picto.actor, &play->state)) {
if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) {
@@ -81,7 +81,7 @@ void func_8093E518(EnOkarinaTag* this, PlayState* play) {
var_v1 = this->unk14A;
if (var_v1 == 6) {
var_v1 = 0xA;
if (gSaveContext.save.saveInfo.unk_F41 == 0) {
if (!gSaveContext.save.saveInfo.scarecrowSpawnSongSet) {
return;
}
}
@@ -89,7 +89,7 @@ void func_8093E518(EnOkarinaTag* this, PlayState* play) {
var_v1 = 0;
}
if (func_800B8718(&this->actor, &play->state)) {
func_80152434(play, var_v1 + 0x29);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_CHECK_HEALING + var_v1);
this->actionFunc = func_8093E68C;
} else {
yDiff = ABS_ALT((s16)(this->actor.yawTowardsPlayer - this->actor.world.rot.y));
@@ -111,14 +111,17 @@ void func_8093E518(EnOkarinaTag* this, PlayState* play) {
}
void func_8093E68C(EnOkarinaTag* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == 4) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) {
this->actionFunc = func_8093E518;
} else {
if ((play->msgCtx.ocarinaMode == 3) ||
((this->unk14A == -1) &&
((play->msgCtx.ocarinaMode == 5) || (play->msgCtx.ocarinaMode == 6) || (play->msgCtx.ocarinaMode == 7) ||
(play->msgCtx.ocarinaMode == 8) || (play->msgCtx.ocarinaMode == 0xA) || (play->msgCtx.ocarinaMode == 9) ||
(play->msgCtx.ocarinaMode == 0xF)))) {
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) ||
((this->unk14A == -1) && ((play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_TIME) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_HEALING) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_EPONAS) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_SOARING) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_SUNS) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_STORMS) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_F)))) {
if (this->switchFlags >= 0) {
switch (this->unk148) {
case 0:
@@ -136,7 +139,7 @@ void func_8093E68C(EnOkarinaTag* this, PlayState* play) {
break;
}
}
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
Audio_PlaySfx(NA_SE_SY_CORRECT_CHIME);
this->actionFunc = func_8093E518;
}
@@ -84,14 +84,14 @@ Actor* func_80B11F44(PlayState* play) {
}
void func_80B11F78(EnOnpuman* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == 4) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) {
this->actionFunc = func_80B121D8;
if (this->actor.csId != CS_ID_NONE) {
CutsceneManager_Stop(this->actor.csId);
}
} else if (play->msgCtx.ocarinaMode == 3) {
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
Audio_PlaySfx(NA_SE_SY_CORRECT_CHIME);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
if (this->actor.csId != CS_ID_NONE) {
CutsceneManager_Stop(this->actor.csId);
}
@@ -118,7 +118,7 @@ void func_80B1202C(EnOnpuman* this, PlayState* play2) {
case 0x8D6:
this->actionFunc = func_80B11F78;
func_80152434(play, 0x3A);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_3A);
if (this->unk_2A0 != NULL) {
this->unk_2A0->home.rot.x = 0;
}
+1 -1
View File
@@ -888,7 +888,7 @@ void EnOsn_Talk(EnOsn* this, PlayState* play) {
if (((talkState == TEXT_STATE_DONE) || (talkState == TEXT_STATE_5)) && Message_ShouldAdvance(play)) {
if (this->stateFlags & OSN_STATE_END_CONVERSATION) {
this->stateFlags &= ~OSN_STATE_END_CONVERSATION;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnOsn_Idle;
} else {
@@ -304,7 +304,7 @@ void EnOssan_EndInteraction(PlayState* play, EnOssan* this) {
Player* player = GET_PLAYER(play);
Actor_ProcessTalkRequest(&this->actor, &play->state);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
@@ -994,7 +994,7 @@ void EnOssan_SetupBuyItemWithFanfare(PlayState* play, EnOssan* this) {
Player* player = GET_PLAYER(play);
Actor_OfferGetItem(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->stateFlags2 &= ~PLAYER_STATE2_20000000;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
@@ -1124,7 +1124,7 @@ void EnOssan_BuyItemWithFanfare(EnOssan* this, PlayState* play) {
void EnOssan_SetupItemPurchased(EnOssan* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
EnOssan_SetupAction(this, EnOssan_ItemPurchased);
if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_STOPPED) {
@@ -368,7 +368,7 @@ void EnRuppecrow_UpdatePosition(EnRuppecrow* this, PlayState* play) {
s32 EnRuppecrow_CheckPlayedMatchingSong(PlayState* play) {
Player* player = GET_PLAYER(play);
if (play->msgCtx.ocarinaMode == 0x3) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
switch (player->transformation) {
case PLAYER_FORM_DEKU:
if (play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA) {
@@ -811,7 +811,7 @@ s32 EnSGoro_CheckLullaby(EnSGoro* this, PlayState* play) {
s32 actorType;
Player* player = GET_PLAYER(play);
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == 3)) {
if ((player->transformation == PLAYER_FORM_GORON) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT)) {
if (play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY) {
this->animInfoIndex = EN_S_GORO_ANIM_ROLLUP;
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, this->animInfoIndex);
@@ -1157,7 +1157,7 @@ void EnSGoro_SpringShrineGoron_Talk(EnSGoro* this, PlayState* play) {
if (this->actionFlags & EN_S_GORO_ACTIONFLAG_LASTMESSAGE) {
this->actionFlags &= ~EN_S_GORO_ACTIONFLAG_LASTMESSAGE;
this->actionFlags &= ~EN_S_GORO_ACTIONFLAG_ENGAGED;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnSGoro_SpringShrineGoron_Idle;
return;
@@ -1243,7 +1243,7 @@ void EnSGoro_ShopGoron_Talk(EnSGoro* this, PlayState* play) {
this->textId = EnSGoro_BombshopGoron_NextTextId(this, play);
if ((this->textId == 0x675) || (this->textId == 0x676)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Actor_OfferGetItem(&this->actor, play, GI_POWDER_KEG, 300.0f, 300.0f);
this->actionFunc = EnSGoro_ShopGoron_TakePayment;
@@ -1288,7 +1288,7 @@ void EnSGoro_Sleep(EnSGoro* this, PlayState* play) {
void EnSGoro_SleepTalk(EnSGoro* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) {
if (Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnSGoro_Sleep;
}
@@ -318,7 +318,7 @@ void func_80BCB6D0(EnScopenuts* this, PlayState* play) {
if (Message_ShouldAdvance(play)) {
if (this->unk_328 & 1) {
this->unk_328 &= ~1;
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
this->unk_328 &= ~4;
@@ -341,7 +341,7 @@ void func_80BCB6D0(EnScopenuts* this, PlayState* play) {
Message_StartTextbox(play, this->unk_33C, &this->actor);
} else {
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Rupees_ChangeBy(-this->unk_358);
this->actionFunc = func_80BCB90C;
@@ -470,7 +470,7 @@ void func_80ADBAB8(EnSellnuts* this, PlayState* play) {
}
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80ADBBEC;
func_800B7298(play, NULL, PLAYER_CSMODE_19);
@@ -516,7 +516,7 @@ void func_80ADBD64(EnSellnuts* this, PlayState* play) {
}
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_338 &= ~2;
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
@@ -558,7 +558,7 @@ void func_80ADBE80(EnSellnuts* this, PlayState* play) {
void func_80ADBFA0(EnSellnuts* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (this->unk_34C == 0) {
this->actionFunc = func_80ADB544;
@@ -721,7 +721,7 @@ void func_80ADC6D0(EnSellnuts* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (player->transformation == PLAYER_FORM_DEKU) {
if (gSaveContext.save.day == 3) {
@@ -751,7 +751,7 @@ void func_80ADC7B4(EnSellnuts* this, PlayState* play) {
CutsceneManager_Queue(this->csId);
}
} else if ((this->unk_366 == 1) && (talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_366 = 0;
CutsceneManager_Stop(this->csId);
+3 -3
View File
@@ -466,7 +466,7 @@ void EnSob1_EndInteraction(PlayState* play, EnSob1* this) {
this->cutsceneState = ENSOB1_CUTSCENESTATE_STOPPED;
}
Actor_ProcessTalkRequest(&this->actor, &play->state);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
@@ -957,7 +957,7 @@ void EnSob1_SetupBuyItemWithFanfare(PlayState* play, EnSob1* this) {
Player* player = GET_PLAYER(play);
Actor_OfferGetItem(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->stateFlags2 &= ~PLAYER_STATE2_20000000;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
@@ -1110,7 +1110,7 @@ void EnSob1_BuyItemWithFanfare(EnSob1* this, PlayState* play) {
void EnSob1_SetupItemPurchased(EnSob1* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
EnSob1_SetupAction(this, EnSob1_ItemPurchased);
if (this->cutsceneState == ENSOB1_CUTSCENESTATE_STOPPED) {
@@ -1201,7 +1201,7 @@ void func_80BAD130(EnSuttari* this, PlayState* play) {
u8 talkState = Message_GetState(&play->msgCtx);
if (((talkState == TEXT_STATE_5) || (talkState == TEXT_STATE_DONE)) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (this->flags1 & 8) {
this->actionFunc = func_80BAD004;
@@ -1238,7 +1238,7 @@ void func_80BAD2B4(EnSuttari* this, PlayState* play) {
this->actionFunc = func_80BAD230;
} else {
CutsceneManager_Stop(this->csIdList[1]);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags1 |= 0x40;
this->actionFunc = func_80BAD380;
@@ -1262,7 +1262,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) {
player->stateFlags1 &= ~PLAYER_STATE1_10000000;
this->flags1 &= ~0x4000;
CutsceneManager_Stop(this->csIdList[1]);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->flags1 |= 0x40;
}
@@ -1403,7 +1403,7 @@ void func_80BADA9C(EnSuttari* this, PlayState* play) {
((EnElf*)GET_PLAYER(play)->tatlActor)->unk_264 |= 0x10;
this->flags2 &= ~1;
}
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->textId = 0;
if (this->flags1 & 1) {
@@ -362,7 +362,7 @@ void EnSyatekiMan_Swamp_HandleChoice(EnSyatekiMan* this, PlayState* play) {
Rupees_ChangeBy(-20);
SET_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->shootingGameState = SG_GAME_STATE_MOVING_PLAYER;
player->stateFlags1 |= PLAYER_STATE1_20;
@@ -415,7 +415,7 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
case 0xA2B: // The rules of the game are a piece of cake!
case 0xA2C: // I keep saying - you have to aim with [Control Stick]!
case 0xA35: // You almost had it! Well...just this once...here you go!
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->actor.freezeTimer = 0;
Interface_InitMinigame(play);
@@ -450,7 +450,7 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
break;
case 0xA34: // Perfect! Take this!
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->actor.freezeTimer = 0;
gSaveContext.minigameStatus = MINIGAME_STATUS_END;
@@ -485,7 +485,7 @@ void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) {
case TEXT_STATE_DONE:
if (Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->stateFlags1 &= ~PLAYER_STATE1_20;
CLEAR_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT);
@@ -764,7 +764,7 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
this->prevTextId = 0x400;
}
} else {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->actor.freezeTimer = 0;
this->shootingGameState = SG_GAME_STATE_MOVING_PLAYER;
@@ -777,7 +777,7 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
case 0x3FE: // Our highest score is [score]. If you break the record, you'll win a prize!
case 0x400: // Our highest score is [score]. Good luck!
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->actor.freezeTimer = 0;
this->flagsIndex = 0;
@@ -827,7 +827,7 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play)
case 0x405: // No way! That was perfect!
case 0x406: // That was perfect!
case 0x407: // You got a new record!
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->actor.freezeTimer = 0;
gSaveContext.minigameStatus = MINIGAME_STATUS_END;
@@ -359,7 +359,7 @@ s32 func_80A3EA30(EnTest3* this, PlayState* play) {
if (this->unk_D78->unk_1 != 0) {
CutsceneManager_Stop(CS_ID_GLOBAL_TALK);
CutsceneManager_Queue(this->csId);
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
}
return false;
}
@@ -391,7 +391,7 @@ s32 func_80A3EB8C(EnTest3* this, PlayState* play) {
if (hideoutObject != NULL) {
this->player.lockOnActor = hideoutObject;
}
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
return 1;
}
return 0;
@@ -48,12 +48,12 @@ static s16 sCurCsId;
void func_80A41D70(EnTest4* this, PlayState* play) {
if (this->csIdIndex != 0) {
func_80151A68(play, sNightMessages1[CURRENT_DAY - 1]);
Message_DisplaySceneTitleCard(play, sNightMessages1[CURRENT_DAY - 1]);
} else if ((sCsIdList[this->csIdIndex] < 0) || (play->actorCtx.flags & ACTORCTX_FLAG_1)) {
if (play->actorCtx.flags & ACTORCTX_FLAG_1) {
Sram_IncrementDay();
gSaveContext.save.time = CLOCK_TIME(6, 0);
func_80151A68(play, sDayMessages1[CURRENT_DAY - 1]);
Message_DisplaySceneTitleCard(play, sDayMessages1[CURRENT_DAY - 1]);
} else {
this->csIdIndex = 0;
this->unk_146 = gSaveContext.save.time += CLOCK_TIME_MINUTE;
@@ -91,12 +91,12 @@ void func_80A41D70(EnTest4* this, PlayState* play) {
void func_80A41FA4(EnTest4* this, PlayState* play) {
if (this->csIdIndex != 0) {
func_80151A68(play, sNightMessages2[CURRENT_DAY - 1]);
Message_DisplaySceneTitleCard(play, sNightMessages2[CURRENT_DAY - 1]);
} else if ((sCsIdList[this->csIdIndex] < 0) || (play->actorCtx.flags & ACTORCTX_FLAG_1)) {
Sram_IncrementDay();
gSaveContext.save.time = CLOCK_TIME(6, 0);
Interface_NewDay(play, CURRENT_DAY);
func_80151A68(play, sDayMessages2[CURRENT_DAY - 1]);
Message_DisplaySceneTitleCard(play, sDayMessages2[CURRENT_DAY - 1]);
D_801BDBC8 = 0xFE;
func_800FB758(play);
func_800FEAF4(&play->envCtx);
@@ -685,7 +685,7 @@ void EnTest6_InvertedSoTCutscene(EnTest6* this, PlayState* play) {
if (DECR(this->timer) == 0) {
EnTest6_StopInvertedSoTCutscene(this, play);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
}
@@ -1091,7 +1091,7 @@ void EnTest6_SharedSoTCutscene(EnTest6* this, PlayState* play) {
} else {
gSaveContext.respawnFlag = 2;
}
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
return;
}
} else {
@@ -1168,7 +1168,7 @@ void EnTest6_SharedSoTCutscene(EnTest6* this, PlayState* play) {
play->nextEntrance = gSaveContext.respawn[RESPAWN_MODE_RETURN].entrance;
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.respawnFlag = 2;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
return;
}
@@ -116,13 +116,13 @@ void EnTimeTag_RooftopOath_Cutscene(EnTimeTag* this, PlayState* play) {
void EnTimeTag_RooftopOath_Wait(EnTimeTag* this, PlayState* play) {
Actor* thisx = &this->actor;
if ((play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_OATH)) {
if (thisx->csId != CS_ID_NONE) {
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_OATH)) {
if (this->actor.csId != CS_ID_NONE) {
this->actionFunc = EnTimeTag_RooftopOath_Cutscene;
CutsceneManager_Queue(thisx->csId);
gSaveContext.timerStates[TIMER_ID_MOON_CRASH] = TIMER_STATE_OFF;
}
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
}
@@ -186,11 +186,11 @@ void EnTimeTag_Diary_AfterOcarina(EnTimeTag* this, PlayState* play) {
}
void EnTimeTag_Diary_TeachEvanSongSnippets(EnTimeTag* this, PlayState* play) {
if ((play->msgCtx.ocarinaStaff->state == 0) && (play->msgCtx.msgMode == 0x1B)) {
if ((play->msgCtx.ocarinaStaff->state == 0) && (play->msgCtx.msgMode == MSGMODE_SONG_DEMONSTRATION_DONE)) {
TIMETAG_DIARY_TIMER(&this->actor) = 5;
this->actionFunc = EnTimeTag_Diary_AfterOcarina;
play->msgCtx.msgLength = 0;
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
}
}
@@ -217,13 +217,13 @@ void EnTimeTag_Diary_Cutscene(EnTimeTag* this, PlayState* play) {
break;
case 0x122B: // Mikau diary part 1
func_80152434(play, 0x3F);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_SECOND_HALF);
this->actionFunc = EnTimeTag_Diary_TeachEvanSongSnippets;
TIMETAG_DIARY_SONG(&this->actor) = TIMETAG_DIARY_SONG_EVAN_PART1;
break;
case 0x122E: // Mikau diary part 3
func_80152434(play, 0x40);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_DEMONSTRATE_EVAN_PART2_SECOND_HALF);
this->actionFunc = EnTimeTag_Diary_TeachEvanSongSnippets;
TIMETAG_DIARY_SONG(&this->actor) = TIMETAG_DIARY_SONG_EVAN_PART2;
break;
+4 -4
View File
@@ -290,7 +290,7 @@ void func_80AECA3C(EnTk* this, PlayState* play) {
void func_80AECA90(EnTk* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_80AEDE10(this, play);
} else if (this->actor.xzDistToPlayer < 100.0f) {
@@ -317,7 +317,7 @@ void func_80AECB6C(EnTk* this, PlayState* play) {
this->actor.textId = 0;
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_80AED4F8(this, play);
return;
@@ -691,7 +691,7 @@ void func_80AED940(EnTk* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->unk_2CA &= ~0x80;
this->actor.flags &= ~ACTOR_FLAG_10000;
play->msgCtx.msgMode = 0;
play->msgCtx.msgMode = MSGMODE_NONE;
play->msgCtx.msgLength = 0;
func_80AEDE10(this, play);
} else if (!(this->unk_2CA & 0x80)) {
@@ -874,7 +874,7 @@ void func_80AEDF5C(EnTk* this, PlayState* play) {
this->unk_2CA |= 2;
if (play->msgCtx.choiceIndex == 0) {
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x44;
play->msgCtx.msgMode = MSGMODE_PAUSED;
func_80AEE2A8(this, play);
} else {
Audio_PlaySfx_MessageCancel();
+8 -3
View File
@@ -151,7 +151,12 @@ static Vec3s D_80BA510C[] = {
{ 0xFF64, 0x0016, 0xFE7E },
};
static u16 D_80BA5120[] = { 67, 68, 69, 70 };
static u16 sOcarinaActionWindFishPrompts[] = {
OCARINA_ACTION_PROMPT_WIND_FISH_HUMAN,
OCARINA_ACTION_PROMPT_WIND_FISH_GORON,
OCARINA_ACTION_PROMPT_WIND_FISH_ZORA,
OCARINA_ACTION_PROMPT_WIND_FISH_DEKU,
};
static u8 D_80BA5128[] = { 8, 4, 2, 1 };
@@ -542,12 +547,12 @@ s32 func_80BA4530(EnToto* this, PlayState* play) {
s32 func_80BA46D8(EnToto* this, PlayState* play) {
func_800B7298(play, NULL, PLAYER_CSMODE_68);
func_80152434(play, D_80BA5120[CUR_FORM]);
Message_DisplayOcarinaStaff(play, sOcarinaActionWindFishPrompts[CUR_FORM]);
return 0;
}
s32 func_80BA4740(EnToto* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == 4) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) {
if (GET_PLAYER_FORM == PLAYER_FORM_HUMAN) {
SET_WEEKEVENTREG(WEEKEVENTREG_56_10);
}
+5 -5
View File
@@ -217,7 +217,7 @@ void EnTrt_EndInteraction(PlayState* play, EnTrt* this) {
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
}
Actor_ProcessTalkRequest(&this->actor, &play->state);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
this->drawCursor = 0;
@@ -362,7 +362,7 @@ void EnTrt_GetMushroom(EnTrt* this, PlayState* play) {
CutsceneManager_Stop(this->csId);
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
}
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnTrt_PayForMushroom;
break;
@@ -412,7 +412,7 @@ void EnTrt_StartRedPotionConversation(EnTrt* this, PlayState* play) {
CutsceneManager_Stop(this->csId);
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
}
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnTrt_GiveRedPotionForKoume;
} else {
@@ -660,7 +660,7 @@ void EnTrt_SetupBuyItemWithFanfare(PlayState* play, EnTrt* this) {
Player* player = GET_PLAYER(play);
Actor_OfferGetItem(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f);
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
player->stateFlags2 &= ~PLAYER_STATE2_20000000;
Interface_SetHudVisibility(HUD_VISIBILITY_ALL);
@@ -999,7 +999,7 @@ void EnTrt_TryToGiveRedPotion(EnTrt* this, PlayState* play) {
CutsceneManager_Stop(this->csId);
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
}
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnTrt_GiveRedPotionForKoume;
} else {
+5 -5
View File
@@ -347,7 +347,7 @@ void func_80AD3CEC(EnTrt2* this, PlayState* play) {
Message_StartTextbox(play, this->unk_3A8, &this->actor);
this->unk_3D8 = false;
} else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
EnTrt2_ChangeAnim(&this->skelAnime, sAnimationInfo, TRT2_ANIM_HOVER);
this->unk_3B2 = 4;
@@ -375,7 +375,7 @@ void func_80AD3DA4(EnTrt2* this, PlayState* play) {
void func_80AD3E34(EnTrt2* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (Inventory_HasEmptyBottle()) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_3B2 = 12;
} else {
@@ -403,7 +403,7 @@ void func_80AD3EF0(EnTrt2* this, PlayState* play) {
}
}
} else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->unk_3B2 = 12;
}
@@ -447,7 +447,7 @@ void func_80AD417C(EnTrt2* this, PlayState* play) {
func_80AD349C(this);
func_80AD3DA4(this, play);
} else {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
if (this->unk_3A8 == 0x84C) {
EnTrt2_ChangeAnim(&this->skelAnime, sAnimationInfo, TRT2_ANIM_HOVER);
@@ -529,7 +529,7 @@ void func_80AD4550(EnTrt2* this, PlayState* play) {
}
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
}
}
@@ -37,8 +37,10 @@ ActorInit En_Warp_tag_InitVars = {
};
// this appears to be unused, as the code never accesses it in known vanilla cases
// these unknown values get passed to a unknown z_message function
u8 D_809C1000[] = { 0x28, 0x29, 0x2A, 0x2B, 0x2D, 0x2C, 0, 0 };
u8 D_809C1000[] = {
OCARINA_ACTION_CHECK_TIME, OCARINA_ACTION_CHECK_HEALING, OCARINA_ACTION_CHECK_EPONAS,
OCARINA_ACTION_CHECK_SOARING, OCARINA_ACTION_CHECK_SUNS, OCARINA_ACTION_CHECK_STORMS,
};
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE),
@@ -113,7 +115,7 @@ void EnWarpTag_Unused809C09A0(EnWarptag* this, PlayState* play) {
// and I doubt its set externally by another actor, so I believe this is unused
// might be a bug, they might have meant to set actor flag (0x2000 0000) up above but mistyped (0x200 0000)
// also WARPTAG_GET_3C0 should always return 2C0 -> 0xF for all known in-game uses, which is OOB
func_80152434(play, D_809C1000[WARPTAG_GET_3C0(&this->dyna.actor)]); // unk message function
Message_DisplayOcarinaStaff(play, D_809C1000[WARPTAG_GET_3C0(&this->dyna.actor)]);
this->actionFunc = EnWarpTag_Unused809C0A20;
} else {
@@ -125,13 +127,13 @@ void EnWarpTag_Unused809C09A0(EnWarptag* this, PlayState* play) {
* Unused ActionFunc: assigned by EnWarpTag_Unused809C09A0, no known variants use.
*/
void EnWarpTag_Unused809C0A20(EnWarptag* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == 9) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_STORMS) {
func_800B7298(play, NULL, PLAYER_CSMODE_WAIT);
this->actionFunc = EnWarpTag_RespawnPlayer;
CutsceneManager_Stop(CutsceneManager_GetCurrentCsId());
} else if (play->msgCtx.ocarinaMode >= 2) {
play->msgCtx.ocarinaMode = 4;
} else if (play->msgCtx.ocarinaMode >= OCARINA_MODE_WARP) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
this->actionFunc = EnWarpTag_Unused809C09A0;
}
}
@@ -497,7 +497,7 @@ void EnWeatherTag_Update(Actor* thisx, PlayState* play) {
EnWeatherTag* this = THIS;
this->actionFunc(this, play);
if ((play->actorCtx.flags & ACTORCTX_FLAG_1) && (play->msgCtx.msgMode != 0) &&
if ((play->actorCtx.flags & ACTORCTX_FLAG_1) && (play->msgCtx.msgMode != MSGMODE_NONE) &&
(play->msgCtx.currentTextId == 0x5E6) && !FrameAdvance_IsEnabled(&play->state) &&
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (CutsceneManager_GetCurrentCsId() == CS_ID_NONE) &&
(play->csCtx.state == CS_STATE_IDLE)) {
+1 -1
View File
@@ -358,7 +358,7 @@ void EnYb_Idle(EnYb* this, PlayState* play) {
EnYb_UpdateAnimation(this, play);
if ((this->actor.xzDistToPlayer < 180.0f) && (fabsf(this->actor.playerHeightRel) < 50.0f) &&
(play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
(play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) &&
(GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
this->actionFunc = EnYb_TeachingDance;
this->teachingCutsceneTimer = 200;
+8 -8
View File
@@ -268,7 +268,7 @@ void func_80B9FC70(EnZob* this, s16 csIdIndex) {
void func_80B9FCA0(EnZob* this, PlayState* play) {
Message_CloseTextbox(play);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
func_80B9FC0C(this);
this->unk_2F4 &= ~1;
this->actionFunc = func_80BA0728;
@@ -315,7 +315,7 @@ void func_80B9FE1C(EnZob* this, PlayState* play) {
void func_80B9FE5C(EnZob* this, PlayState* play) {
func_80B9F86C(this);
if (play->msgCtx.ocarinaMode == 3) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
play->msgCtx.msgLength = 0;
this->actionFunc = func_80B9FDDC;
func_80B9FC70(this, 0);
@@ -331,7 +331,7 @@ void func_80B9FE5C(EnZob* this, PlayState* play) {
void func_80B9FF20(EnZob* this, PlayState* play) {
func_80B9F86C(this);
if (Message_GetState(&play->msgCtx) == TEXT_STATE_7) {
func_80152434(play, 0x42);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_PROMPT_EVAN_PART2_SECOND_HALF);
this->actionFunc = func_80B9FE5C;
func_80B9FC70(this, 2);
}
@@ -339,11 +339,11 @@ void func_80B9FF20(EnZob* this, PlayState* play) {
void func_80B9FF80(EnZob* this, PlayState* play) {
func_80B9F86C(this);
if (play->msgCtx.ocarinaMode == 3) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
this->actionFunc = func_80B9FF20;
this->unk_304 = 6;
func_80B9F7E4(this, 1, ANIMMODE_LOOP);
func_80152434(play, 0x3E);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_DEMONSTRATE_EVAN_PART2_FIRST_HALF);
func_80B9FC70(this, 1);
} else if (Message_GetState(&play->msgCtx) == TEXT_STATE_11) {
play->msgCtx.msgLength = 0;
@@ -357,7 +357,7 @@ void func_80B9FF80(EnZob* this, PlayState* play) {
void func_80BA005C(EnZob* this, PlayState* play) {
func_80B9F86C(this);
if (Message_GetState(&play->msgCtx) == TEXT_STATE_7) {
func_80152434(play, 0x41);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_PROMPT_EVAN_PART1_SECOND_HALF);
this->actionFunc = func_80B9FF80;
func_80B9FC70(this, 2);
}
@@ -426,7 +426,7 @@ void func_80BA00BC(EnZob* this, PlayState* play) {
break;
case 0x1209:
func_80152434(play, 0x3D);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_FIRST_HALF);
this->unk_304 = 4;
func_80B9F7E4(this, 0, ANIMMODE_LOOP);
this->actionFunc = func_80BA005C;
@@ -439,7 +439,7 @@ void func_80BA00BC(EnZob* this, PlayState* play) {
}
void func_80BA0318(EnZob* this, PlayState* play) {
func_80152434(play, 0x3D);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_FIRST_HALF);
this->unk_304 = 4;
func_80B9F7E4(this, 0, ANIMMODE_LOOP);
this->actionFunc = func_80BA005C;
+2 -2
View File
@@ -627,7 +627,7 @@ void func_80B9451C(EnZog* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->unk_300 = 2;
this->actionFunc = func_80B94470;
} else if ((play->msgCtx.ocarinaMode == 3) && (this->actor.xzDistToPlayer < 120.0f)) {
} else if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (this->actor.xzDistToPlayer < 120.0f)) {
if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
func_80B93BA8(this, 2);
this->actionFunc = func_80B943C0;
@@ -715,7 +715,7 @@ void func_80B948A8(EnZog* this, PlayState* play) {
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
this->unk_300 = 2;
this->actionFunc = func_80B946FC;
} else if ((play->msgCtx.ocarinaMode == 3) && (this->actor.xzDistToPlayer < 120.0f)) {
} else if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) && (this->actor.xzDistToPlayer < 120.0f)) {
if ((play->msgCtx.lastPlayedSong == OCARINA_SONG_HEALING) && (GET_PLAYER_FORM == PLAYER_FORM_HUMAN)) {
func_80B93BA8(this, 2);
this->actionFunc = func_80B943C0;
+2 -2
View File
@@ -555,8 +555,8 @@ void func_80BBBDE0(EnZos* this, PlayState* play) {
func_80BBB0D4(this, play);
if (play->msgCtx.ocarinaMode == 0x2A) {
play->msgCtx.ocarinaMode = 4;
if (play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_FULL_EVAN_SONG) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
this->actionFunc = func_80BBBB84;
this->actor.flags |= ACTOR_FLAG_10000;
Actor_OfferTalk(&this->actor, play, 120.0f);
+1 -1
View File
@@ -1146,7 +1146,7 @@ void func_80B98BF4(EnZot* this, PlayState* play) {
void func_80B98CA8(EnZot* this, PlayState* play) {
if (func_800B8718(&this->actor, &play->state)) {
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
AudioOcarina_StartDefault(0xFFFF);
this->actionFunc = func_80B98BF4;
this->actor.flags |= ACTOR_FLAG_10000;
@@ -99,7 +99,7 @@ void func_80B3C4E0(ObjGhaka* this, PlayState* play) {
if (talkState == TEXT_STATE_5) {
if (Message_ShouldAdvance(play)) {
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_80B3C260(this);
}
@@ -120,7 +120,7 @@ void func_80B3C4E0(ObjGhaka* this, PlayState* play) {
case 2:
Audio_PlaySfx_MessageCancel();
play->msgCtx.msgMode = 0x43;
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_80B3C260(this);
break;
@@ -203,7 +203,7 @@ void func_80AC9AB8(ObjOcarinalift* this) {
void func_80AC9AE0(ObjOcarinalift* this, PlayState* play) {
if (func_800B8718(&this->dyna.actor, &play->state)) {
func_80152434(play, 1);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_FREE_PLAY);
func_80AC9B48(this);
} else if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
func_800B8804(&this->dyna.actor, play, 40.0f);
@@ -216,7 +216,7 @@ void func_80AC9B48(ObjOcarinalift* this) {
void func_80AC9B5C(ObjOcarinalift* this, PlayState* play) {
if (func_800B886C(&this->dyna.actor, play)) {
if (play->msgCtx.ocarinaMode == 4) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) {
if (play->msgCtx.lastPlayedSong == 0) {
if (OBJOCARINALIFT_GET_C(&this->dyna.actor) != OBJOCARINALIFT_PARAM_1) {
Flags_SetSwitch(play, OBJOCARINALIFT_GET_SWITCH_FLAG(&this->dyna.actor));
@@ -225,8 +225,8 @@ void func_80AC9B5C(ObjOcarinalift* this, PlayState* play) {
func_80AC9C20(this);
}
} else {
if (play->msgCtx.ocarinaMode >= 2) {
play->msgCtx.ocarinaMode = 4;
if (play->msgCtx.ocarinaMode >= OCARINA_MODE_WARP) {
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
func_80AC9AB8(this);
}
+1 -1
View File
@@ -897,7 +897,7 @@ s32 func_80B79734(PlayState* play, ObjUm* this, s32 arg2) {
case TEXT_STATE_CHOICE:
case TEXT_STATE_5:
if (Message_ShouldAdvance(play) && func_80B795A0(play, this, arg2)) {
msgCtx->msgMode = 0x43;
msgCtx->msgMode = MSGMODE_TEXT_CLOSING;
ret = true;
}
break;
@@ -141,7 +141,7 @@ void ObjWarpstone_Update(Actor* thisx, PlayState* play) {
} else if ((Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE) && Message_ShouldAdvance(play)) {
if (play->msgCtx.choiceIndex != 0) {
Audio_PlaySfx_MessageDecide();
play->msgCtx.msgMode = 0x4D;
play->msgCtx.msgMode = MSGMODE_OWL_SAVE_0;
play->msgCtx.unk120D6 = 0;
play->msgCtx.unk120D4 = 0;
gSaveContext.save.owlSaveLocation = OBJ_WARPSTONE_GET_ID(&this->dyna.actor);
@@ -39,7 +39,8 @@ void func_808A7954(ObjWturn* this) {
}
void func_808A7968(ObjWturn* this, PlayState* play) {
if (play->msgCtx.ocarinaMode >= 28 && play->msgCtx.ocarinaMode < 39) {
if ((play->msgCtx.ocarinaMode >= OCARINA_MODE_WARP_TO_GREAT_BAY_COAST) &&
(play->msgCtx.ocarinaMode <= OCARINA_MODE_WARP_TO_ENTRANCE)) {
Flags_UnsetSwitch(play, this->actor.params);
Actor_Kill(&this->actor);
return;
@@ -81,11 +81,12 @@ void OceffSpot_End(OceffSpot* this, PlayState* play) {
} else {
Actor_Kill(&this->actor);
if ((R_TIME_SPEED != 400) && !play->msgCtx.blockSunsSong) {
if ((play->msgCtx.ocarinaAction != 0x39) || (play->msgCtx.ocarinaMode != 0xA)) {
if ((play->msgCtx.ocarinaAction != OCARINA_ACTION_CHECK_NOTIME_DONE) ||
(play->msgCtx.ocarinaMode != OCARINA_MODE_PLAYED_SUNS)) {
gSaveContext.sunsSongState = SUNSSONG_START;
}
} else {
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
}
}
@@ -129,18 +129,18 @@ void ShotSun_TriggerFairy(ShotSun* this, PlayState* play) {
void ShotSun_UpdateForOcarina(ShotSun* this, PlayState* play) {
s32 type = SHOTSUN_GET_TYPE(&this->actor);
if (play->msgCtx.ocarinaMode == 3) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) {
switch (play->msgCtx.lastPlayedSong) {
case OCARINA_SONG_STORMS:
if (type == SHOTSUN_FAIRY_SPAWNER_STORMS) {
this->actionFunc = ShotSun_TriggerFairy;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
break;
case OCARINA_SONG_SUNS:
if (type == SHOTSUN_FAIRY_SPAWNER_SUNS) {
this->actionFunc = ShotSun_TriggerFairy;
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
}
break;
}
+23 -16
View File
@@ -16630,10 +16630,12 @@ void Player_Action_62(Player* this, PlayState* play) {
s32 func_80851C40(PlayState* play, Player* this) {
return ((play->sceneId == SCENE_MILK_BAR) && Audio_IsSequencePlaying(NA_BGM_BALLAD_OF_THE_WIND_FISH)) ||
(((play->sceneId != SCENE_MILK_BAR) && (this->csMode == PLAYER_CSMODE_68)) ||
((play->msgCtx.msgMode == 0x12) || (play->msgCtx.msgMode == 0x13) || (play->msgCtx.msgMode == 0x14) ||
((play->msgCtx.ocarinaMode != 1) &&
((this->csMode == PLAYER_CSMODE_5) || (play->msgCtx.ocarinaMode == 3) ||
play->msgCtx.ocarinaAction == 0x32))));
((play->msgCtx.msgMode == MSGMODE_SONG_PLAYED) ||
(play->msgCtx.msgMode == MSGMODE_SETUP_DISPLAY_SONG_PLAYED) ||
(play->msgCtx.msgMode == MSGMODE_DISPLAY_SONG_PLAYED) ||
((play->msgCtx.ocarinaMode != OCARINA_MODE_ACTIVE) &&
((this->csMode == PLAYER_CSMODE_5) || (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) ||
play->msgCtx.ocarinaAction == OCARINA_ACTION_FREE_PLAY_DONE))));
}
// Deku playing the pipes? The loops both overwrite unk_AF0[0].y,z and unk_AF0[1].x,y,z
@@ -16653,7 +16655,7 @@ void func_80851D30(PlayState* play, Player* this) {
*var_s0 = sp50.x;
var_s0++;
}
} else if (play->msgCtx.ocarinaMode == 1) {
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_ACTIVE) {
if (play->msgCtx.ocarinaButtonIndex != OCARINA_BTN_INVALID) {
var_s0[play->msgCtx.ocarinaButtonIndex] = 1.2f;
func_8082DB90(play, this, D_8085D190[this->transformation]);
@@ -16738,7 +16740,7 @@ void func_808521E0(PlayState* play, Player* this) {
}
func_80124618(D_801C0490, this->skelAnime.curFrame, &this->unk_AF0[1]);
} else if (play->msgCtx.ocarinaMode == 1) {
} else if (play->msgCtx.ocarinaMode == OCARINA_MODE_ACTIVE) {
if (play->msgCtx.ocarinaButtonIndex != OCARINA_BTN_INVALID) {
func_80851EC8(play, this);
}
@@ -16760,7 +16762,8 @@ void func_80852290(PlayState* play, Player* this) {
s16 var_a1_3;
s16 sp38;
if ((play->msgCtx.ocarinaMode == 1) && (play->msgCtx.ocarinaButtonIndex != OCARINA_BTN_INVALID)) {
if ((play->msgCtx.ocarinaMode == OCARINA_MODE_ACTIVE) &&
(play->msgCtx.ocarinaButtonIndex != OCARINA_BTN_INVALID)) {
if ((this->unk_A90 != NULL) && (this->unk_A94 < 0.0f)) {
this->unk_A90->flags |= ACTOR_FLAG_20000000;
this->unk_A94 = 0.0f;
@@ -16841,10 +16844,10 @@ void Player_Action_63(Player* this, PlayState* play) {
((this->skelAnime.mode == 0) && (this->actionVar2 == 0)))) {
func_808525C4(play, this);
if (!(this->actor.flags & ACTOR_FLAG_20000000) || (this->unk_A90->id == ACTOR_EN_ZOT)) {
func_80152434(play, 1);
Message_DisplayOcarinaStaff(play, OCARINA_ACTION_FREE_PLAY);
}
} else if (this->actionVar2 != 0) {
if (play->msgCtx.ocarinaMode == 4) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_END) {
play->interfaceCtx.unk_222 = 0;
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_ITEM_OCARINA]);
this->actor.flags &= ~ACTOR_FLAG_20000000;
@@ -16860,12 +16863,15 @@ void Player_Action_63(Player* this, PlayState* play) {
Player_AnimationPlayOnceReverse(play, this, D_8085D17C[this->transformation]);
}
} else {
s32 var_v1 = (play->msgCtx.ocarinaMode >= 0x1C) && (play->msgCtx.ocarinaMode < 0x27);
s32 var_v1 = (play->msgCtx.ocarinaMode >= OCARINA_MODE_WARP_TO_GREAT_BAY_COAST) &&
(play->msgCtx.ocarinaMode <= OCARINA_MODE_WARP_TO_ENTRANCE);
s32 pad[2];
if (var_v1 || (play->msgCtx.ocarinaMode == 0x16) || (play->msgCtx.ocarinaMode == 0x1A) ||
(play->msgCtx.ocarinaMode == 0x18) || (play->msgCtx.ocarinaMode == 0x19)) {
if (play->msgCtx.ocarinaMode == 0x16) {
if (var_v1 || (play->msgCtx.ocarinaMode == OCARINA_MODE_APPLY_SOT) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_APPLY_DOUBLE_SOT) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_APPLY_INV_SOT_FAST) ||
(play->msgCtx.ocarinaMode == OCARINA_MODE_APPLY_INV_SOT_SLOW)) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_APPLY_SOT) {
if (!func_8082DA90(play)) {
if (gSaveContext.save.saveInfo.playerData.threeDayResetCount == 1) {
play->nextEntrance = ENTRANCE(CUTSCENE, 1);
@@ -16896,7 +16902,8 @@ void Player_Action_63(Player* this, PlayState* play) {
Player_AnimationPlayOnceReverse(play, this, D_8085D17C[this->transformation]);
}
}
} else if ((play->msgCtx.ocarinaMode == 3) && (play->msgCtx.lastPlayedSong == OCARINA_SONG_ELEGY)) {
} else if ((play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
(play->msgCtx.lastPlayedSong == OCARINA_SONG_ELEGY)) {
play->interfaceCtx.unk_222 = 0;
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_ITEM_OCARINA]);
@@ -18114,7 +18121,7 @@ void Player_Action_87(Player* this, PlayState* play) {
void Player_Action_88(Player* this, PlayState* play) {
if (this->actionVar2++ > 90) {
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
func_8085B384(this, play);
} else if (this->actionVar2 == 10) {
func_80848640(play, this);
@@ -19814,7 +19821,7 @@ void Player_CsAction_4(PlayState* play, Player* this, CsCmdActorCue* cue) {
PlayerAnimation_Update(play, &this->skelAnime);
if ((this->actor.id == ACTOR_EN_TEST3) && Animation_OnFrame(&this->skelAnime, 20.0f)) {
this->getItemDrawIdPlusOne = GID_MASK_SUN + 1;
Message_BombersNotebookQueueEvent(play, 0x1B);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_ESCAPED_SAKONS_HIDEOUT);
Audio_PlayFanfare(NA_BGM_GET_NEW_MASK);
}
}
@@ -2799,10 +2799,14 @@ void KaleidoScope_UpdateOpening(PlayState* play) {
}
}
u16 sCursorPointsToOcarinaModes[] = {
OCARINA_MODE_WARP_TO_GREAT_BAY_COAST, OCARINA_MODE_WARP_TO_ZORA_CAPE, OCARINA_MODE_WARP_TO_SNOWHEAD,
OCARINA_MODE_WARP_TO_MOUNTAIN_VILLAGE, OCARINA_MODE_WARP_TO_SOUTH_CLOCK_TOWN, OCARINA_MODE_WARP_TO_MILK_ROAD,
OCARINA_MODE_WARP_TO_WOODFALL, OCARINA_MODE_WARP_TO_SOUTHERN_SWAMP, OCARINA_MODE_WARP_TO_IKANA_CANYON,
OCARINA_MODE_WARP_TO_STONE_TOWER,
};
void KaleidoScope_Update(PlayState* play) {
static u16 sCursorPointsToOcarinaModes[] = {
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
};
static s16 sUnpausedHudVisibility = HUD_VISIBILITY_IDLE;
static s16 sNextMainState = PAUSE_MAIN_STATE_IDLE;
static s16 sDelayTimer = 10;
@@ -3484,7 +3488,7 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
sPauseMenuVerticalOffset = -6240.0f;
Audio_PlaySfx_PauseMenuOpenOrClose(SFX_PAUSE_MENU_CLOSE);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
gSaveContext.prevHudVisibility = HUD_VISIBILITY_ALL;
} else if (CHECK_BTN_ALL(input->press.button, BTN_A)) {
Audio_PlaySfx(NA_SE_SY_DECIDE);
@@ -3498,7 +3502,7 @@ void KaleidoScope_Update(PlayState* play) {
case PAUSE_STATE_OWLWARP_CONFIRM:
if (CHECK_BTN_ALL(input->press.button, BTN_A)) {
msgCtx->msgLength = 0;
msgCtx->msgMode = 0;
msgCtx->msgMode = MSGMODE_NONE;
if (msgCtx->choiceIndex == 0) {
func_8011552C(play, DO_ACTION_NONE);
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
@@ -3513,17 +3517,17 @@ void KaleidoScope_Update(PlayState* play) {
}
} else if (CHECK_BTN_ALL(input->press.button, BTN_B)) {
msgCtx->msgLength = 0;
msgCtx->msgMode = 0;
msgCtx->msgMode = MSGMODE_NONE;
pauseCtx->state = PAUSE_STATE_OWLWARP_SELECT;
Audio_PlaySfx(NA_SE_SY_MESSAGE_PASS);
} else if (CHECK_BTN_ALL(input->press.button, BTN_START)) {
msgCtx->msgLength = 0;
msgCtx->msgMode = 0;
msgCtx->msgMode = MSGMODE_NONE;
func_8011552C(play, DO_ACTION_NONE);
pauseCtx->state = PAUSE_STATE_OWLWARP_6;
sPauseMenuVerticalOffset = -6240.0f;
Audio_PlaySfx_PauseMenuOpenOrClose(SFX_PAUSE_MENU_CLOSE);
play->msgCtx.ocarinaMode = 4;
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
gSaveContext.prevHudVisibility = HUD_VISIBILITY_ALL;
}
break;
@@ -3598,7 +3602,7 @@ void KaleidoScope_Update(PlayState* play) {
MsgEvent_SendNullTask();
func_80143324(play, &play->skyboxCtx, play->skyboxId);
if ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF)) {
if ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId == 0xFF)) {
func_80115844(play, DO_ACTION_STOP);
func_8011552C(play, DO_ACTION_STOP);
Interface_SetHudVisibility(HUD_VISIBILITY_A_B_C);