Kaleido OK & icon_item_vtx_static (Documented) (#1243)

* Begin Kaleido

* WIP

* DW macros for gbi

* More Progress

* Match KaleidoScope_GrayOutTextureRGBA32

* DrawGameOver wip

* Add some function names

* A few more matching, some docs

* More docs, data wip

* Import Kaleido Data

* Data cleanup

* Some progress

* Match TitleCard_Draw Again (Thanks Roman)

* Match KaleidoScope_DrawDebugEditor

* KaleidoScope_UpdateDebugEditor WIP

* Some cleanup

* z_kaleido_debug.c OK

* Cleanup

* match func_8081B6EC

* more wip, data cleanup

* match func_80825A50

* match KaleidoScope_InitVertices

* cursor progress

* name func

* item headers

* match KaleidoScope_DrawItemSelect

* KaleidoScope_UpdateItemEquip WIP

* match kaleido item

* doc kaleido item

* z_kaleido_prompt ok

* kaleido mask setup

* small cleanup

* kaleido mask OK

* mask cleanup

* small fix

* quest page setup

* doc save prompt

* sync with prompt docs

* KaleidoScope_Update WIP

* More progress on KaleidoScope_Update

* kaleido update cleanup

* KaleidoScope_Update OK

* Slightly cleaner match in KaleidoScope_Update

* match KaleidoScope_DrawPages and KaleidoScope_DrawGameOver, organize data

* more cleanup

* match KaleidoScope_Draw and KaleidoScope_SetView

* match KaleidoScope_UpdateNamePanel

* match another 2 funcs, segment docs

* another KaleidoScope_UpdateNamePanel ?

* swap update name panel names

* another match, only 2 large/similar vtx function in kaleido nes

* more setup for drawInfoPanel

* match KaleidoScope_DrawDungeonStrayFairyCount, 8 funcs left

* document KaleidoScope_DrawDungeonStrayFairyCount

* KaleidoScope_DrawInfoPanel1 WIP

* match KaleidoScope_DrawInfoPanel2

* gameover pause states

* name two pause states

* match KaleidoScope_UpdateDungeonCursor and KaleidoScope_UpdateWorldMapCursor

* match KaleidoScope_DrawDungeonMap

* KaleidoScope_DrawWorldMap WIP

* cleanup map

* some cursor/texture docs

* more cursor docs

* KaleidoScope_UpdateQuestCursor wip

* match KaleidoScope_UpdateQuestCursor

* quest cleanup

* KaleidoScope_DrawQuestStatus WIP, broke gakufu

* match KaleidoScope_DrawInfoPanel1, Kaleido NES OK

* pause substates

* more cleanup

* map progress

* very small improvements to KaleidoScope_DrawWorldMap

* match KaleidoScope_DrawWorldMap

* cleanup KaleidoScope_DrawWorldMap

* rematch EnGakufu_ProcessNotes, thanks anon58

* gameover and misc docs

* more docs

* small cleanup of maps

* owl warp and other docs

* symmetry in pause state

* some docs and cleanup

* docs

* more docs from OoT WIP

* fix

* quest page docs

* more enums

* more cleanup and enums

* another round of docs

* doc cursor indices

* map docs

* some docs

* cleanup for-loops

* cleanup

* else if

* small docs

* icon_item_field_static

* dungeon static

* eol

* icon item jpn static

* vtx static

* jpn static comments

* import parameter texture functions

* mask cleanup

* sync with PRs

* some docs

* more docs

* fix bss

* some docs

* sync with PR

* quest docs

* fix quest vtx

* sync with PR

* sync with PR

* fix typo

* small cleanup

* vtx madness

* more vtx

* add quad docs

* cleanup vtx

* cleanup

* cleanup

* revert gbi changes

* cleanup

* more cleanup

* another cleanup

* remove empty comment

* some PR review

* more naming suggestions

* namefixer

* L button to Z button

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
engineer124 2023-05-30 02:04:21 +10:00 committed by GitHub
parent fc475a9756
commit aa0a968791
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 1413 additions and 221 deletions

View File

@ -0,0 +1,12 @@
<Root>
<File Name="icon_item_vtx_static" Segment="11">
<DList Name="gItemNamePanelDL" Offset="0x0"/>
<DList Name="gZButtonIconDL" Offset="0x90"/>
<DList Name="gRButtonIconDL" Offset="0xE0"/>
<DList Name="gCButtonIconsDL" Offset="0x130"/>
<DList Name="gAButtonIconDL" Offset="0x188"/>
<DList Name="gBButtonIconDL" Offset="0x1E0"/>
<DList Name="gPromptCursorLeftDL" Offset="0x238"/>
<DList Name="gPromptCursorRightDL" Offset="0x288"/>
</File>
</Root>

View File

@ -600,7 +600,7 @@ extern UNK_PTR D_801C5CB0;
// extern UNK_TYPE2 D_801C6A8C; // extern UNK_TYPE2 D_801C6A8C;
// extern UNK_TYPE2 D_801C6A90; // extern UNK_TYPE2 D_801C6A90;
// extern UNK_TYPE2 D_801C6A94; // extern UNK_TYPE2 D_801C6A94;
extern u8 D_801C6A98[5][5]; extern u8 gPageSwitchNextButtonStatus[6][5];
// extern UNK_TYPE1 D_801C6AB8; // extern UNK_TYPE1 D_801C6AB8;
// extern UNK_TYPE1 D_801C6B28; // extern UNK_TYPE1 D_801C6B28;
// extern UNK_TYPE1 D_801CED40; // extern UNK_TYPE1 D_801CED40;

View File

@ -200,7 +200,7 @@ typedef struct {
/* 0x204 */ u16 pageIndex; /* 0x204 */ u16 pageIndex;
/* 0x206 */ u16 switchPageTimer; /* 0x206 */ u16 switchPageTimer;
/* 0x208 */ u16 savePromptState; /* 0x208 */ u16 savePromptState;
/* 0x20C */ f32 unk_20C; /* 0x20C */ f32 unk_20C; // set to 936.0f, unused remnant from OoT
/* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen /* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen
/* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen /* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen
/* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen /* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen
@ -216,7 +216,7 @@ typedef struct {
/* 0x24C */ s16 cursorYIndex[5]; /* 0x24C */ s16 cursorYIndex[5];
/* 0x256 */ s16 unk_256; // Uses DungeonItem enum /* 0x256 */ s16 unk_256; // Uses DungeonItem enum
/* 0x258 */ s16 cursorSpecialPos; /* 0x258 */ s16 cursorSpecialPos;
/* 0x25A */ s16 pageSwitchTimer; /* 0x25A */ s16 pageSwitchInputTimer; // Used to introduce a delay before switching page when arriving on the "scroll left/right" positions while holding stick left/right.
/* 0x25C */ u16 namedItem; /* 0x25C */ u16 namedItem;
/* 0x25E */ u16 cursorItem[5]; /* 0x25E */ u16 cursorItem[5];
/* 0x268 */ u16 cursorSlot[5]; /* 0x268 */ u16 cursorSlot[5];
@ -227,15 +227,15 @@ typedef struct {
/* 0x27A */ s16 equipAnimY; /* 0x27A */ s16 equipAnimY;
/* 0x27C */ s16 equipAnimAlpha; /* 0x27C */ s16 equipAnimAlpha;
/* 0x27E */ s16 infoPanelOffsetY; /* 0x27E */ s16 infoPanelOffsetY;
/* 0x280 */ u16 unk_280; /* 0x280 */ u16 nameDisplayTimer;
/* 0x282 */ u16 nameColorSet; /* 0x282 */ u16 nameColorSet;
/* 0x284 */ s16 cursorColorSet; /* 0x284 */ s16 cursorColorSet;
/* 0x286 */ s16 unk_286; /* 0x286 */ s16 cursorSpinPhase;
/* 0x288 */ f32 unk_288; /* 0x288 */ f32 cursorX;
/* 0x28C */ f32 unk_28C; /* 0x28C */ f32 cursorY;
/* 0x290 */ f32 unk_290; /* 0x290 */ f32 cursorWidth;
/* 0x294 */ f32 unk_294; /* 0x294 */ f32 cursorHeight;
/* 0x298 */ f32 unk_298; /* 0x298 */ f32 cursorShrinkRate;
/* 0x29C */ s16 promptChoice; // save/continue choice: 0 = yes; 4 = no /* 0x29C */ s16 promptChoice; // save/continue choice: 0 = yes; 4 = no
/* 0x29E */ s16 promptAlpha; /* 0x29E */ s16 promptAlpha;
/* 0x2A0 */ s16 ocarinaSongIndex; /* 0x2A0 */ s16 ocarinaSongIndex;

6
spec
View File

@ -325,7 +325,8 @@ beginseg
name "icon_item_vtx_static" name "icon_item_vtx_static"
compress compress
romalign 0x1000 romalign 0x1000
include "build/baserom/icon_item_vtx_static.o" include "build/assets/interface/icon_item_vtx_static/icon_item_vtx_static.o"
number 11
endseg endseg
beginseg beginseg
@ -692,8 +693,7 @@ beginseg
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.o" include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.o"
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_prompt.o" include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_prompt.o"
include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.o" include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.o"
include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.bss.o" include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/ovl_kaleido_scope_reloc.o"
include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.reloc.o"
endseg endseg
beginseg beginseg

View File

@ -849,17 +849,12 @@ void TitleCard_Draw(GameState* gameState, TitleCardContext* titleCtx) {
if (titleCtx->alpha != 0) { if (titleCtx->alpha != 0) {
s32 width = titleCtx->width; s32 width = titleCtx->width;
s32 height = titleCtx->height; s32 height = titleCtx->height;
s32 unk1; s32 doubleWidth = width * 2;
s32 spC0; s32 titleX = (titleCtx->x * 4) - doubleWidth;
s32 sp38; s32 doubleHeight = height * 2;
s32 spB8; s32 titleY = (titleCtx->y * 4) - doubleHeight;
s32 spB4; s32 titleSecondY;
s32 temp; s32 textureLanguageOffset;
temp = width * 2;
spC0 = (titleCtx->x * 4) - temp;
spB8 = (titleCtx->y * 4) - (height * 2);
sp38 = width * 2;
OPEN_DISPS(gameState->gfxCtx); OPEN_DISPS(gameState->gfxCtx);
@ -867,29 +862,30 @@ void TitleCard_Draw(GameState* gameState, TitleCardContext* titleCtx) {
height = TMEM_SIZE / width; height = TMEM_SIZE / width;
} }
spB4 = spB8 + (height * 4); titleSecondY = titleY + (height * 4);
OVERLAY_DISP = Gfx_SetupDL52_NoCD(OVERLAY_DISP); OVERLAY_DISP = Gfx_SetupDL52_NoCD(OVERLAY_DISP);
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, (u8)titleCtx->intensity, (u8)titleCtx->intensity, (u8)titleCtx->intensity, gDPSetPrimColor(OVERLAY_DISP++, 0, 0, (u8)titleCtx->intensity, (u8)titleCtx->intensity, (u8)titleCtx->intensity,
(u8)titleCtx->alpha); (u8)titleCtx->alpha);
gDPLoadTextureBlock(OVERLAY_DISP++, (s32*)titleCtx->texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0, gDPLoadTextureBlock(OVERLAY_DISP++, titleCtx->texture, G_IM_FMT_IA, G_IM_SIZ_8b, width, height, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOLOD); G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, spC0, spB8, ((sp38 * 2) + spC0) - 4, spB8 + (height * 4) - 1, gSPTextureRectangle(OVERLAY_DISP++, titleX, titleY, ((doubleWidth * 2) + titleX) - 4, titleY + (height * 4) - 1,
G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
height = titleCtx->height - height; height = titleCtx->height - height;
// If texture is bigger than 0x1000, display the rest
if (height > 0) { if (height > 0) {
gDPLoadTextureBlock(OVERLAY_DISP++, (s32)titleCtx->texture + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, width, gDPLoadTextureBlock(OVERLAY_DISP++, (uintptr_t)titleCtx->texture + 0x1000, G_IM_FMT_IA, G_IM_SIZ_8b, width,
height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, height, 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); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(OVERLAY_DISP++, spC0, spB4, ((sp38 * 2) + spC0) - 4, spB4 + (height * 4) - 1, gSPTextureRectangle(OVERLAY_DISP++, titleX, titleSecondY, ((doubleWidth * 2) + titleX) - 4,
G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10); titleSecondY + (height * 4) - 1, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
} }
CLOSE_DISPS(gameState->gfxCtx); CLOSE_DISPS(gameState->gfxCtx);

View File

@ -40,13 +40,13 @@ void KaleidoScopeCall_Update(PlayState* play) {
if (ShrinkWindow_Letterbox_GetSize() == 0) { if (ShrinkWindow_Letterbox_GetSize() == 0) {
R_PAUSE_BG_PRERENDER_STATE = PAUSE_BG_PRERENDER_SETUP; R_PAUSE_BG_PRERENDER_STATE = PAUSE_BG_PRERENDER_SETUP;
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE; pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE;
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_0; pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_APPEARING;
pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1;
} }
} else if (pauseCtx->state == PAUSE_STATE_GAMEOVER_0) { } else if (pauseCtx->state == PAUSE_STATE_GAMEOVER_0) {
R_PAUSE_BG_PRERENDER_STATE = PAUSE_BG_PRERENDER_SETUP; R_PAUSE_BG_PRERENDER_STATE = PAUSE_BG_PRERENDER_SETUP;
pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE; pauseCtx->mainState = PAUSE_MAIN_STATE_IDLE;
pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_0; pauseCtx->savePromptState = PAUSE_SAVEPROMPT_STATE_APPEARING;
pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1; pauseCtx->state = (pauseCtx->state & 0xFFFF) + 1;
} else if ((pauseCtx->state == PAUSE_STATE_OPENING_1) || (pauseCtx->state == PAUSE_STATE_GAMEOVER_1) || } else if ((pauseCtx->state == PAUSE_STATE_OPENING_1) || (pauseCtx->state == PAUSE_STATE_GAMEOVER_1) ||
(pauseCtx->state == PAUSE_STATE_OWLWARP_1)) { (pauseCtx->state == PAUSE_STATE_OWLWARP_1)) {

View File

@ -145,7 +145,7 @@ void KaleidoSetup_Init(PlayState* play) {
pauseCtx->cursorPoint[PAUSE_MAP] = R_REVERSE_FLOOR_INDEX + (DUNGEON_FLOOR_INDEX_4 - 1); pauseCtx->cursorPoint[PAUSE_MAP] = R_REVERSE_FLOOR_INDEX + (DUNGEON_FLOOR_INDEX_4 - 1);
pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_RIGHT; pauseCtx->cursorSpecialPos = PAUSE_CURSOR_PAGE_RIGHT;
pauseCtx->pageSwitchTimer = 0; pauseCtx->pageSwitchInputTimer = 0;
pauseCtx->cursorItem[PAUSE_ITEM] = PAUSE_ITEM_NONE; pauseCtx->cursorItem[PAUSE_ITEM] = PAUSE_ITEM_NONE;
pauseCtx->cursorItem[PAUSE_MAP] = R_REVERSE_FLOOR_INDEX + (DUNGEON_FLOOR_INDEX_4 - 1); pauseCtx->cursorItem[PAUSE_MAP] = R_REVERSE_FLOOR_INDEX + (DUNGEON_FLOOR_INDEX_4 - 1);

View File

@ -13,7 +13,7 @@ extern TexturePtr D_08061000; // gBombersNotebookIconTex
extern TexturePtr D_08062000; // gSongNoteIconTex extern TexturePtr D_08062000; // gSongNoteIconTex
s16 sQuestRemainsColorTimerInit[] = { 120, 60, 2, 80 }; s16 sQuestRemainsColorTimerInit[] = { 120, 60, 2, 80 };
s16 sQuestHpColorTimerInit[] = { 20, 4, 20, 10 }; s16 sQuestHpColorTimerInits[] = { 20, 4, 20, 10 };
s16 sQuestSongPlayedOcarinaButtonsNum = 0; s16 sQuestSongPlayedOcarinaButtonsNum = 0;
u8 sQuestSongPlayedOcarinaButtons[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; u8 sQuestSongPlayedOcarinaButtons[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
s16 sQuestSongPlayedOcarinaButtonsAlpha[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; s16 sQuestSongPlayedOcarinaButtonsAlpha[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
@ -313,7 +313,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play) {
sQuestHpPrimGreen = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][1]; sQuestHpPrimGreen = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][1];
sQuestHpPrimBlue = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][2]; sQuestHpPrimBlue = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][2];
sQuestHpPrimAlpha = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][3]; sQuestHpPrimAlpha = sQuestHpPrimColorTargets[sQuestHpPrimColorTargetIndex][3];
sQuestHpColorTimer = sQuestHpColorTimerInit[sQuestHpPrimColorTargetIndex]; sQuestHpColorTimer = sQuestHpColorTimerInits[sQuestHpPrimColorTargetIndex];
if (++sQuestHpPrimColorTargetIndex > 3) { if (++sQuestHpPrimColorTargetIndex > 3) {
sQuestHpPrimColorTargetIndex = 0; sQuestHpPrimColorTargetIndex = 0;
} }
@ -618,7 +618,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
if (pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PROMPT) { if (pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PROMPT) {
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
} }
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
nextCursorPoint = sCursorPointLinks[oldCursorPoint].left; nextCursorPoint = sCursorPointLinks[oldCursorPoint].left;
if (nextCursorPoint == CURSOR_TO_LEFT) { if (nextCursorPoint == CURSOR_TO_LEFT) {
@ -641,7 +641,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
if (pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PROMPT) { if (pauseCtx->mainState == PAUSE_MAIN_STATE_SONG_PROMPT) {
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
} }
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
nextCursorPoint = sCursorPointLinks[oldCursorPoint].right; nextCursorPoint = sCursorPointLinks[oldCursorPoint].right;
if (nextCursorPoint == CURSOR_TO_RIGHT) { if (nextCursorPoint == CURSOR_TO_RIGHT) {
@ -666,7 +666,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
nextCursorPoint = sCursorPointLinks[oldCursorPoint].down; nextCursorPoint = sCursorPointLinks[oldCursorPoint].down;
while (nextCursorPoint > CURSOR_NONE) { while (nextCursorPoint > CURSOR_NONE) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { if (KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) {
break; break;
} }
@ -679,7 +679,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
} }
nextCursorPoint = sCursorPointLinks[oldCursorPoint].up; nextCursorPoint = sCursorPointLinks[oldCursorPoint].up;
while (nextCursorPoint > CURSOR_NONE) { while (nextCursorPoint > CURSOR_NONE) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) { if (KaleidoScope_UpdateQuestStatusPoint(pauseCtx, nextCursorPoint)) {
break; break;
} }
@ -907,7 +907,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
} }
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_BOMBERS_NOTEBOOK; pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_BOMBERS_NOTEBOOK;
if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) { if (CHECK_QUEST_ITEM(QUEST_BOMBERS_NOTEBOOK)) {
@ -925,7 +925,7 @@ void KaleidoScope_UpdateQuestCursor(PlayState* play) {
AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF); AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_OFF);
} }
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_REMAINS_GOHT; pauseCtx->cursorPoint[PAUSE_QUEST] = QUEST_REMAINS_GOHT;
if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) { if (CHECK_QUEST_ITEM(pauseCtx->cursorPoint[PAUSE_QUEST])) {

View File

@ -382,7 +382,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
while (moveCursorResult == PAUSE_CURSOR_RESULT_NONE) { while (moveCursorResult == PAUSE_CURSOR_RESULT_NONE) {
if (pauseCtx->stickAdjX < -30) { if (pauseCtx->stickAdjX < -30) {
// move cursor left // move cursor left
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorXIndex[PAUSE_ITEM] != 0) { if (pauseCtx->cursorXIndex[PAUSE_ITEM] != 0) {
pauseCtx->cursorXIndex[PAUSE_ITEM]--; pauseCtx->cursorXIndex[PAUSE_ITEM]--;
pauseCtx->cursorPoint[PAUSE_ITEM]--; pauseCtx->cursorPoint[PAUSE_ITEM]--;
@ -413,7 +413,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
} }
} else if (pauseCtx->stickAdjX > 30) { } else if (pauseCtx->stickAdjX > 30) {
// move cursor right // move cursor right
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorXIndex[PAUSE_ITEM] <= 4) { if (pauseCtx->cursorXIndex[PAUSE_ITEM] <= 4) {
pauseCtx->cursorXIndex[PAUSE_ITEM]++; pauseCtx->cursorXIndex[PAUSE_ITEM]++;
pauseCtx->cursorPoint[PAUSE_ITEM]++; pauseCtx->cursorPoint[PAUSE_ITEM]++;
@ -451,7 +451,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
} }
} else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { } else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) {
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
cursorYIndex = 0; cursorYIndex = 0;
cursorXIndex = 0; cursorXIndex = 0;
cursorPoint = 0; // top row, left column (SLOT_OCARINA) cursorPoint = 0; // top row, left column (SLOT_OCARINA)
@ -489,7 +489,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
} }
} else { // PAUSE_CURSOR_PAGE_RIGHT } else { // PAUSE_CURSOR_PAGE_RIGHT
if (pauseCtx->stickAdjX < -30) { if (pauseCtx->stickAdjX < -30) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
cursorXIndex = 5; cursorXIndex = 5;
cursorPoint = 5; // top row, right columne (SLOT_TRADE_DEED) cursorPoint = 5; // top row, right columne (SLOT_TRADE_DEED)
cursorYIndex = 0; cursorYIndex = 0;
@ -541,7 +541,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS; moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS;
if (pauseCtx->cursorYIndex[PAUSE_ITEM] != 0) { if (pauseCtx->cursorYIndex[PAUSE_ITEM] != 0) {
pauseCtx->cursorYIndex[PAUSE_ITEM]--; pauseCtx->cursorYIndex[PAUSE_ITEM]--;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
pauseCtx->cursorPoint[PAUSE_ITEM] -= 6; pauseCtx->cursorPoint[PAUSE_ITEM] -= 6;
moveCursorResult = PAUSE_CURSOR_RESULT_SLOT; moveCursorResult = PAUSE_CURSOR_RESULT_SLOT;
} else { } else {
@ -553,7 +553,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS; moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS;
if (pauseCtx->cursorYIndex[PAUSE_ITEM] < 3) { if (pauseCtx->cursorYIndex[PAUSE_ITEM] < 3) {
pauseCtx->cursorYIndex[PAUSE_ITEM]++; pauseCtx->cursorYIndex[PAUSE_ITEM]++;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
pauseCtx->cursorPoint[PAUSE_ITEM] += 6; pauseCtx->cursorPoint[PAUSE_ITEM] += 6;
moveCursorResult = PAUSE_CURSOR_RESULT_SLOT; moveCursorResult = PAUSE_CURSOR_RESULT_SLOT;
} else { } else {

View File

@ -152,7 +152,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
// QUAD_MAP_PAGE_DUNGEON_BOSS_KEY, // QUAD_MAP_PAGE_DUNGEON_BOSS_KEY,
// QUAD_MAP_PAGE_DUNGEON_COMPASS, // QUAD_MAP_PAGE_DUNGEON_COMPASS,
// QUAD_MAP_PAGE_DUNGEON_MAP // QUAD_MAP_PAGE_DUNGEON_MAP
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[60], 16, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[QUAD_MAP_PAGE_DUNGEON_TITLE * 4], 4 * 4, 0);
// Dungeon Title // Dungeon Title
gDPPipeSync(POLY_OPA_DISP++); gDPPipeSync(POLY_OPA_DISP++);
@ -317,9 +317,9 @@ void KaleidoScope_UpdateDungeonCursor(PlayState* play) {
pauseCtx->cursorColorSet = PAUSE_CURSOR_COLOR_SET_WHITE; pauseCtx->cursorColorSet = PAUSE_CURSOR_COLOR_SET_WHITE;
oldCursorPoint = pauseCtx->cursorPoint[PAUSE_MAP]; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_MAP];
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
pauseCtx->cursorXIndex[PAUSE_MAP] = 0; pauseCtx->cursorXIndex[PAUSE_MAP] = 0;
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->unk_256; pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->unk_256;
pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->unk_256; pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->unk_256;
@ -345,9 +345,9 @@ void KaleidoScope_UpdateDungeonCursor(PlayState* play) {
} }
} }
} else if (pauseCtx->stickAdjX < -30) { } else if (pauseCtx->stickAdjX < -30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) { if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
pauseCtx->cursorXIndex[PAUSE_MAP] = 1; pauseCtx->cursorXIndex[PAUSE_MAP] = 1;
pauseCtx->cursorPoint[PAUSE_MAP] = DUNGEON_MAP; pauseCtx->cursorPoint[PAUSE_MAP] = DUNGEON_MAP;
if (!CHECK_DUNGEON_ITEM(DUNGEON_MAP, gSaveContext.dungeonIndex)) { if (!CHECK_DUNGEON_ITEM(DUNGEON_MAP, gSaveContext.dungeonIndex)) {
@ -390,7 +390,7 @@ void KaleidoScope_UpdateDungeonCursor(PlayState* play) {
gBitFlags[i]) || gBitFlags[i]) ||
func_801090B0(FLOOR_INDEX_MAX - i)) { func_801090B0(FLOOR_INDEX_MAX - i)) {
pauseCtx->cursorPoint[PAUSE_MAP] = i + DUNGEON_FLOOR_INDEX_4; pauseCtx->cursorPoint[PAUSE_MAP] = i + DUNGEON_FLOOR_INDEX_4;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
break; break;
} }
} }
@ -411,7 +411,7 @@ void KaleidoScope_UpdateDungeonCursor(PlayState* play) {
gBitFlags[i]) || gBitFlags[i]) ||
func_801090B0(FLOOR_INDEX_MAX - i)) { func_801090B0(FLOOR_INDEX_MAX - i)) {
pauseCtx->cursorPoint[PAUSE_MAP] = i + DUNGEON_FLOOR_INDEX_4; pauseCtx->cursorPoint[PAUSE_MAP] = i + DUNGEON_FLOOR_INDEX_4;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
break; break;
} }
} }
@ -854,7 +854,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
if (pauseCtx->cursorSpecialPos == 0) { if (pauseCtx->cursorSpecialPos == 0) {
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
sStickAdjTimer = 0; sStickAdjTimer = 0;
while (true) { while (true) {
@ -869,7 +869,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
} }
} }
} else if (pauseCtx->stickAdjX < -30) { } else if (pauseCtx->stickAdjX < -30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
sStickAdjTimer = 0; sStickAdjTimer = 0;
while (true) { while (true) {
@ -898,7 +898,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = -1; pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = -1;
pauseCtx->cursorSpecialPos = 0; pauseCtx->cursorSpecialPos = 0;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
while (true) { while (true) {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP]++; pauseCtx->cursorPoint[PAUSE_WORLD_MAP]++;
@ -923,7 +923,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
} else if (pauseCtx->stickAdjX < -30) { } else if (pauseCtx->stickAdjX < -30) {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = 11; pauseCtx->cursorPoint[PAUSE_WORLD_MAP] = 11;
pauseCtx->cursorSpecialPos = 0; pauseCtx->cursorSpecialPos = 0;
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
while (true) { while (true) {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP]--; pauseCtx->cursorPoint[PAUSE_WORLD_MAP]--;
@ -958,7 +958,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
oldCursorPoint = pauseCtx->cursorPoint[PAUSE_WORLD_MAP]; oldCursorPoint = pauseCtx->cursorPoint[PAUSE_WORLD_MAP];
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
sStickAdjTimer = 0; sStickAdjTimer = 0;
do { do {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP]++; pauseCtx->cursorPoint[PAUSE_WORLD_MAP]++;
@ -967,7 +967,7 @@ void KaleidoScope_UpdateWorldMapCursor(PlayState* play) {
} }
} while (!pauseCtx->worldMapPoints[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]); } while (!pauseCtx->worldMapPoints[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]);
} else if (pauseCtx->stickAdjX < -30) { } else if (pauseCtx->stickAdjX < -30) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
sStickAdjTimer = 0; sStickAdjTimer = 0;
do { do {
pauseCtx->cursorPoint[PAUSE_WORLD_MAP]--; pauseCtx->cursorPoint[PAUSE_WORLD_MAP]--;

View File

@ -309,7 +309,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
while (moveCursorResult == PAUSE_CURSOR_RESULT_NONE) { while (moveCursorResult == PAUSE_CURSOR_RESULT_NONE) {
if (pauseCtx->stickAdjX < -30) { if (pauseCtx->stickAdjX < -30) {
// move cursor left // move cursor left
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorXIndex[PAUSE_MASK] != 0) { if (pauseCtx->cursorXIndex[PAUSE_MASK] != 0) {
pauseCtx->cursorXIndex[PAUSE_MASK]--; pauseCtx->cursorXIndex[PAUSE_MASK]--;
pauseCtx->cursorPoint[PAUSE_MASK]--; pauseCtx->cursorPoint[PAUSE_MASK]--;
@ -339,7 +339,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
} }
} else if (pauseCtx->stickAdjX > 30) { } else if (pauseCtx->stickAdjX > 30) {
// move cursor right // move cursor right
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
if (pauseCtx->cursorXIndex[PAUSE_MASK] <= 4) { if (pauseCtx->cursorXIndex[PAUSE_MASK] <= 4) {
pauseCtx->cursorXIndex[PAUSE_MASK]++; pauseCtx->cursorXIndex[PAUSE_MASK]++;
pauseCtx->cursorPoint[PAUSE_MASK]++; pauseCtx->cursorPoint[PAUSE_MASK]++;
@ -380,7 +380,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
} }
} else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) { } else if (pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) {
if (pauseCtx->stickAdjX > 30) { if (pauseCtx->stickAdjX > 30) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
cursorYIndex = 0; cursorYIndex = 0;
cursorXIndex = 0; cursorXIndex = 0;
cursorPoint = 0; // top row, left column (SLOT_MASK_POSTMAN) cursorPoint = 0; // top row, left column (SLOT_MASK_POSTMAN)
@ -421,7 +421,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
//! FAKE: //! FAKE:
if (1) {} if (1) {}
if (pauseCtx->stickAdjX < -30) { if (pauseCtx->stickAdjX < -30) {
func_80821A04(play); KaleidoScope_MoveCursorFromSpecialPos(play);
cursorXIndex = 5; cursorXIndex = 5;
cursorPoint = 5; // top row, right column (SLOT_MASK_DEKU) cursorPoint = 5; // top row, right column (SLOT_MASK_DEKU)
cursorYIndex = 0; cursorYIndex = 0;
@ -473,7 +473,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
// move cursor up // move cursor up
moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS; moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS;
if (pauseCtx->cursorYIndex[PAUSE_MASK] != 0) { if (pauseCtx->cursorYIndex[PAUSE_MASK] != 0) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
pauseCtx->cursorYIndex[PAUSE_MASK]--; pauseCtx->cursorYIndex[PAUSE_MASK]--;
pauseCtx->cursorPoint[PAUSE_MASK] -= 6; pauseCtx->cursorPoint[PAUSE_MASK] -= 6;
moveCursorResult = PAUSE_CURSOR_RESULT_SLOT; moveCursorResult = PAUSE_CURSOR_RESULT_SLOT;
@ -485,7 +485,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
// move cursor down // move cursor down
moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS; moveCursorResult = PAUSE_CURSOR_RESULT_SPECIAL_POS;
if (pauseCtx->cursorYIndex[PAUSE_MASK] < 3) { if (pauseCtx->cursorYIndex[PAUSE_MASK] < 3) {
pauseCtx->unk_298 = 4.0f; pauseCtx->cursorShrinkRate = 4.0f;
pauseCtx->cursorYIndex[PAUSE_MASK]++; pauseCtx->cursorYIndex[PAUSE_MASK]++;
pauseCtx->cursorPoint[PAUSE_MASK] += 6; pauseCtx->cursorPoint[PAUSE_MASK] += 6;
moveCursorResult = PAUSE_CURSOR_RESULT_SLOT; moveCursorResult = PAUSE_CURSOR_RESULT_SLOT;

View File

@ -76,9 +76,9 @@ typedef enum {
} PauseMainState; } PauseMainState;
typedef enum { typedef enum {
/* 0x00 */ PAUSE_SAVEPROMPT_STATE_0, /* 0x00 */ PAUSE_SAVEPROMPT_STATE_APPEARING,
/* 0x01 */ PAUSE_SAVEPROMPT_STATE_1, /* 0x01 */ PAUSE_SAVEPROMPT_STATE_1,
/* 0x02 */ PAUSE_SAVEPROMPT_STATE_2, /* 0x02 */ PAUSE_SAVEPROMPT_STATE_RETURN_TO_MENU,
/* 0x03 */ PAUSE_SAVEPROMPT_STATE_3, /* 0x03 */ PAUSE_SAVEPROMPT_STATE_3,
/* 0x04 */ PAUSE_SAVEPROMPT_STATE_4, /* 0x04 */ PAUSE_SAVEPROMPT_STATE_4,
/* 0x05 */ PAUSE_SAVEPROMPT_STATE_5, /* 0x05 */ PAUSE_SAVEPROMPT_STATE_5,
@ -303,9 +303,35 @@ typedef enum {
/* 66 */ QUAD_MAP_PAGE_WORLD_MAX /* 66 */ QUAD_MAP_PAGE_WORLD_MAX
} WorldMapPageQuad; } WorldMapPageQuad;
// === INFO PANEL === //
/**
* infoPanelVtx
*
* infoPanelVtx[0] name panel left texture
* infoPanelVtx[4] name panel right texture
* infoPanelVtx[8] Z Button icon
* infoPanelVtx[12] R Button icon
* infoPanelVtx[16] A button icon (or name segment)
* infoPanelVtx[20] pause-to-decide texture
* infoPanelVtx[24] (unused) oot remnant of Gold Skulltula Icon Texture
*/
#define PAUSE_NAME_COLOR_SET_WHITE 0 #define PAUSE_NAME_COLOR_SET_WHITE 0
#define PAUSE_NAME_COLOR_SET_GREY 1 #define PAUSE_NAME_COLOR_SET_GREY 1
// === CURSOR === //
/**
* cursorVtx
*
* cursorVtx[0] cursor circle
* cursorVtx[4] (unused) oot remnant of top-right corner of cursor
* cursorVtx[8] (unused) oot remnant of bottom-left corner of cursor
* cursorVtx[12] (unused) oot remnant of bottom-right corner of cursor
* cursorVtx[16] equipping item icon (while moving)
*/
#define PAUSE_CURSOR_COLOR_SET_WHITE 0 #define PAUSE_CURSOR_COLOR_SET_WHITE 0
#define PAUSE_CURSOR_COLOR_SET_YELLOW 2 #define PAUSE_CURSOR_COLOR_SET_YELLOW 2
#define PAUSE_CURSOR_COLOR_SET_BLUE 4 #define PAUSE_CURSOR_COLOR_SET_BLUE 4
@ -326,6 +352,36 @@ typedef enum {
/* 5 */ PAUSE_QUAD_CURSOR_MAX /* 5 */ PAUSE_QUAD_CURSOR_MAX
} PauseCursorQuad; } PauseCursorQuad;
// === PROMPT === //
/**
* promptPageVtx (unused in MM, inferred from OoT)
*
* // PAGE_BG_QUADS
* promptPageVtx[0] prompt page background texture: row 0, column 0
* promptPageVtx[4] prompt page background texture: row 1, column 0
* promptPageVtx[8] prompt page background texture: row 2, column 0
* promptPageVtx[12] prompt page background texture: row 3, column 0
* promptPageVtx[16] prompt page background texture: row 4, column 0
* promptPageVtx[20] prompt page background texture: row 0, column 1
* promptPageVtx[24] prompt page background texture: row 1, column 1
* promptPageVtx[28] prompt page background texture: row 2, column 1
* promptPageVtx[32] prompt page background texture: row 3, column 1
* promptPageVtx[36] prompt page background texture: row 4, column 1
* promptPageVtx[40] prompt page background texture: row 0, column 2
* promptPageVtx[44] prompt page background texture: row 1, column 2
* promptPageVtx[48] prompt page background texture: row 2, column 2
* promptPageVtx[52] prompt page background texture: row 3, column 2
* promptPageVtx[56] prompt page background texture: row 4, column 2
*
* // QUAD_PROMPT_MAX
* promptPageVtx[60] message
* promptPageVtx[64] cursor left
* promptPageVtx[68] cursor right
* promptPageVtx[72] choice (yes)
* promptPageVtx[76] choice (no)
*/
#define PAUSE_PROMPT_YES 0 #define PAUSE_PROMPT_YES 0
#define PAUSE_PROMPT_NO 4 #define PAUSE_PROMPT_NO 4
@ -342,7 +398,7 @@ typedef enum {
void KaleidoScope_MoveCursorToSpecialPos(PlayState* play, s16 cursorSpecialPos); void KaleidoScope_MoveCursorToSpecialPos(PlayState* play, s16 cursorSpecialPos);
void KaleidoScope_DrawTexQuadRGBA32(GraphicsContext* gfxCtx, TexturePtr texture, u16 width, u16 height, u16 point); void KaleidoScope_DrawTexQuadRGBA32(GraphicsContext* gfxCtx, TexturePtr texture, u16 width, u16 height, u16 point);
void KaleidoScope_SetView(PauseContext* pauseCtx, f32 eyeX, f32 eyeY, f32 eyeZ); void KaleidoScope_SetView(PauseContext* pauseCtx, f32 eyeX, f32 eyeY, f32 eyeZ);
void func_80821A04(PlayState* play); void KaleidoScope_MoveCursorFromSpecialPos(PlayState* play);
// Map // Map
void KaleidoScope_DrawDungeonMap(PlayState* play); void KaleidoScope_DrawDungeonMap(PlayState* play);

View File

@ -4218,28 +4218,28 @@
0x808204AC:("KaleidoScope_UpdateMaskCursor",), 0x808204AC:("KaleidoScope_UpdateMaskCursor",),
0x80820FA4:("KaleidoScope_UpdateMaskEquip",), 0x80820FA4:("KaleidoScope_UpdateMaskEquip",),
0x80821730:("KaleidoScope_UpdatePrompt",), 0x80821730:("KaleidoScope_UpdatePrompt",),
0x80821900:("func_80821900",), 0x80821900:("Kaleido_LoadMapNameStatic",),
0x8082192C:("func_8082192C",), 0x8082192C:("Kaleido_LoadMapNameStaticLarge",),
0x80821958:("func_80821958",), 0x80821958:("Kaleido_LoadItemNameStatic",),
0x80821984:("KaleidoScope_MoveCursorToSpecialPos",), 0x80821984:("KaleidoScope_MoveCursorToSpecialPos",),
0x80821A04:("func_80821A04",), 0x80821A04:("KaleidoScope_MoveCursorFromSpecialPos",),
0x80821AD4:("KaleidoScope_DrawTexQuadRGBA32",), 0x80821AD4:("KaleidoScope_DrawTexQuadRGBA32",),
0x80821CC4:("func_80821CC4",), 0x80821CC4:("KaleidoScope_SwitchPage",),
0x80821D84:("KaleidoScope_HandlePageToggles",), 0x80821D84:("KaleidoScope_HandlePageToggles",),
0x80821F30:("KaleidoScope_DrawPageSections",), 0x80821F30:("KaleidoScope_DrawPageSections",),
0x808221DC:("KaleidoScope_DrawPages",), 0x808221DC:("KaleidoScope_DrawPages",),
0x80823350:("func_80823350",), 0x80823350:("KaleidoScope_DrawInfoPanel",),
0x80824738:("KaleidoScope_UpdateNamePanel",), 0x80824738:("KaleidoScope_UpdateNamePanel",),
0x808248D0:("KaleidoScope_DrawOwlWarpMapPage",), 0x808248D0:("KaleidoScope_DrawOwlWarpMapPage",),
0x80824B90:("func_80824B90",), 0x80824B90:("KaleidoScope_DrawOwlWarpInfoPanel",),
0x808256E4:("KaleidoScope_UpdateOwlWarpNamePanel",), 0x808256E4:("KaleidoScope_UpdateOwlWarpNamePanel",),
0x8082585C:("KaleidoScope_UpdateSwitchPage",), 0x8082585C:("KaleidoScope_UpdateSwitchPage",),
0x808259D4:("KaleidoScope_SetView",), 0x808259D4:("KaleidoScope_SetView",),
0x80825A50:("KaleidoScope_SetPageVertices",), 0x80825A50:("KaleidoScope_SetPageVertices",),
0x80825E28:("KaleidoScope_SetVertices",), 0x80825E28:("KaleidoScope_SetVertices",),
0x808274DC:("func_808274DC",), 0x808274DC:("KaleidoScope_UpdateCursorSize",),
0x80827A8C:("func_80827A8C",), 0x80827A8C:("KaleidoScope_DrawCursor",),
0x80827E08:("func_80827E08",), 0x80827E08:("KaleidoScope_DrawGameOver",),
0x808283D8:("KaleidoScope_Draw",), 0x808283D8:("KaleidoScope_Draw",),
0x808286D8:("KaleidoScope_GrayOutTextureRGBA32",), 0x808286D8:("KaleidoScope_GrayOutTextureRGBA32",),
0x80828788:("KaleidoScope_UpdateOpening",), 0x80828788:("KaleidoScope_UpdateOpening",),

View File

@ -1967,7 +1967,7 @@
0x801C6A8C:("D_801C6A8C","UNK_TYPE2","",0x2), 0x801C6A8C:("D_801C6A8C","UNK_TYPE2","",0x2),
0x801C6A90:("D_801C6A90","UNK_TYPE2","",0x2), 0x801C6A90:("D_801C6A90","UNK_TYPE2","",0x2),
0x801C6A94:("D_801C6A94","UNK_TYPE2","",0x2), 0x801C6A94:("D_801C6A94","UNK_TYPE2","",0x2),
0x801C6A98:("D_801C6A98","UNK_TYPE1","",0x1), 0x801C6A98:("gPageSwitchNextButtonStatus","UNK_TYPE1","",0x1),
0x801C6AB8:("D_801C6AB8","UNK_TYPE1","",0x1), 0x801C6AB8:("D_801C6AB8","UNK_TYPE1","",0x1),
0x801C6B28:("D_801C6B28","UNK_TYPE1","",0x1), 0x801C6B28:("D_801C6B28","UNK_TYPE1","",0x1),
0x801C6B98:("D_801C6B98","UNK_TYPE1","",0x1), 0x801C6B98:("D_801C6B98","UNK_TYPE1","",0x1),
@ -4638,7 +4638,7 @@
0x80816004:("sDayRightTextures","TexturePtr","[4]",0x10), 0x80816004:("sDayRightTextures","TexturePtr","[4]",0x10),
0x80816014:("sHoursLeftTextures","TexturePtr","[3]",0xC), 0x80816014:("sHoursLeftTextures","TexturePtr","[3]",0xC),
0x8082AED0:("sQuestRemainsColorTimerInit","UNK_TYPE1","",0x1), 0x8082AED0:("sQuestRemainsColorTimerInit","UNK_TYPE1","",0x1),
0x8082AED8:("sQuestHpColorTimerInit","UNK_TYPE1","",0x1), 0x8082AED8:("sQuestHpColorTimerInits","UNK_TYPE1","",0x1),
0x8082AEE0:("sQuestSongPlayedOcarinaButtonsNum","UNK_TYPE2","",0x2), 0x8082AEE0:("sQuestSongPlayedOcarinaButtonsNum","UNK_TYPE2","",0x2),
0x8082AEE4:("sQuestSongPlayedOcarinaButtons","UNK_TYPE1","",0x1), 0x8082AEE4:("sQuestSongPlayedOcarinaButtons","UNK_TYPE1","",0x1),
0x8082AEF0:("sQuestSongPlayedOcarinaButtonsAlpha","UNK_TYPE2","",0x2), 0x8082AEF0:("sQuestSongPlayedOcarinaButtonsAlpha","UNK_TYPE2","",0x2),
@ -4744,7 +4744,7 @@
0x8082B918:("sPauseCursorLeftX","UNK_TYPE2","",0x2), 0x8082B918:("sPauseCursorLeftX","UNK_TYPE2","",0x2),
0x8082B91C:("sPauseCursorRightX","UNK_TYPE2","",0x2), 0x8082B91C:("sPauseCursorRightX","UNK_TYPE2","",0x2),
0x8082B920:("D_8082B920","UNK_TYPE2","",0x2), 0x8082B920:("D_8082B920","UNK_TYPE2","",0x2),
0x8082B924:("D_8082B924","UNK_TYPE2","",0x2), 0x8082B924:("sPauseZRCursorColorTimerInits","UNK_TYPE2","",0x2),
0x8082B944:("sGameOverRectPosY","UNK_TYPE2","",0x2), 0x8082B944:("sGameOverRectPosY","UNK_TYPE2","",0x2),
0x8082B948:("sCursorPrimColorTarget","UNK_TYPE2","",0x2), 0x8082B948:("sCursorPrimColorTarget","UNK_TYPE2","",0x2),
0x8082B96C:("sCursorEnvColorTarget","UNK_TYPE2","",0x2), 0x8082B96C:("sCursorEnvColorTarget","UNK_TYPE2","",0x2),
@ -4752,12 +4752,12 @@
0x8082B994:("sCursorColorTargetIndex","UNK_TYPE2","",0x2), 0x8082B994:("sCursorColorTargetIndex","UNK_TYPE2","",0x2),
0x8082B998:("D_8082B998","UNK_TYPE1","",0x1), 0x8082B998:("D_8082B998","UNK_TYPE1","",0x1),
0x8082B9A8:("D_8082B9A8","UNK_TYPE1","",0x1), 0x8082B9A8:("D_8082B9A8","UNK_TYPE1","",0x1),
0x8082B9B8:("D_8082B9B8","UNK_TYPE1","",0x1), 0x8082B9B8:("sPauseZRCursorColorTargets","UNK_TYPE1","",0x1),
0x8082B9C8:("D_8082B9C8","UNK_TYPE2","",0x2), 0x8082B9C8:("sPauseZRCursorColorTimer","UNK_TYPE2","",0x2),
0x8082B9CC:("D_8082B9CC","UNK_TYPE2","",0x2), 0x8082B9CC:("sPauseZRCursorColorIndex","UNK_TYPE2","",0x2),
0x8082B9D0:("D_8082B9D0","UNK_TYPE1","",0x1), 0x8082B9D0:("sPauseZRCursorColorTargets","UNK_TYPE1","",0x1),
0x8082B9E0:("D_8082B9E0","UNK_TYPE2","",0x2), 0x8082B9E0:("sPauseZRCursorColorTimer","UNK_TYPE2","",0x2),
0x8082B9E4:("D_8082B9E4","UNK_TYPE2","",0x2), 0x8082B9E4:("sPauseZRCursorColorIndex","UNK_TYPE2","",0x2),
0x8082B9E8:("sVtxPageMaskQuadsX","UNK_TYPE1","",0x1), 0x8082B9E8:("sVtxPageMaskQuadsX","UNK_TYPE1","",0x1),
0x8082B9EC:("sVtxPageItemQuadsX","UNK_TYPE1","",0x1), 0x8082B9EC:("sVtxPageItemQuadsX","UNK_TYPE1","",0x1),
0x8082B9F0:("sVtxPageMapDungeonQuadsX","UNK_TYPE1","",0x1), 0x8082B9F0:("sVtxPageMapDungeonQuadsX","UNK_TYPE1","",0x1),
@ -4789,17 +4789,17 @@
0x8082BBC4:("sQuestVtxRectTop","UNK_TYPE2","",0x2), 0x8082BBC4:("sQuestVtxRectTop","UNK_TYPE2","",0x2),
0x8082BC14:("sQuestVtxWidths","UNK_TYPE2","",0x2), 0x8082BC14:("sQuestVtxWidths","UNK_TYPE2","",0x2),
0x8082BC64:("sQuestVtxHeights","UNK_TYPE2","",0x2), 0x8082BC64:("sQuestVtxHeights","UNK_TYPE2","",0x2),
0x8082BCB4:("D_8082BCB4","UNK_TYPE1","",0x1), 0x8082BCB4:("sItemMaskCursorsX","UNK_TYPE1","",0x1),
0x8082BCCC:("D_8082BCCC","UNK_TYPE1","",0x1), 0x8082BCCC:("sItemMaskCursorsY","UNK_TYPE1","",0x1),
0x8082BCDC:("D_8082BCDC","UNK_TYPE1","",0x1), 0x8082BCDC:("sWorldMapCursorsX","UNK_TYPE1","",0x1),
0x8082BD08:("D_8082BD08","UNK_TYPE1","",0x1), 0x8082BD08:("sWorldMapCursorsY","UNK_TYPE1","",0x1),
0x8082BD34:("D_8082BD34","UNK_TYPE1","",0x1), 0x8082BD34:("sOwlWarpWorldMapCursorsX","UNK_TYPE1","",0x1),
0x8082BD5C:("D_8082BD5C","UNK_TYPE1","",0x1), 0x8082BD5C:("sOwlWarpWorldMapCursorsY","UNK_TYPE1","",0x1),
0x8082BD84:("D_8082BD84","UNK_TYPE1","",0x1), 0x8082BD84:("sDungeonMapCursorsX","UNK_TYPE1","",0x1),
0x8082BDA8:("D_8082BDA8","UNK_TYPE1","",0x1), 0x8082BDA8:("sDungeonMapCursorsY","UNK_TYPE1","",0x1),
0x8082BDCC:("D_8082BDCC","UNK_TYPE1","",0x1), 0x8082BDCC:("sQuestStatusCursorsX","UNK_TYPE1","",0x1),
0x8082BE28:("D_8082BE28","UNK_TYPE1","",0x1), 0x8082BE28:("sQuestStatusCursorsY","UNK_TYPE1","",0x1),
0x8082BE84:("D_8082BE84","UNK_TYPE2","",0x2), 0x8082BE84:("sGameOverUlt","UNK_TYPE2","",0x2),
0x8082BE88:("sCursorPointsToOcarinaModes","UNK_TYPE1","",0x1), 0x8082BE88:("sCursorPointsToOcarinaModes","UNK_TYPE1","",0x1),
0x8082BE9C:("sUnpausedHudVisibility","UNK_TYPE2","",0x2), 0x8082BE9C:("sUnpausedHudVisibility","UNK_TYPE2","",0x2),
0x8082BEA0:("sNextMainState","UNK_TYPE2","",0x2), 0x8082BEA0:("sNextMainState","UNK_TYPE2","",0x2),
@ -4921,23 +4921,23 @@
0x8082C0E4:("jtbl_8082C0E4","UNK_PTR","",0x4), 0x8082C0E4:("jtbl_8082C0E4","UNK_PTR","",0x4),
0x8082C148:("jtbl_8082C148","UNK_PTR","",0x4), 0x8082C148:("jtbl_8082C148","UNK_PTR","",0x4),
0x8082C18C:("jtbl_8082C18C","UNK_PTR","",0x4), 0x8082C18C:("jtbl_8082C18C","UNK_PTR","",0x4),
0x8082DA50:("D_8082DA50","UNK_TYPE1","",0x1), 0x8082DA50:("sPauseZRCursorRed","UNK_TYPE1","",0x1),
0x8082DA52:("D_8082DA52","UNK_TYPE1","",0x1), 0x8082DA52:("sPauseZRCursorGreen","UNK_TYPE1","",0x1),
0x8082DA54:("D_8082DA54","UNK_TYPE1","",0x1), 0x8082DA54:("sPauseZRCursorBlue","UNK_TYPE1","",0x1),
0x8082DA56:("D_8082DA56","UNK_TYPE1","",0x1), 0x8082DA56:("sPauseZRCursorAlpha","UNK_TYPE1","",0x1),
0x8082DA58:("sUnpausedButtonStatus","UNK_TYPE1","",0x1), 0x8082DA58:("sUnpausedButtonStatus","UNK_TYPE1","",0x1),
0x8082DA60:("D_8082DA60","f32","",0x4), 0x8082DA60:("sCursorCirclesX","f32","",0x4),
0x8082DA64:("D_8082DA64","f32","",0x4), 0x8082DA64:("D_8082DA64","f32","",0x4),
0x8082DA68:("D_8082DA68","f32","",0x4), 0x8082DA68:("D_8082DA68","f32","",0x4),
0x8082DA6C:("D_8082DA6C","f32","",0x4), 0x8082DA6C:("D_8082DA6C","f32","",0x4),
0x8082DA70:("D_8082DA70","f32","",0x4), 0x8082DA70:("sCursorCirclesY","f32","",0x4),
0x8082DA74:("D_8082DA74","f32","",0x4), 0x8082DA74:("D_8082DA74","f32","",0x4),
0x8082DA78:("D_8082DA78","f32","",0x4), 0x8082DA78:("D_8082DA78","f32","",0x4),
0x8082DA7C:("D_8082DA7C","f32","",0x4), 0x8082DA7C:("D_8082DA7C","f32","",0x4),
0x8082DA80:("D_8082DA80","UNK_TYPE1","",0x1), 0x8082DA80:("sPauseZRCursorRed","UNK_TYPE1","",0x1),
0x8082DA82:("D_8082DA82","UNK_TYPE1","",0x1), 0x8082DA82:("sPauseZRCursorGreen","UNK_TYPE1","",0x1),
0x8082DA84:("D_8082DA84","UNK_TYPE1","",0x1), 0x8082DA84:("sPauseZRCursorBlue","UNK_TYPE1","",0x1),
0x8082DA86:("D_8082DA86","UNK_TYPE1","",0x1), 0x8082DA86:("sPauseZRCursorAlpha","UNK_TYPE1","",0x1),
0x8085B9F0:("D_8085B9F0","UNK_TYPE1","",0x1), 0x8085B9F0:("D_8085B9F0","UNK_TYPE1","",0x1),
0x8085BA08:("D_8085BA08","UNK_TYPE1","",0x1), 0x8085BA08:("D_8085BA08","UNK_TYPE1","",0x1),
0x8085BA20:("D_8085BA20","UNK_TYPE1","",0x1), 0x8085BA20:("D_8085BA20","UNK_TYPE1","",0x1),

View File

@ -1159,20 +1159,6 @@ D_0B000188 = 0x0B000188;
// segment 0x0C // segment 0x0C
D_0C000000 = 0x0C000000; D_0C000000 = 0x0C000000;
D_0C000800 = 0x0C000800;
D_0C001000 = 0x0C001000;
D_0C001800 = 0x0C001800;
D_0C001980 = 0x0C001980;
D_0C006C00 = 0x0C006C00;
D_0C006E00 = 0x0C006E00;
D_0C014668 = 0x0C014668;
// segment 0x0D
D_0D002000 = 0x0D002000;
D_0D002200 = 0x0D002200;
D_0D002400 = 0x0D002400;
D_0D003700 = 0x0D003700;
// segment 0x0E // segment 0x0E