1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 06:24:30 +00:00

Pause docs: UIOverlay quads dimensions (#2644)

This commit is contained in:
Dragorn421 2025-06-28 07:23:00 +01:00 committed by GitHub
parent ffd84af543
commit b5f980570c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 154 additions and 129 deletions

View file

@ -692,20 +692,17 @@ u64 gPauseGameOver10Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HE
// Various textures and DLs
#define gABtnSymbolTex_WIDTH 24
#define gABtnSymbolTex_HEIGHT 16
#define gABtnSymbolTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gABtnSymbolTex[TEX_LEN(u64, gABtnSymbolTex_WIDTH, gABtnSymbolTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gABtnSymbolTex.ia8.inc.c"
};
#define gBBtnSymbolTex_WIDTH 24
#define gBBtnSymbolTex_HEIGHT 16
#define gBBtnSymbolTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gBBtnSymbolTex[TEX_LEN(u64, gBBtnSymbolTex_WIDTH, gBBtnSymbolTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gBBtnSymbolTex.ia8.inc.c"
};
#define gCBtnSymbolsTex_WIDTH 48
#define gCBtnSymbolsTex_HEIGHT 16
#define gCBtnSymbolsTex_HEIGHT UI_OVERLAY_QUAD_INFO_ICON_HEIGHT
u64 gCBtnSymbolsTex[TEX_LEN(u64, gCBtnSymbolsTex_WIDTH, gCBtnSymbolsTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gCBtnSymbolsTex.ia8.inc.c"
};
@ -722,14 +719,14 @@ u64 gInfoPanelBgRightTex[TEX_LEN(u64, gInfoPanelBgRightTex_WIDTH, gInfoPanelBgRi
#include "assets/textures/icon_item_static/gInfoPanelBgRightTex.ia8.inc.c"
};
#define gLButtonTex_WIDTH 24
#define gLButtonTex_HEIGHT 32
#define gLButtonTex_WIDTH UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH
#define gLButtonTex_HEIGHT UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT
u64 gLButtonTex[TEX_LEN(u64, gLButtonTex_WIDTH, gLButtonTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gLButtonTex.ia8.inc.c"
};
#define gRButtonTex_WIDTH 24
#define gRButtonTex_HEIGHT 32
#define gRButtonTex_WIDTH UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH
#define gRButtonTex_HEIGHT UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT
u64 gRButtonTex[TEX_LEN(u64, gRButtonTex_WIDTH, gRButtonTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gRButtonTex.ia8.inc.c"
};

View file

@ -184,6 +184,10 @@ extern u64 gPauseSave14Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX
extern u64 gPauseSave24Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
extern u64 gPauseGameOver10Tex[TEX_LEN(u64, PAGE_BG_QUAD_TEX_WIDTH, PAGE_BG_QUAD_TEX_HEIGHT, 8)];
#define gABtnSymbolTex_WIDTH 24
#define gBBtnSymbolTex_WIDTH 24
#define gCBtnSymbolsTex_WIDTH 48
#define gSongNoteTex_WIDTH 16
#define gSongNoteTex_HEIGHT 24
extern u64 gSongNoteTex[TEX_LEN(u64, gSongNoteTex_WIDTH, gSongNoteTex_HEIGHT, 8)];

View file

@ -107,12 +107,12 @@ struct PlayState;
#define R_TEXTBOX_WIDTH YREG(22)
#define R_TEXTBOX_HEIGHT YREG(23)
#if OOT_NTSC
#define R_KALEIDO_UNK1(i) YREG(48 + (i))
#define R_KALEIDO_UNK2(i) YREG(50 + (i))
#define R_KALEIDO_UNK3(i) YREG(52 + (i))
#define R_KALEIDO_UNK4(i) YREG(54 + (i))
#define R_KALEIDO_UNK5(i) YREG(56 + (i))
#define R_KALEIDO_UNK6(i) YREG(58 + (i))
#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) YREG(48 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_X(i) YREG(50 + (i))
#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) YREG(52 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) YREG(54 + (i))
#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) YREG(56 + (i))
#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) YREG(58 + (i))
#endif
#define R_TEXTBOX_ICON_XPOS YREG(71)
#define R_TEXTBOX_ICON_YPOS YREG(72)
@ -198,6 +198,9 @@ struct PlayState;
#define R_B_LABEL_Y(i) WREG(12 + (i))
#define R_A_LABEL_Z(i) WREG(14 + (i))
#endif
#define R_PAUSE_BUTTON_LEFT_X WREG(16)
#define R_PAUSE_BUTTON_RIGHT_X WREG(17)
#define R_PAUSE_BUTTON_LEFT_RIGHT_Y WREG(18)
#define R_OW_MINIMAP_X WREG(29)
#define R_OW_MINIMAP_Y WREG(30)
#define R_MINIMAP_DISABLED WREG(31)
@ -206,12 +209,12 @@ struct PlayState;
#define R_B_LABEL_X(i) WREG(40 + (i))
#define R_B_LABEL_Y(i) WREG(43 + (i))
#define R_A_LABEL_Z(i) WREG(46 + (i))
#define R_KALEIDO_UNK1(i) WREG(49 + (i))
#define R_KALEIDO_UNK2(i) WREG(52 + (i))
#define R_KALEIDO_UNK3(i) WREG(55 + (i))
#define R_KALEIDO_UNK4(i) WREG(58 + (i))
#define R_KALEIDO_UNK5(i) WREG(61 + (i))
#define R_KALEIDO_UNK6(i) WREG(64 + (i))
#define R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(i) WREG(49 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_X(i) WREG(52 + (i))
#define R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(i) WREG(55 + (i))
#define R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(i) WREG(58 + (i))
#define R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(i) WREG(61 + (i))
#define R_PAUSE_INFO_PANEL_ICON_EQUIP_X(i) WREG(64 + (i))
#endif
#define R_DGN_MINIMAP_X WREG(68)
#define R_DGN_MINIMAP_Y WREG(69)

View file

@ -270,18 +270,18 @@ void Regs_InitDataImpl(void) {
YREG(47) = 0;
#if OOT_NTSC
R_KALEIDO_UNK1(LANGUAGE_JPN) = -45;
R_KALEIDO_UNK1(LANGUAGE_ENG) = -48;
R_KALEIDO_UNK2(LANGUAGE_JPN) = 16;
R_KALEIDO_UNK2(LANGUAGE_ENG) = 22;
R_KALEIDO_UNK3(LANGUAGE_JPN) = -55;
R_KALEIDO_UNK3(LANGUAGE_ENG) = -53;
R_KALEIDO_UNK4(LANGUAGE_JPN) = 43;
R_KALEIDO_UNK4(LANGUAGE_ENG) = 47;
R_KALEIDO_UNK5(LANGUAGE_JPN) = -33;
R_KALEIDO_UNK5(LANGUAGE_ENG) = -42;
R_KALEIDO_UNK6(LANGUAGE_JPN) = -33;
R_KALEIDO_UNK6(LANGUAGE_ENG) = -37;
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_JPN) = -45;
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_ENG) = -48;
R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_JPN) = 16;
R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_ENG) = 22;
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_JPN) = -55;
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_ENG) = -53;
R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_JPN) = 43;
R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_ENG) = 47;
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_JPN) = -33;
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_ENG) = -42;
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_JPN) = -33;
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_ENG) = -37;
#else
// Same as above, although these regs are now unused for PAL versions
YREG(48) = -45;
@ -548,9 +548,9 @@ void Regs_InitDataImpl(void) {
WREG(15) = -350;
#endif
WREG(16) = -175;
WREG(17) = 155;
WREG(18) = 10;
R_PAUSE_BUTTON_LEFT_X = -175;
R_PAUSE_BUTTON_RIGHT_X = 155;
R_PAUSE_BUTTON_LEFT_RIGHT_Y = 10;
WREG(19) = 10;
WREG(20) = -50;
WREG(21) = -54;
@ -582,24 +582,24 @@ void Regs_InitDataImpl(void) {
R_A_LABEL_Z(LANGUAGE_ENG) = -380;
R_A_LABEL_Z(LANGUAGE_GER) = -360;
R_A_LABEL_Z(LANGUAGE_FRA) = -350;
R_KALEIDO_UNK1(LANGUAGE_ENG) = -48;
R_KALEIDO_UNK1(LANGUAGE_GER) = 16;
R_KALEIDO_UNK1(LANGUAGE_FRA) = -62;
R_KALEIDO_UNK2(LANGUAGE_ENG) = 22;
R_KALEIDO_UNK2(LANGUAGE_GER) = -84;
R_KALEIDO_UNK2(LANGUAGE_FRA) = 20;
R_KALEIDO_UNK3(LANGUAGE_ENG) = -53;
R_KALEIDO_UNK3(LANGUAGE_GER) = 40;
R_KALEIDO_UNK3(LANGUAGE_FRA) = -64;
R_KALEIDO_UNK4(LANGUAGE_ENG) = 47;
R_KALEIDO_UNK4(LANGUAGE_GER) = -84;
R_KALEIDO_UNK4(LANGUAGE_FRA) = 44;
R_KALEIDO_UNK5(LANGUAGE_ENG) = -42;
R_KALEIDO_UNK5(LANGUAGE_GER) = 32;
R_KALEIDO_UNK5(LANGUAGE_FRA) = -45;
R_KALEIDO_UNK6(LANGUAGE_ENG) = -37;
R_KALEIDO_UNK6(LANGUAGE_GER) = 30;
R_KALEIDO_UNK6(LANGUAGE_FRA) = -50;
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_ENG) = -48;
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_GER) = 16;
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(LANGUAGE_FRA) = -62;
R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_ENG) = 22;
R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_GER) = -84;
R_PAUSE_INFO_PANEL_TEXT_X(LANGUAGE_FRA) = 20;
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_ENG) = -53;
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_GER) = 40;
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(LANGUAGE_FRA) = -64;
R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_ENG) = 47;
R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_GER) = -84;
R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(LANGUAGE_FRA) = 44;
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_ENG) = -42;
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_GER) = 32;
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(LANGUAGE_FRA) = -45;
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_ENG) = -37;
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_GER) = 30;
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(LANGUAGE_FRA) = -50;
#endif
R_DGN_MINIMAP_X = 204;

