diff --git a/include/regs.h b/include/regs.h index 6fdf847956..4e5cb96077 100644 --- a/include/regs.h +++ b/include/regs.h @@ -147,6 +147,7 @@ #define R_COMPASS_OFFSET_X VREG(16) #define R_COMPASS_OFFSET_Y VREG(17) #define R_MINIMAP_COLOR(i) VREG(18 + (i)) +#define R_PAUSE_SONG_NOTE_Y(ocarinaButtonIndex) VREG(21 + (ocarinaButtonIndex)) // VREG(21-25) #define R_OCARINA_BUTTONS_XPOS VREG(28) #define R_OCARINA_BUTTONS_XPOS_OFFSET VREG(29) #define R_TEXT_ADJUST_COLOR_1_R VREG(33) diff --git a/include/z64.h b/include/z64.h index 0f4efed8d9..70ad4e219f 100644 --- a/include/z64.h +++ b/include/z64.h @@ -740,7 +740,7 @@ typedef enum { /* 3 */ PAUSECTX_STATE_3, /* 4 */ PAUSECTX_STATE_4, /* 5 */ PAUSECTX_STATE_5, - /* 6 */ PAUSECTX_STATE_6, + /* 6 */ PAUSECTX_STATE_6, // listen to inputs /* 7 */ PAUSECTX_STATE_7, // save /* 8 */ PAUSECTX_STATE_8, // saveGameOver /* 9 */ PAUSECTX_STATE_9, // saveGameOver @@ -752,21 +752,21 @@ typedef enum { /* 15 */ PAUSECTX_STATE_15, // game over KaleidoScope_DrawGameOver saveGameOver /* 16 */ PAUSECTX_STATE_16, // game over KaleidoScope_DrawGameOver saveGameOver /* 17 */ PAUSECTX_STATE_17, // game over KaleidoScope_DrawGameOver saveGameOver - /* 18 */ PAUSECTX_STATE_18, - /* 19 */ PAUSECTX_STATE_19 + /* 18 */ PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE, + /* 19 */ PAUSECTX_STATE_19_UNPAUSE } PauseCtxState; typedef enum { - /* 0 */ PAUSECTX_UNK_1E4_0, - /* 1 */ PAUSECTX_UNK_1E4_1, - /* 2 */ PAUSECTX_UNK_1E4_2, - /* 3 */ PAUSECTX_UNK_1E4_3, - /* 4 */ PAUSECTX_UNK_1E4_4, - /* 5 */ PAUSECTX_UNK_1E4_5, - /* 6 */ PAUSECTX_UNK_1E4_6, - /* 7 */ PAUSECTX_UNK_1E4_7, - /* 8 */ PAUSECTX_UNK_1E4_8, - /* 9 */ PAUSECTX_UNK_1E4_9 + /* 0 */ PAUSE_S6_0, + /* 1 */ PAUSE_S6_1, + /* 2 */ PAUSE_S6_2, + /* 3 */ PAUSE_S6_3, + /* 4 */ PAUSE_S6_4, + /* 5 */ PAUSE_S6_5_PLAYING_SONG_, + /* 6 */ PAUSE_S6_6, + /* 7 */ PAUSE_S6_7, + /* 8 */ PAUSE_S6_8, + /* 9 */ PAUSE_S6_9 } PauseCtxUnk1E4; typedef enum { diff --git a/include/z64item.h b/include/z64item.h index 4e7c11dea0..5f1f47e888 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -107,7 +107,8 @@ typedef enum { /* 0x15 */ QUEST_STONE_OF_AGONY, /* 0x16 */ QUEST_GERUDO_CARD, /* 0x17 */ QUEST_SKULL_TOKEN, - /* 0x1C */ QUEST_HEART_PIECE_COUNT = 0x1C + /* 0x18 */ QUEST_HEART_PIECE, // for `pauseCtx->cursorPoint[PAUSE_QUEST]` + /* 0x1C */ QUEST_HEART_PIECE_COUNT = 0x1C // for accessing the `Inventory.questItems` bitfield } QuestItem; typedef enum { diff --git a/src/code/z_construct.c b/src/code/z_construct.c index 800eb74fc9..2bf43d51bf 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -526,11 +526,12 @@ void func_80111070(void) { R_MINIMAP_COLOR(2) = 255; } - VREG(21) = 0; - VREG(22) = 0; - VREG(23) = 0; - VREG(24) = 0; - VREG(25) = 0; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_A) = 0; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_DOWN) = 0; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_RIGHT) = 0; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_LEFT) = 0; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_UP) = 0; + VREG(26) = 0; VREG(27) = 0; R_OCARINA_BUTTONS_XPOS = 98; diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c index 38dcd4b833..cbc140667d 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 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; pauseCtx->unk_1EC = PAUSECTX_UNK_1EC_0; pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; // PAUSECTX_STATE_2 } @@ -70,14 +70,14 @@ void KaleidoScopeCall_Update(PlayState* play) { HREG(80) = 7; HREG(82) = 3; R_PAUSE_MENU_MODE = 1; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; 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)) { osSyncPrintf("PR_KAREIDOSCOPE_MODE=%d\n", R_PAUSE_MENU_MODE); if (R_PAUSE_MENU_MODE >= 3) { - pauseCtx->state++; + pauseCtx->state++; // PAUSECTX_STATE_3 or PAUSECTX_STATE_10 } } else if (pauseCtx->state != PAUSECTX_STATE_0) { if (gKaleidoMgrCurOvl != kaleidoScopeOvl) { diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c index a2630e00d1..ccca0b31c8 100644 --- a/src/code/z_kaleido_setup.c +++ b/src/code/z_kaleido_setup.c @@ -30,7 +30,7 @@ void KaleidoSetup_Update(PlayState* play) { WREG(17) = 155; pauseCtx->unk_1EA = 0; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_1; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_1; if (ZREG(48) == 0) { pauseCtx->eye.x = sKaleidoSetupEyeX0[pauseCtx->pageIndex]; @@ -70,7 +70,7 @@ void KaleidoSetup_Init(PlayState* play) { pauseCtx->debugState = 0; pauseCtx->alpha = 0; pauseCtx->unk_1EA = 0; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; pauseCtx->mode = 0; pauseCtx->pageIndex = PAUSE_ITEM; @@ -83,7 +83,7 @@ void KaleidoSetup_Init(PlayState* play) { pauseCtx->cursorPoint[PAUSE_ITEM] = 0; pauseCtx->cursorPoint[PAUSE_MAP] = VREG(30) + 3; - pauseCtx->cursorPoint[PAUSE_QUEST] = 0; + pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_MEDALLION_FOREST; pauseCtx->cursorPoint[PAUSE_EQUIP] = 1; pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = 10; diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 8fd5087cfe..41ec58b899 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -2765,7 +2765,7 @@ void Interface_DrawItemButtons(PlayState* play) { 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 >= PAUSECTX_STATE_18) /* PAUSECTX_STATE_18, PAUSECTX_STATE_19 */) { + || (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 gDPPipeSync(OVERLAY_DISP++); @@ -3320,7 +3320,7 @@ void Interface_Draw(PlayState* play) { func_8008A994(interfaceCtx); - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_3)) { + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_3)) { // Inventory Equip Effects gSPSegment(OVERLAY_DISP++, 0x08, pauseCtx->iconItemSegment); Gfx_SetupDL_42Overlay(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index e885641de2..1337a39531 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -49,9 +49,9 @@ void EnMag_Init(Actor* thisx, PlayState* play) { this->fadeOutAlphaStep = 10; VREG(19) = 99; - VREG(21) = 9; - VREG(23) = 10; - VREG(24) = 8; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_A) = 9; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_RIGHT) = 10; + R_PAUSE_SONG_NOTE_Y(OCARINA_BTN_C_LEFT) = 8; this->effectScroll = 0; this->unk_E30C = 0; diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index b5c6636f95..d614cfd167 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -791,7 +791,10 @@ static void* sQuestItemTextures[] = { static s16 sQuestItemRed[] = { 255, 255, 255, 0, 255, 0, 255, 200, 200 }; static s16 sQuestItemGreen[] = { 255, 255, 255, 255, 60, 100, 130, 50, 200 }; static s16 sQuestItemBlue[] = { 255, 255, 255, 0, 0, 255, 0, 255, 0 }; -static s16 sQuestItemFlags[] = { 0x0012, 0x0013, 0x0014, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005 }; +static s16 sQuestItemFlags[] = { + QUEST_KOKIRI_EMERALD, QUEST_GORON_RUBY, QUEST_ZORA_SAPPHIRE, QUEST_MEDALLION_FOREST, QUEST_MEDALLION_FIRE, + QUEST_MEDALLION_WATER, QUEST_MEDALLION_SPIRIT, QUEST_MEDALLION_SHADOW, QUEST_MEDALLION_LIGHT, +}; static s16 sNamePrimColors[2][3] = { { 255, 255, 255 }, { 100, 100, 100 } }; static void* sHeartTextures[] = { gHeartFullTex, gDefenseHeartFullTex }; static s16 sHeartPrimColors[2][3] = { { 255, 70, 50 }, { 200, 0, 0 } }; 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 7c37344369..4c22992b48 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.c @@ -3,80 +3,118 @@ #include "assets/textures/icon_item_static/icon_item_static.h" void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { - static s16 D_8082A070[][4] = { + static s16 sHpPrimColors[][4] = { { 255, 0, 0, 255 }, { 255, 70, 0, 150 }, { 255, 70, 0, 150 }, { 255, 0, 0, 255 }, }; - static s16 D_8082A090[][3] = { + + // Shining medallions + static s16 sMedEnvColors[6 + 6][3] = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 }, { 0, 60, 0 }, { 90, 0, 0 }, { 0, 40, 110 }, { 80, 40, 0 }, { 70, 0, 90 }, { 90, 90, 0 }, }; - static s16 D_8082A0D8[] = { 255, 255, 255, 255, 255, 255 }; - static s16 D_8082A0E4[] = { 255, 255, 255, 255, 255, 255 }; - static s16 D_8082A0F0[] = { 150, 150, 150, 150, 150, 150 }; - static s16 D_8082A0FC = 20; - static s16 D_8082A100 = 0; - static s16 D_8082A104 = 0; - static s16 D_8082A108 = 0; - static s16 D_8082A10C = 0; - static s16 D_8082A110 = 0; - static s16 D_8082A114 = 20; - static s16 D_8082A118 = 0; - static s16 D_8082A11C = 0; + static s16 sMedEnvRed[6] = { 255, 255, 255, 255, 255, 255 }; + static s16 sMedEnvGreen[6] = { 255, 255, 255, 255, 255, 255 }; + static s16 sMedEnvBlue[6] = { 150, 150, 150, 150, 150, 150 }; + static s16 sMedEnvTimer = 20; + static s16 sMedEnvShineState = 0; + + static s16 sHpPrimRed = 0; + static s16 sHpPrimGreen = 0; + static s16 sHpPrimBlue = 0; + static s16 sHpPrimAlpha = 0; + static s16 sHpPrimTimer = 20; + static s16 sHpPrimState = 0; + + static s16 sPlayedSongBtnsNum = 0; static s16 D_8082A120 = 0; - static u8 D_8082A124[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - static void* D_8082A130[] = { - gOcarinaATex, gOcarinaCDownTex, gOcarinaCRightTex, gOcarinaCLeftTex, gOcarinaCUpTex, + static u8 sPlayedSongBtns[8] = { 0 }; + static s32 sUnused1 = 0; + static void* sOcarinaBtnTextures[] = { + gOcarinaATex, // OCARINA_BTN_A + gOcarinaCDownTex, // OCARINA_BTN_C_DOWN + gOcarinaCRightTex, // OCARINA_BTN_C_RIGHT + gOcarinaCLeftTex, // OCARINA_BTN_C_LEFT + gOcarinaCUpTex, // OCARINA_BTN_C_UP }; static u16 D_8082A144[] = { 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, 0xFFCC, }; - static s16 D_8082A150[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }; - static s16 D_8082A164[] = { + static s16 sPlayedSongBtnsAlpha[8] = { 0 }; + static s32 sUnused2 = 0; + + static s16 sSongsPrimRed[] = { 150, 255, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, }; - static s16 D_8082A17C[] = { + static s16 sSongsPrimGreen[] = { 255, 80, 150, 160, 100, 240, 255, 255, 255, 255, 255, 255, }; - static s16 D_8082A194[] = { + static s16 sSongsPrimBlue[] = { 100, 40, 255, 0, 255, 100, 255, 255, 255, 255, 255, 255, }; - static s8 D_8082A1AC[][4] = { - { 0x05, 0x01, 0x05, 0xFE }, { 0x00, 0x02, 0x02, 0xFE }, { 0xFF, 0x13, 0x03, 0x01 }, { 0x04, 0x02, 0x11, 0x02 }, - { 0x05, 0x03, 0x18, 0x05 }, { 0xFF, 0xFF, 0x04, 0x00 }, { 0x0C, 0xFF, 0xFD, 0x07 }, { 0x0D, 0xFF, 0x06, 0x08 }, - { 0x0E, 0xFF, 0x07, 0x09 }, { 0x0F, 0xFF, 0x08, 0x0A }, { 0x10, 0xFF, 0x09, 0x0B }, { 0x11, 0xFF, 0x0A, 0x12 }, - { 0x17, 0x06, 0xFD, 0x0D }, { 0x17, 0x07, 0x0C, 0x0E }, { 0x17, 0x08, 0x0D, 0x0F }, { 0x18, 0x09, 0x0E, 0x10 }, - { 0x18, 0x0A, 0x0F, 0x11 }, { 0x18, 0x0B, 0x10, 0x03 }, { 0x02, 0xFF, 0x0B, 0x13 }, { 0x02, 0xFF, 0x12, 0x14 }, - { 0x02, 0xFF, 0x13, 0xFE }, { 0xFF, 0x17, 0xFD, 0x16 }, { 0xFF, 0x17, 0x15, 0x18 }, { 0x15, 0x0C, 0xFD, 0x18 }, - { 0xFF, 0x10, 0x16, 0x04 }, { 0x00, 0x00, 0x00, 0x00 }, + + enum { + /* -3 */ CURSOR_TO_LEFT = -3, // Cursor on the "scroll to left page" position + /* -2 */ CURSOR_TO_RIGHT, // Cursor on the "scroll to right page" position + /* -1 */ CURSOR_NONE // No position in that direction, cursor stays where it is }; + // Each {up, down, left, right} entry defines where the cursor can move next + static s8 sCursorPointLinks[][4] = { + /* QUEST_MEDALLION_FOREST */ + { QUEST_MEDALLION_LIGHT, QUEST_MEDALLION_FIRE, QUEST_MEDALLION_LIGHT, CURSOR_TO_RIGHT }, + /* QUEST_MEDALLION_FIRE */ + { QUEST_MEDALLION_FOREST, QUEST_MEDALLION_WATER, QUEST_MEDALLION_WATER, CURSOR_TO_RIGHT }, + /* QUEST_MEDALLION_WATER */ { CURSOR_NONE, QUEST_GORON_RUBY, QUEST_MEDALLION_SPIRIT, QUEST_MEDALLION_FIRE }, + /* QUEST_MEDALLION_SPIRIT */ + { QUEST_MEDALLION_SHADOW, QUEST_MEDALLION_WATER, QUEST_SONG_STORMS, QUEST_MEDALLION_WATER }, + /* QUEST_MEDALLION_SHADOW */ + { QUEST_MEDALLION_LIGHT, QUEST_MEDALLION_SPIRIT, QUEST_HEART_PIECE, QUEST_MEDALLION_LIGHT }, + /* QUEST_MEDALLION_LIGHT */ { CURSOR_NONE, CURSOR_NONE, QUEST_MEDALLION_SHADOW, QUEST_MEDALLION_FOREST }, + /* QUEST_SONG_MINUET */ { QUEST_SONG_LULLABY, CURSOR_NONE, CURSOR_TO_LEFT, QUEST_SONG_BOLERO }, + /* QUEST_SONG_BOLERO */ { QUEST_SONG_EPONA, CURSOR_NONE, QUEST_SONG_MINUET, QUEST_SONG_SERENADE }, + /* QUEST_SONG_SERENADE */ { QUEST_SONG_SARIA, CURSOR_NONE, QUEST_SONG_BOLERO, QUEST_SONG_REQUIEM }, + /* QUEST_SONG_REQUIEM */ { QUEST_SONG_SUN, CURSOR_NONE, QUEST_SONG_SERENADE, QUEST_SONG_NOCTURNE }, + /* QUEST_SONG_NOCTURNE */ { QUEST_SONG_TIME, CURSOR_NONE, QUEST_SONG_REQUIEM, QUEST_SONG_PRELUDE }, + /* QUEST_SONG_PRELUDE */ { QUEST_SONG_STORMS, CURSOR_NONE, QUEST_SONG_NOCTURNE, QUEST_KOKIRI_EMERALD }, + /* QUEST_SONG_LULLABY */ { QUEST_SKULL_TOKEN, QUEST_SONG_MINUET, CURSOR_TO_LEFT, QUEST_SONG_EPONA }, + /* QUEST_SONG_EPONA */ { QUEST_SKULL_TOKEN, QUEST_SONG_BOLERO, QUEST_SONG_LULLABY, QUEST_SONG_SARIA }, + /* QUEST_SONG_SARIA */ { QUEST_SKULL_TOKEN, QUEST_SONG_SERENADE, QUEST_SONG_EPONA, QUEST_SONG_SUN }, + /* QUEST_SONG_SUN */ { QUEST_HEART_PIECE, QUEST_SONG_REQUIEM, QUEST_SONG_SARIA, QUEST_SONG_TIME }, + /* QUEST_SONG_TIME */ { QUEST_HEART_PIECE, QUEST_SONG_NOCTURNE, QUEST_SONG_SUN, QUEST_SONG_STORMS }, + /* QUEST_SONG_STORMS */ { QUEST_HEART_PIECE, QUEST_SONG_PRELUDE, QUEST_SONG_TIME, QUEST_MEDALLION_SPIRIT }, + /* QUEST_KOKIRI_EMERALD */ { QUEST_MEDALLION_WATER, CURSOR_NONE, QUEST_SONG_PRELUDE, QUEST_GORON_RUBY }, + /* QUEST_GORON_RUBY */ { QUEST_MEDALLION_WATER, CURSOR_NONE, QUEST_KOKIRI_EMERALD, QUEST_ZORA_SAPPHIRE }, + /* QUEST_ZORA_SAPPHIRE */ { QUEST_MEDALLION_WATER, CURSOR_NONE, QUEST_GORON_RUBY, CURSOR_TO_RIGHT }, + /* QUEST_STONE_OF_AGONY */ { CURSOR_NONE, QUEST_SKULL_TOKEN, CURSOR_TO_LEFT, QUEST_GERUDO_CARD }, + /* QUEST_GERUDO_CARD */ { CURSOR_NONE, QUEST_SKULL_TOKEN, QUEST_STONE_OF_AGONY, QUEST_HEART_PIECE }, + /* QUEST_SKULL_TOKEN */ { QUEST_STONE_OF_AGONY, QUEST_SONG_LULLABY, CURSOR_TO_LEFT, QUEST_HEART_PIECE }, + /* QUEST_HEART_PIECE */ { CURSOR_NONE, QUEST_SONG_TIME, QUEST_GERUDO_CARD, QUEST_MEDALLION_SHADOW }, + }; + static s32 sUnused3 = 0; + PauseContext* pauseCtx = &play->pauseCtx; Input* input = &play->state.input[0]; - s16 sp226; - s16 sp224; - s16 sp222; - s16 sp220; - s16 phi_s0; - s16 phi_s3; - s16 sp21A; - s16 sp218; - s16 sp216; + s16 stepRed; + s16 stepGreen; + s16 stepBlue; + s16 stepAlpha; + s16 nextCursorPoint; + s16 i; + s16 bufI; + s16 j; + s16 cursor; s16 pad1; - s16 phi_v1; + s16 targetColorIndex; s16 pad2; s16 cursorItem; - s16 sp208[3]; + s16 gsTokensDigits[3]; OPEN_DISPS(gfxCtx, "../z_kaleido_collect.c", 248); - if ((!pauseCtx->unk_1E4 /* PAUSECTX_UNK_1E4_0 */ || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_5) || - (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) && + if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_) || + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) && (pauseCtx->pageIndex == PAUSE_QUEST)) { pauseCtx->cursorColorSet = 0; @@ -84,68 +122,69 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->nameColorSet = 0; if ((pauseCtx->state != PAUSECTX_STATE_6) || ((pauseCtx->stickRelX == 0) && (pauseCtx->stickRelY == 0))) { - sp216 = pauseCtx->cursorSlot[PAUSE_QUEST]; + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; } else { - phi_s3 = pauseCtx->cursorPoint[PAUSE_QUEST]; + i = pauseCtx->cursorPoint[PAUSE_QUEST]; if (pauseCtx->stickRelX < -30) { - phi_s0 = D_8082A1AC[phi_s3][2]; - if (phi_s0 == -3) { + nextCursorPoint = sCursorPointLinks[i][2]; + if (nextCursorPoint == CURSOR_TO_LEFT) { KaleidoScope_MoveCursorToSpecialPos(play, PAUSE_CURSOR_PAGE_LEFT); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; } else { - while (phi_s0 >= 0) { - if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, phi_s0) != 0) { + while (nextCursorPoint >= 0) { + if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { break; } - phi_s0 = D_8082A1AC[phi_s0][2]; + nextCursorPoint = sCursorPointLinks[nextCursorPoint][2]; } } } else if (pauseCtx->stickRelX > 30) { - phi_s0 = D_8082A1AC[phi_s3][3]; - if (phi_s0 == -2) { + nextCursorPoint = sCursorPointLinks[i][3]; + if (nextCursorPoint == CURSOR_TO_RIGHT) { KaleidoScope_MoveCursorToSpecialPos(play, PAUSE_CURSOR_PAGE_RIGHT); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; } else { - while (phi_s0 >= 0) { - if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, phi_s0) != 0) { + while (nextCursorPoint >= 0) { + if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { break; } - phi_s0 = D_8082A1AC[phi_s0][3]; + nextCursorPoint = sCursorPointLinks[nextCursorPoint][3]; } } } if (pauseCtx->stickRelY < -30) { - phi_s0 = D_8082A1AC[phi_s3][1]; - while (phi_s0 >= 0) { - if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, phi_s0) != 0) { + nextCursorPoint = sCursorPointLinks[i][1]; + while (nextCursorPoint >= 0) { + if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { break; } - phi_s0 = D_8082A1AC[phi_s0][1]; + nextCursorPoint = sCursorPointLinks[nextCursorPoint][1]; } } else if (pauseCtx->stickRelY > 30) { - phi_s0 = D_8082A1AC[phi_s3][0]; - while (phi_s0 >= 0) { - if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, phi_s0) != 0) { + nextCursorPoint = sCursorPointLinks[i][0]; + while (nextCursorPoint >= 0) { + if ((s16)KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { break; } - phi_s0 = D_8082A1AC[phi_s0][0]; + nextCursorPoint = sCursorPointLinks[nextCursorPoint][0]; } } - if (phi_s3 != pauseCtx->cursorPoint[PAUSE_QUEST]) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + // if the cursor point changed + if (pauseCtx->cursorPoint[PAUSE_QUEST] != i) { + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - if (pauseCtx->cursorPoint[PAUSE_QUEST] != 0x18) { + if (pauseCtx->cursorPoint[PAUSE_QUEST] != QUEST_HEART_PIECE) { if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { - if (pauseCtx->cursorPoint[PAUSE_QUEST] < 6) { + if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_SONG_MINUET) { cursorItem = ITEM_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; osSyncPrintf("000 ccc=%d\n", cursorItem); - } else if (pauseCtx->cursorPoint[PAUSE_QUEST] < 0x12) { + } else if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_KOKIRI_EMERALD) { cursorItem = ITEM_SCALE_GOLDEN + pauseCtx->cursorPoint[PAUSE_QUEST]; osSyncPrintf("111 ccc=%d\n", cursorItem); } else { @@ -168,60 +207,60 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { ITEM_HEART_CONTAINER, gSaveContext.inventory.questItems & 0xF0000000); } - sp216 = pauseCtx->cursorPoint[PAUSE_QUEST]; + cursor = pauseCtx->cursorPoint[PAUSE_QUEST]; pauseCtx->cursorItem[pauseCtx->pageIndex] = cursorItem; - pauseCtx->cursorSlot[pauseCtx->pageIndex] = sp216; + pauseCtx->cursorSlot[pauseCtx->pageIndex] = cursor; } - KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx); + KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); - if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (pauseCtx->cursorSpecialPos == 0)) { - if ((sp216 >= QUEST_SONG_MINUET) && (sp216 < QUEST_KOKIRI_EMERALD)) { + if ((cursor >= QUEST_SONG_MINUET) && (cursor < QUEST_KOKIRI_EMERALD)) { if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { - sp216 = pauseCtx->cursorSlot[PAUSE_QUEST]; - pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[sp216 - QUEST_SONG_MINUET]; + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; + pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[cursor - QUEST_SONG_MINUET]; D_8082A120 = 10; - for (phi_s3 = 0; phi_s3 < 8; phi_s3++) { - D_8082A124[phi_s3] = 0xFF; - D_8082A150[phi_s3] = 0; + for (i = 0; i < 8; i++) { + sPlayedSongBtns[i] = 0xFF; + sPlayedSongBtnsAlpha[i] = 0; } - D_8082A11C = 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 = 0xFF; - VREG(21) = -62; - VREG(22) = -56; - VREG(23) = -49; - VREG(24) = -46; - VREG(25) = -41; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_8; + 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; AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } } - } else if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_5) { + } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_5_PLAYING_SONG_) { if ((pauseCtx->stickRelX != 0) || (pauseCtx->stickRelY != 0)) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } - } else if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8) { - if (CHECK_BTN_ALL(input->press.button, BTN_A) && (sp216 >= QUEST_SONG_MINUET) && - (sp216 < QUEST_KOKIRI_EMERALD)) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_9; + } else if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8) { + 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; } } } else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { if (pauseCtx->stickRelX > 30) { - pauseCtx->cursorPoint[PAUSE_QUEST] = 0x15; + pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_STONE_OF_AGONY; pauseCtx->nameDisplayTimer = 0; pauseCtx->cursorSpecialPos = 0; - sp216 = pauseCtx->cursorPoint[PAUSE_QUEST]; - KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx); + 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])) { @@ -229,123 +268,135 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { } else { cursorItem = PAUSE_ITEM_NONE; } - sp216 = pauseCtx->cursorPoint[PAUSE_QUEST]; + cursor = pauseCtx->cursorPoint[PAUSE_QUEST]; pauseCtx->cursorItem[pauseCtx->pageIndex] = cursorItem; - pauseCtx->cursorSlot[pauseCtx->pageIndex] = sp216; + pauseCtx->cursorSlot[pauseCtx->pageIndex] = cursor; } - } else { + } else { // cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT if (pauseCtx->stickRelX < -30) { - pauseCtx->cursorPoint[PAUSE_QUEST] = 0; + pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_MEDALLION_FOREST; pauseCtx->nameDisplayTimer = 0; pauseCtx->cursorSpecialPos = 0; - sp216 = pauseCtx->cursorPoint[PAUSE_QUEST]; - KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx); + 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])) { - if (pauseCtx->cursorPoint[PAUSE_QUEST] < 6) { - cursorItem = ITEM_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; - } else if (pauseCtx->cursorPoint[PAUSE_QUEST] < 0xC) { - cursorItem = ITEM_BOMB_BAG_30 + pauseCtx->cursorPoint[PAUSE_QUEST]; + if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_SONG_MINUET) { + cursorItem = + ITEM_MEDALLION_FOREST - QUEST_MEDALLION_FOREST + pauseCtx->cursorPoint[PAUSE_QUEST]; + } else if (pauseCtx->cursorPoint[PAUSE_QUEST] < QUEST_SONG_LULLABY) { + //! @bug this results in the wrong item + cursorItem = ITEM_SCALE_GOLDEN - QUEST_SONG_MINUET + pauseCtx->cursorPoint[PAUSE_QUEST]; } else { - cursorItem = ITEM_MEDALLION_SPIRIT + pauseCtx->cursorPoint[PAUSE_QUEST]; + //! @bug this results in the wrong item + cursorItem = ITEM_COMPASS - QUEST_SONG_LULLABY + pauseCtx->cursorPoint[PAUSE_QUEST]; } } else { cursorItem = PAUSE_ITEM_NONE; } - sp216 = pauseCtx->cursorPoint[PAUSE_QUEST]; + cursor = pauseCtx->cursorPoint[PAUSE_QUEST]; pauseCtx->cursorItem[pauseCtx->pageIndex] = cursorItem; - pauseCtx->cursorSlot[pauseCtx->pageIndex] = sp216; + pauseCtx->cursorSlot[pauseCtx->pageIndex] = cursor; } } } else { - if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_9) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_9) { pauseCtx->cursorColorSet = 8; if (--D_8082A120 == 0) { - for (phi_s3 = 0; phi_s3 < 8; phi_s3++) { - D_8082A124[phi_s3] = 0xFF; - D_8082A150[phi_s3] = 0; + for (i = 0; i < 8; i++) { + sPlayedSongBtns[i] = 0xFF; + sPlayedSongBtnsAlpha[i] = 0; } - D_8082A11C = 0; - VREG(21) = -62; - VREG(22) = -56; - VREG(23) = -49; - VREG(24) = -46; - VREG(25) = -41; - sp216 = pauseCtx->cursorSlot[PAUSE_QUEST]; + 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[sp216 - QUEST_SONG_MINUET]; + pauseCtx->ocarinaSongIdx = gOcarinaSongItemMap[cursor - QUEST_SONG_MINUET]; AudioOcarina_SetPlaybackSong(pauseCtx->ocarinaSongIdx + 1, 1); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_2; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_2; pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); pauseCtx->ocarinaStaff->pos = 0; - sp216 = pauseCtx->cursorSlot[PAUSE_QUEST]; - KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx); + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; + KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); } } else { - sp216 = pauseCtx->cursorSlot[PAUSE_QUEST]; - KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx); + cursor = pauseCtx->cursorSlot[PAUSE_QUEST]; + KaleidoScope_SetCursorVtx(pauseCtx, cursor * 4, pauseCtx->questVtx); } } + // Draw medallions + // QUEST_MEDALLION_FOREST, QUEST_MEDALLION_FIRE, QUEST_MEDALLION_WATER, QUEST_MEDALLION_SPIRIT, + // QUEST_MEDALLION_SHADOW, QUEST_MEDALLION_LIGHT + gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); - D_8082A0FC--; + sMedEnvTimer--; - for (sp218 = 0, sp21A = 0; sp218 < 6; sp218++, sp21A += 4) { - if ((D_8082A100 != 1) && (D_8082A100 != 3)) { - phi_v1 = (D_8082A100 != 0) ? sp218 + 6 : sp218; + for (j = 0, bufI = 0; j < QUEST_SONG_MINUET - QUEST_MEDALLION_FOREST; j++, bufI += 4) { + if ((sMedEnvShineState != 1) && (sMedEnvShineState != 3)) { + targetColorIndex = (sMedEnvShineState != 0) ? j + 6 : j; - if (D_8082A0FC != 0) { - sp226 = ABS(D_8082A0D8[sp218] - D_8082A090[phi_v1][0]) / D_8082A0FC; - sp224 = ABS(D_8082A0E4[sp218] - D_8082A090[phi_v1][1]) / D_8082A0FC; - sp222 = ABS(D_8082A0F0[sp218] - D_8082A090[phi_v1][2]) / D_8082A0FC; - if (D_8082A0D8[sp218] >= D_8082A090[phi_v1][0]) { - D_8082A0D8[sp218] -= sp226; + if (sMedEnvTimer != 0) { + stepRed = ABS(sMedEnvRed[j] - sMedEnvColors[targetColorIndex][0]) / sMedEnvTimer; + stepGreen = ABS(sMedEnvGreen[j] - sMedEnvColors[targetColorIndex][1]) / sMedEnvTimer; + stepBlue = ABS(sMedEnvBlue[j] - sMedEnvColors[targetColorIndex][2]) / sMedEnvTimer; + if (sMedEnvRed[j] >= sMedEnvColors[targetColorIndex][0]) { + sMedEnvRed[j] -= stepRed; } else { - D_8082A0D8[sp218] += sp226; + sMedEnvRed[j] += stepRed; } - if (D_8082A0E4[sp218] >= D_8082A090[phi_v1][1]) { - D_8082A0E4[sp218] -= sp224; + if (sMedEnvGreen[j] >= sMedEnvColors[targetColorIndex][1]) { + sMedEnvGreen[j] -= stepGreen; } else { - D_8082A0E4[sp218] += sp224; + sMedEnvGreen[j] += stepGreen; } - if (D_8082A0F0[sp218] >= D_8082A090[phi_v1][2]) { - D_8082A0F0[sp218] -= sp222; + if (sMedEnvBlue[j] >= sMedEnvColors[targetColorIndex][2]) { + sMedEnvBlue[j] -= stepBlue; } else { - D_8082A0F0[sp218] += sp222; + sMedEnvBlue[j] += stepBlue; } } else { - D_8082A0D8[sp218] = D_8082A090[phi_v1][0]; - D_8082A0E4[sp218] = D_8082A090[phi_v1][1]; - D_8082A0F0[sp218] = D_8082A090[phi_v1][2]; + sMedEnvRed[j] = sMedEnvColors[targetColorIndex][0]; + sMedEnvGreen[j] = sMedEnvColors[targetColorIndex][1]; + sMedEnvBlue[j] = sMedEnvColors[targetColorIndex][2]; } } - if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST + sp218)) { + if (CHECK_QUEST_ITEM(QUEST_MEDALLION_FOREST + j)) { gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); - gDPSetEnvColor(POLY_OPA_DISP++, D_8082A0D8[sp218], D_8082A0E4[sp218], D_8082A0F0[sp218], 0); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gDPSetEnvColor(POLY_OPA_DISP++, sMedEnvRed[j], sMedEnvGreen[j], sMedEnvBlue[j], 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); - KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_MEDALLION_FOREST + sp218], 24, 24, 0); + KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_MEDALLION_FOREST + j], 24, 24, 0); } } - if (D_8082A0FC == 0) { - D_8082A0FC = ZREG(61 + D_8082A100); - if (++D_8082A100 >= 4) { - D_8082A100 = 0; + if (sMedEnvTimer == 0) { + sMedEnvTimer = ZREG(61 + sMedEnvShineState); + if (++sMedEnvShineState >= 4) { + sMedEnvShineState = 0; } } + // Draw songs + // QUEST_SONG_MINUET, QUEST_SONG_BOLERO, QUEST_SONG_SERENADE, QUEST_SONG_REQUIEM, QUEST_SONG_NOCTURNE, + // QUEST_SONG_PRELUDE, QUEST_SONG_LULLABY, QUEST_SONG_EPONA, QUEST_SONG_SARIA, QUEST_SONG_SUN, QUEST_SONG_TIME, + // QUEST_SONG_STORMS + gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); @@ -353,84 +404,92 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gDPLoadTextureBlock(POLY_OPA_DISP++, gSongNoteTex, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 24, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - for (sp218 = 0; sp218 < QUEST_KOKIRI_EMERALD - QUEST_SONG_MINUET; sp218++, sp21A += 4) { - if (CHECK_QUEST_ITEM(QUEST_SONG_MINUET + sp218)) { - if ((QUEST_SONG_MINUET + sp218) == sp216) { - pauseCtx->questVtx[sp21A + 0].v.ob[0] = pauseCtx->questVtx[sp21A + 2].v.ob[0] = - pauseCtx->questVtx[sp21A + 0].v.ob[0] - 2; + for (j = 0; j < QUEST_KOKIRI_EMERALD - QUEST_SONG_MINUET; j++, bufI += 4) { + if (CHECK_QUEST_ITEM(QUEST_SONG_MINUET + j)) { + if ((QUEST_SONG_MINUET + j) == cursor) { + pauseCtx->questVtx[bufI + 0].v.ob[0] = pauseCtx->questVtx[bufI + 2].v.ob[0] = + pauseCtx->questVtx[bufI + 0].v.ob[0] - 2; - pauseCtx->questVtx[sp21A + 1].v.ob[0] = pauseCtx->questVtx[sp21A + 3].v.ob[0] = - pauseCtx->questVtx[sp21A + 1].v.ob[0] + 4; + pauseCtx->questVtx[bufI + 1].v.ob[0] = pauseCtx->questVtx[bufI + 3].v.ob[0] = + pauseCtx->questVtx[bufI + 1].v.ob[0] + 4; - pauseCtx->questVtx[sp21A + 0].v.ob[1] = pauseCtx->questVtx[sp21A + 1].v.ob[1] = - pauseCtx->questVtx[sp21A + 0].v.ob[1] + 2; + pauseCtx->questVtx[bufI + 0].v.ob[1] = pauseCtx->questVtx[bufI + 1].v.ob[1] = + pauseCtx->questVtx[bufI + 0].v.ob[1] + 2; - pauseCtx->questVtx[sp21A + 2].v.ob[1] = pauseCtx->questVtx[sp21A + 3].v.ob[1] = - pauseCtx->questVtx[sp21A + 2].v.ob[1] - 4; + pauseCtx->questVtx[bufI + 2].v.ob[1] = pauseCtx->questVtx[bufI + 3].v.ob[1] = + pauseCtx->questVtx[bufI + 2].v.ob[1] - 4; } - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_8082A164[sp218], D_8082A17C[sp218], D_8082A194[sp218], + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sSongsPrimRed[j], sSongsPrimGreen[j], sSongsPrimBlue[j], pauseCtx->alpha); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } } + // Draw spiritual stones + // QUEST_KOKIRI_EMERALD, QUEST_GORON_RUBY, QUEST_ZORA_SAPPHIRE + gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); - for (sp218 = 0; sp218 < 3; sp218++, sp21A += 4) { - if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD + sp218)) { - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); - KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_KOKIRI_EMERALD + sp218], 24, 24, 0); + for (j = 0; j < QUEST_STONE_OF_AGONY - QUEST_KOKIRI_EMERALD; j++, bufI += 4) { + if (CHECK_QUEST_ITEM(QUEST_KOKIRI_EMERALD + j)) { + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); + KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_KOKIRI_EMERALD + j], 24, 24, 0); } } + // Draw QUEST_STONE_OF_AGONY, QUEST_GERUDO_CARD, QUEST_SKULL_TOKEN + gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); - for (sp218 = 0; sp218 < 3; sp218++, sp21A += 4) { - if (CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY + sp218)) { - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + for (j = 0; j < QUEST_HEART_PIECE - QUEST_STONE_OF_AGONY; j++, bufI += 4) { + if (CHECK_QUEST_ITEM(QUEST_STONE_OF_AGONY + j)) { + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); - KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_STONE_OF_AGONY + sp218], 24, 24, 0); + KaleidoScope_DrawQuadTextureRGBA32(gfxCtx, gItemIcons[ITEM_STONE_OF_AGONY + j], 24, 24, 0); } } - sp226 = ABS(D_8082A104 - D_8082A070[D_8082A118][0]) / D_8082A114; - sp224 = ABS(D_8082A108 - D_8082A070[D_8082A118][1]) / D_8082A114; - sp222 = ABS(D_8082A10C - D_8082A070[D_8082A118][2]) / D_8082A114; - sp220 = ABS(D_8082A110 - D_8082A070[D_8082A118][3]) / D_8082A114; - if (D_8082A104 >= D_8082A070[D_8082A118][0]) { - D_8082A104 -= sp226; + // Draw heart pieces + // QUEST_HEART_PIECE + + stepRed = ABS(sHpPrimRed - sHpPrimColors[sHpPrimState][0]) / sHpPrimTimer; + stepGreen = ABS(sHpPrimGreen - sHpPrimColors[sHpPrimState][1]) / sHpPrimTimer; + stepBlue = ABS(sHpPrimBlue - sHpPrimColors[sHpPrimState][2]) / sHpPrimTimer; + stepAlpha = ABS(sHpPrimAlpha - sHpPrimColors[sHpPrimState][3]) / sHpPrimTimer; + if (sHpPrimRed >= sHpPrimColors[sHpPrimState][0]) { + sHpPrimRed -= stepRed; } else { - D_8082A104 += sp226; + sHpPrimRed += stepRed; } - if (D_8082A108 >= D_8082A070[D_8082A118][1]) { - D_8082A108 -= sp224; + if (sHpPrimGreen >= sHpPrimColors[sHpPrimState][1]) { + sHpPrimGreen -= stepGreen; } else { - D_8082A108 += sp224; + sHpPrimGreen += stepGreen; } - if (D_8082A10C >= D_8082A070[D_8082A118][2]) { - D_8082A10C -= sp222; + if (sHpPrimBlue >= sHpPrimColors[sHpPrimState][2]) { + sHpPrimBlue -= stepBlue; } else { - D_8082A10C += sp222; + sHpPrimBlue += stepBlue; } - if (D_8082A110 >= D_8082A070[D_8082A118][3]) { - D_8082A110 -= sp220; + if (sHpPrimAlpha >= sHpPrimColors[sHpPrimState][3]) { + sHpPrimAlpha -= stepAlpha; } else { - D_8082A110 += sp220; + sHpPrimAlpha += stepAlpha; } - if (--D_8082A114 == 0) { - D_8082A104 = D_8082A070[D_8082A118][0]; - D_8082A108 = D_8082A070[D_8082A118][1]; - D_8082A10C = D_8082A070[D_8082A118][2]; - D_8082A110 = D_8082A070[D_8082A118][3]; - D_8082A114 = ZREG(24 + D_8082A118); - if (++D_8082A118 >= 4) { - D_8082A118 = 0; + if (--sHpPrimTimer == 0) { + sHpPrimRed = sHpPrimColors[sHpPrimState][0]; + sHpPrimGreen = sHpPrimColors[sHpPrimState][1]; + sHpPrimBlue = sHpPrimColors[sHpPrimState][2]; + sHpPrimAlpha = sHpPrimColors[sHpPrimState][3]; + sHpPrimTimer = ZREG(24 + sHpPrimState); + if (++sHpPrimState >= ARRAY_COUNT(sHpPrimColors)) { + sHpPrimState = 0; } } @@ -439,15 +498,15 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); - if ((pauseCtx->state == PAUSECTX_STATE_4) || (pauseCtx->state == PAUSECTX_STATE_18)) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_8082A070[0][0], D_8082A070[0][1], D_8082A070[0][2], + if ((pauseCtx->state == PAUSECTX_STATE_4) || (pauseCtx->state == PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE)) { + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sHpPrimColors[0][0], sHpPrimColors[0][1], sHpPrimColors[0][2], pauseCtx->alpha); } else { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_8082A104, D_8082A108, D_8082A10C, D_8082A110); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sHpPrimRed, sHpPrimGreen, sHpPrimBlue, sHpPrimAlpha); } gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); POLY_OPA_DISP = KaleidoScope_QuadTextureIA8( POLY_OPA_DISP, @@ -460,84 +519,83 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gDPPipeSync(POLY_OPA_DISP++); gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - sp21A += 4; - if ((pauseCtx->cursorSpecialPos == 0) && (sp216 >= 6) && (sp216 < 0x12)) { - if ((pauseCtx->unk_1E4 < 3) || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_5) || - (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) { + 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->cursorItem[pauseCtx->pageIndex] != PAUSE_ITEM_NONE) { pauseCtx->cursorColorSet = 8; - // PAUSECTX_UNK_1E4_2, PAUSECTX_UNK_1E4_3, PAUSECTX_UNK_1E4_4, PAUSECTX_UNK_1E4_5, - // PAUSECTX_UNK_1E4_6 - if ((pauseCtx->unk_1E4 >= PAUSECTX_UNK_1E4_2) && (pauseCtx->unk_1E4 < PAUSECTX_UNK_1E4_7)) { + // 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)) { pauseCtx->cursorColorSet = 0; } } } } - if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_2) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_2) { pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); if (pauseCtx->ocarinaStaff->pos != 0) { - if (D_8082A11C + 1 == pauseCtx->ocarinaStaff->pos) { - D_8082A11C++; - D_8082A124[pauseCtx->ocarinaStaff->pos - 1] = pauseCtx->ocarinaStaff->buttonIndex; + if (sPlayedSongBtnsNum + 1 == pauseCtx->ocarinaStaff->pos) { + sPlayedSongBtnsNum++; + sPlayedSongBtns[pauseCtx->ocarinaStaff->pos - 1] = pauseCtx->ocarinaStaff->buttonIndex; } - for (sp218 = 0, phi_s3 = 0; sp218 < 8; sp218++, phi_s3 += 4, sp21A += 4) { - if (D_8082A124[sp218] == 0xFF) { + for (j = 0, i = 0; j < 8; j++, i += 4, bufI += 4) { + if (sPlayedSongBtns[j] == 0xFF) { break; } - if (D_8082A150[sp218] != 255) { - D_8082A150[sp218] += VREG(50); - if (D_8082A150[sp218] >= 255) { - D_8082A150[sp218] = 255; + if (sPlayedSongBtnsAlpha[j] != 255) { + sPlayedSongBtnsAlpha[j] += VREG(50); + if (sPlayedSongBtnsAlpha[j] >= 255) { + sPlayedSongBtnsAlpha[j] = 255; } } - pauseCtx->questVtx[sp21A + 0].v.ob[1] = pauseCtx->questVtx[sp21A + 1].v.ob[1] = - VREG(21 + D_8082A124[sp218]); + pauseCtx->questVtx[bufI + 0].v.ob[1] = pauseCtx->questVtx[bufI + 1].v.ob[1] = + R_PAUSE_SONG_NOTE_Y(sPlayedSongBtns[j]); - pauseCtx->questVtx[sp21A + 2].v.ob[1] = pauseCtx->questVtx[sp21A + 3].v.ob[1] = - pauseCtx->questVtx[sp21A + 0].v.ob[1] - 12; + pauseCtx->questVtx[bufI + 2].v.ob[1] = pauseCtx->questVtx[bufI + 3].v.ob[1] = + pauseCtx->questVtx[bufI + 0].v.ob[1] - 12; gDPPipeSync(POLY_OPA_DISP++); - if (D_8082A124[sp218] == 0) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, D_8082A150[sp218]); + if (sPlayedSongBtns[j] == 0) { + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, sPlayedSongBtnsAlpha[j]); } else { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 50, D_8082A150[sp218]); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 50, sPlayedSongBtnsAlpha[j]); } gDPSetEnvColor(POLY_OPA_DISP++, 10, 10, 10, 0); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_8082A130[D_8082A124[sp218]], G_IM_FMT_IA, G_IM_SIZ_8b, 16, - 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, - G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(POLY_OPA_DISP++, sOcarinaBtnTextures[sPlayedSongBtns[j]], G_IM_FMT_IA, + G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } } - } else if (((pauseCtx->unk_1E4 >= PAUSECTX_UNK_1E4_4) && - (pauseCtx->unk_1E4 <= - PAUSECTX_UNK_1E4_6)) /* PAUSECTX_UNK_1E4_4, PAUSECTX_UNK_1E4_5, PAUSECTX_UNK_1E4_6 */ - || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) { - sp224 = pauseCtx->ocarinaSongIdx; - sp226 = gOcarinaSongButtons[sp224].numButtons; + } 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)) { + stepGreen = pauseCtx->ocarinaSongIdx; + stepRed = gOcarinaSongButtons[stepGreen].numButtons; - for (sp218 = sp21A, phi_s3 = 0; phi_s3 < sp226; phi_s3++, sp21A += 4) { - pauseCtx->questVtx[sp21A + 0].v.ob[1] = pauseCtx->questVtx[sp21A + 1].v.ob[1] = - VREG(21 + gOcarinaSongButtons[sp224].buttonsIndex[phi_s3]); + for (j = bufI, i = 0; i < stepRed; i++, bufI += 4) { + pauseCtx->questVtx[bufI + 0].v.ob[1] = pauseCtx->questVtx[bufI + 1].v.ob[1] = + R_PAUSE_SONG_NOTE_Y(gOcarinaSongButtons[stepGreen].buttonsIndex[i]); - pauseCtx->questVtx[sp21A + 2].v.ob[1] = pauseCtx->questVtx[sp21A + 3].v.ob[1] = - pauseCtx->questVtx[sp21A + 0].v.ob[1] - 12; + pauseCtx->questVtx[bufI + 2].v.ob[1] = pauseCtx->questVtx[bufI + 3].v.ob[1] = + pauseCtx->questVtx[bufI + 0].v.ob[1] - 12; gDPPipeSync(POLY_OPA_DISP++); - if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8) { - if (gOcarinaSongButtons[sp224].buttonsIndex[phi_s3] == OCARINA_BTN_A) { + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8) { + if (gOcarinaSongButtons[stepGreen].buttonsIndex[i] == OCARINA_BTN_A) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, 200); } else { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 50, 200); @@ -548,80 +606,81 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { gDPSetEnvColor(POLY_OPA_DISP++, 10, 10, 10, 0); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_8082A130[gOcarinaSongButtons[sp224].buttonsIndex[phi_s3]], - G_IM_FMT_IA, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, - G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(POLY_OPA_DISP++, + sOcarinaBtnTextures[gOcarinaSongButtons[stepGreen].buttonsIndex[i]], G_IM_FMT_IA, + G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } - if (pauseCtx->unk_1E4 != PAUSECTX_UNK_1E4_8) { + if (pauseCtx->unk_1E4_ps6_ != PAUSE_S6_8) { pauseCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff(); if (pauseCtx->ocarinaStaff->pos != 0) { - if (D_8082A11C == (pauseCtx->ocarinaStaff->pos - 1)) { + if (sPlayedSongBtnsNum == (pauseCtx->ocarinaStaff->pos - 1)) { if ((pauseCtx->ocarinaStaff->buttonIndex >= OCARINA_BTN_A) && (pauseCtx->ocarinaStaff->buttonIndex <= OCARINA_BTN_C_UP)) { - D_8082A124[pauseCtx->ocarinaStaff->pos - 1] = pauseCtx->ocarinaStaff->buttonIndex; - D_8082A124[pauseCtx->ocarinaStaff->pos] = 0xFF; - D_8082A11C++; + sPlayedSongBtns[pauseCtx->ocarinaStaff->pos - 1] = pauseCtx->ocarinaStaff->buttonIndex; + sPlayedSongBtns[pauseCtx->ocarinaStaff->pos] = 0xFF; + sPlayedSongBtnsNum++; } } } - sp21A = sp218 + 32; - phi_s3 = 0; - for (; phi_s3 < 8; phi_s3++, sp21A += 4) { - if (D_8082A124[phi_s3] == 0xFF) { + bufI = j + 32; + + for (i = 0; i < 8; i++, bufI += 4) { + if (sPlayedSongBtns[i] == 0xFF) { continue; } - if (D_8082A150[phi_s3] != 255) { - D_8082A150[phi_s3] += VREG(50); - if (D_8082A150[phi_s3] >= 255) { - D_8082A150[phi_s3] = 255; + if (sPlayedSongBtnsAlpha[i] != 255) { + sPlayedSongBtnsAlpha[i] += VREG(50); + if (sPlayedSongBtnsAlpha[i] >= 255) { + sPlayedSongBtnsAlpha[i] = 255; } } - pauseCtx->questVtx[sp21A + 0].v.ob[1] = pauseCtx->questVtx[sp21A + 1].v.ob[1] = - VREG(21 + D_8082A124[phi_s3]); + pauseCtx->questVtx[bufI + 0].v.ob[1] = pauseCtx->questVtx[bufI + 1].v.ob[1] = + R_PAUSE_SONG_NOTE_Y(sPlayedSongBtns[i]); - pauseCtx->questVtx[sp21A + 2].v.ob[1] = pauseCtx->questVtx[sp21A + 3].v.ob[1] = - pauseCtx->questVtx[sp21A + 0].v.ob[1] - 12; + pauseCtx->questVtx[bufI + 2].v.ob[1] = pauseCtx->questVtx[bufI + 3].v.ob[1] = + pauseCtx->questVtx[bufI + 0].v.ob[1] - 12; gDPPipeSync(POLY_OPA_DISP++); - if (D_8082A124[phi_s3] == 0) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, D_8082A150[phi_s3]); + if (sPlayedSongBtns[i] == 0) { + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 80, 255, 150, sPlayedSongBtnsAlpha[i]); } else { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 50, D_8082A150[phi_s3]); + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 50, sPlayedSongBtnsAlpha[i]); } gDPSetEnvColor(POLY_OPA_DISP++, 10, 10, 10, 0); - gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[sp21A], 4, 0); + gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[bufI], 4, 0); - gDPLoadTextureBlock(POLY_OPA_DISP++, D_8082A130[D_8082A124[phi_s3]], G_IM_FMT_IA, G_IM_SIZ_8b, 16, - 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, - G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + gDPLoadTextureBlock(POLY_OPA_DISP++, sOcarinaBtnTextures[sPlayedSongBtns[i]], G_IM_FMT_IA, + G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); } - if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_4) { - for (phi_s3 = 0; phi_s3 < 8; phi_s3++) { - D_8082A124[phi_s3] = 0xFF; - D_8082A150[phi_s3] = 0; + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_4) { + for (i = 0; i < 8; i++) { + sPlayedSongBtns[i] = 0xFF; + sPlayedSongBtnsAlpha[i] = 0; } - D_8082A11C = 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 = PAUSECTX_UNK_1E4_5; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_5_PLAYING_SONG_; } } } @@ -633,40 +692,44 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); - sp208[0] = sp208[1] = 0; - sp208[2] = gSaveContext.inventory.gsTokens; + gsTokensDigits[0] = gsTokensDigits[1] = 0; + gsTokensDigits[2] = gSaveContext.inventory.gsTokens; - while (sp208[2] >= 100) { - sp208[0]++; - sp208[2] -= 100; + while (gsTokensDigits[2] >= 100) { + gsTokensDigits[0]++; + gsTokensDigits[2] -= 100; } - while (sp208[2] >= 10) { - sp208[1]++; - sp208[2] -= 10; + while (gsTokensDigits[2] >= 10) { + gsTokensDigits[1]++; + gsTokensDigits[2] -= 10; } gSPVertex(POLY_OPA_DISP++, &pauseCtx->questVtx[164], 24, 0); - for (phi_s3 = 0, sp218 = 0, sp21A = 0; phi_s3 < 2; phi_s3++) { - if (phi_s3 == 0) { + for (i = 0, j = 0; i < 2; i++) { + if (i == 0) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, pauseCtx->alpha); - } else if (gSaveContext.inventory.gsTokens == 100) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 200, 50, 50, pauseCtx->alpha); } else { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); + if (gSaveContext.inventory.gsTokens == 100) { + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 200, 50, 50, pauseCtx->alpha); + } else { + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha); + } } - phi_s0 = 0; - for (sp21A = 0; sp21A < 3; sp21A++, sp218 += 4) { - if ((sp21A >= 2) || (sp208[sp21A] != 0) || (phi_s0 != 0)) { - gDPLoadTextureBlock(POLY_OPA_DISP++, ((u8*)gCounterDigit0Tex + (8 * 16 * sp208[sp21A])), G_IM_FMT_I, - G_IM_SIZ_8b, 8, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, - G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); + // Variable reused as a flag indicating all digits onwards should be displayed + nextCursorPoint = false; - gSP1Quadrangle(POLY_OPA_DISP++, sp218, sp218 + 2, sp218 + 3, sp218 + 1, 0); + for (bufI = 0; bufI < ARRAY_COUNT(gsTokensDigits); bufI++, j += 4) { + if ((bufI >= (ARRAY_COUNT(gsTokensDigits) - 1)) || (gsTokensDigits[bufI] != 0) || nextCursorPoint) { + gDPLoadTextureBlock(POLY_OPA_DISP++, ((u8*)gCounterDigit0Tex + (8 * 16 * gsTokensDigits[bufI])), + G_IM_FMT_I, G_IM_SIZ_8b, 8, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, + G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - phi_s0 = 1; + gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0); + + nextCursorPoint = true; } } } @@ -678,5 +741,5 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) { s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point) { pauseCtx->cursorPoint[PAUSE_QUEST] = point; - return 1; + return true; } 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 deac7fa199..670206a30a 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 == PAUSECTX_UNK_1E4_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (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 == PAUSECTX_UNK_1E4_0) && + (pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && CHECK_BTN_ALL(input->press.button, BTN_A) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0)) { if ((gEquipAgeReqs[pauseCtx->cursorY[PAUSE_EQUIP]][pauseCtx->cursorX[PAUSE_EQUIP]] == 9) || @@ -497,7 +497,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) { Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_7; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_7; sEquipTimer = 10; } else { Audio_PlaySfxGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -509,13 +509,13 @@ void KaleidoScope_DrawEquipment(PlayState* play) { Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if ((pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_7) && (pauseCtx->pageIndex == PAUSE_EQUIP)) { + } else if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_7) && (pauseCtx->pageIndex == PAUSE_EQUIP)) { KaleidoScope_SetCursorVtx(pauseCtx, pauseCtx->cursorSlot[PAUSE_EQUIP] * 4, pauseCtx->equipVtx); pauseCtx->cursorColorSet = 8; sEquipTimer--; if (sEquipTimer == 0) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; } } @@ -582,11 +582,11 @@ void KaleidoScope_DrawEquipment(PlayState* play) { KaleidoScope_DrawPlayerWork(play); - if ((pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_7) && (sEquipTimer == 10)) { + if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_7) && (sEquipTimer == 10)) { KaleidoScope_SetupPlayerPreRender(play); } - if ((pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_7) && (sEquipTimer == 9)) { + if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_7) && (sEquipTimer == 9)) { //! @bug: This function shouldn't take any arguments KaleidoScope_ProcessPlayerPreRender(play); } 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 6b6ca399e1..b2f6c57164 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 == PAUSECTX_UNK_1E4_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (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 == PAUSECTX_UNK_1E4_0)) { + (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { if (CHECK_BTN_ANY(input->press.button, BTN_CLEFT | BTN_CDOWN | BTN_CRIGHT)) { if (((gSlotAgeReqs[cursorSlot] == 9) || (gSlotAgeReqs[cursorSlot] == ((void)0, gSaveContext.linkAge))) && @@ -361,7 +361,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { pauseCtx->equipTargetItem = cursorItem; pauseCtx->equipTargetSlot = cursorSlot; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_3; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_3; pauseCtx->equipAnimX = pauseCtx->itemVtx[index].v.ob[0] * 10; pauseCtx->equipAnimY = pauseCtx->itemVtx[index].v.ob[1] * 10; pauseCtx->equipAnimAlpha = 255; @@ -410,7 +410,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) { Audio_PlaySfxGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if ((pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_3) && (pauseCtx->pageIndex == PAUSE_ITEM)) { + } else if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_3) && (pauseCtx->pageIndex == PAUSE_ITEM)) { KaleidoScope_SetCursorVtx(pauseCtx, cursorSlot * 4, pauseCtx->itemVtx); pauseCtx->cursorColorSet = 4; } @@ -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 == PAUSECTX_UNK_1E4_0) && (pauseCtx->pageIndex == PAUSE_ITEM) && + if ((pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (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 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; 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 efd8d15c70..4aa8372ed2 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 == PAUSECTX_UNK_1E4_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (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 == PAUSECTX_UNK_1E4_0) && + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) && (pauseCtx->pageIndex == PAUSE_MAP)) { pauseCtx->cursorColorSet = 0; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_WORLD_MAP]; 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 ad2aeb11a1..ce70cc9f65 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 @@ -136,11 +136,11 @@ s16 D_8082AB2C_height_MAP_PAGE_VTX_NOT_IN_DUNGEON_SCENE_[] = { }; static u8 D_8082AB6C[][5] = { - { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, - { BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED }, - { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED }, - { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, - { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, + { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_ITEM + { BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED }, // PAUSE_MAP + { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED }, // PAUSE_QUEST + { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_EQUIP + { BTN_ENABLED, BTN_DISABLED, BTN_DISABLED, BTN_DISABLED, BTN_ENABLED }, // PAUSE_WORLD_MAP { BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_ENABLED, BTN_DISABLED }, }; @@ -387,15 +387,15 @@ void KaleidoScope_SetDefaultCursor(PlayState* play) { } void KaleidoScope_SwitchPage(PauseContext* pauseCtx, u8 pt) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_1; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_1; pauseCtx->unk_1EA = 0; - if (!pt) { + if (!pt) { // pt == 0, scroll left pauseCtx->mode = pauseCtx->pageIndex * 2 + 1; Audio_PlaySfxGeneral(NA_SE_SY_WIN_SCROLL_LEFT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_RIGHT; - } else { + } else { // pt == 2, scroll left pauseCtx->mode = pauseCtx->pageIndex * 2; Audio_PlaySfxGeneral(NA_SE_SY_WIN_SCROLL_RIGHT, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -456,13 +456,11 @@ void KaleidoScope_DrawCursor(PlayState* play, u16 pageIndex) { OPEN_DISPS(play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 955); - temp = pauseCtx->unk_1E4; + temp = pauseCtx->unk_1E4_ps6_; - if ((((pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_0) || (temp == PAUSECTX_UNK_1E4_8)) && - (pauseCtx->state == PAUSECTX_STATE_6)) || - ((pauseCtx->pageIndex == PAUSE_QUEST) && - ((temp < PAUSECTX_UNK_1E4_3) /* PAUSECTX_UNK_1E4_0, PAUSECTX_UNK_1E4_1, PAUSECTX_UNK_1E4_2 */ || - (temp == PAUSECTX_UNK_1E4_5) || (temp == PAUSECTX_UNK_1E4_8)))) { + 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->pageIndex == pageIndex) { s16 i; @@ -562,7 +560,8 @@ 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 > PAUSECTX_STATE_17) /* PAUSECTX_STATE_18, PAUSECTX_STATE_19 */) { + || (pauseCtx->state > + PAUSECTX_STATE_17) /* PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE, PAUSECTX_STATE_19_UNPAUSE */) { if (pauseCtx->state != PAUSECTX_STATE_7) { stepR = ABS(sColor82ABRed_D_8082AB8C - sCursorColors_D_8082ACF4[pauseCtx->cursorColorSet + sCursorColorBlinkOffset_D_8082AD40][0]) / @@ -839,7 +838,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Gfx_SetupDL_42Opa(gfxCtx); if ((pauseCtx->state == PAUSECTX_STATE_7) || - ((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state < PAUSECTX_STATE_18)) + ((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 */ ) { @@ -879,7 +878,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1424), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - if (((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state < PAUSECTX_STATE_18)) + if (((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 */) { POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->saveVtx, sGameOverTexs); @@ -1088,7 +1087,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 == PAUSECTX_UNK_1E4_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { 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; @@ -1108,7 +1107,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { pauseCtx->infoPanelVtx[8].v.ob[1] - 26; } - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { 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] = @@ -1149,7 +1148,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { gSPDisplayList(POLY_OPA_DISP++, gItemNamePanelDL); - if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); } @@ -1157,7 +1156,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 == PAUSECTX_UNK_1E4_0)) { + if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); } @@ -1184,17 +1183,15 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->namedItem != PAUSE_ITEM_NONE) && (pauseCtx->nameDisplayTimer < WREG(89)) && - (!pauseCtx->unk_1E4 /* PAUSECTX_UNK_1E4_0 */ || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_2) || - ((pauseCtx->unk_1E4 >= PAUSECTX_UNK_1E4_4) && - (pauseCtx->unk_1E4 <= - PAUSECTX_UNK_1E4_7)) /* PAUSECTX_UNK_1E4_4, PAUSECTX_UNK_1E4_5, PAUSECTX_UNK_1E4_6, PAUSECTX_UNK_1E4_7 */ - || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) && + (!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->cursorSpecialPos == 0)) { - if (!pauseCtx->unk_1E4 /* PAUSECTX_UNK_1E4_0 */ || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_2) || - ((pauseCtx->unk_1E4 >= PAUSECTX_UNK_1E4_4) && - (pauseCtx->unk_1E4 <= - PAUSECTX_UNK_1E4_7)) /* PAUSECTX_UNK_1E4_4, PAUSECTX_UNK_1E4_5, PAUSECTX_UNK_1E4_6, PAUSECTX_UNK_1E4_7 */ - || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) { + 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)) { 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] = @@ -1254,8 +1251,8 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx, gGoldSkulltulaIconTex, 24, 24, 0); } } - } else if ((pauseCtx->unk_1E4 < PAUSECTX_UNK_1E4_3) /* PAUSECTX_UNK_1E4_0, PAUSECTX_UNK_1E4_1, PAUSECTX_UNK_1E4_2 */ - || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_7) || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) { + } 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)) { 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] = @@ -1290,7 +1287,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 == PAUSECTX_UNK_1E4_0)) { + if ((pauseCtx->state == PAUSECTX_STATE_6) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0)) { 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] = @@ -1445,7 +1442,7 @@ 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 == PAUSECTX_UNK_1E4_8)) || + (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11) && (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) || (pauseCtx->pageIndex == PAUSE_ITEM) || ((pauseCtx->pageIndex == PAUSE_EQUIP) && (pauseCtx->cursorX[PAUSE_EQUIP] != 0))) { if (pauseCtx->namedItem != ITEM_SOLD_OUT) { @@ -1490,7 +1487,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 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; } } } @@ -1765,7 +1762,7 @@ s16 func_80823A0C_makeVertices_(PlayState* play, Vtx* vtx, s16 usage_arg2, s16 a vtx[bufI + 1].v.ob[0] = vtx[bufI + 3].v.ob[0] = vtx[bufI + 0].v.ob[0] + ptr2_width_[j]; - if (!((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state < PAUSECTX_STATE_18)) + if (!((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 */) { vtx[bufI + 0].v.ob[1] = vtx[bufI + 1].v.ob[1] = ptr3_y_[j] + pauseCtx->offsetY; @@ -1864,26 +1861,32 @@ s16 func_80823A0C_makeVertices_(PlayState* play, Vtx* vtx, s16 usage_arg2, s16 a return bufI; } -static s16 D_8082B11C[] = { 0, 4, 8, 12, 24, 32, 56 }; +static s16 D_8082B11C[] = { 0, 4, 8, 12, 24, 32, 56 }; // itemVtx static s16 D_8082B12C_x_equipVtx_[] = { -114, 12, 44, 76 }; -static u8 D_8082B134[] = { 1, 5, 9, 13 }; +static u8 D_8082B134[] = { 1, 5, 9, 13 }; // equipVtx static s16 D_8082B138_x_questVtx[] = { - 74, 74, 46, 18, 18, 46, -108, -90, -72, -54, -36, -18, -108, -90, -72, -54, - -36, -18, 20, 46, 72, -110, -86, -110, -54, -98, -86, -74, -62, -50, -38, -26, - -14, -98, -86, -74, -62, -50, -38, -26, -14, -88, -81, -72, -90, -83, -74, + // QUEST_MEDALLION_FOREST-QUEST_HEART_PIECE + 74, 74, 46, 18, 18, 46, -108, -90, -72, -54, -36, -18, -108, -90, -72, -54, -36, -18, 20, 46, 72, -110, -86, -110, + -54, + // + -98, -86, -74, -62, -50, -38, -26, -14, -98, -86, -74, -62, -50, -38, -26, -14, -88, -81, -72, -90, -83, -74 }; static s16 D_8082B198_y_questVtx[] = { - 38, 6, -12, 6, 38, 56, -20, -20, -20, -20, -20, -20, 2, 2, 2, 2, 2, 2, -46, -46, -46, 58, 58, 34, - 58, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 34, 34, 34, 36, 36, 36, + // QUEST_MEDALLION_FOREST-QUEST_HEART_PIECE + 38, 6, -12, 6, 38, 56, -20, -20, -20, -20, -20, -20, 2, 2, 2, 2, 2, 2, -46, -46, -46, 58, 58, 34, 58, + // + -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, 34, 34, 34, 36, 36, 36 }; static s16 D_8082B1F8_width_questVtx_[] = { - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 48, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + // QUEST_MEDALLION_FOREST-QUEST_HEART_PIECE + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 48, + // + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 }; void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) { @@ -1898,7 +1901,7 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->offsetY = 0; if ((pauseCtx->state == PAUSECTX_STATE_4) || - (pauseCtx->state >= PAUSECTX_STATE_18) /* PAUSECTX_STATE_18, PAUSECTX_STATE_19 */ || + (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_8) && (pauseCtx->state <= PAUSECTX_STATE_13)) /* PAUSECTX_STATE_8, PAUSECTX_STATE_9, PAUSECTX_STATE_10, PAUSECTX_STATE_11, PAUSECTX_STATE_12, PAUSECTX_STATE_13 */) { @@ -2391,7 +2394,7 @@ void KaleidoScope_Draw(PlayState* play) { KaleidoScope_SetView(pauseCtx, 0.0f, 0.0f, 64.0f); - if (!((pauseCtx->state >= PAUSECTX_STATE_8) && (pauseCtx->state < PAUSECTX_STATE_18)) + if (!((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 */) { KaleidoScope_DrawInfoPanel(play); @@ -2431,7 +2434,7 @@ void KaleidoScope_GrayOutTextureRGBA32(u32* texture, u16 pixelCount) { } } -void func_808265BC(PlayState* play) { +void func_808265BC_switchPageToSave___(PlayState* play) { PauseContext* pauseCtx = &play->pauseCtx; pauseCtx->eye.x += D_8082ABAC_pageSwitch_eye_dx_[pauseCtx->mode] * ZREG(46); @@ -2446,8 +2449,8 @@ void func_808265BC(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 = PAUSECTX_UNK_1E4_0; - pauseCtx->state++; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; + pauseCtx->state++; // PAUSECTX_STATE_5 or PAUSECTX_STATE_6 pauseCtx->alpha = 255; Interface_LoadActionLabelB(play, DO_ACTION_SAVE); } else if (pauseCtx->unk_1EA == 64) { @@ -2577,7 +2580,7 @@ void KaleidoScope_UpdateDungeonMap(PlayState* play) { } void KaleidoScope_Update(PlayState* play) { - static s16 D_8082B258 = PAUSECTX_UNK_1E4_0; + static s16 D_8082B258 = PAUSE_S6_0; static s16 D_8082B25C = 10; static s16 sTimer_D_8082B260 = 0; PauseContext* pauseCtx = &play->pauseCtx; @@ -2600,19 +2603,18 @@ void KaleidoScope_Update(PlayState* play) { (pauseCtx->state <= PAUSECTX_STATE_7)) /* PAUSECTX_STATE_4, PAUSECTX_STATE_5, PAUSECTX_STATE_6, PAUSECTX_STATE_7 */ || ((pauseCtx->state >= PAUSECTX_STATE_10) && (pauseCtx - ->state <= PAUSECTX_STATE_18)) - /* 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 */)) { + ->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 /* PAUSECTX_UNK_1E4_0 */ || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_8)) && + if ((!pauseCtx->unk_1E4_ps6_ /* PAUSE_S6_0 */ || (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_8)) && (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 < - PAUSECTX_UNK_1E4_3) /* PAUSECTX_UNK_1E4_0, PAUSECTX_UNK_1E4_1, PAUSECTX_UNK_1E4_2 */ - || (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_5))) { + ((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_))) { KaleidoScope_UpdateCursorSize(play); } @@ -3009,23 +3011,23 @@ void KaleidoScope_Update(PlayState* play) { pauseCtx->state = PAUSECTX_STATE_5; } - func_808265BC(play); + func_808265BC_switchPageToSave___(play); break; case PAUSECTX_STATE_5: pauseCtx->alpha += (u16)(255 / (WREG(6) + WREG(4))); - func_808265BC(play); + func_808265BC_switchPageToSave___(play); if (pauseCtx->state == PAUSECTX_STATE_6) { KaleidoScope_UpdateNamePanel(play); } break; case PAUSECTX_STATE_6: - switch (pauseCtx->unk_1E4) { - case PAUSECTX_UNK_1E4_0: + switch (pauseCtx->unk_1E4_ps6_) { + case PAUSE_S6_0: if (CHECK_BTN_ALL(input->press.button, BTN_START)) { Interface_SetDoAction(play, DO_ACTION_NONE); - pauseCtx->state = PAUSECTX_STATE_18; + pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; WREG(2) = -6240; func_800F64E0(0); } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { @@ -3043,39 +3045,39 @@ void KaleidoScope_Update(PlayState* play) { } break; - case PAUSECTX_UNK_1E4_1: + case PAUSE_S6_1: func_808237B4(play, play->state.input); break; - case PAUSECTX_UNK_1E4_2: + case PAUSE_S6_2: pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff(); if (pauseCtx->ocarinaStaff->state == 0) { - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_4; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_4; AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } break; - case PAUSECTX_UNK_1E4_3: + case PAUSE_S6_3: KaleidoScope_UpdateItemEquip(play); break; - case PAUSECTX_UNK_1E4_4: + case PAUSE_S6_4: break; - case PAUSECTX_UNK_1E4_5: + case PAUSE_S6_5_PLAYING_SONG_: pauseCtx->ocarinaStaff = AudioOcarina_GetPlayingStaff(); 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; + pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; WREG(2) = -6240; func_800F64E0(0); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; break; } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; pauseCtx->mode = 0; pauseCtx->promptChoice = 0; Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -3090,42 +3092,42 @@ void KaleidoScope_Update(PlayState* play) { } else if (pauseCtx->ocarinaStaff->state == pauseCtx->ocarinaSongIdx) { Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - D_8082B258 = PAUSECTX_UNK_1E4_0; + D_8082B258 = PAUSE_S6_0; D_8082B25C = 30; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_6; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_6; } else if (pauseCtx->ocarinaStaff->state == 0xFF) { Audio_PlaySfxGeneral(NA_SE_SY_OCARINA_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - D_8082B258 = PAUSECTX_UNK_1E4_4; + D_8082B258 = PAUSE_S6_4; D_8082B25C = 20; - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_6; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_6; } break; - case PAUSECTX_UNK_1E4_6: + case PAUSE_S6_6: D_8082B25C--; if (D_8082B25C == 0) { - pauseCtx->unk_1E4 = D_8082B258; - if (pauseCtx->unk_1E4 == PAUSECTX_UNK_1E4_0) { + pauseCtx->unk_1E4_ps6_ = D_8082B258; + if (pauseCtx->unk_1E4_ps6_ == PAUSE_S6_0) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); } } break; - case PAUSECTX_UNK_1E4_7: + case PAUSE_S6_7: break; - case PAUSECTX_UNK_1E4_8: + case PAUSE_S6_8: 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; + pauseCtx->state = PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE; WREG(2) = -6240; func_800F64E0(0); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; pauseCtx->mode = 0; pauseCtx->promptChoice = 0; Audio_PlaySfxGeneral(NA_SE_SY_DECIDE, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -3140,11 +3142,11 @@ void KaleidoScope_Update(PlayState* play) { } break; - case PAUSECTX_UNK_1E4_9: + case PAUSE_S6_9: break; default: - pauseCtx->unk_1E4 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; break; } break; @@ -3242,11 +3244,11 @@ void KaleidoScope_Update(PlayState* play) { } } else { pauseCtx->debugState = 0; - pauseCtx->state = PAUSECTX_STATE_19; + pauseCtx->state = PAUSECTX_STATE_19_UNPAUSE; 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 = PAUSECTX_UNK_1E4_0; + pauseCtx->unk_1E4_ps6_ = PAUSE_S6_0; pauseCtx->rotXorZ_unk_204 = -434.0f; } break; @@ -3549,7 +3551,7 @@ void KaleidoScope_Update(PlayState* play) { } break; - case PAUSECTX_STATE_18: + case PAUSECTX_STATE_18_FLIP_PAGES_AND_UNPAUSE: if (pauseCtx->rotXpauseItem_unk_1F4 != 160.0f) { pauseCtx->rotXpauseItem_unk_1F4 = pauseCtx->rotPauseEquip_unk_1F8 = pauseCtx->rotPauseMap_unk_1FC = pauseCtx->rotPauseQuest_unk_200 += 160.0f / WREG(6); @@ -3564,7 +3566,7 @@ void KaleidoScope_Update(PlayState* play) { } } else { pauseCtx->debugState = 0; - pauseCtx->state = PAUSECTX_STATE_19; + pauseCtx->state = PAUSECTX_STATE_19_UNPAUSE; pauseCtx->rotXpauseItem_unk_1F4 = pauseCtx->rotPauseEquip_unk_1F8 = pauseCtx->rotPauseMap_unk_1FC = pauseCtx->rotPauseQuest_unk_200 = 160.0f; pauseCtx->namedItem = PAUSE_ITEM_NONE; @@ -3572,7 +3574,7 @@ void KaleidoScope_Update(PlayState* play) { } break; - case PAUSECTX_STATE_19: + case PAUSECTX_STATE_19_UNPAUSE: pauseCtx->state = PAUSECTX_STATE_0; R_UPDATE_RATE = 3; R_PAUSE_MENU_MODE = 0;