diff --git a/include/z64.h b/include/z64.h index 70ad4e219f..07c422571d 100644 --- a/include/z64.h +++ b/include/z64.h @@ -741,7 +741,7 @@ typedef enum { /* 4 */ PAUSECTX_STATE_4, /* 5 */ PAUSECTX_STATE_5, /* 6 */ PAUSECTX_STATE_6, // listen to inputs - /* 7 */ PAUSECTX_STATE_7, // save + /* 7 */ PAUSECTX_STATE_7_SAVE_PROMPT_, // save /* 8 */ PAUSECTX_STATE_8, // saveGameOver /* 9 */ PAUSECTX_STATE_9, // saveGameOver /* 10 */ PAUSECTX_STATE_10, // game over saveGameOver @@ -757,16 +757,16 @@ typedef enum { } PauseCtxState; typedef enum { - /* 0 */ PAUSE_S6_0, + /* 0 */ PAUSE_S6_0_IDLE_, /* 1 */ PAUSE_S6_1, - /* 2 */ PAUSE_S6_2, + /* 2 */ PAUSE_S6_2_PLAYBACK_SONG_, /* 3 */ PAUSE_S6_3, - /* 4 */ PAUSE_S6_4, - /* 5 */ PAUSE_S6_5_PLAYING_SONG_, + /* 4 */ PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_, + /* 5 */ PAUSE_S6_5_PLAYER_PLAYING_SONG_, /* 6 */ PAUSE_S6_6, /* 7 */ PAUSE_S6_7, - /* 8 */ PAUSE_S6_8, - /* 9 */ PAUSE_S6_9 + /* 8 */ PAUSE_S6_8_PLAYBACK_SONG_READY_, + /* 9 */ PAUSE_S6_9_PLAYBACK_SONG_START_ } PauseCtxUnk1E4; typedef enum { @@ -807,7 +807,7 @@ typedef struct { /* 0x01D4 */ u16 state; /* 0x01D6 */ u16 debugState; /* 0x01D8 */ Vec3f eye; - /* 0x01E4 */ u16 unk_1E4; + /* 0x01E4 */ u16 unk_1E4_ps6_; /* 0x01E6 */ u16 mode; /* 0x01E8 */ u16 pageIndex; // "kscp_pos" /* 0x01EA */ u16 unk_1EA; diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index cbc140667d..cb9eb50df4 100644 --- a/src/code/z_kaleido_scope_call.c +++ b/src/code/z_kaleido_scope_call.c @@ -62,7 +62,7 @@ void KaleidoScopeCall_Update(PlayState* play) { HREG(80) = 7; HREG(82) = 3; R_PAUSE_MENU_MODE = 1; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; // PAUSECTX_STATE_2 } @@ -70,7 +70,7 @@ void KaleidoScopeCall_Update(PlayState* play) { HREG(80) = 7; HREG(82) = 3; R_PAUSE_MENU_MODE = 1; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; // PAUSECTX_STATE_9 } else if ((pauseCtx->state == PAUSECTX_STATE_2) || (pauseCtx->state == PAUSECTX_STATE_9)) { diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c index ccca0b31c8..d591278ae9 100644 --- a/src/code/z_kaleido_setup.c +++ b/src/code/z_kaleido_setup.c @@ -70,7 +70,7 @@ void KaleidoSetup_Init(PlayState* play) { pauseCtx->debugState = 0; pauseCtx->alpha = 0; pauseCtx->unk_1EA = 0; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->mode = 0; pauseCtx->pageIndex = PAUSE_ITEM; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 41ec58b899..9d661ce9a9 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -2764,7 +2764,7 @@ void Interface_DrawItemButtons(PlayState* play) { G_TX_RENDERTILE, 0, 0, R_ITEM_BTN_DD(3) << 1, R_ITEM_BTN_DD(3) << 1); if ((pauseCtx->state < PAUSECTX_STATE_8) /* PAUSECTX_STATE_0, PAUSECTX_STATE_1, PAUSECTX_STATE_2, PAUSECTX_STATE_3, - PAUSECTX_STATE_4, PAUSECTX_STATE_5, PAUSECTX_STATE_6, PAUSECTX_STATE_7 */ + PAUSECTX_STATE_4, PAUSECTX_STATE_5, PAUSECTX_STATE_6, PAUSECTX_STATE_7_SAVE_PROMPT_ */ || (pauseCtx->state >= PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE) /* PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE, PAUSECTX_STATE_19_UNPAUSE */) { if ((play->pauseCtx.state != 0) || (play->pauseCtx.debugState != 0)) { // Start Button Texture, Color & Label diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 3d321ba940..928fe3333f 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1448,7 +1448,6 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve Matrix_MultVec3f(&sZeroVec, sCurBodyPartPos); } - if (limbIndex == PLAYER_LIMB_L_HAND) { MtxF sp14C; Actor* hookedActor; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c index 4c22992b48..48bc340343 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c @@ -29,7 +29,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { static s16 sHpPrimState = 0; static s16 sPlayedSongBtnsNum = 0; - static s16 D_8082A120 = 0; + static s16 D_8082A120_playbackSongStartTimer_ = 0; static u8 sPlayedSongBtns[8] = { 0 }; static s32 sUnused1 = 0; static void* sOcarinaBtnTextures[] = { @@ -113,24 +113,30 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { OPEN_DISPS(gfxCtx, "../z_kaleido_collect.c", 248); - if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_) || - (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) && + if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0_IDLE_ */ || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYER_PLAYING_SONG_) || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) && (pauseCtx->pageIndex == PAUSE_QUEST)) { + pauseCtx->cursorColorSet = 0; if (pauseCtx->cursorSpecialPos == 0) { pauseCtx->nameColorSet = 0; if ((pauseCtx->state != PAUSECTX_STATE_6) || ((pauseCtx->stickRelX == 0) && (pauseCtx->stickRelY == 0))) { + // No cursor movement cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; } else { + // Move cursor based on stick input + i = pauseCtx->cursorPoint[PAUSE_QUEST]; if (pauseCtx->stickRelX < -30) { + // Move cursor left nextCursorPoint = sCursorPointLinks[i][2]; if (nextCursorPoint == CURSOR_TO_LEFT) { KaleidoScope_MoveCursorToSpecialPos(play, PAUSE_CURSOR_PAGE_LEFT); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; } else { while (nextCursorPoint >= 0) { if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { @@ -140,10 +146,11 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { } } } else if (pauseCtx->stickRelX > 30) { + // Move cursor right nextCursorPoint = sCursorPointLinks[i][3]; if (nextCursorPoint == CURSOR_TO_RIGHT) { KaleidoScope_MoveCursorToSpecialPos(play, PAUSE_CURSOR_PAGE_RIGHT); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; } else { while (nextCursorPoint >= 0) { if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { @@ -155,6 +162,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { } if (pauseCtx->stickRelY < -30) { + // Move cursor down nextCursorPoint = sCursorPointLinks[i][1]; while (nextCursorPoint >= 0) { if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { @@ -163,6 +171,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { nextCursorPoint = sCursorPointLinks[nextCursorPoint][1]; } } else if (pauseCtx->stickRelY > 30) { + // Move cursor up nextCursorPoint = sCursorPointLinks[i][0]; while (nextCursorPoint >= 0) { if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { @@ -174,23 +183,27 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { // if the cursor point changed if (pauseCtx->cursorPoint[PAUSE_QUEST] != i) { - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } + // Update cursor item and slot + if (pauseCtx->cursorPoint[PAUSE_QUEST] != QUEST_HEART_PIECE) { if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_SONG_MINUET) { - cursorItem = ITEM_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; + cursorItem = + ITEM_MEDALLION_FOREST - QUEST_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; osSyncPrintf("000 ccc=%d\n", cursorItem); } else if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_KOKIRI_EMERALD) { - cursorItem = ITEM_SCALE_GOLDEN + pauseCtx->cursorPoint[PAUSE_QUEST]; + cursorItem = ITEM_SONG_MINUET - QUEST_SONG_MINUET + pauseCtx->cursorPoint[PAUSE_QUEST]; osSyncPrintf("111 ccc=%d\n", cursorItem); } else { - cursorItem = ITEM_SONG_MINUET + pauseCtx->cursorPoint[PAUSE_QUEST]; + cursorItem = + ITEM_KOKIRI_EMERALD - QUEST_KOKIRI_EMERALD + pauseCtx->cursorPoint[PAUSE_QUEST]; osSyncPrintf("222 ccc=%d (%d, %d, %d)\n", cursorItem, pauseCtx->cursorPoint[PAUSE_QUEST], - 0x12, 0x6C); + QUEST_KOKIRI_EMERALD, ITEM_KOKIRI_EMERALD); } } else { cursorItem = PAUSE_ITEM_NONE; @@ -212,46 +225,58 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorSlot[pauseCtx->pageIndex] = cursor; } + // Use the appropriate QUEST_MEDALLION_FOREST-QUEST_HEART_PIECE quad (see `KaleidoScope_InitVertices`) KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->cursorSpecialPos == 0)) { if ((cursor >= QUEST_SONG_MINUET) && (cursor < QUEST_KOKIRI_EMERALD)) { if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[cursor - QUEST_SONG_MINUET]; - D_8082A120 = 10; + + D_8082A120_playbackSongStartTimer_ = 10; for (i = 0; i < 8; i++) { sPlayedSongBtns[i] = 0xFF; sPlayedSongBtnsAlpha[i] = 0; } - sPlayedSongBtnsNum = 0; + + // Have the player play a song, immediately cancelled below + // Also clear the playback staff + // This has no purpose (?) AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); AudioOcarina_Start((1 << pauseCtx->ocarinaSongIdx) + 0x8000); pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); pauseCtx->ocarinaStaff->pos = 0; pauseCtx->ocarinaStaff->state = 0xFF; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_A) = -62; R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_DOWN) = -56; R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_RIGHT) = -49; R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_LEFT) = -46; R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_UP) = -41; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_8; + + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_8_PLAYBACK_SONG_READY_; + + // Stop having the player play a song as done above AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } } - } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_) { + } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYER_PLAYING_SONG_) { if ((pauseCtx->stickRelX != 0) || (pauseCtx->stickRelY != 0)) { - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; + AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } - } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8) { + } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_) { if (CHECK_BTN_ALL(input->press.button, BTN_A) && (cursor >= QUEST_SONG_MINUET) && - (cursor <= QUEST_SONG_STORMS)) { - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_9; - D_8082A120 = 10; + (cursor < QUEST_KOKIRI_EMERALD)) { + + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_9_PLAYBACK_SONG_START_; + + D_8082A120_playbackSongStartTimer_ = 10; } } } else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { @@ -259,12 +284,14 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_STONE_OF_AGONY; pauseCtx->nameDisplayTimer = 0; pauseCtx->cursorSpecialPos = 0; + cursor = pauseCtx->cursorPoint[PAUSE_QUEST]; KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); + if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { - cursorItem = ITEM_SONG_MINUET + pauseCtx->cursorPoint[PAUSE_QUEST]; + cursorItem = ITEM_STONE_OF_AGONY - QUEST_STONE_OF_AGONY + pauseCtx->cursorPoint[PAUSE_QUEST]; } else { cursorItem = PAUSE_ITEM_NONE; } @@ -277,11 +304,14 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_MEDALLION_FOREST; pauseCtx->nameDisplayTimer = 0; pauseCtx->cursorSpecialPos = 0; + cursor = pauseCtx->cursorPoint[PAUSE_QUEST]; KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); + if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { + // Only the first if may be reached, as QUEST_MEDALLION_FOREST is set above if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_SONG_MINUET) { cursorItem = ITEM_MEDALLION_FOREST - QUEST_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; @@ -301,37 +331,39 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { } } - } else { - if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_9) { - pauseCtx->cursorColorSet = 8; + } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_9_PLAYBACK_SONG_START_) { + pauseCtx->cursorColorSet = 8; - if (--D_8082A120 == 0) { - for (i = 0; i < 8; i++) { - sPlayedSongBtns[i] = 0xFF; - sPlayedSongBtnsAlpha[i] = 0; - } - - sPlayedSongBtnsNum = 0; - R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_A) = -62; - R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_DOWN) = -56; - R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_RIGHT) = -49; - R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_LEFT) = -46; - R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_UP) = -41; - cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; - AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); - AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); - pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[cursor - QUEST_SONG_MINUET]; - AudioOcarina_SetPlaybackSong(pauseCtx->ocarinaSongIdx + 1, 1); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_2; - pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); - pauseCtx->ocarinaStaff->pos = 0; - cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; - KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); + if (--D_8082A120_playbackSongStartTimer_ == 0) { + for (i = 0; i < 8; i++) { + sPlayedSongBtns[i] = 0xFF; + sPlayedSongBtnsAlpha[i] = 0; } - } else { + sPlayedSongBtnsNum = 0; + + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_A) = -62; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_DOWN) = -56; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_RIGHT) = -49; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_LEFT) = -46; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_UP) = -41; + + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; + AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); + AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); + pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[cursor - QUEST_SONG_MINUET]; + AudioOcarina_SetPlaybackSong(pauseCtx->ocarinaSongIdx + 1, 1); + + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_2_PLAYBACK_SONG_; + + pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); + pauseCtx->ocarinaStaff->pos = 0; + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); } + } else { + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; + KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); } // Draw medallions @@ -521,20 +553,22 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { bufI += 4; if ((pauseCtx->cursorSpecialPos == 0) && (cursor >= QUEST_SONG_MINUET) && (cursor < QUEST_KOKIRI_EMERALD)) { - if ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0, PAUSE_S6_1, PAUSE_S6_2 */ || - (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_) || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) { + if ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0_IDLE_, PAUSE_S6_1, PAUSE_S6_2_PLAYBACK_SONG_ */ || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYER_PLAYING_SONG_) || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) { if (pauseCtx->cursorItem[pauseCtx->pageIndex] != PAUSE_ITEM_NONE) { pauseCtx->cursorColorSet = 8; - // PAUSE_S6_2, PAUSE_S6_3, PAUSE_S6_4, PAUSE_S6_5_PLAYING_SONG_, - // PAUSE_S6_6 - if ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_2) && (pauseCtx->unk_1E4_ps6_ < PAUSE_S6_7)) { + // PAUSE_S6_2_PLAYBACK_SONG_, PAUSE_S6_3, PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_, + // PAUSE_S6_5_PLAYER_PLAYING_SONG_, PAUSE_S6_6 + if ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_2_PLAYBACK_SONG_) && + (pauseCtx->unk_1E4_ps6_ < PAUSE_S6_7)) { pauseCtx->cursorColorSet = 0; } } } } - if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2_PLAYBACK_SONG_) { pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); if (pauseCtx->ocarinaStaff->pos != 0) { @@ -579,9 +613,10 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } } - } else if (((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4) && - (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_6)) /* PAUSE_S6_4, PAUSE_S6_5_PLAYING_SONG_, PAUSE_S6_6 */ - || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) { + } else if (((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_) && + (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_6)) /* PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_, + PAUSE_S6_5_PLAYER_PLAYING_SONG_, PAUSE_S6_6 */ + || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) { stepGreen = pauseCtx->ocarinaSongIdx; stepRed = gOcarinaSongButtons[stepGreen].numButtons; @@ -594,7 +629,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gDPPipeSync(POLY_OPA_DISP++); - if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_) { if (gOcarinaSongButtons[stepGreen].buttonsIndex[i] == OCARINA_BTN_A) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, 200); } else { @@ -616,7 +651,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } - if (pauseCtx->unk_1E4_ps6_ != PAUSE_S6_8) { + if (pauseCtx->unk_1E4_ps6_ != PAUSE_S6_8_PLAYBACK_SONG_READY_) { pauseCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff(); if (pauseCtx->ocarinaStaff->pos != 0) { @@ -668,19 +703,20 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } - if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_4) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_) { for (i = 0; i < 8; i++) { sPlayedSongBtns[i] = 0xFF; sPlayedSongBtnsAlpha[i] = 0; } - sPlayedSongBtnsNum = 0; + AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_DEFAULT); AudioOcarina_Start((1 << pauseCtx->ocarinaSongIdx) + 0x8000); pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); pauseCtx->ocarinaStaff->pos = 0; pauseCtx->ocarinaStaff->state = 0xFE; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_5_PLAYING_SONG_; + + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_5_PLAYER_PLAYING_SONG_; } } } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c index 670206a30a..2768475c69 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.c @@ -150,7 +150,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { } } - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->pageIndex == PAUSE_EQUIP)) { oldCursorPoint = pauseCtx->cursorPoint[PAUSE_EQUIP]; pauseCtx->cursorColorSet = 0; @@ -467,7 +467,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { KaleidoScope_SetCursorVtx(pauseCtx, cursorSlot * 4, pauseCtx->equipVtx); if ((pauseCtx->cursorSpecialPos == 0) && (cursorItem != PAUSE_ITEM_NONE) && - (pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + (pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && CHECK_BTN_ALL(input->press.button, BTN_A) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0)) { if ((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) || @@ -515,7 +515,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { sEquipTimer--; if (sEquipTimer == 0) { - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; } } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c index b2f6c57164..6fba4475f1 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.c @@ -103,7 +103,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { pauseCtx->cursorColorSet = 0; pauseCtx->nameColorSet = 0; - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->pageIndex == PAUSE_ITEM)) { moveCursorResult = 0; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_ITEM]; @@ -346,7 +346,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { KaleidoScope_SetCursorVtx(pauseCtx, index, pauseCtx->itemVtx); if ((pauseCtx->debugState == 0) && (pauseCtx->state == PAUSECTX_STATE_6) && - (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { if (CHECK_BTN_ANY(input->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) { if (((gSlotAgeReqs[cursorSlot] == 9) || (gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge))) && @@ -434,7 +434,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); if (gSaveContext.inventory.items[i] != ITEM_NONE) { - if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (pauseCtx->pageIndex == PAUSE_ITEM) && + if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->pageIndex == PAUSE_ITEM) && (pauseCtx->cursorSpecialPos == 0)) { if ((gSlotAgeReqs[i] == 9) || (gSlotAgeReqs[i] == ((void)0, gSaveContext.linkAge))) { if ((sEquipState == 2) && (i == 3)) { @@ -804,7 +804,7 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) { gSaveContext.equips.cButtonSlots[2]); } - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; sEquipMoveTimer = 10; WREG(90) = 320; WREG(87) = WREG(91); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c index 4aa8372ed2..386f8674d4 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.c @@ -46,7 +46,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play, GraphicsContext* gfxCtx) { OPEN_DISPS(gfxCtx, "../z_kaleido_map_PAL.c", 123); - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->pageIndex == PAUSE_MAP)) { pauseCtx->cursorColorSet = 0; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_MAP]; @@ -411,7 +411,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { OPEN_DISPS(gfxCtx, "../z_kaleido_map_PAL.c", 556); - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) && (pauseCtx->pageIndex == PAUSE_MAP)) { pauseCtx->cursorColorSet = 0; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_WORLD_MAP]; @@ -562,9 +562,11 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) { for (j = i = 0; i < 8; i++, j += 4) { if (!(gSaveContext.worldMapAreaData & gBitFlags[cloudFlagNums[k + i]])) { - gDPLoadTextureBlock_4b(POLY_OPA_DISP++, cloudTexs[k + i], G_IM_FMT_I, D_8082AAEC_width_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[k + i], - D_8082AB2C_height_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[k + i], 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, - G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock_4b(POLY_OPA_DISP++, cloudTexs[k + i], G_IM_FMT_I, + D_8082AAEC_width_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[k + i], + D_8082AB2C_height_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[k + i], 0, + G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, + G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0); } diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.c index b91f740447..e6d0b4d60c 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.c @@ -8,7 +8,7 @@ void KaleidoScope_UpdatePrompt(PlayState* play) { s8 relStickX = input->rel.stick_x; s16 step; - if (((pauseCtx->state == PAUSECTX_STATE_7) && (pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_1)) || + if (((pauseCtx->state == PAUSECTX_STATE_7_SAVE_PROMPT_) && (pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_1)) || (pauseCtx->state == PAUSECTX_STATE_14) || (pauseCtx->state == PAUSECTX_STATE_16)) { if ((pauseCtx->promptChoice == 0) && (relStickX >= 30)) { Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index ce70cc9f65..05a35e89ef 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -458,9 +458,11 @@ void KaleidoScope_DrawCursor(PlayState* play, u16 pageIndex) { temp = pauseCtx->unk_1E4_ps6_; - if ((((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) || (temp == PAUSE_S6_8)) && (pauseCtx->state == PAUSECTX_STATE_6)) || - ((pauseCtx->pageIndex == PAUSE_QUEST) && ((temp < PAUSE_S6_3) /* PAUSE_S6_0, PAUSE_S6_1, PAUSE_S6_2 */ || - (temp == PAUSE_S6_5_PLAYING_SONG_) || (temp == PAUSE_S6_8)))) { + if ((((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) || (temp == PAUSE_S6_8_PLAYBACK_SONG_READY_)) && + (pauseCtx->state == PAUSECTX_STATE_6)) || + ((pauseCtx->pageIndex == PAUSE_QUEST) && + ((temp < PAUSE_S6_3) /* PAUSE_S6_0_IDLE_, PAUSE_S6_1, PAUSE_S6_2_PLAYBACK_SONG_ */ || + (temp == PAUSE_S6_5_PLAYER_PLAYING_SONG_) || (temp == PAUSE_S6_8_PLAYBACK_SONG_READY_)))) { if (pauseCtx->pageIndex == pageIndex) { s16 i; @@ -559,10 +561,10 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { if ((pauseCtx->state < PAUSECTX_STATE_8) /* PAUSECTX_STATE_0, PAUSECTX_STATE_1, PAUSECTX_STATE_2, PAUSECTX_STATE_3, PAUSECTX_STATE_4, - PAUSECTX_STATE_5, PAUSECTX_STATE_6, PAUSECTX_STATE_7 */ + PAUSECTX_STATE_5, PAUSECTX_STATE_6, PAUSECTX_STATE_7_SAVE_PROMPT_ */ || (pauseCtx->state > PAUSECTX_STATE_17) /* PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE, PAUSECTX_STATE_19_UNPAUSE */) { - if (pauseCtx->state != PAUSECTX_STATE_7) { + if (pauseCtx->state != PAUSECTX_STATE_7_SAVE_PROMPT_) { stepR = ABS(sColor82ABRed_D_8082AB8C - sCursorColors_D_8082ACF4[pauseCtx->cursorColorSet + sCursorColorBlinkOffset_D_8082AD40][0]) / sCursorColorBlinkTimer_D_8082AD3C; @@ -837,7 +839,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Gfx_SetupDL_42Opa(gfxCtx); - if ((pauseCtx->state == PAUSECTX_STATE_7) || + if ((pauseCtx->state == PAUSECTX_STATE_7_SAVE_PROMPT_) || ((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state < PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE)) /* PAUSECTX_STATE_8, PAUSECTX_STATE_9, PAUSECTX_STATE_10, PAUSECTX_STATE_11, PAUSECTX_STATE_12, PAUSECTX_STATE_13, PAUSECTX_STATE_14, PAUSECTX_STATE_15, PAUSECTX_STATE_16, PAUSECTX_STATE_17 */ @@ -889,7 +891,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { gSPVertex(POLY_OPA_DISP++, &pauseCtx->saveVtx[60], 32, 0); - if (((pauseCtx->state == PAUSECTX_STATE_7) && (pauseCtx->unk_1EC < PAUSECTX_UNK_1EC_4) + if (((pauseCtx->state == PAUSECTX_STATE_7_SAVE_PROMPT_) && (pauseCtx->unk_1EC < PAUSECTX_UNK_1EC_4) /* PAUSECTX_UNK_1EC_0, PAUSECTX_UNK_1EC_1, PAUSECTX_UNK_1EC_2, PAUSECTX_UNK_1EC_3 */) || (pauseCtx->state == PAUSECTX_STATE_14)) { POLY_OPA_DISP = @@ -914,7 +916,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sPromptChoiceTexs[gSaveContext.language][1], 48, 16, 16); - } else if ((pauseCtx->state != PAUSECTX_STATE_7) || (pauseCtx->unk_1EC < PAUSECTX_UNK_1EC_4) + } else if ((pauseCtx->state != PAUSECTX_STATE_7_SAVE_PROMPT_) || (pauseCtx->unk_1EC < PAUSECTX_UNK_1EC_4) /* PAUSECTX_UNK_1EC_0, PAUSECTX_UNK_1EC_1, PAUSECTX_UNK_1EC_2, PAUSECTX_UNK_1EC_3 */) { if ((pauseCtx->state != PAUSECTX_STATE_15) && ((pauseCtx->state == PAUSECTX_STATE_16) || (pauseCtx->state == PAUSECTX_STATE_17))) { @@ -1087,7 +1089,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[5].v.ob[0] = pauseCtx->infoPanelVtx[7].v.ob[0] = pauseCtx->infoPanelVtx[4].v.ob[0] + 72; - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { pauseCtx->infoPanelVtx[8].v.ob[0] = pauseCtx->infoPanelVtx[10].v.ob[0] = WREG(16); pauseCtx->infoPanelVtx[9].v.ob[0] = pauseCtx->infoPanelVtx[11].v.ob[0] = pauseCtx->infoPanelVtx[8].v.ob[0] + 24; @@ -1107,7 +1109,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[8].v.ob[1] - 26; } - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { pauseCtx->infoPanelVtx[12].v.ob[0] = pauseCtx->infoPanelVtx[14].v.ob[0] = WREG(17); pauseCtx->infoPanelVtx[13].v.ob[0] = pauseCtx->infoPanelVtx[15].v.ob[0] = @@ -1148,7 +1150,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { gSPDisplayList(POLY_OPA_DISP++, gItemNamePanelDL); - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); } @@ -1156,7 +1158,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 180, 210, 255, 220); - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); } @@ -1183,15 +1185,17 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->namedItem != PAUSE_ITEM_NONE) && (pauseCtx->nameDisplayTimer < WREG(89)) && - (!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2) || - ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4) && - (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_7)) /* PAUSE_S6_4, PAUSE_S6_5_PLAYING_SONG_, PAUSE_S6_6, PAUSE_S6_7 */ - || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) && + (!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0_IDLE_ */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2_PLAYBACK_SONG_) || + ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_) && + (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_7)) /* PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_, + PAUSE_S6_5_PLAYER_PLAYING_SONG_, PAUSE_S6_6, PAUSE_S6_7 */ + || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) && (pauseCtx->cursorSpecialPos == 0)) { - if (!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2) || - ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4) && - (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_7)) /* PAUSE_S6_4, PAUSE_S6_5_PLAYING_SONG_, PAUSE_S6_6, PAUSE_S6_7 */ - || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) { + if (!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0_IDLE_ */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2_PLAYBACK_SONG_) || + ((pauseCtx->unk_1E4_ps6_ >= PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_) && + (pauseCtx->unk_1E4_ps6_ <= PAUSE_S6_7)) /* PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_, + PAUSE_S6_5_PLAYER_PLAYING_SONG_, PAUSE_S6_6, PAUSE_S6_7 */ + || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) { pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63; pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = @@ -1251,8 +1255,9 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gGoldSkulltulaIconTex, 24, 24, 0); } } - } else if ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0, PAUSE_S6_1, PAUSE_S6_2 */ - || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_7) || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) { + } else if ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0_IDLE_, PAUSE_S6_1, PAUSE_S6_2_PLAYBACK_SONG_ */ + || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_7) || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) { pauseCtx->infoPanelVtx[20].v.ob[1] = pauseCtx->infoPanelVtx[21].v.ob[1] = temp; pauseCtx->infoPanelVtx[22].v.ob[1] = pauseCtx->infoPanelVtx[23].v.ob[1] = @@ -1262,7 +1267,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 8, 0); - if (pauseCtx->state == PAUSECTX_STATE_7) { + if (pauseCtx->state == PAUSECTX_STATE_7_SAVE_PROMPT_) { pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = WREG(61 + gSaveContext.language); pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = @@ -1287,7 +1292,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, D_8082AD60[gSaveContext.language], D_8082ADE0[gSaveContext.language], 16, 4); } else if (pauseCtx->cursorSpecialPos != 0) { - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_)) { pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63; pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = @@ -1442,7 +1447,8 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) { } } else if (pauseCtx->nameColorSet == 0) { if (((pauseCtx->pageIndex == PAUSE_QUEST) && (pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && - (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) || + (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11) && + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) || (pauseCtx->pageIndex == PAUSE_ITEM) || ((pauseCtx->pageIndex == PAUSE_EQUIP) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0))) { if (pauseCtx->namedItem != ITEM_SOLD_OUT) { @@ -1487,7 +1493,7 @@ void func_808237B4(PlayState* play, Input* input) { if (pauseCtx->unk_1EA == 64) { pauseCtx->unk_1EA = 0; pauseCtx->pageIndex = D_8082ABEC_modeToNewPageIndex_[pauseCtx->mode]; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; } } } @@ -1902,7 +1908,7 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) { if ((pauseCtx->state == PAUSECTX_STATE_4) || (pauseCtx->state >= PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE) /* PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE, PAUSECTX_STATE_19_UNPAUSE */ || - ((pauseCtx->state == PAUSECTX_STATE_7) && ((pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_2) || (pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_5))) || + ((pauseCtx->state == PAUSECTX_STATE_7_SAVE_PROMPT_) && ((pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_2) || (pauseCtx->unk_1EC == PAUSECTX_UNK_1EC_5))) || ((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state <= PAUSECTX_STATE_13)) /* PAUSECTX_STATE_8, PAUSECTX_STATE_9, PAUSECTX_STATE_10, PAUSECTX_STATE_11, PAUSECTX_STATE_12, PAUSECTX_STATE_13 */) { pauseCtx->offsetY = 80; @@ -2246,7 +2252,7 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) { for (k = 0, j = 0; j < 47; j++, k += 4) { phi_t2_2_width__ = D_8082B1F8_width_questVtx_[j]; - if ((j < 6) || (j >= 41)) { + if ((j < QUEST_SONG_MINUET) || (j >= 41)) { pauseCtx->questVtx[k + 0].v.ob[0] = pauseCtx->questVtx[k + 2].v.ob[0] = D_8082B138_x_questVtx[j]; pauseCtx->questVtx[k + 1].v.ob[0] = pauseCtx->questVtx[k + 3].v.ob[0] = @@ -2271,7 +2277,7 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) { phi_t2_2_width__ = 8; } } else { - if ((j >= 6) && (j <= 17)) { + if ((j >= QUEST_SONG_MINUET) && (j < QUEST_KOKIRI_EMERALD)) { phi_t2_2_width__ = 16; } @@ -2449,7 +2455,7 @@ void func_808265BC_switchPageToSave___(PlayState* play) { gSaveContext.buttonStatus[3] = D_8082AB6C[pauseCtx->pageIndex][3]; gSaveContext.buttonStatus[4] = D_8082AB6C[pauseCtx->pageIndex][4]; pauseCtx->pageIndex = D_8082ABEC_modeToNewPageIndex_[pauseCtx->mode]; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->state++; // PAUSECTX_STATE_5 or PAUSECTX_STATE_6 pauseCtx->alpha = 255; Interface_LoadActionLabelB(play, DO_ACTION_SAVE); @@ -2580,8 +2586,8 @@ void KaleidoScope_UpdateDungeonMap(PlayState* play) { } void KaleidoScope_Update(PlayState* play) { - static s16 D_8082B258 = PAUSE_S6_0; - static s16 D_8082B25C = 10; + static s16 D_8082B258_sState66NextState_ = PAUSE_S6_0_IDLE_; + static s16 D_8082B25C_sState66NextStateTimer_ = 10; static s16 sTimer_D_8082B260 = 0; PauseContext* pauseCtx = &play->pauseCtx; InterfaceContext* interfaceCtx = &play->interfaceCtx; @@ -2600,21 +2606,22 @@ void KaleidoScope_Update(PlayState* play) { s32 pad; if ((R_PAUSE_MENU_MODE >= 3) && (((pauseCtx->state >= PAUSECTX_STATE_4) && - (pauseCtx->state <= PAUSECTX_STATE_7)) /* PAUSECTX_STATE_4, PAUSECTX_STATE_5, - PAUSECTX_STATE_6, PAUSECTX_STATE_7 */ + (pauseCtx->state <= PAUSECTX_STATE_7_SAVE_PROMPT_)) /* PAUSECTX_STATE_4, PAUSECTX_STATE_5, + PAUSECTX_STATE_6, PAUSECTX_STATE_7_SAVE_PROMPT_ */ || ((pauseCtx->state >= PAUSECTX_STATE_10) && (pauseCtx ->state <= PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE)) /* PAUSECTX_STATE_10, PAUSECTX_STATE_11, PAUSECTX_STATE_12, PAUSECTX_STATE_13, PAUSECTX_STATE_14, PAUSECTX_STATE_15, PAUSECTX_STATE_16, PAUSECTX_STATE_17, PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE */)) { - if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) && + if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0_IDLE_ */ || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8_PLAYBACK_SONG_READY_)) && (pauseCtx->state == PAUSECTX_STATE_6)) { pauseCtx->stickRelX = input->rel.stick_x; pauseCtx->stickRelY = input->rel.stick_y; KaleidoScope_UpdateCursorSize(play); KaleidoScope_HandlePageToggles(pauseCtx, input); } else if ((pauseCtx->pageIndex == PAUSE_QUEST) && - ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0, PAUSE_S6_1, PAUSE_S6_2 */ - || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_))) { + ((pauseCtx->unk_1E4_ps6_ < PAUSE_S6_3) /* PAUSE_S6_0_IDLE_, PAUSE_S6_1, PAUSE_S6_2_PLAYBACK_SONG_ */ + || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYER_PLAYING_SONG_))) { KaleidoScope_UpdateCursorSize(play); } @@ -3024,7 +3031,7 @@ void KaleidoScope_Update(PlayState* play) { case PAUSECTX_STATE_6: switch (pauseCtx->unk_1E4_ps6_) { - case PAUSE_S6_0: + case PAUSE_S6_0_IDLE_: if (CHECK_BTN_ALL(input->press.button, BTN_START)) { Interface_SetDoAction(play, DO_ACTION_NONE); pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; @@ -3041,7 +3048,7 @@ void KaleidoScope_Update(PlayState* play) { gSaveContext.unk_13EA = 0; Interface_ChangeAlpha(50); pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; - pauseCtx->state = PAUSECTX_STATE_7; + pauseCtx->state = PAUSECTX_STATE_7_SAVE_PROMPT_; } break; @@ -3049,10 +3056,11 @@ void KaleidoScope_Update(PlayState* play) { func_808237B4(play, play->state.input); break; - case PAUSE_S6_2: + case PAUSE_S6_2_PLAYBACK_SONG_: pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); if (pauseCtx->ocarinaStaff->state == 0) { - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_4; + // Song playback is finished + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_; AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } break; @@ -3061,10 +3069,10 @@ void KaleidoScope_Update(PlayState* play) { KaleidoScope_UpdateItemEquip(play); break; - case PAUSE_S6_4: + case PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_: break; - case PAUSE_S6_5_PLAYING_SONG_: + case PAUSE_S6_5_PLAYER_PLAYING_SONG_: pauseCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff(); if (CHECK_BTN_ALL(input->press.button, BTN_START)) { @@ -3073,11 +3081,11 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; WREG(2) = -6240; func_800F64E0(0); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; break; } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->mode = 0; pauseCtx->promptChoice = 0; Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -3088,27 +3096,33 @@ void KaleidoScope_Update(PlayState* play) { gSaveContext.unk_13EA = 0; Interface_ChangeAlpha(50); pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; - pauseCtx->state = PAUSECTX_STATE_7; + pauseCtx->state = PAUSECTX_STATE_7_SAVE_PROMPT_; } else if (pauseCtx->ocarinaStaff->state == pauseCtx->ocarinaSongIdx) { + // The player successfully played the song + Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - D_8082B258 = PAUSE_S6_0; - D_8082B25C = 30; + + D_8082B258_sState66NextState_ = PAUSE_S6_0_IDLE_; + D_8082B25C_sState66NextStateTimer_ = 30; pauseCtx->unk_1E4_ps6_ = PAUSE_S6_6; } else if (pauseCtx->ocarinaStaff->state == 0xFF) { + // The player failed to play the song + Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - D_8082B258 = PAUSE_S6_4; - D_8082B25C = 20; + + D_8082B258_sState66NextState_ = PAUSE_S6_4_PLAYER_PLAYING_SONG_INIT_; + D_8082B25C_sState66NextStateTimer_ = 20; pauseCtx->unk_1E4_ps6_ = PAUSE_S6_6; } break; case PAUSE_S6_6: - D_8082B25C--; - if (D_8082B25C == 0) { - pauseCtx->unk_1E4_ps6_ = D_8082B258; - if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) { + D_8082B25C_sState66NextStateTimer_--; + if (D_8082B25C_sState66NextStateTimer_ == 0) { + pauseCtx->unk_1E4_ps6_ = D_8082B258_sState66NextState_; + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0_IDLE_) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } } @@ -3117,17 +3131,17 @@ void KaleidoScope_Update(PlayState* play) { case PAUSE_S6_7: break; - case PAUSE_S6_8: + case PAUSE_S6_8_PLAYBACK_SONG_READY_: if (CHECK_BTN_ALL(input->press.button, BTN_START)) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); Interface_SetDoAction(play, DO_ACTION_NONE); pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; WREG(2) = -6240; func_800F64E0(0); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->mode = 0; pauseCtx->promptChoice = 0; Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -3138,20 +3152,20 @@ void KaleidoScope_Update(PlayState* play) { gSaveContext.unk_13EA = 0; Interface_ChangeAlpha(50); pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; - pauseCtx->state = PAUSECTX_STATE_7; + pauseCtx->state = PAUSECTX_STATE_7_SAVE_PROMPT_; } break; - case PAUSE_S6_9: + case PAUSE_S6_9_PLAYBACK_SONG_START_: break; default: - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; break; } break; - case PAUSECTX_STATE_7: + case PAUSECTX_STATE_7_SAVE_PROMPT_: switch (pauseCtx->unk_1EC) { case PAUSECTX_UNK_1EC_0: pauseCtx->rotXorZ_unk_204 -= 314.0f / WREG(6); @@ -3183,7 +3197,7 @@ void KaleidoScope_Update(PlayState* play) { gSaveContext.savedSceneId = play->sceneId; Sram_WriteSave(&play->sramCtx); pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_4; - D_8082B25C = 3; + D_8082B25C_sState66NextStateTimer_ = 3; } } else if (CHECK_BTN_ALL(input->press.button, BTN_START) || CHECK_BTN_ALL(input->press.button, BTN_B)) { @@ -3201,7 +3215,7 @@ void KaleidoScope_Update(PlayState* play) { case PAUSECTX_UNK_1EC_4: if (CHECK_BTN_ALL(input->press.button, BTN_B) || CHECK_BTN_ALL(input->press.button, BTN_A) || - CHECK_BTN_ALL(input->press.button, BTN_START) || (--D_8082B25C == 0)) { + CHECK_BTN_ALL(input->press.button, BTN_START) || (--D_8082B25C_sState66NextStateTimer_ == 0)) { Interface_SetDoAction(play, DO_ACTION_NONE); gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[3] = BTN_ENABLED; @@ -3248,7 +3262,7 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->rotXpauseItem_unk_1F4 = pauseCtx->rotPauseEquip_unk_1F8 = pauseCtx->rotPauseMap_unk_1FC = pauseCtx->rotPauseQuest_unk_200 = 160.0f; pauseCtx->namedItem = PAUSE_ITEM_NONE; - pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0_IDLE_; pauseCtx->rotXorZ_unk_204 = -434.0f; } break; @@ -3424,17 +3438,17 @@ void KaleidoScope_Update(PlayState* play) { gSaveContext.savedSceneId = play->sceneId; Sram_WriteSave(&play->sramCtx); pauseCtx->state = PAUSECTX_STATE_15; - D_8082B25C = 3; + D_8082B25C_sState66NextStateTimer_ = 3; } } break; case PAUSECTX_STATE_15: - D_8082B25C--; - if (D_8082B25C == 0) { + D_8082B25C_sState66NextStateTimer_--; + if (D_8082B25C_sState66NextStateTimer_ == 0) { pauseCtx->state = PAUSECTX_STATE_16; gameOverCtx->state++; - } else if ((D_8082B25C <= 80) && + } else if ((D_8082B25C_sState66NextStateTimer_ <= 80) && (CHECK_BTN_ALL(input->press.button, BTN_A) || CHECK_BTN_ALL(input->press.button, BTN_START))) { pauseCtx->state = PAUSECTX_STATE_16; gameOverCtx->state++;