View file

@ -85,8 +85,8 @@ void KaleidoSetup_Update(PlayState* play) {
// The start button was pressed, pause
gSaveContext.prevHudVisibilityMode = gSaveContext.hudVisibilityMode;
WREG(16) = -175;
WREG(17) = 155;
R_PAUSE_BUTTON_LEFT_X = -175;
R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->pageSwitchTimer = 0;

View file

@ -1705,7 +1705,7 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
s16 stepG;
s16 stepB;
s16 stepA;
s16 temp;
s16 y;
s16 i;
s16 j;
@ -1746,15 +1746,15 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
D_8082AE04 ^= 1;
}
temp = pauseCtx->infoPanelOffsetY - 76;
y = pauseCtx->infoPanelOffsetY - 76;
for (j = 0, i = 0; i < UI_OVERLAY_QUAD_MAX; i++, j += 4) {
pauseCtx->uiOverlayVtx[j + 0].v.ob[0] = pauseCtx->uiOverlayVtx[j + 2].v.ob[0] = -72;
pauseCtx->uiOverlayVtx[j + 1].v.ob[0] = pauseCtx->uiOverlayVtx[j + 3].v.ob[0] = 0;
pauseCtx->uiOverlayVtx[j + 0].v.ob[1] = pauseCtx->uiOverlayVtx[j + 1].v.ob[1] = temp;
pauseCtx->uiOverlayVtx[j + 0].v.ob[1] = pauseCtx->uiOverlayVtx[j + 1].v.ob[1] = y;
pauseCtx->uiOverlayVtx[j + 2].v.ob[1] = pauseCtx->uiOverlayVtx[j + 3].v.ob[1] = temp - 24;
pauseCtx->uiOverlayVtx[j + 2].v.ob[1] = pauseCtx->uiOverlayVtx[j + 3].v.ob[1] = y - 24;
pauseCtx->uiOverlayVtx[j + 0].v.ob[2] = pauseCtx->uiOverlayVtx[j + 1].v.ob[2] =
pauseCtx->uiOverlayVtx[j + 2].v.ob[2] = pauseCtx->uiOverlayVtx[j + 3].v.ob[2] = 0;
@ -1765,9 +1765,10 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
pauseCtx->uiOverlayVtx[j + 0].v.tc[0] = pauseCtx->uiOverlayVtx[j + 0].v.tc[1] =
pauseCtx->uiOverlayVtx[j + 1].v.tc[1] = pauseCtx->uiOverlayVtx[j + 2].v.tc[0] = 0;
pauseCtx->uiOverlayVtx[j + 1].v.tc[0] = pauseCtx->uiOverlayVtx[j + 3].v.tc[0] = 0x900;
pauseCtx->uiOverlayVtx[j + 1].v.tc[0] = pauseCtx->uiOverlayVtx[j + 3].v.tc[0] = 72 * (1 << 5);
pauseCtx->uiOverlayVtx[j + 2].v.tc[1] = pauseCtx->uiOverlayVtx[j + 3].v.tc[1] = 0x300;
// 24 = gInfoPanelBgLeftTex_HEIGHT, gInfoPanelBgRightTex_HEIGHT, gQuestIconGoldSkulltulaTex_HEIGHT
pauseCtx->uiOverlayVtx[j + 2].v.tc[1] = pauseCtx->uiOverlayVtx[j + 3].v.tc[1] = 24 * (1 << 5);
pauseCtx->uiOverlayVtx[j + 0].v.cn[0] = pauseCtx->uiOverlayVtx[j + 2].v.cn[0] =
pauseCtx->uiOverlayVtx[j + 0].v.cn[1] = pauseCtx->uiOverlayVtx[j + 2].v.cn[1] =
@ -1787,54 +1788,56 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
// UI_OVERLAY_QUAD_BUTTON_LEFT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = WREG(16);
pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = R_PAUSE_BUTTON_LEFT_X;
pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] = pauseCtx->uiOverlayVtx[8].v.ob[0] + 24;
pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] =
pauseCtx->uiOverlayVtx[8].v.ob[0] + UI_OVERLAY_QUAD_BUTTON_LR_WIDTH;
pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = WREG(18);
pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y;
pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
pauseCtx->uiOverlayVtx[8].v.ob[1] - 32;
pauseCtx->uiOverlayVtx[8].v.ob[1] - UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT;
} else {
pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = WREG(16) + 3;
pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = R_PAUSE_BUTTON_LEFT_X + 3;
pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] = pauseCtx->uiOverlayVtx[8].v.ob[0] + 18;
pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] =
pauseCtx->uiOverlayVtx[8].v.ob[0] + (UI_OVERLAY_QUAD_BUTTON_LR_WIDTH - 2 * 3);
pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = WREG(18) - 3;
pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y - 3;
pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
pauseCtx->uiOverlayVtx[8].v.ob[1] - 26;
pauseCtx->uiOverlayVtx[8].v.ob[1] - (UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT - 2 * 3);
}
// UI_OVERLAY_QUAD_BUTTON_RIGHT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = WREG(17);
pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = R_PAUSE_BUTTON_RIGHT_X;
pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
pauseCtx->uiOverlayVtx[12].v.ob[0] + 24;
pauseCtx->uiOverlayVtx[12].v.ob[0] + UI_OVERLAY_QUAD_BUTTON_LR_WIDTH;
pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = WREG(18);
pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y;
pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
pauseCtx->uiOverlayVtx[12].v.ob[1] - 32;
pauseCtx->uiOverlayVtx[12].v.ob[1] - UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT;
} else {
pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = WREG(17) + 3;
pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = R_PAUSE_BUTTON_RIGHT_X + 3;
pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
pauseCtx->uiOverlayVtx[12].v.ob[0] + 18;
pauseCtx->uiOverlayVtx[12].v.ob[0] + (UI_OVERLAY_QUAD_BUTTON_LR_WIDTH - 2 * 3);
pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = WREG(18) - 3;
pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = R_PAUSE_BUTTON_LEFT_RIGHT_Y - 3;
pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
pauseCtx->uiOverlayVtx[12].v.ob[1] - 26;
pauseCtx->uiOverlayVtx[12].v.ob[1] - (UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT - 2 * 3);
}
// UI_OVERLAY_QUAD_BUTTON_LEFT, UI_OVERLAY_QUAD_BUTTON_RIGHT
pauseCtx->uiOverlayVtx[9].v.tc[0] = pauseCtx->uiOverlayVtx[11].v.tc[0] = pauseCtx->uiOverlayVtx[13].v.tc[0] =
pauseCtx->uiOverlayVtx[15].v.tc[0] = 0x300;
pauseCtx->uiOverlayVtx[15].v.tc[0] = UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH * (1 << 5);
pauseCtx->uiOverlayVtx[10].v.tc[1] = pauseCtx->uiOverlayVtx[11].v.tc[1] = pauseCtx->uiOverlayVtx[14].v.tc[1] =
pauseCtx->uiOverlayVtx[15].v.tc[1] = 0x400;
pauseCtx->uiOverlayVtx[15].v.tc[1] = UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT * (1 << 5);
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
@ -1873,12 +1876,14 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
}
// UI_OVERLAY_QUAD_INFO_ICON
temp = pauseCtx->infoPanelOffsetY - 80;
pauseCtx->uiOverlayVtx[16].v.ob[1] = pauseCtx->uiOverlayVtx[17].v.ob[1] = temp;
y = pauseCtx->infoPanelOffsetY - 80;
pauseCtx->uiOverlayVtx[16].v.ob[1] = pauseCtx->uiOverlayVtx[17].v.ob[1] = y;
pauseCtx->uiOverlayVtx[18].v.ob[1] = pauseCtx->uiOverlayVtx[19].v.ob[1] = pauseCtx->uiOverlayVtx[16].v.ob[1] - 16;
pauseCtx->uiOverlayVtx[18].v.ob[1] = pauseCtx->uiOverlayVtx[19].v.ob[1] =
pauseCtx->uiOverlayVtx[16].v.ob[1] - UI_OVERLAY_QUAD_INFO_ICON_HEIGHT;
pauseCtx->uiOverlayVtx[18].v.tc[1] = pauseCtx->uiOverlayVtx[19].v.tc[1] = 0x200;
pauseCtx->uiOverlayVtx[18].v.tc[1] = pauseCtx->uiOverlayVtx[19].v.tc[1] =
UI_OVERLAY_QUAD_INFO_ICON_TEX_HEIGHT * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE,
@ -1903,9 +1908,9 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] = -63;
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 128;
pauseCtx->uiOverlayVtx[16].v.ob[0] + ITEM_NAME_TEX_WIDTH;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x1000;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = ITEM_NAME_TEX_WIDTH * (1 << 5);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 4, 0);
@ -1953,7 +1958,7 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
pauseCtx->uiOverlayVtx[26].v.ob[1] = pauseCtx->uiOverlayVtx[27].v.ob[1] =
pauseCtx->uiOverlayVtx[24].v.ob[1] - 19;
pauseCtx->uiOverlayVtx[25].v.tc[0] = pauseCtx->uiOverlayVtx[27].v.tc[0] = 0x300;
pauseCtx->uiOverlayVtx[25].v.tc[0] = pauseCtx->uiOverlayVtx[27].v.tc[0] = QUEST_ICON_WIDTH * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[24], 4, 0);
@ -1970,32 +1975,32 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
} else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[1] = pauseCtx->uiOverlayVtx[21].v.ob[1] = temp;
pauseCtx->uiOverlayVtx[20].v.ob[1] = pauseCtx->uiOverlayVtx[21].v.ob[1] = y;
pauseCtx->uiOverlayVtx[22].v.ob[1] = pauseCtx->uiOverlayVtx[23].v.ob[1] =
pauseCtx->uiOverlayVtx[20].v.ob[1] - 16;
pauseCtx->uiOverlayVtx[22].v.tc[1] = pauseCtx->uiOverlayVtx[23].v.tc[1] = 0x200;
pauseCtx->uiOverlayVtx[22].v.tc[1] = pauseCtx->uiOverlayVtx[23].v.tc[1] = 16 * (1 << 5);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 8, 0);
if (pauseCtx->state == PAUSE_STATE_SAVE_PROMPT) {
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK5(gSaveContext.language);
R_PAUSE_INFO_PANEL_ICON_SAVE_PROMPT_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
pauseCtx->uiOverlayVtx[16].v.ob[0] + gABtnSymbolTex_WIDTH;
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->uiOverlayVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language];
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = gABtnSymbolTex_WIDTH * (1 << 5);
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
@ -2016,7 +2021,7 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 128;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x1000;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 128 * (1 << 5);
gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 200, 0, 255);
@ -2035,20 +2040,21 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
if ((u32)pauseCtx->pageIndex == PAUSE_ITEM) {
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK1(gSaveContext.language);
R_PAUSE_INFO_PANEL_ICON_C_ITEM_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 48;
pauseCtx->uiOverlayVtx[16].v.ob[0] + gCBtnSymbolsTex_WIDTH;
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language);
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_C_ITEM_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x600;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
gCBtnSymbolsTex_WIDTH * (1 << 5);
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
@ -2068,14 +2074,14 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
if (pauseCtx->namedItem != PAUSE_ITEM_NONE) {
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK3(gSaveContext.language);
R_PAUSE_INFO_PANEL_ICON_PLAY_SONG_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
#if OOT_PAL
if (gSaveContext.language == LANGUAGE_GER) {
@ -2088,7 +2094,8 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
pauseCtx->uiOverlayVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language];
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
gABtnSymbolTex_WIDTH * (1 << 5);
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
@ -2099,27 +2106,28 @@ void KaleidoScope_DrawUIOverlay(PlayState* play) {
gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
POLY_OPA_DISP =
KaleidoScope_QuadTextureIA8(POLY_OPA_DISP, sToPlayMelodyTextTextures[gSaveContext.language],
sToPlayMelodyTextWidths[gSaveContext.language], 16, 4);
POLY_OPA_DISP = KaleidoScope_QuadTextureIA8(
POLY_OPA_DISP, sToPlayMelodyTextTextures[gSaveContext.language],
sToPlayMelodyTextWidths[gSaveContext.language], UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT, 4);
}
} else if (pauseCtx->pageIndex == PAUSE_EQUIP) {
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK6(gSaveContext.language);
R_PAUSE_INFO_PANEL_ICON_EQUIP_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_PAUSE_INFO_PANEL_TEXT_X(gSaveContext.language);
pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
// UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] =
gABtnSymbolTex_WIDTH * (1 << 5);
// UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
@ -2225,11 +2233,11 @@ void KaleidoScope_UpdatePageSwitch(PlayState* play, Input* input) {
if (pauseCtx->nextPageMode) {}
if (pauseCtx->pageSwitchTimer < ((4 * PAGE_SWITCH_NSTEPS) / 2)) {
WREG(16) -= WREG(25) / WREG(6);
WREG(17) -= WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
} else {
WREG(16) += WREG(25) / WREG(6);
WREG(17) += WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
}
pauseCtx->pageSwitchTimer += 4;
@ -3707,8 +3715,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->dungeonMapSlot =
VREG(30) + 3;
WREG(16) = -175;
WREG(17) = 155;
R_PAUSE_BUTTON_LEFT_X = -175;
R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->promptPitch = -314.0f;
@ -4083,8 +4091,8 @@ void KaleidoScope_Update(PlayState* play) {
160.0f / WREG(6);
pauseCtx->infoPanelOffsetY += 40 / WREG(6);
interfaceCtx->startAlpha += 255 / WREG(6);
WREG(16) += WREG(25) / WREG(6);
WREG(17) += WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
XREG(5) += 150 / WREG(6);
pauseCtx->alpha += (u16)(255 / (WREG(6) + WREG(4)));
@ -4242,8 +4250,9 @@ void KaleidoScope_Update(PlayState* play) {
switch (pauseCtx->savePromptState) {
case PAUSE_SAVE_PROMPT_STATE_APPEARING:
pauseCtx->promptPitch -= 314.0f / WREG(6);
WREG(16) -= WREG(25) / WREG(6);
WREG(17) -= WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
if (pauseCtx->promptPitch <= -628.0f) {
pauseCtx->promptPitch = -628.0f;
pauseCtx->savePromptState = PAUSE_SAVE_PROMPT_STATE_WAIT_CHOICE;
@ -4312,8 +4321,9 @@ void KaleidoScope_Update(PlayState* play) {
case PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU:
case PAUSE_SAVE_PROMPT_STATE_RETURN_TO_MENU_2:
pauseCtx->promptPitch += 314.0f / WREG(6);
WREG(16) += WREG(25) / WREG(6);
WREG(17) += WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
if (pauseCtx->promptPitch >= -314.0f) {
pauseCtx->state = PAUSE_STATE_MAIN;
pauseCtx->savePromptState = PAUSE_SAVE_PROMPT_STATE_APPEARING;
@ -4330,8 +4340,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->questPagePitch += 160.0f / WREG(6);
pauseCtx->promptPitch += 160.0f / WREG(6);
pauseCtx->infoPanelOffsetY -= 40 / WREG(6);
WREG(16) -= WREG(25) / WREG(6);
WREG(17) -= WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
XREG(5) -= 150 / WREG(6);
pauseCtx->alpha -= (u16)(255 / WREG(6));
if (pauseCtx->promptPitch == (YREG(8) + 160.0f)) {
@ -4356,8 +4366,8 @@ void KaleidoScope_Update(PlayState* play) {
case PAUSE_STATE_GAME_OVER_INIT:
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->cursorPoint[PAUSE_MAP] = pauseCtx->dungeonMapSlot =
VREG(30) + 3;
WREG(16) = -175;
WREG(17) = 155;
R_PAUSE_BUTTON_LEFT_X = -175;
R_PAUSE_BUTTON_RIGHT_X = 155;
pauseCtx->promptPitch = -434.0f;
Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING);
@ -4501,8 +4511,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->infoPanelOffsetY += 40 / WREG(6);
interfaceCtx->startAlpha += 255 / WREG(6);
VREG(88) -= 3;
WREG(16) += WREG(25) / WREG(6);
WREG(17) += WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X += WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X += WREG(26) / WREG(6);
XREG(5) += 150 / WREG(6);
pauseCtx->alpha += (u16)(255 / (WREG(6) + WREG(4)));
if (pauseCtx->promptPitch < -628.0f) {
@ -4669,8 +4679,8 @@ void KaleidoScope_Update(PlayState* play) {
pauseCtx->questPagePitch += 160.0f / WREG(6);
pauseCtx->infoPanelOffsetY -= 40 / WREG(6);
interfaceCtx->startAlpha -= 255 / WREG(6);
WREG(16) -= WREG(25) / WREG(6);
WREG(17) -= WREG(26) / WREG(6);
R_PAUSE_BUTTON_LEFT_X -= WREG(25) / WREG(6);
R_PAUSE_BUTTON_RIGHT_X -= WREG(26) / WREG(6);
XREG(5) -= 150 / WREG(6);
pauseCtx->alpha -= (u16)(255 / WREG(6));
if (pauseCtx->itemPagePitch == 160.0f) {

View file

@ -219,7 +219,18 @@ typedef enum ItemQuad {
} ItemQuad;
#define TO_PAGE_LABEL_TEX_WIDTH 128
#define TO_PAGE_LABEL_TEX_HEIGHT 16
#define TO_PAGE_LABEL_TEX_HEIGHT UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT
#define UI_OVERLAY_QUAD_BUTTON_LR_WIDTH 24
#define UI_OVERLAY_QUAD_BUTTON_LR_HEIGHT 32
#define UI_OVERLAY_QUAD_BUTTON_LR_TEX_WIDTH 24
#define UI_OVERLAY_QUAD_BUTTON_LR_TEX_HEIGHT 32
#define UI_OVERLAY_QUAD_INFO_ICON_HEIGHT 16
#define UI_OVERLAY_QUAD_INFO_ICON_TEX_HEIGHT 16
#define UI_OVERLAY_QUAD_INFO_TEXT_HEIGHT 16
#define UI_OVERLAY_QUAD_INFO_TEXT_TEX_HEIGHT 16
typedef enum UIOverlayQuad {
/* 0 */ UI_OVERLAY_QUAD_INFO_BG_LEFT, // The left half of the info plate background