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
This commit is contained in:
Dragorn421
2024-09-11 18:58:33 +02:00
committed by GitHub
parent d9af701b88
commit 64570e871f
12 changed files with 308 additions and 255 deletions
+4
View File
@@ -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))
+19 -8
View File
@@ -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;