Pause docs: "uiOverlay" quads (renamed from "InfoPanel") (#2635)

* Pause docs: "InfoPanel" quads

* bss

* rename infoPanelVtx to decorVtx

* rename to uiOverlayVtx / UI_OVERLAY_QUAD_

* fixup
This commit is contained in:
Dragorn421 2025-06-24 23:08:26 +01:00 committed by GitHub
parent d52ba1ed26
commit affb39624f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 181 additions and 138 deletions

View File

@ -710,16 +710,16 @@ u64 gCBtnSymbolsTex[TEX_LEN(u64, gCBtnSymbolsTex_WIDTH, gCBtnSymbolsTex_HEIGHT,
#include "assets/textures/icon_item_static/gCBtnSymbolsTex.ia8.inc.c" #include "assets/textures/icon_item_static/gCBtnSymbolsTex.ia8.inc.c"
}; };
#define gNamePanelLeftTex_WIDTH 72 #define gInfoPanelBgLeftTex_WIDTH 72
#define gNamePanelLeftTex_HEIGHT 24 #define gInfoPanelBgLeftTex_HEIGHT 24
u64 gNamePanelLeftTex[TEX_LEN(u64, gNamePanelLeftTex_WIDTH, gNamePanelLeftTex_HEIGHT, 8)] = { u64 gInfoPanelBgLeftTex[TEX_LEN(u64, gInfoPanelBgLeftTex_WIDTH, gInfoPanelBgLeftTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gNamePanelLeftTex.ia8.inc.c" #include "assets/textures/icon_item_static/gInfoPanelBgLeftTex.ia8.inc.c"
}; };
#define gNamePanelRightTex_WIDTH 72 #define gInfoPanelBgRightTex_WIDTH 72
#define gNamePanelRightTex_HEIGHT 24 #define gInfoPanelBgRightTex_HEIGHT 24
u64 gNamePanelRightTex[TEX_LEN(u64, gNamePanelRightTex_WIDTH, gNamePanelRightTex_HEIGHT, 8)] = { u64 gInfoPanelBgRightTex[TEX_LEN(u64, gInfoPanelBgRightTex_WIDTH, gInfoPanelBgRightTex_HEIGHT, 8)] = {
#include "assets/textures/icon_item_static/gNamePanelRightTex.ia8.inc.c" #include "assets/textures/icon_item_static/gInfoPanelBgRightTex.ia8.inc.c"
}; };
#define gLButtonTex_WIDTH 24 #define gLButtonTex_WIDTH 24
@ -748,8 +748,8 @@ u64 gMagicArrowEquipEffectTex[TEX_LEN(u64, gMagicArrowEquipEffectTex_WIDTH, gMag
#include "assets/textures/icon_item_static/gMagicArrowEquipEffectTex.ia8.inc.c" #include "assets/textures/icon_item_static/gMagicArrowEquipEffectTex.ia8.inc.c"
}; };
Gfx gItemNamePanelDL[18] = { Gfx gInfoPanelBgDL[18] = {
#include "assets/textures/icon_item_static/gItemNamePanelDL.inc.c" #include "assets/textures/icon_item_static/gInfoPanelBgDL.inc.c"
}; };
Gfx gLButtonIconDL[10] = { Gfx gLButtonIconDL[10] = {

View File

@ -193,7 +193,7 @@ extern u64 gSongNoteTex[TEX_LEN(u64, gSongNoteTex_WIDTH, gSongNoteTex_HEIGHT, 8)
#define gMagicArrowEquipEffectTex_HEIGHT gMagicArrowEquipEffectTex_SIZE #define gMagicArrowEquipEffectTex_HEIGHT gMagicArrowEquipEffectTex_SIZE
extern u64 gMagicArrowEquipEffectTex[TEX_LEN(u64, gMagicArrowEquipEffectTex_WIDTH, gMagicArrowEquipEffectTex_HEIGHT, 8)]; extern u64 gMagicArrowEquipEffectTex[TEX_LEN(u64, gMagicArrowEquipEffectTex_WIDTH, gMagicArrowEquipEffectTex_HEIGHT, 8)];
extern Gfx gItemNamePanelDL[18]; extern Gfx gInfoPanelBgDL[18];
extern Gfx gLButtonIconDL[10]; extern Gfx gLButtonIconDL[10];
extern Gfx gRButtonIconDL[10]; extern Gfx gRButtonIconDL[10];
extern Gfx gCButtonIconsDL[11]; extern Gfx gCButtonIconsDL[11];

View File

@ -169,14 +169,14 @@
<Texture Name="gABtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x861C0"/> <Texture Name="gABtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x861C0"/>
<Texture Name="gBBtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x86340"/> <Texture Name="gBBtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x86340"/>
<Texture Name="gCBtnSymbolsTex" Format="ia8" Width="48" Height="16" Offset="0x864C0"/> <Texture Name="gCBtnSymbolsTex" Format="ia8" Width="48" Height="16" Offset="0x864C0"/>
<Texture Name="gNamePanelLeftTex" Format="ia8" Width="72" Height="24" Offset="0x867C0"/> <Texture Name="gInfoPanelBgLeftTex" Format="ia8" Width="72" Height="24" Offset="0x867C0"/>
<Texture Name="gNamePanelRightTex" Format="ia8" Width="72" Height="24" Offset="0x86E80"/> <Texture Name="gInfoPanelBgRightTex" Format="ia8" Width="72" Height="24" Offset="0x86E80"/>
<Texture Name="gLButtonTex" Format="ia8" Width="24" Height="32" Offset="0x87540"/> <Texture Name="gLButtonTex" Format="ia8" Width="24" Height="32" Offset="0x87540"/>
<Texture Name="gRButtonTex" Format="ia8" Width="24" Height="32" Offset="0x87840"/> <Texture Name="gRButtonTex" Format="ia8" Width="24" Height="32" Offset="0x87840"/>
<Texture Name="gUnknownJPNTex" Format="ia8" Width="80" Height="16" Offset="0x87B40"/> <Texture Name="gUnknownJPNTex" Format="ia8" Width="80" Height="16" Offset="0x87B40"/>
<Texture Name="gSongNoteTex" Format="ia8" Width="16" Height="24" Offset="0x88040"/> <Texture Name="gSongNoteTex" Format="ia8" Width="16" Height="24" Offset="0x88040"/>
<Texture Name="gMagicArrowEquipEffectTex" Format="ia8" Width="32" Height="32" Offset="0x881C0"/> <Texture Name="gMagicArrowEquipEffectTex" Format="ia8" Width="32" Height="32" Offset="0x881C0"/>
<DList Name="gItemNamePanelDL" Offset="0x885C0"/> <DList Name="gInfoPanelBgDL" Offset="0x885C0"/>
<DList Name="gLButtonIconDL" Offset="0x88650"/> <DList Name="gLButtonIconDL" Offset="0x88650"/>
<DList Name="gRButtonIconDL" Offset="0x886A0"/> <DList Name="gRButtonIconDL" Offset="0x886A0"/>
<DList Name="gCButtonIconsDL" Offset="0x886F0"/> <DList Name="gCButtonIconsDL" Offset="0x886F0"/>

View File

@ -171,14 +171,14 @@
<Texture Name="gABtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x875C0"/> <Texture Name="gABtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x875C0"/>
<Texture Name="gBBtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x87740"/> <Texture Name="gBBtnSymbolTex" Format="ia8" Width="24" Height="16" Offset="0x87740"/>
<Texture Name="gCBtnSymbolsTex" Format="ia8" Width="48" Height="16" Offset="0x878C0"/> <Texture Name="gCBtnSymbolsTex" Format="ia8" Width="48" Height="16" Offset="0x878C0"/>
<Texture Name="gNamePanelLeftTex" Format="ia8" Width="72" Height="24" Offset="0x87BC0"/> <Texture Name="gInfoPanelBgLeftTex" Format="ia8" Width="72" Height="24" Offset="0x87BC0"/>
<Texture Name="gNamePanelRightTex" Format="ia8" Width="72" Height="24" Offset="0x88280"/> <Texture Name="gInfoPanelBgRightTex" Format="ia8" Width="72" Height="24" Offset="0x88280"/>
<Texture Name="gLButtonTex" Format="ia8" Width="24" Height="32" Offset="0x88940"/> <Texture Name="gLButtonTex" Format="ia8" Width="24" Height="32" Offset="0x88940"/>
<Texture Name="gRButtonTex" Format="ia8" Width="24" Height="32" Offset="0x88C40"/> <Texture Name="gRButtonTex" Format="ia8" Width="24" Height="32" Offset="0x88C40"/>
<Texture Name="gUnknownJPNTex" Format="ia8" Width="80" Height="16" Offset="0x88F40"/> <Texture Name="gUnknownJPNTex" Format="ia8" Width="80" Height="16" Offset="0x88F40"/>
<Texture Name="gSongNoteTex" Format="ia8" Width="16" Height="24" Offset="0x89440"/> <Texture Name="gSongNoteTex" Format="ia8" Width="16" Height="24" Offset="0x89440"/>
<Texture Name="gMagicArrowEquipEffectTex" Format="ia8" Width="32" Height="32" Offset="0x895C0"/> <Texture Name="gMagicArrowEquipEffectTex" Format="ia8" Width="32" Height="32" Offset="0x895C0"/>
<DList Name="gItemNamePanelDL" Offset="0x899C0"/> <DList Name="gInfoPanelBgDL" Offset="0x899C0"/>
<DList Name="gLButtonIconDL" Offset="0x89A50"/> <DList Name="gLButtonIconDL" Offset="0x89A50"/>
<DList Name="gRButtonIconDL" Offset="0x89AA0"/> <DList Name="gRButtonIconDL" Offset="0x89AA0"/>
<DList Name="gCButtonIconsDL" Offset="0x89AF0"/> <DList Name="gCButtonIconsDL" Offset="0x89AF0"/>

View File

@ -168,7 +168,7 @@ typedef struct PauseContext {
/* 0x0148 */ Vtx* equipPageVtx; /* 0x0148 */ Vtx* equipPageVtx;
/* 0x014C */ Vtx* mapPageVtx; /* 0x014C */ Vtx* mapPageVtx;
/* 0x0150 */ Vtx* questPageVtx; /* 0x0150 */ Vtx* questPageVtx;
/* 0x0154 */ Vtx* infoPanelVtx; /* 0x0154 */ Vtx* uiOverlayVtx;
/* 0x0158 */ Vtx* itemVtx; /* 0x0158 */ Vtx* itemVtx;
/* 0x015C */ Vtx* equipVtx; /* 0x015C */ Vtx* equipVtx;
/* 0x0160 */ char unk_160[0x04]; /* 0x0160 */ char unk_160[0x04];

View File

@ -1649,7 +1649,10 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) {
CLOSE_DISPS(gfxCtx, "../z_kaleido_scope_PAL.c", 1577); CLOSE_DISPS(gfxCtx, "../z_kaleido_scope_PAL.c", 1577);
} }
void KaleidoScope_DrawInfoPanel(PlayState* play) { /**
* Draws the buttons for scrolling left/right, and the info plate.
*/
void KaleidoScope_DrawUIOverlay(PlayState* play) {
static void* sToEquipTextTextures[] = static void* sToEquipTextTextures[] =
LANGUAGE_ARRAY(gPauseToEquipJPNTex, gPauseToEquipENGTex, gPauseToEquipGERTex, gPauseToEquipFRATex); LANGUAGE_ARRAY(gPauseToEquipJPNTex, gPauseToEquipENGTex, gPauseToEquipGERTex, gPauseToEquipFRATex);
static void* sToDecideTextTextures[] = static void* sToDecideTextTextures[] =
@ -1744,90 +1747,94 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} }
temp = pauseCtx->infoPanelOffsetY - 76; temp = pauseCtx->infoPanelOffsetY - 76;
for (j = 0, i = 0; i < 7; i++, j += 4) { for (j = 0, i = 0; i < UI_OVERLAY_QUAD_MAX; i++, j += 4) {
pauseCtx->infoPanelVtx[j + 0].v.ob[0] = pauseCtx->infoPanelVtx[j + 2].v.ob[0] = -72; pauseCtx->uiOverlayVtx[j + 0].v.ob[0] = pauseCtx->uiOverlayVtx[j + 2].v.ob[0] = -72;
pauseCtx->infoPanelVtx[j + 1].v.ob[0] = pauseCtx->infoPanelVtx[j + 3].v.ob[0] = 0; pauseCtx->uiOverlayVtx[j + 1].v.ob[0] = pauseCtx->uiOverlayVtx[j + 3].v.ob[0] = 0;
pauseCtx->infoPanelVtx[j + 0].v.ob[1] = pauseCtx->infoPanelVtx[j + 1].v.ob[1] = temp; pauseCtx->uiOverlayVtx[j + 0].v.ob[1] = pauseCtx->uiOverlayVtx[j + 1].v.ob[1] = temp;
pauseCtx->infoPanelVtx[j + 2].v.ob[1] = pauseCtx->infoPanelVtx[j + 3].v.ob[1] = temp - 24; pauseCtx->uiOverlayVtx[j + 2].v.ob[1] = pauseCtx->uiOverlayVtx[j + 3].v.ob[1] = temp - 24;
pauseCtx->infoPanelVtx[j + 0].v.ob[2] = pauseCtx->infoPanelVtx[j + 1].v.ob[2] = pauseCtx->uiOverlayVtx[j + 0].v.ob[2] = pauseCtx->uiOverlayVtx[j + 1].v.ob[2] =
pauseCtx->infoPanelVtx[j + 2].v.ob[2] = pauseCtx->infoPanelVtx[j + 3].v.ob[2] = 0; pauseCtx->uiOverlayVtx[j + 2].v.ob[2] = pauseCtx->uiOverlayVtx[j + 3].v.ob[2] = 0;
pauseCtx->infoPanelVtx[j + 0].v.flag = pauseCtx->infoPanelVtx[j + 1].v.flag = pauseCtx->uiOverlayVtx[j + 0].v.flag = pauseCtx->uiOverlayVtx[j + 1].v.flag =
pauseCtx->infoPanelVtx[j + 2].v.flag = pauseCtx->infoPanelVtx[j + 3].v.flag = 0; pauseCtx->uiOverlayVtx[j + 2].v.flag = pauseCtx->uiOverlayVtx[j + 3].v.flag = 0;
pauseCtx->infoPanelVtx[j + 0].v.tc[0] = pauseCtx->infoPanelVtx[j + 0].v.tc[1] = pauseCtx->uiOverlayVtx[j + 0].v.tc[0] = pauseCtx->uiOverlayVtx[j + 0].v.tc[1] =
pauseCtx->infoPanelVtx[j + 1].v.tc[1] = pauseCtx->infoPanelVtx[j + 2].v.tc[0] = 0; pauseCtx->uiOverlayVtx[j + 1].v.tc[1] = pauseCtx->uiOverlayVtx[j + 2].v.tc[0] = 0;
pauseCtx->infoPanelVtx[j + 1].v.tc[0] = pauseCtx->infoPanelVtx[j + 3].v.tc[0] = 0x900; pauseCtx->uiOverlayVtx[j + 1].v.tc[0] = pauseCtx->uiOverlayVtx[j + 3].v.tc[0] = 0x900;
pauseCtx->infoPanelVtx[j + 2].v.tc[1] = pauseCtx->infoPanelVtx[j + 3].v.tc[1] = 0x300; pauseCtx->uiOverlayVtx[j + 2].v.tc[1] = pauseCtx->uiOverlayVtx[j + 3].v.tc[1] = 0x300;
pauseCtx->infoPanelVtx[j + 0].v.cn[0] = pauseCtx->infoPanelVtx[j + 2].v.cn[0] = pauseCtx->uiOverlayVtx[j + 0].v.cn[0] = pauseCtx->uiOverlayVtx[j + 2].v.cn[0] =
pauseCtx->infoPanelVtx[j + 0].v.cn[1] = pauseCtx->infoPanelVtx[j + 2].v.cn[1] = pauseCtx->uiOverlayVtx[j + 0].v.cn[1] = pauseCtx->uiOverlayVtx[j + 2].v.cn[1] =
pauseCtx->infoPanelVtx[j + 0].v.cn[2] = pauseCtx->infoPanelVtx[j + 2].v.cn[2] = pauseCtx->uiOverlayVtx[j + 0].v.cn[2] = pauseCtx->uiOverlayVtx[j + 2].v.cn[2] =
pauseCtx->infoPanelVtx[j + 1].v.cn[0] = pauseCtx->infoPanelVtx[j + 3].v.cn[0] = pauseCtx->uiOverlayVtx[j + 1].v.cn[0] = pauseCtx->uiOverlayVtx[j + 3].v.cn[0] =
pauseCtx->infoPanelVtx[j + 1].v.cn[1] = pauseCtx->infoPanelVtx[j + 3].v.cn[1] = pauseCtx->uiOverlayVtx[j + 1].v.cn[1] = pauseCtx->uiOverlayVtx[j + 3].v.cn[1] =
pauseCtx->infoPanelVtx[j + 1].v.cn[2] = pauseCtx->infoPanelVtx[j + 3].v.cn[2] = 200; pauseCtx->uiOverlayVtx[j + 1].v.cn[2] = pauseCtx->uiOverlayVtx[j + 3].v.cn[2] = 200;
pauseCtx->infoPanelVtx[j + 0].v.cn[3] = pauseCtx->infoPanelVtx[j + 2].v.cn[3] = pauseCtx->uiOverlayVtx[j + 0].v.cn[3] = pauseCtx->uiOverlayVtx[j + 2].v.cn[3] =
pauseCtx->infoPanelVtx[j + 1].v.cn[3] = pauseCtx->infoPanelVtx[j + 3].v.cn[3] = pauseCtx->alpha; pauseCtx->uiOverlayVtx[j + 1].v.cn[3] = pauseCtx->uiOverlayVtx[j + 3].v.cn[3] = pauseCtx->alpha;
} }
pauseCtx->infoPanelVtx[4].v.ob[0] = pauseCtx->infoPanelVtx[6].v.ob[0] = pauseCtx->infoPanelVtx[0].v.ob[0] + 72; // UI_OVERLAY_QUAD_INFO_BG_RIGHT
pauseCtx->uiOverlayVtx[4].v.ob[0] = pauseCtx->uiOverlayVtx[6].v.ob[0] = pauseCtx->uiOverlayVtx[0].v.ob[0] + 72;
pauseCtx->infoPanelVtx[5].v.ob[0] = pauseCtx->infoPanelVtx[7].v.ob[0] = pauseCtx->infoPanelVtx[4].v.ob[0] + 72; pauseCtx->uiOverlayVtx[5].v.ob[0] = pauseCtx->uiOverlayVtx[7].v.ob[0] = pauseCtx->uiOverlayVtx[4].v.ob[0] + 72;
// UI_OVERLAY_QUAD_BUTTON_LEFT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) { if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
pauseCtx->infoPanelVtx[8].v.ob[0] = pauseCtx->infoPanelVtx[10].v.ob[0] = WREG(16); pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[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; pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] = pauseCtx->uiOverlayVtx[8].v.ob[0] + 24;
pauseCtx->infoPanelVtx[8].v.ob[1] = pauseCtx->infoPanelVtx[9].v.ob[1] = WREG(18); pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = WREG(18);
pauseCtx->infoPanelVtx[10].v.ob[1] = pauseCtx->infoPanelVtx[11].v.ob[1] = pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
pauseCtx->infoPanelVtx[8].v.ob[1] - 32; pauseCtx->uiOverlayVtx[8].v.ob[1] - 32;
} else { } else {
pauseCtx->infoPanelVtx[8].v.ob[0] = pauseCtx->infoPanelVtx[10].v.ob[0] = WREG(16) + 3; pauseCtx->uiOverlayVtx[8].v.ob[0] = pauseCtx->uiOverlayVtx[10].v.ob[0] = WREG(16) + 3;
pauseCtx->infoPanelVtx[9].v.ob[0] = pauseCtx->infoPanelVtx[11].v.ob[0] = pauseCtx->infoPanelVtx[8].v.ob[0] + 18; pauseCtx->uiOverlayVtx[9].v.ob[0] = pauseCtx->uiOverlayVtx[11].v.ob[0] = pauseCtx->uiOverlayVtx[8].v.ob[0] + 18;
pauseCtx->infoPanelVtx[8].v.ob[1] = pauseCtx->infoPanelVtx[9].v.ob[1] = WREG(18) - 3; pauseCtx->uiOverlayVtx[8].v.ob[1] = pauseCtx->uiOverlayVtx[9].v.ob[1] = WREG(18) - 3;
pauseCtx->infoPanelVtx[10].v.ob[1] = pauseCtx->infoPanelVtx[11].v.ob[1] = pauseCtx->uiOverlayVtx[10].v.ob[1] = pauseCtx->uiOverlayVtx[11].v.ob[1] =
pauseCtx->infoPanelVtx[8].v.ob[1] - 26; pauseCtx->uiOverlayVtx[8].v.ob[1] - 26;
} }
// UI_OVERLAY_QUAD_BUTTON_RIGHT
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) { if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_RIGHT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
pauseCtx->infoPanelVtx[12].v.ob[0] = pauseCtx->infoPanelVtx[14].v.ob[0] = WREG(17); pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = WREG(17);
pauseCtx->infoPanelVtx[13].v.ob[0] = pauseCtx->infoPanelVtx[15].v.ob[0] = pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
pauseCtx->infoPanelVtx[12].v.ob[0] + 24; pauseCtx->uiOverlayVtx[12].v.ob[0] + 24;
pauseCtx->infoPanelVtx[12].v.ob[1] = pauseCtx->infoPanelVtx[13].v.ob[1] = WREG(18); pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = WREG(18);
pauseCtx->infoPanelVtx[14].v.ob[1] = pauseCtx->infoPanelVtx[15].v.ob[1] = pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
pauseCtx->infoPanelVtx[12].v.ob[1] - 32; pauseCtx->uiOverlayVtx[12].v.ob[1] - 32;
} else { } else {
pauseCtx->infoPanelVtx[12].v.ob[0] = pauseCtx->infoPanelVtx[14].v.ob[0] = WREG(17) + 3; pauseCtx->uiOverlayVtx[12].v.ob[0] = pauseCtx->uiOverlayVtx[14].v.ob[0] = WREG(17) + 3;
pauseCtx->infoPanelVtx[13].v.ob[0] = pauseCtx->infoPanelVtx[15].v.ob[0] = pauseCtx->uiOverlayVtx[13].v.ob[0] = pauseCtx->uiOverlayVtx[15].v.ob[0] =
pauseCtx->infoPanelVtx[12].v.ob[0] + 18; pauseCtx->uiOverlayVtx[12].v.ob[0] + 18;
pauseCtx->infoPanelVtx[12].v.ob[1] = pauseCtx->infoPanelVtx[13].v.ob[1] = WREG(18) - 3; pauseCtx->uiOverlayVtx[12].v.ob[1] = pauseCtx->uiOverlayVtx[13].v.ob[1] = WREG(18) - 3;
pauseCtx->infoPanelVtx[14].v.ob[1] = pauseCtx->infoPanelVtx[15].v.ob[1] = pauseCtx->uiOverlayVtx[14].v.ob[1] = pauseCtx->uiOverlayVtx[15].v.ob[1] =
pauseCtx->infoPanelVtx[12].v.ob[1] - 26; pauseCtx->uiOverlayVtx[12].v.ob[1] - 26;
} }
pauseCtx->infoPanelVtx[9].v.tc[0] = pauseCtx->infoPanelVtx[11].v.tc[0] = pauseCtx->infoPanelVtx[13].v.tc[0] = // UI_OVERLAY_QUAD_BUTTON_LEFT, UI_OVERLAY_QUAD_BUTTON_RIGHT
pauseCtx->infoPanelVtx[15].v.tc[0] = 0x300; 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->infoPanelVtx[10].v.tc[1] = pauseCtx->infoPanelVtx[11].v.tc[1] = pauseCtx->infoPanelVtx[14].v.tc[1] = pauseCtx->uiOverlayVtx[10].v.tc[1] = pauseCtx->uiOverlayVtx[11].v.tc[1] = pauseCtx->uiOverlayVtx[14].v.tc[1] =
pauseCtx->infoPanelVtx[15].v.tc[1] = 0x400; pauseCtx->uiOverlayVtx[15].v.tc[1] = 0x400;
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
@ -1837,14 +1844,16 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 1755); MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 1755);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 90, 100, 130, 255); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 90, 100, 130, 255);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[0], 16, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[0], 16, 0);
gSPDisplayList(POLY_OPA_DISP++, gItemNamePanelDL); // Draw UI_OVERLAY_QUAD_INFO_BG_LEFT, UI_OVERLAY_QUAD_INFO_BG_RIGHT
gSPDisplayList(POLY_OPA_DISP++, gInfoPanelBgDL);
if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) { if ((pauseCtx->cursorSpecialPos == PAUSE_CURSOR_PAGE_LEFT) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6);
} }
// Draw UI_OVERLAY_QUAD_BUTTON_LEFT
gSPDisplayList(POLY_OPA_DISP++, gLButtonIconDL); gSPDisplayList(POLY_OPA_DISP++, gLButtonIconDL);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 180, 210, 255, 220); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 180, 210, 255, 220);
@ -1853,21 +1862,23 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6);
} }
// Draw UI_OVERLAY_QUAD_BUTTON_RIGHT
gSPDisplayList(POLY_OPA_DISP++, gRButtonIconDL); gSPDisplayList(POLY_OPA_DISP++, gRButtonIconDL);
if (pauseCtx->cursorSpecialPos != 0) { if (pauseCtx->cursorSpecialPos != 0) {
j = (pauseCtx->cursorSpecialPos - 8) * 4; j = (pauseCtx->cursorSpecialPos - 8) * 4;
pauseCtx->cursorVtx[0].v.ob[0] = pauseCtx->infoPanelVtx[j].v.ob[0]; pauseCtx->cursorVtx[0].v.ob[0] = pauseCtx->uiOverlayVtx[j].v.ob[0];
pauseCtx->cursorVtx[0].v.ob[1] = pauseCtx->infoPanelVtx[j].v.ob[1]; pauseCtx->cursorVtx[0].v.ob[1] = pauseCtx->uiOverlayVtx[j].v.ob[1];
KaleidoScope_DrawCursor(play, pauseCtx->pageIndex); KaleidoScope_DrawCursor(play, pauseCtx->pageIndex);
} }
// UI_OVERLAY_QUAD_INFO_ICON
temp = pauseCtx->infoPanelOffsetY - 80; temp = pauseCtx->infoPanelOffsetY - 80;
pauseCtx->infoPanelVtx[16].v.ob[1] = pauseCtx->infoPanelVtx[17].v.ob[1] = temp; pauseCtx->uiOverlayVtx[16].v.ob[1] = pauseCtx->uiOverlayVtx[17].v.ob[1] = temp;
pauseCtx->infoPanelVtx[18].v.ob[1] = pauseCtx->infoPanelVtx[19].v.ob[1] = pauseCtx->infoPanelVtx[16].v.ob[1] - 16; pauseCtx->uiOverlayVtx[18].v.ob[1] = pauseCtx->uiOverlayVtx[19].v.ob[1] = pauseCtx->uiOverlayVtx[16].v.ob[1] - 16;
pauseCtx->infoPanelVtx[18].v.tc[1] = pauseCtx->infoPanelVtx[19].v.tc[1] = 0x200; pauseCtx->uiOverlayVtx[18].v.tc[1] = pauseCtx->uiOverlayVtx[19].v.tc[1] = 0x200;
gDPPipeSync(POLY_OPA_DISP++); gDPPipeSync(POLY_OPA_DISP++);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE, gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, PRIMITIVE,
@ -1887,14 +1898,16 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) && ((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) &&
(pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) || (pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) { (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
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] = // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[16].v.ob[0] + 128; pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] = -63;
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x1000; pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + 128;
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 4, 0); pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x1000;
gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 4, 0);
if (pauseCtx->nameColorSet == 1) { if (pauseCtx->nameColorSet == 1) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 70, 70, 70, 255); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 70, 70, 70, 255);
@ -1928,21 +1941,22 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
if (GET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]) == if (GET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]) ==
gAreaGsFlags[D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]]) { gAreaGsFlags[D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]]) {
pauseCtx->infoPanelVtx[24].v.ob[0] = pauseCtx->infoPanelVtx[26].v.ob[0] = -74; // UI_OVERLAY_QUAD_HAVE_ALL_GS
pauseCtx->uiOverlayVtx[24].v.ob[0] = pauseCtx->uiOverlayVtx[26].v.ob[0] = -74;
pauseCtx->infoPanelVtx[25].v.ob[0] = pauseCtx->infoPanelVtx[27].v.ob[0] = pauseCtx->uiOverlayVtx[25].v.ob[0] = pauseCtx->uiOverlayVtx[27].v.ob[0] =
pauseCtx->infoPanelVtx[24].v.ob[0] + 19; pauseCtx->uiOverlayVtx[24].v.ob[0] + 19;
pauseCtx->infoPanelVtx[24].v.ob[1] = pauseCtx->infoPanelVtx[25].v.ob[1] = pauseCtx->uiOverlayVtx[24].v.ob[1] = pauseCtx->uiOverlayVtx[25].v.ob[1] =
pauseCtx->infoPanelVtx[24].v.ob[1] - 2; pauseCtx->uiOverlayVtx[24].v.ob[1] - 2;
pauseCtx->infoPanelVtx[26].v.ob[1] = pauseCtx->infoPanelVtx[27].v.ob[1] = pauseCtx->uiOverlayVtx[26].v.ob[1] = pauseCtx->uiOverlayVtx[27].v.ob[1] =
pauseCtx->infoPanelVtx[24].v.ob[1] - 19; pauseCtx->uiOverlayVtx[24].v.ob[1] - 19;
pauseCtx->infoPanelVtx[25].v.tc[0] = pauseCtx->infoPanelVtx[27].v.tc[0] = 0x300; pauseCtx->uiOverlayVtx[25].v.tc[0] = pauseCtx->uiOverlayVtx[27].v.tc[0] = 0x300;
gDPPipeSync(POLY_OPA_DISP++); gDPPipeSync(POLY_OPA_DISP++);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[24], 4, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[24], 4, 0);
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0, gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0); PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0);
@ -1955,31 +1969,36 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} }
} else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) || } else if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_EQUIP_CHANGED) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) { (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
pauseCtx->infoPanelVtx[20].v.ob[1] = pauseCtx->infoPanelVtx[21].v.ob[1] = temp; // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[20].v.ob[1] = pauseCtx->uiOverlayVtx[21].v.ob[1] = temp;
pauseCtx->infoPanelVtx[22].v.ob[1] = pauseCtx->infoPanelVtx[23].v.ob[1] = pauseCtx->uiOverlayVtx[22].v.ob[1] = pauseCtx->uiOverlayVtx[23].v.ob[1] =
pauseCtx->infoPanelVtx[20].v.ob[1] - 16; pauseCtx->uiOverlayVtx[20].v.ob[1] - 16;
pauseCtx->infoPanelVtx[22].v.tc[1] = pauseCtx->infoPanelVtx[23].v.tc[1] = 0x200; pauseCtx->uiOverlayVtx[22].v.tc[1] = pauseCtx->uiOverlayVtx[23].v.tc[1] = 0x200;
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 8, 0); gSPVertex(POLY_OPA_DISP++, &pauseCtx->uiOverlayVtx[16], 8, 0);
if (pauseCtx->state == PAUSE_STATE_SAVE_PROMPT) { if (pauseCtx->state == PAUSE_STATE_SAVE_PROMPT) {
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK5(gSaveContext.language); R_KALEIDO_UNK5(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24; pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language); pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language]; pauseCtx->uiOverlayVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language];
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToDecideTextWidths[gSaveContext.language] << 5; sToDecideTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@ -1991,12 +2010,13 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
sToDecideTextWidths[gSaveContext.language], 16, 4); sToDecideTextWidths[gSaveContext.language], 16, 4);
} else if (pauseCtx->cursorSpecialPos != 0) { } else if (pauseCtx->cursorSpecialPos != 0) {
if ((pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) { if ((pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = -63; // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] = -63;
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 128; pauseCtx->uiOverlayVtx[16].v.ob[0] + 128;
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x1000; pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x1000;
gDPPipeSync(POLY_OPA_DISP++); gDPPipeSync(POLY_OPA_DISP++);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 200, 0, 255); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 200, 0, 255);
@ -2013,21 +2033,25 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} }
} else { } else {
if ((u32)pauseCtx->pageIndex == PAUSE_ITEM) { if ((u32)pauseCtx->pageIndex == PAUSE_ITEM) {
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK1(gSaveContext.language); R_KALEIDO_UNK1(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 48; pauseCtx->uiOverlayVtx[16].v.ob[0] + 48;
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language); pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language]; pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x600; // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x600;
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5; sToEquipTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gCButtonIconsDL); gSPDisplayList(POLY_OPA_DISP++, gCButtonIconsDL);
@ -2042,28 +2066,32 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} else if ((pauseCtx->pageIndex == PAUSE_QUEST) && } else if ((pauseCtx->pageIndex == PAUSE_QUEST) &&
((pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11))) { ((pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11))) {
if (pauseCtx->namedItem != PAUSE_ITEM_NONE) { if (pauseCtx->namedItem != PAUSE_ITEM_NONE) {
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK3(gSaveContext.language); R_KALEIDO_UNK3(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24; pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language); pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
#if OOT_PAL #if OOT_PAL
if (gSaveContext.language == LANGUAGE_GER) { if (gSaveContext.language == LANGUAGE_GER) {
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] = pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] - 99; pauseCtx->uiOverlayVtx[16].v.ob[0] - 99;
} }
#endif #endif
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language]; pauseCtx->uiOverlayVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language];
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToPlayMelodyTextWidths[gSaveContext.language] << 5; sToPlayMelodyTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@ -2076,21 +2104,25 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
sToPlayMelodyTextWidths[gSaveContext.language], 16, 4); sToPlayMelodyTextWidths[gSaveContext.language], 16, 4);
} }
} else if (pauseCtx->pageIndex == PAUSE_EQUIP) { } else if (pauseCtx->pageIndex == PAUSE_EQUIP) {
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] = // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[16].v.ob[0] = pauseCtx->uiOverlayVtx[18].v.ob[0] =
R_KALEIDO_UNK6(gSaveContext.language); R_KALEIDO_UNK6(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] = pauseCtx->uiOverlayVtx[17].v.ob[0] = pauseCtx->uiOverlayVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24; pauseCtx->uiOverlayVtx[16].v.ob[0] + 24;
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language); pauseCtx->uiOverlayVtx[20].v.ob[0] = pauseCtx->uiOverlayVtx[22].v.ob[0] =
pauseCtx->uiOverlayVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] = pauseCtx->uiOverlayVtx[21].v.ob[0] = pauseCtx->uiOverlayVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language]; pauseCtx->uiOverlayVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300; // UI_OVERLAY_QUAD_INFO_ICON
pauseCtx->uiOverlayVtx[17].v.tc[0] = pauseCtx->uiOverlayVtx[19].v.tc[0] = 0x300;
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] = // UI_OVERLAY_QUAD_INFO_TEXT
pauseCtx->uiOverlayVtx[21].v.tc[0] = pauseCtx->uiOverlayVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5; sToEquipTextWidths[gSaveContext.language] << 5;
gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL); gSPDisplayList(POLY_OPA_DISP++, gAButtonIconDL);
@ -3328,7 +3360,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
pauseCtx->questVtx[k + 3].v.cn[3] = pauseCtx->alpha; pauseCtx->questVtx[k + 3].v.cn[3] = pauseCtx->alpha;
} }
pauseCtx->infoPanelVtx = GRAPH_ALLOC(gfxCtx, 28 * sizeof(Vtx)); pauseCtx->uiOverlayVtx = GRAPH_ALLOC(gfxCtx, (UI_OVERLAY_QUAD_MAX * 4) * sizeof(Vtx));
pauseCtx->promptPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_PROMPT_QUADS) * 4) * sizeof(Vtx)); pauseCtx->promptPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_PROMPT_QUADS) * 4) * sizeof(Vtx));
KaleidoScope_SetPageVertices(play, pauseCtx->promptPageVtx, VTX_PAGE_PROMPT, VTX_PAGE_PROMPT_QUADS); KaleidoScope_SetPageVertices(play, pauseCtx->promptPageVtx, VTX_PAGE_PROMPT, VTX_PAGE_PROMPT_QUADS);
@ -3411,7 +3443,7 @@ void KaleidoScope_Draw(PlayState* play) {
KaleidoScope_SetView(pauseCtx, 0.0f, 0.0f, 64.0f); KaleidoScope_SetView(pauseCtx, 0.0f, 0.0f, 64.0f);
if (!IS_PAUSE_STATE_GAMEOVER(pauseCtx)) { if (!IS_PAUSE_STATE_GAMEOVER(pauseCtx)) {
KaleidoScope_DrawInfoPanel(play); KaleidoScope_DrawUIOverlay(play);
} }
} }

