diff --git a/assets/textures/icon_item_static/icon_item_static.c b/assets/textures/icon_item_static/icon_item_static.c
index 2adb277ebd..1eaccace0b 100644
--- a/assets/textures/icon_item_static/icon_item_static.c
+++ b/assets/textures/icon_item_static/icon_item_static.c
@@ -710,16 +710,16 @@ u64 gCBtnSymbolsTex[TEX_LEN(u64, gCBtnSymbolsTex_WIDTH, gCBtnSymbolsTex_HEIGHT,
#include "assets/textures/icon_item_static/gCBtnSymbolsTex.ia8.inc.c"
};
-#define gNamePanelLeftTex_WIDTH 72
-#define gNamePanelLeftTex_HEIGHT 24
-u64 gNamePanelLeftTex[TEX_LEN(u64, gNamePanelLeftTex_WIDTH, gNamePanelLeftTex_HEIGHT, 8)] = {
-#include "assets/textures/icon_item_static/gNamePanelLeftTex.ia8.inc.c"
+#define gInfoPanelBgLeftTex_WIDTH 72
+#define gInfoPanelBgLeftTex_HEIGHT 24
+u64 gInfoPanelBgLeftTex[TEX_LEN(u64, gInfoPanelBgLeftTex_WIDTH, gInfoPanelBgLeftTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgLeftTex.ia8.inc.c"
};
-#define gNamePanelRightTex_WIDTH 72
-#define gNamePanelRightTex_HEIGHT 24
-u64 gNamePanelRightTex[TEX_LEN(u64, gNamePanelRightTex_WIDTH, gNamePanelRightTex_HEIGHT, 8)] = {
-#include "assets/textures/icon_item_static/gNamePanelRightTex.ia8.inc.c"
+#define gInfoPanelBgRightTex_WIDTH 72
+#define gInfoPanelBgRightTex_HEIGHT 24
+u64 gInfoPanelBgRightTex[TEX_LEN(u64, gInfoPanelBgRightTex_WIDTH, gInfoPanelBgRightTex_HEIGHT, 8)] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgRightTex.ia8.inc.c"
};
#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"
};
-Gfx gItemNamePanelDL[18] = {
-#include "assets/textures/icon_item_static/gItemNamePanelDL.inc.c"
+Gfx gInfoPanelBgDL[18] = {
+#include "assets/textures/icon_item_static/gInfoPanelBgDL.inc.c"
};
Gfx gLButtonIconDL[10] = {
diff --git a/assets/textures/icon_item_static/icon_item_static.h b/assets/textures/icon_item_static/icon_item_static.h
index e8aff38236..8e0a51e1e8 100644
--- a/assets/textures/icon_item_static/icon_item_static.h
+++ b/assets/textures/icon_item_static/icon_item_static.h
@@ -193,7 +193,7 @@ extern u64 gSongNoteTex[TEX_LEN(u64, gSongNoteTex_WIDTH, gSongNoteTex_HEIGHT, 8)
#define gMagicArrowEquipEffectTex_HEIGHT gMagicArrowEquipEffectTex_SIZE
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 gRButtonIconDL[10];
extern Gfx gCButtonIconsDL[11];
diff --git a/assets/xml/textures/icon_item_static.xml b/assets/xml/textures/icon_item_static.xml
index 2d67bfa108..4454a3316f 100644
--- a/assets/xml/textures/icon_item_static.xml
+++ b/assets/xml/textures/icon_item_static.xml
@@ -169,14 +169,14 @@
-
-
+
+
-
+
diff --git a/assets/xml/textures/icon_item_static_pal.xml b/assets/xml/textures/icon_item_static_pal.xml
index 161d4039a0..1869bb2ff1 100644
--- a/assets/xml/textures/icon_item_static_pal.xml
+++ b/assets/xml/textures/icon_item_static_pal.xml
@@ -171,14 +171,14 @@
-
-
+
+
-
+
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
index 84b7687bb4..a844982928 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.c
@@ -1747,7 +1747,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
}
temp = pauseCtx->infoPanelOffsetY - 76;
- for (j = 0, i = 0; i < 7; i++, j += 4) {
+ for (j = 0, i = 0; i < INFO_PANEL_QUAD_MAX; i++, j += 4) {
pauseCtx->infoPanelVtx[j + 0].v.ob[0] = pauseCtx->infoPanelVtx[j + 2].v.ob[0] = -72;
pauseCtx->infoPanelVtx[j + 1].v.ob[0] = pauseCtx->infoPanelVtx[j + 3].v.ob[0] = 0;
@@ -1780,10 +1780,12 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
pauseCtx->infoPanelVtx[j + 1].v.cn[3] = pauseCtx->infoPanelVtx[j + 3].v.cn[3] = pauseCtx->alpha;
}
+ // INFO_PANEL_QUAD_BG_RIGHT
pauseCtx->infoPanelVtx[4].v.ob[0] = pauseCtx->infoPanelVtx[6].v.ob[0] = pauseCtx->infoPanelVtx[0].v.ob[0] + 72;
pauseCtx->infoPanelVtx[5].v.ob[0] = pauseCtx->infoPanelVtx[7].v.ob[0] = pauseCtx->infoPanelVtx[4].v.ob[0] + 72;
+ // INFO_PANEL_QUAD_BUTTON_LEFT
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);
@@ -1804,6 +1806,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
pauseCtx->infoPanelVtx[8].v.ob[1] - 26;
}
+ // INFO_PANEL_QUAD_BUTTON_RIGHT
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);
@@ -1826,6 +1829,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
pauseCtx->infoPanelVtx[12].v.ob[1] - 26;
}
+ // INFO_PANEL_QUAD_BUTTON_LEFT, INFO_PANEL_QUAD_BUTTON_RIGHT
pauseCtx->infoPanelVtx[9].v.tc[0] = pauseCtx->infoPanelVtx[11].v.tc[0] = pauseCtx->infoPanelVtx[13].v.tc[0] =
pauseCtx->infoPanelVtx[15].v.tc[0] = 0x300;
@@ -1842,12 +1846,14 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 90, 100, 130, 255);
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[0], 16, 0);
- gSPDisplayList(POLY_OPA_DISP++, gItemNamePanelDL);
+ // Draw INFO_PANEL_QUAD_BG_LEFT, INFO_PANEL_QUAD_BG_RIGHT
+ gSPDisplayList(POLY_OPA_DISP++, gInfoPanelBgDL);
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);
}
+ // Draw INFO_PANEL_QUAD_BUTTON_LEFT
gSPDisplayList(POLY_OPA_DISP++, gLButtonIconDL);
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 180, 210, 255, 220);
@@ -1856,6 +1862,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, D_808321A0, D_808321A2, D_808321A4, D_808321A6);
}
+ // Draw INFO_PANEL_QUAD_BUTTON_RIGHT
gSPDisplayList(POLY_OPA_DISP++, gRButtonIconDL);
if (pauseCtx->cursorSpecialPos != 0) {
@@ -1865,6 +1872,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
KaleidoScope_DrawCursor(play, pauseCtx->pageIndex);
}
+ // INFO_PANEL_QUAD_INFO_ICON
temp = pauseCtx->infoPanelOffsetY - 80;
pauseCtx->infoPanelVtx[16].v.ob[1] = pauseCtx->infoPanelVtx[17].v.ob[1] = temp;
@@ -1890,6 +1898,8 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) &&
(pauseCtx->mainState <= PAUSE_MAIN_STATE_EQUIP_CHANGED)) ||
(pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
+
+ // INFO_PANEL_QUAD_INFO_ICON
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] =
@@ -1931,6 +1941,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
if (GET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]) ==
gAreaGsFlags[D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]]) {
+ // INFO_PANEL_QUAD_HAVE_ALL_GS
pauseCtx->infoPanelVtx[24].v.ob[0] = pauseCtx->infoPanelVtx[26].v.ob[0] = -74;
pauseCtx->infoPanelVtx[25].v.ob[0] = pauseCtx->infoPanelVtx[27].v.ob[0] =
@@ -1958,6 +1969,7 @@ void KaleidoScope_DrawInfoPanel(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)) {
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[20].v.ob[1] = pauseCtx->infoPanelVtx[21].v.ob[1] = temp;
pauseCtx->infoPanelVtx[22].v.ob[1] = pauseCtx->infoPanelVtx[23].v.ob[1] =
@@ -1968,20 +1980,24 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
gSPVertex(POLY_OPA_DISP++, &pauseCtx->infoPanelVtx[16], 8, 0);
if (pauseCtx->state == PAUSE_STATE_SAVE_PROMPT) {
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
R_KALEIDO_UNK5(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToDecideTextWidths[gSaveContext.language];
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
sToDecideTextWidths[gSaveContext.language] << 5;
@@ -1994,6 +2010,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
sToDecideTextWidths[gSaveContext.language], 16, 4);
} else if (pauseCtx->cursorSpecialPos != 0) {
if ((pauseCtx->state == PAUSE_STATE_MAIN) && (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE)) {
+ // INFO_PANEL_QUAD_INFO_ICON
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] =
@@ -2016,20 +2033,24 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
}
} else {
if ((u32)pauseCtx->pageIndex == PAUSE_ITEM) {
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
R_KALEIDO_UNK1(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 48;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK4(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x600;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5;
@@ -2045,12 +2066,14 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} else if ((pauseCtx->pageIndex == PAUSE_QUEST) &&
((pauseCtx->cursorSlot[PAUSE_QUEST] >= 6) && (pauseCtx->cursorSlot[PAUSE_QUEST] <= 0x11))) {
if (pauseCtx->namedItem != PAUSE_ITEM_NONE) {
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
R_KALEIDO_UNK3(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
@@ -2064,8 +2087,10 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToPlayMelodyTextWidths[gSaveContext.language];
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
sToPlayMelodyTextWidths[gSaveContext.language] << 5;
@@ -2079,20 +2104,24 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
sToPlayMelodyTextWidths[gSaveContext.language], 16, 4);
}
} else if (pauseCtx->pageIndex == PAUSE_EQUIP) {
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[16].v.ob[0] = pauseCtx->infoPanelVtx[18].v.ob[0] =
R_KALEIDO_UNK6(gSaveContext.language);
pauseCtx->infoPanelVtx[17].v.ob[0] = pauseCtx->infoPanelVtx[19].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + 24;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[20].v.ob[0] = pauseCtx->infoPanelVtx[22].v.ob[0] =
pauseCtx->infoPanelVtx[16].v.ob[0] + R_KALEIDO_UNK2(gSaveContext.language);
pauseCtx->infoPanelVtx[21].v.ob[0] = pauseCtx->infoPanelVtx[23].v.ob[0] =
pauseCtx->infoPanelVtx[20].v.ob[0] + sToEquipTextWidths[gSaveContext.language];
+ // INFO_PANEL_QUAD_INFO_ICON
pauseCtx->infoPanelVtx[17].v.tc[0] = pauseCtx->infoPanelVtx[19].v.tc[0] = 0x300;
+ // INFO_PANEL_QUAD_INFO_TEXT
pauseCtx->infoPanelVtx[21].v.tc[0] = pauseCtx->infoPanelVtx[23].v.tc[0] =
sToEquipTextWidths[gSaveContext.language] << 5;
@@ -3335,7 +3364,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) {
pauseCtx->questVtx[k + 3].v.cn[3] = pauseCtx->alpha;
}
- pauseCtx->infoPanelVtx = GRAPH_ALLOC(gfxCtx, 28 * sizeof(Vtx));
+ pauseCtx->infoPanelVtx = GRAPH_ALLOC(gfxCtx, (INFO_PANEL_QUAD_MAX * 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);
diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
index 566b087e68..7548d6cd71 100644
--- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
+++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope.h
@@ -221,6 +221,17 @@ typedef enum ItemQuad {
#define TO_PAGE_LABEL_TEX_WIDTH 128
#define TO_PAGE_LABEL_TEX_HEIGHT 16
+typedef enum InfoPanelQuad {
+ /* 0 */ INFO_PANEL_QUAD_BG_LEFT, // The left half of the info plate background
+ /* 1 */ INFO_PANEL_QUAD_BG_RIGHT, // The right half of the info plate background
+ /* 2 */ INFO_PANEL_QUAD_BUTTON_LEFT, // The button for scrolling to the left page
+ /* 3 */ INFO_PANEL_QUAD_BUTTON_RIGHT, // The button for scrolling to the right page
+ /* 4 */ INFO_PANEL_QUAD_INFO_ICON, // The icon in the info plate
+ /* 5 */ INFO_PANEL_QUAD_INFO_TEXT, // The text in the info plate
+ /* 6 */ INFO_PANEL_QUAD_HAVE_ALL_GS, // On the overworld map page, the indicator that the selected area has been cleared of gold skulltulas
+ /* 7 */ INFO_PANEL_QUAD_MAX
+} InfoPanelQuad;
+
void KaleidoScope_DrawQuestStatus(struct PlayState* play, GraphicsContext* gfxCtx);
s32 KaleidoScope_UpdateQuestStatusPoint(PauseContext* pauseCtx, s32 point);
void KaleidoScope_DrawInventoryEditor(struct PlayState* play);