summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDragorn421 <Dragorn421@users.noreply.github.com>2024-09-11 18:58:33 +0200
committerGitHub <noreply@github.com>2024-09-11 18:58:33 +0200
commit64570e871f08e64d2a2fd1e6b8fa32009dc78e88 (patch)
treeaedbe4a34a6b5e9c6a31ef905a12008e7a4a97aa /include
parentd9af701b88db6219954939e47c3eb0f4d1df8051 (diff)
Pause doc: Prompt page and save prompt state (#2170)
* Pause doc: Prompt page and save prompt state * bss * `QUAD_PROMPT_` -> `PROMPT_QUAD_` * `QUAD_MAP_WORLD_`, `QUAD_MAP_` -> `WORLD_MAP_QUAD_` * `PAUSE_QUAD_CURSOR_` -> `PAUSE_CURSOR_QUAD_` * `PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU_ALT` -> `_2` * bss * bss * add comments to help clarify save prompt vs prompt
Diffstat (limited to 'include')
-rw-r--r--include/regs.h4
-rw-r--r--include/z64pause.h27
2 files changed, 23 insertions, 8 deletions
diff --git a/include/regs.h b/include/regs.h
index 4f8968a0c..9d98e971e 100644
--- a/include/regs.h
+++ b/include/regs.h
@@ -226,6 +226,10 @@
#define R_TEXT_ADJUST_COLOR_2_B VREG(38)
#define R_OCARINA_BUTTONS_YPOS(note) VREG(45 + (note))
#define R_OCARINA_BUTTONS_YPOS_OFFSET VREG(51)
+#define R_KALEIDO_PROMPT_CURSOR_ALPHA_TIMER_BASE VREG(60)
+#define R_KALEIDO_PROMPT_CURSOR_ALPHA VREG(61)
+#define R_KALEIDO_PROMPT_CURSOR_ALPHA_STATE VREG(62)
+#define R_KALEIDO_PROMPT_CURSOR_ALPHA_TIMER VREG(63)
#define R_ITEM_AMMO_X(i) VREG(64 + (i))
#define R_ITEM_AMMO_Y(i) VREG(68 + (i))
#define R_ITEM_ICON_WIDTH(i) VREG(76 + (i))
diff --git a/include/z64pause.h b/include/z64pause.h
index 880252178..c9485a1e2 100644
--- a/include/z64pause.h
+++ b/include/z64pause.h
@@ -97,13 +97,24 @@ typedef enum PauseMainState {
/* 9 */ PAUSE_MAIN_STATE_9
} PauseMainState;
+// Sub-states of PAUSE_STATE_SAVE_PROMPT
+typedef enum PauseSavePromptState {
+ /* 0 */ PAUSE_SAVE_PROMPT_STATE_APPEARING,
+ /* 1 */ PAUSE_SAVE_PROMPT_STATE_WAIT_CHOICE,
+ /* 2 */ PAUSE_SAVE_PROMPT_STATE_CLOSING,
+ /* 3 */ PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU,
+ /* 4 */ PAUSE_SAVE_PROMPT_STATE_SAVED,
+ /* 5 */ PAUSE_SAVE_PROMPT_STATE_CLOSING_AFTER_SAVED,
+ /* 6 */ PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU_2 // unused
+} PauseSavePromptState;
+
typedef enum PauseCursorQuad {
- /* 0 */ PAUSE_QUAD_CURSOR_TL,
- /* 1 */ PAUSE_QUAD_CURSOR_TR,
- /* 2 */ PAUSE_QUAD_CURSOR_BL,
- /* 3 */ PAUSE_QUAD_CURSOR_BR,
- /* 4 */ PAUSE_QUAD_CURSOR_4,
- /* 5 */ PAUSE_QUAD_CURSOR_MAX
+ /* 0 */ PAUSE_CURSOR_QUAD_TL,
+ /* 1 */ PAUSE_CURSOR_QUAD_TR,
+ /* 2 */ PAUSE_CURSOR_QUAD_BL,
+ /* 3 */ PAUSE_CURSOR_QUAD_BR,
+ /* 4 */ PAUSE_CURSOR_QUAD_4,
+ /* 5 */ PAUSE_CURSOR_QUAD_MAX
} PauseCursorQuad;
typedef enum WorldMapPoint {
@@ -149,7 +160,7 @@ typedef struct PauseContext {
/* 0x0160 */ char unk_160[0x04];
/* 0x0164 */ Vtx* questVtx;
/* 0x0168 */ Vtx* cursorVtx;
- /* 0x016C */ Vtx* saveVtx;
+ /* 0x016C */ Vtx* promptPageVtx; // Used by both the pause menu save prompt and the gameover prompt
/* 0x0170 */ char unk_170[0x24];
/* 0x0194 */ struct OcarinaStaff* ocarinaStaff;
/* 0x0198 */ char unk_198[0x20];
@@ -162,7 +173,7 @@ typedef struct PauseContext {
/* 0x01E6 */ u16 nextPageMode; // During a page switch, indicates the page before switching and the direction to scroll in. Value is `(2 * prev pageIndex) + (scroll left ? 1 : 0)`
/* 0x01E8 */ u16 pageIndex; // "kscp_pos"
/* 0x01EA */ u16 pageSwitchTimer;
- /* 0x01EC */ u16 unk_1EC;
+ /* 0x01EC */ u16 savePromptState;
/* 0x01F0 */ f32 unk_1F0;
/* 0x01F4 */ f32 unk_1F4;
/* 0x01F8 */ f32 unk_1F8;