View File

@ -221,6 +221,17 @@ typedef enum ItemQuad {
#define TO_PAGE_LABEL_TEX_WIDTH 128 #define TO_PAGE_LABEL_TEX_WIDTH 128
#define TO_PAGE_LABEL_TEX_HEIGHT 16 #define TO_PAGE_LABEL_TEX_HEIGHT 16
typedef enum UIOverlayQuad {
/* 0 */ UI_OVERLAY_QUAD_INFO_BG_LEFT, // The left half of the info plate background
/* 1 */ UI_OVERLAY_QUAD_INFO_BG_RIGHT, // The right half of the info plate background
/* 2 */ UI_OVERLAY_QUAD_BUTTON_LEFT, // The button for scrolling to the left page
/* 3 */ UI_OVERLAY_QUAD_BUTTON_RIGHT, // The button for scrolling to the right page
/* 4 */ UI_OVERLAY_QUAD_INFO_ICON, // The icon in the info plate
/* 5 */ UI_OVERLAY_QUAD_INFO_TEXT, // The text in the info plate
/* 6 */ UI_OVERLAY_QUAD_HAVE_ALL_GS, // On the overworld map page, the indicator that the selected area has been cleared of gold skulltulas
/* 7 */ UI_OVERLAY_QUAD_MAX
} UIOverlayQuad;
void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx); void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx);
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point); s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
void KaleidoScope_DrawInventoryEditor(struct PlayState* play); void KaleidoScope_DrawInventoryEditor(struct PlayState* play);