1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-02-22 23:26:58 +00:00

wip 2, lots on KaleidoScope_DrawQuestStatus

This commit is contained in:
Dragorn421 2022-08-26 15:32:41 +02:00
parent 38cf1d05d5
commit 118e3f84d5
No known key found for this signature in database
GPG key ID: 32B53D2D16FC4118
14 changed files with 511 additions and 440 deletions

View file

@ -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)

View file

@ -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 {

View file

@ -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 {

View file

@ -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;

View file

@ -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) {

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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 } };

File diff suppressed because it is too large Load diff

View file

@ -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);
}

View file

@ -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);

View file

@ -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];

View file

@ -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;