mirror of https://github.com/zeldaret/mm.git
z_kaleido_scope_NES.c: Pause Pages (#1149)
* import kaleido wip * PR review 1 * small fix * missed one
This commit is contained in:
parent
180227e7bb
commit
1be7517f3d
|
|
@ -1343,7 +1343,7 @@ void* func_801068FC(PlayState* play, void* arg1, size_t size);
|
|||
void func_80108AF8(PlayState* play);
|
||||
s32 func_801090B0(s32 arg0);
|
||||
s32 func_80109124(s16 arg0);
|
||||
// void func_801091F0(void);
|
||||
void func_801091F0(PlayState* play);
|
||||
void func_80109428(PlayState* play);
|
||||
// void func_801094A0(void);
|
||||
// void func_801094C8(void);
|
||||
|
|
|
|||
|
|
@ -261,11 +261,11 @@ typedef struct {
|
|||
/* 0x188 */ Vtx* questPageVtx;
|
||||
/* 0x18C */ Vtx* maskPageVtx;
|
||||
/* 0x190 */ Vtx* itemVtx;
|
||||
/* 0x194 */ Vtx* mapVtx;
|
||||
/* 0x194 */ Vtx* mapVtx; // inferred
|
||||
/* 0x198 */ Vtx* questVtx;
|
||||
/* 0x19C */ Vtx* maskVtx;
|
||||
/* 0x1A0 */ Vtx* unk_1A0;
|
||||
/* 0x1A4 */ Vtx* unk_1A4;
|
||||
/* 0x1A0 */ Vtx* promptPageVtx;
|
||||
/* 0x1A4 */ Vtx* infoPanelVtx;
|
||||
/* 0x1A8 */ Vtx* cursorVtx;
|
||||
/* 0x1AC */ OcarinaStaff* ocarinaStaff;
|
||||
/* 0x1B0 */ UNK_TYPE1 unk_1B0[0x20];
|
||||
|
|
@ -281,10 +281,10 @@ typedef struct {
|
|||
/* 0x206 */ u16 switchPageTimer;
|
||||
/* 0x208 */ u16 savePromptState;
|
||||
/* 0x20C */ f32 unk_20C;
|
||||
/* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen
|
||||
/* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen
|
||||
/* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen
|
||||
/* 0x21C */ f32 maskPageRoll; // rotation (-z) of the mask page into the screen
|
||||
/* 0x210 */ f32 itemPageRoll; // rotation (-z) of the item page into the screen
|
||||
/* 0x214 */ f32 mapPageRoll; // rotation (+x) of the map page into the screen
|
||||
/* 0x218 */ f32 questPageRoll; // rotation (+z) of the quest page into the screen
|
||||
/* 0x21C */ f32 maskPageRoll; // rotation (-z) of the mask page into the screen
|
||||
/* 0x220 */ f32 roll;
|
||||
/* 0x224 */ u16 alpha;
|
||||
/* 0x226 */ s16 offsetY;
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
KaleidoScope_SetCursorVtx(pauseCtx, pauseCtx->cursorSlot[PAUSE_QUEST] * 4, pauseCtx->questVtx);
|
||||
KaleidoScope_SetCursorVtxPos(pauseCtx, pauseCtx->cursorSlot[PAUSE_QUEST] * 4, pauseCtx->questVtx);
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
|
@ -394,7 +394,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play) {
|
|||
POLY_OPA_DISP, sOcarinaButtonTextures[sQuestSongPlayedOcarinaButtons[i]], 16, 16, 0);
|
||||
}
|
||||
}
|
||||
} else if (IS_PAUSE_MAIN_STATE_SAVE_PROMPT || (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
|
||||
} else if (IS_PAUSE_MAIN_STATE_SONG_PROMPT || (pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE_CURSOR_ON_SONG)) {
|
||||
// Draw the buttons for playing a song
|
||||
sp1C8 = pauseCtx->ocarinaSongIndex;
|
||||
sp1CA = gOcarinaSongButtons[sp1C8].numButtons;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ s16 sEquipMagicArrowSlotHoldTimer = 0;
|
|||
// Number of frames to move icon from slot to target position when equipping.
|
||||
s16 sEquipAnimTimer = 10;
|
||||
|
||||
u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][NUM_ITEM_SLOTS] = {
|
||||
u8 gPlayerFormSlotRestrictions[PLAYER_FORM_MAX][ITEM_NUM_SLOTS] = {
|
||||
// Fierce Deity
|
||||
{
|
||||
false, // SLOT_OCARINA
|
||||
|
|
@ -236,9 +236,9 @@ void KaleidoScope_DrawAmmoCount(PauseContext* pauseCtx, GraphicsContext* gfxCtx,
|
|||
CLOSE_DISPS(gfxCtx);
|
||||
}
|
||||
|
||||
void KaleidoScope_SetCursorVtx(PauseContext* pauseCtx, u16 index, Vtx* vtx) {
|
||||
pauseCtx->cursorVtx[0].v.ob[0] = vtx[index].v.ob[0];
|
||||
pauseCtx->cursorVtx[0].v.ob[1] = vtx[index].v.ob[1];
|
||||
void KaleidoScope_SetCursorVtxPos(PauseContext* pauseCtx, u16 vtxIndex, Vtx* vtx) {
|
||||
pauseCtx->cursorVtx[0].v.ob[0] = vtx[vtxIndex].v.ob[0];
|
||||
pauseCtx->cursorVtx[0].v.ob[1] = vtx[vtxIndex].v.ob[1];
|
||||
}
|
||||
|
||||
static s16 sMagicArrowEffectsR[] = { 255, 100, 255 };
|
||||
|
|
@ -258,9 +258,9 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
// Loop over c-buttons (i) and vtx offset (j)
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
for (i = 0, j = NUM_ITEM_SLOTS * 4; i < 3; i++, j += 4) {
|
||||
for (i = 0, j = ITEM_NUM_SLOTS * 4; i < 3; i++, j += 4) {
|
||||
if (GET_CUR_FORM_BTN_ITEM(i + 1) != ITEM_NONE) {
|
||||
if (GET_CUR_FORM_BTN_SLOT(i + 1) < NUM_ITEM_SLOTS) {
|
||||
if (GET_CUR_FORM_BTN_SLOT(i + 1) < ITEM_NUM_SLOTS) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->itemVtx[j], 4, 0);
|
||||
POLY_OPA_DISP = Gfx_DrawTexQuadIA8(POLY_OPA_DISP, gEquippedItemOutlineTex, 32, 32, 0);
|
||||
}
|
||||
|
|
@ -272,7 +272,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
// Draw the item icons
|
||||
// Loop over slots (i) and vtx offset (j)
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
for (j = 0, i = 0; i < NUM_ITEM_SLOTS; i++, j += 4) {
|
||||
for (j = 0, i = 0; i < ITEM_NUM_SLOTS; i++, j += 4) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
||||
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i]) != ITEM_NONE) {
|
||||
|
|
@ -323,7 +323,7 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
|
||||
// Loop over slots (i) and ammoIndex (j)
|
||||
for (j = 0, i = 0; i < NUM_ITEM_SLOTS; i++) {
|
||||
for (j = 0, i = 0; i < ITEM_NUM_SLOTS; i++) {
|
||||
if (gAmmoItems[i] != ITEM_NONE) {
|
||||
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i]) != ITEM_NONE) {
|
||||
KaleidoScope_DrawAmmoCount(pauseCtx, play->state.gfxCtx,
|
||||
|
|
@ -398,7 +398,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
|
|||
pauseCtx->cursorPoint[PAUSE_ITEM] =
|
||||
pauseCtx->cursorXIndex[PAUSE_ITEM] + (pauseCtx->cursorYIndex[PAUSE_ITEM] * 6);
|
||||
|
||||
if (pauseCtx->cursorPoint[PAUSE_ITEM] >= NUM_ITEM_SLOTS) {
|
||||
if (pauseCtx->cursorPoint[PAUSE_ITEM] >= ITEM_NUM_SLOTS) {
|
||||
pauseCtx->cursorPoint[PAUSE_ITEM] = pauseCtx->cursorXIndex[PAUSE_ITEM];
|
||||
}
|
||||
|
||||
|
|
@ -429,7 +429,7 @@ void KaleidoScope_UpdateItemCursor(PlayState* play) {
|
|||
pauseCtx->cursorPoint[PAUSE_ITEM] =
|
||||
pauseCtx->cursorXIndex[PAUSE_ITEM] + (pauseCtx->cursorYIndex[PAUSE_ITEM] * 6);
|
||||
|
||||
if (pauseCtx->cursorPoint[PAUSE_ITEM] >= NUM_ITEM_SLOTS) {
|
||||
if (pauseCtx->cursorPoint[PAUSE_ITEM] >= ITEM_NUM_SLOTS) {
|
||||
pauseCtx->cursorPoint[PAUSE_ITEM] = pauseCtx->cursorXIndex[PAUSE_ITEM];
|
||||
}
|
||||
|
||||
|
|
@ -737,7 +737,7 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
|
|||
}
|
||||
|
||||
if (sEquipState == EQUIP_STATE_MAGIC_ARROW_MOVE_TO_BOW_SLOT) {
|
||||
bowItemVtx = &pauseCtx->itemVtx[4];
|
||||
bowItemVtx = &pauseCtx->itemVtx[SLOT_BOW * 4];
|
||||
offsetX = ABS_ALT(pauseCtx->equipAnimX - bowItemVtx->v.ob[0] * 10) / sEquipAnimTimer;
|
||||
offsetY = ABS_ALT(pauseCtx->equipAnimY - bowItemVtx->v.ob[1] * 10) / sEquipAnimTimer;
|
||||
} else {
|
||||
|
|
@ -761,13 +761,13 @@ void KaleidoScope_UpdateItemEquip(PlayState* play) {
|
|||
// Update coordinates of item icon while being equipped
|
||||
if (sEquipState == EQUIP_STATE_MAGIC_ARROW_MOVE_TO_BOW_SLOT) {
|
||||
// target is the bow slot
|
||||
if (pauseCtx->equipAnimX >= (pauseCtx->itemVtx[4].v.ob[0] * 10)) {
|
||||
if (pauseCtx->equipAnimX >= (pauseCtx->itemVtx[SLOT_BOW * 4].v.ob[0] * 10)) {
|
||||
pauseCtx->equipAnimX -= offsetX;
|
||||
} else {
|
||||
pauseCtx->equipAnimX += offsetX;
|
||||
}
|
||||
|
||||
if (pauseCtx->equipAnimY >= (pauseCtx->itemVtx[4].v.ob[1] * 10)) {
|
||||
if (pauseCtx->equipAnimY >= (pauseCtx->itemVtx[SLOT_BOW * 4].v.ob[1] * 10)) {
|
||||
pauseCtx->equipAnimY -= offsetY;
|
||||
} else {
|
||||
pauseCtx->equipAnimY += offsetY;
|
||||
|
|
|
|||
|
|
@ -10,14 +10,8 @@
|
|||
#include "interface/icon_item_dungeon_static/icon_item_dungeon_static.h"
|
||||
#include "interface/icon_item_jpn_static/icon_item_jpn_static.h"
|
||||
|
||||
extern s16 D_8082B7F0[];
|
||||
extern s16 D_8082B838[];
|
||||
|
||||
extern TexturePtr D_09007500; // gPlayerFaceIcon
|
||||
|
||||
#define WORLD_MAP_IMAGE_TEX_WIDTH 216
|
||||
#define WORLD_MAP_IMAGE_TEX_HEIGHT 128
|
||||
|
||||
void KaleidoScope_DrawDungeonStrayFairyCount(PlayState* play) {
|
||||
s16 counterDigits[2];
|
||||
s16 rectLeft;
|
||||
|
|
@ -142,8 +136,8 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
j = 72 + (pauseCtx->cursorSlot[PAUSE_MAP] * 4);
|
||||
KaleidoScope_SetCursorVtx(pauseCtx, j, pauseCtx->mapPageVtx);
|
||||
j = (QUAD_MAP_PAGE_DUNGEON_MAP + pauseCtx->cursorSlot[PAUSE_MAP]) * 4;
|
||||
KaleidoScope_SetCursorVtxPos(pauseCtx, j, pauseCtx->mapPageVtx);
|
||||
|
||||
pauseCtx->cursorItem[PAUSE_MAP] = PAUSE_ITEM_NONE;
|
||||
if (pauseCtx->cursorSpecialPos == 0) {
|
||||
|
|
@ -153,11 +147,19 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
|
|||
pauseCtx->cursorSlot[PAUSE_MAP] = pauseCtx->cursorPoint[PAUSE_MAP];
|
||||
}
|
||||
|
||||
// Set vertices for:
|
||||
// QUAD_MAP_PAGE_DUNGEON_TITLE,
|
||||
// QUAD_MAP_PAGE_DUNGEON_BOSS_KEY,
|
||||
// QUAD_MAP_PAGE_DUNGEON_COMPASS,
|
||||
// QUAD_MAP_PAGE_DUNGEON_MAP
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[60], 16, 0);
|
||||
|
||||
// Dungeon Title
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA, G_CC_MODULATEIA);
|
||||
|
||||
// QUAD_MAP_PAGE_DUNGEON_TITLE
|
||||
POLY_OPA_DISP =
|
||||
Gfx_DrawTexQuadIA8(POLY_OPA_DISP, sDungeonTitleTextures[((void)0, gSaveContext.dungeonIndex)], 128, 16, 0);
|
||||
|
||||
|
|
@ -211,6 +213,7 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
|
|||
gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
||||
// QUAD_MAP_PAGE_DUNGEON_STRAY_FAIRY_GLOWING_CIRCLE
|
||||
pauseCtx->mapPageVtx[76].v.ob[0] = pauseCtx->mapPageVtx[78].v.ob[0] = -16;
|
||||
|
||||
pauseCtx->mapPageVtx[77].v.ob[0] = pauseCtx->mapPageVtx[79].v.ob[0] =
|
||||
|
|
@ -221,7 +224,8 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
|
|||
pauseCtx->mapPageVtx[78].v.ob[1] = pauseCtx->mapPageVtx[79].v.ob[1] =
|
||||
pauseCtx->mapPageVtx[76].v.ob[1] - 24;
|
||||
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[76], 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++,
|
||||
&pauseCtx->mapPageVtx[QUAD_MAP_PAGE_DUNGEON_STRAY_FAIRY_GLOWING_CIRCLE * 4], 4, 0);
|
||||
|
||||
POLY_OPA_DISP =
|
||||
Gfx_DrawTexQuad4b(POLY_OPA_DISP, gStrayFairyGlowingCircleIconTex, G_IM_FMT_I, 32, 24, 0);
|
||||
|
|
@ -258,6 +262,9 @@ void KaleidoScope_DrawDungeonMap(PlayState* play) {
|
|||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK,
|
||||
G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
// QUAD_MAP_PAGE_DUNGEON_BOSS_KEY
|
||||
// QUAD_MAP_PAGE_DUNGEON_COMPASS
|
||||
// QUAD_MAP_PAGE_DUNGEON_MAP
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -486,6 +493,7 @@ s16 sWorldMapDotPrimColors[][3] = {
|
|||
{ 0, 0, 255 },
|
||||
{ 255, 255, 0 },
|
||||
};
|
||||
|
||||
s16 sWorldMapDotEnvColors[][3] = {
|
||||
{ 255, 255, 0 },
|
||||
{ 0, 0, 255 },
|
||||
|
|
@ -537,7 +545,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
KaleidoScope_SetCursorVtx(pauseCtx, pauseCtx->cursorSlot[PAUSE_MAP] * 4, pauseCtx->mapPageVtx);
|
||||
KaleidoScope_SetCursorVtxPos(pauseCtx, pauseCtx->cursorSlot[PAUSE_MAP] * 4, pauseCtx->mapPageVtx);
|
||||
|
||||
// Draw the world map image
|
||||
if ((pauseCtx->pageIndex == PAUSE_MAP) && (pauseCtx->state == PAUSE_STATE_MAIN) &&
|
||||
|
|
@ -561,12 +569,12 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
// Process the 128 rows of pixels for gWorldMapImageTex, 8 rows at a time over 16 iterations
|
||||
// Loop over yPos (t), textureIndex (j)
|
||||
for (t = 62, j = 0; j < 16; j++, t += 8) {
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + j * (WORLD_MAP_IMAGE_TEX_WIDTH * 8),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_TEX_WIDTH, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + j * (WORLD_MAP_IMAGE_WIDTH * 8), G_IM_FMT_CI,
|
||||
G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
rectLeft = 51 << 2;
|
||||
rectRight = rectLeft + (WORLD_MAP_IMAGE_TEX_WIDTH << 2);
|
||||
rectRight = rectLeft + (WORLD_MAP_IMAGE_WIDTH << 2);
|
||||
gSPTextureRectangle(POLY_OPA_DISP++, rectLeft, t << 2, rectRight, (t << 2) + (8 << 2), G_TX_RENDERTILE, 0,
|
||||
0, 1 << 10, 1 << 10);
|
||||
}
|
||||
|
|
@ -593,36 +601,39 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
||||
// Set the vertices for the first 8 quads attached to the world map texture.
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[204], 8 * 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[QUAD_MAP_PAGE_WORLD_IMAGE_FIRST * 4], 8 * 4, 0);
|
||||
|
||||
// Process the first 72 rows of pixels for gWorldMapImageTex, 9 rows at a time over 8 iterations
|
||||
// Loop over quadIndex of this loop (i), quadIndex of the entire texture (k), vtxIndex (j)
|
||||
for (i = 0, k = 0, j = 0; i < 8; i++, k++, j += 4) {
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_TEX_WIDTH * 9),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_TEX_WIDTH, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock(
|
||||
POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0);
|
||||
}
|
||||
|
||||
// Set the vertices for the last 7 quads attached to the world map texture:
|
||||
// 6 quads with a height of 9, 1 quad with a height of 2
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[236], (6 + 1) * 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[(QUAD_MAP_PAGE_WORLD_IMAGE_FIRST + 8) * 4], (6 + 1) * 4, 0);
|
||||
|
||||
// Process the next 54 rows of pixels for gWorldMapImageTex, 9 rows at a time over 6 iterations
|
||||
// Loop over quadIndex of this loop (i), quadIndex of the entire texture (k), vtxIndex (j)
|
||||
for (i = 0, j = 0; i < 6; i++, k++, j += 4) {
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_TEX_WIDTH * 9),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_TEX_WIDTH, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock(
|
||||
POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0);
|
||||
}
|
||||
|
||||
// Process the last 2 rows of pixels for gWorldMapImageTex
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_TEX_WIDTH * 9), G_IM_FMT_CI,
|
||||
G_IM_SIZ_8b, WORLD_MAP_IMAGE_TEX_WIDTH, 2, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock(
|
||||
POLY_OPA_DISP++, (u8*)gWorldMapImageTex + k * (WORLD_MAP_IMAGE_WIDTH * WORLD_MAP_IMAGE_FRAG_HEIGHT),
|
||||
G_IM_FMT_CI, G_IM_SIZ_8b, WORLD_MAP_IMAGE_WIDTH, WORLD_MAP_IMAGE_HEIGHT % WORLD_MAP_IMAGE_FRAG_HEIGHT, 0,
|
||||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, j, j + 2, j + 3, j + 1, 0);
|
||||
}
|
||||
|
|
@ -641,12 +652,13 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
|
||||
// Draw clouds over the world map
|
||||
// Iterate over cloud bits (n)
|
||||
for (n = 0; n < 15; n++) {
|
||||
for (n = 0; n < WORLD_MAP_NUM_CLOUDS; n++) {
|
||||
if (!(((void)0, gSaveContext.save.saveInfo.worldMapCloudVisibility) & gBitFlags[n])) {
|
||||
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[60 + n * 4], 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[(QUAD_MAP_PAGE_WORLD_CLOUDS_FIRST + n) * 4], 4, 0);
|
||||
|
||||
POLY_OPA_DISP = Gfx_DrawTexQuadIA8(POLY_OPA_DISP, sCloudTextures[n], D_8082B7F0[n], D_8082B838[n], 0);
|
||||
POLY_OPA_DISP = Gfx_DrawTexQuadIA8(POLY_OPA_DISP, sCloudTextures[n], gVtxPageMapWorldQuadsWidth[n],
|
||||
gVtxPageMapWorldQuadsHeight[n], 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -676,6 +688,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
if (R_PAUSE_DBG_MAP_CLOUD_ON) {
|
||||
gSaveContext.save.saveInfo.worldMapCloudVisibility |= (u16)~0x8000;
|
||||
|
||||
// QUAD_MAP_PAGE_WORLD_REGION_FIRST
|
||||
pauseCtx->mapPageVtx[120].v.ob[0] = pauseCtx->mapPageVtx[122].v.ob[0] = R_PAUSE_DBG_MAP_CLOUD_X;
|
||||
|
||||
pauseCtx->mapPageVtx[121].v.ob[0] = pauseCtx->mapPageVtx[123].v.ob[0] =
|
||||
|
|
@ -690,7 +703,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
// Loop over RegionId (i), unused vtxIndex (j), unused (k)
|
||||
for (i = 0, j = 0; i < REGION_MAX; i++, k++, j += 4) {
|
||||
if (pauseCtx->worldMapPoints[i]) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[120 + i * 4], 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[(QUAD_MAP_PAGE_WORLD_REGION_FIRST + i) * 4], 4, 0);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -708,6 +721,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
if (R_PAUSE_DBG_MAP_CLOUD_ON) {
|
||||
gSaveContext.save.saveInfo.worldMapCloudVisibility |= (u16)~0x8000;
|
||||
|
||||
// QUAD_MAP_PAGE_WORLD_WARP_FIRST
|
||||
pauseCtx->mapPageVtx[164].v.ob[0] = pauseCtx->mapPageVtx[166].v.ob[0] = R_PAUSE_DBG_MAP_CLOUD_X;
|
||||
|
||||
pauseCtx->mapPageVtx[165].v.ob[0] = pauseCtx->mapPageVtx[167].v.ob[0] =
|
||||
|
|
@ -722,7 +736,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play) {
|
|||
// Loop over OwlWarpId (i), unused vtxIndex (j), unused (k)
|
||||
for (i = 0, j = 0; i < OWL_WARP_ENTRANCE; i++, k++, j += 4) {
|
||||
if (pauseCtx->worldMapPoints[i]) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[164 + i * 4], 4, 0);
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->mapPageVtx[(QUAD_MAP_PAGE_WORLD_WARP_FIRST + i) * 4], 4, 0);
|
||||
gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ s16 sMaskEquipMagicArrowSlotHoldTimer = 0;
|
|||
// Number of frames to move icon from slot to target position when equipping.
|
||||
s16 sMaskEquipAnimTimer = 10;
|
||||
|
||||
u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][NUM_MASK_SLOTS] = {
|
||||
u8 gMaskPlayerFormSlotRestrictions[PLAYER_FORM_MAX][MASK_NUM_SLOTS] = {
|
||||
// Fierce Deity
|
||||
{
|
||||
false, // SLOT_MASK_POSTMAN
|
||||
|
|
@ -196,7 +196,7 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
|
|||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
KaleidoScope_SetCursorVtx(pauseCtx, pauseCtx->cursorSlot[PAUSE_MASK] * 4, pauseCtx->maskVtx);
|
||||
KaleidoScope_SetCursorVtxPos(pauseCtx, pauseCtx->cursorSlot[PAUSE_MASK] * 4, pauseCtx->maskVtx);
|
||||
|
||||
func_8012C8AC(play->state.gfxCtx);
|
||||
|
||||
|
|
@ -204,9 +204,9 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
|
|||
// Loop over c-buttons (i) and vtx offset (j)
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
for (i = 0, j = NUM_MASK_SLOTS * 4; i < 3; i++, j += 4) {
|
||||
for (i = 0, j = MASK_NUM_SLOTS * 4; i < 3; i++, j += 4) {
|
||||
if (GET_CUR_FORM_BTN_ITEM(i + 1) != ITEM_NONE) {
|
||||
if (GET_CUR_FORM_BTN_SLOT(i + 1) >= NUM_ITEM_SLOTS) {
|
||||
if (GET_CUR_FORM_BTN_SLOT(i + 1) >= ITEM_NUM_SLOTS) {
|
||||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->maskVtx[j], 4, 0);
|
||||
POLY_OPA_DISP = Gfx_DrawTexQuadIA8(POLY_OPA_DISP, gEquippedItemOutlineTex, 32, 32, 0);
|
||||
}
|
||||
|
|
@ -218,10 +218,10 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
|
|||
// Draw the item icons
|
||||
// Loop over slots (i) and vtx offset (j)
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
for (j = 0, i = 0; i < NUM_MASK_SLOTS; i++, j += 4) {
|
||||
for (j = 0, i = 0; i < MASK_NUM_SLOTS; i++, j += 4) {
|
||||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
|
||||
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i + NUM_ITEM_SLOTS]) != ITEM_NONE) {
|
||||
if (((void)0, gSaveContext.save.saveInfo.inventory.items[i + ITEM_NUM_SLOTS]) != ITEM_NONE) {
|
||||
if (!CHECK_GIVEN_MASK_ON_MOON(i)) {
|
||||
if ((pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) && (pauseCtx->pageIndex == PAUSE_MASK) &&
|
||||
(pauseCtx->cursorSpecialPos == 0) &&
|
||||
|
|
@ -259,7 +259,7 @@ void KaleidoScope_DrawMaskSelect(PlayState* play) {
|
|||
gSPVertex(POLY_OPA_DISP++, &pauseCtx->maskVtx[j + 0], 4, 0);
|
||||
KaleidoScope_DrawTexQuadRGBA32(
|
||||
play->state.gfxCtx,
|
||||
gItemIcons[((void)0, gSaveContext.save.saveInfo.inventory.items[i + NUM_ITEM_SLOTS])], 32, 32, 0);
|
||||
gItemIcons[((void)0, gSaveContext.save.saveInfo.inventory.items[i + ITEM_NUM_SLOTS])], 32, 32, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
pauseCtx->cursorPoint[PAUSE_MASK] =
|
||||
pauseCtx->cursorXIndex[PAUSE_MASK] + (pauseCtx->cursorYIndex[PAUSE_MASK] * 6);
|
||||
|
||||
if (pauseCtx->cursorPoint[PAUSE_MASK] >= NUM_MASK_SLOTS) {
|
||||
if (pauseCtx->cursorPoint[PAUSE_MASK] >= MASK_NUM_SLOTS) {
|
||||
pauseCtx->cursorPoint[PAUSE_MASK] = pauseCtx->cursorXIndex[PAUSE_MASK];
|
||||
}
|
||||
|
||||
|
|
@ -354,7 +354,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
pauseCtx->cursorPoint[PAUSE_MASK] =
|
||||
pauseCtx->cursorXIndex[PAUSE_MASK] + (pauseCtx->cursorYIndex[PAUSE_MASK] * 6);
|
||||
|
||||
if (pauseCtx->cursorPoint[PAUSE_MASK] >= NUM_MASK_SLOTS) {
|
||||
if (pauseCtx->cursorPoint[PAUSE_MASK] >= MASK_NUM_SLOTS) {
|
||||
pauseCtx->cursorPoint[PAUSE_MASK] = pauseCtx->cursorXIndex[PAUSE_MASK];
|
||||
}
|
||||
|
||||
|
|
@ -372,7 +372,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
|
||||
if (moveCursorResult == PAUSE_CURSOR_RESULT_SLOT) {
|
||||
cursorItem =
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + NUM_ITEM_SLOTS];
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + ITEM_NUM_SLOTS];
|
||||
if (CHECK_GIVEN_MASK_ON_MOON(pauseCtx->cursorPoint[PAUSE_MASK])) {
|
||||
cursorItem = ITEM_NONE;
|
||||
}
|
||||
|
|
@ -388,7 +388,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
// Search for slot to move to
|
||||
while (true) {
|
||||
// Check if current cursor has an item in its slot
|
||||
if ((gSaveContext.save.saveInfo.inventory.items[cursorPoint + NUM_ITEM_SLOTS] != ITEM_NONE) &&
|
||||
if ((gSaveContext.save.saveInfo.inventory.items[cursorPoint + ITEM_NUM_SLOTS] != ITEM_NONE) &&
|
||||
!CHECK_GIVEN_MASK_ON_MOON(cursorPoint)) {
|
||||
pauseCtx->cursorPoint[PAUSE_MASK] = cursorPoint;
|
||||
pauseCtx->cursorXIndex[PAUSE_MASK] = cursorXIndex;
|
||||
|
|
@ -429,7 +429,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
// Search for slot to move to
|
||||
while (true) {
|
||||
// Check if current cursor has an item in its slot
|
||||
if ((gSaveContext.save.saveInfo.inventory.items[cursorPoint + NUM_ITEM_SLOTS] != ITEM_NONE) &&
|
||||
if ((gSaveContext.save.saveInfo.inventory.items[cursorPoint + ITEM_NUM_SLOTS] != ITEM_NONE) &&
|
||||
!CHECK_GIVEN_MASK_ON_MOON(cursorPoint)) {
|
||||
pauseCtx->cursorPoint[PAUSE_MASK] = cursorPoint;
|
||||
pauseCtx->cursorXIndex[PAUSE_MASK] = cursorXIndex;
|
||||
|
|
@ -502,13 +502,13 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
|
||||
if (moveCursorResult == PAUSE_CURSOR_RESULT_SLOT) {
|
||||
cursorItem =
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + NUM_ITEM_SLOTS];
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + ITEM_NUM_SLOTS];
|
||||
if (CHECK_GIVEN_MASK_ON_MOON(pauseCtx->cursorPoint[PAUSE_MASK])) {
|
||||
cursorItem = ITEM_NONE;
|
||||
}
|
||||
} else if (moveCursorResult != PAUSE_CURSOR_RESULT_SPECIAL_POS) {
|
||||
cursorItem =
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + NUM_ITEM_SLOTS];
|
||||
gSaveContext.save.saveInfo.inventory.items[pauseCtx->cursorPoint[PAUSE_MASK] + ITEM_NUM_SLOTS];
|
||||
if (CHECK_GIVEN_MASK_ON_MOON(pauseCtx->cursorPoint[PAUSE_MASK])) {
|
||||
cursorItem = ITEM_NONE;
|
||||
}
|
||||
|
|
@ -571,8 +571,8 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
|
||||
if ((Player_GetEnvironmentalHazard(play) >= PLAYER_ENV_HAZARD_UNDERWATER_FLOOR) &&
|
||||
(Player_GetEnvironmentalHazard(play) <= PLAYER_ENV_HAZARD_UNDERWATER_FREE) &&
|
||||
((cursorSlot == (SLOT_MASK_DEKU - NUM_ITEM_SLOTS)) ||
|
||||
(cursorSlot == (SLOT_MASK_GORON - NUM_ITEM_SLOTS)))) {
|
||||
((cursorSlot == (SLOT_MASK_DEKU - ITEM_NUM_SLOTS)) ||
|
||||
(cursorSlot == (SLOT_MASK_GORON - ITEM_NUM_SLOTS)))) {
|
||||
play_sound(NA_SE_SY_ERROR);
|
||||
return;
|
||||
}
|
||||
|
|
@ -587,7 +587,7 @@ void KaleidoScope_UpdateMaskCursor(PlayState* play) {
|
|||
|
||||
// Equip item to the C buttons
|
||||
pauseCtx->equipTargetItem = cursorItem;
|
||||
pauseCtx->equipTargetSlot = cursorSlot + NUM_ITEM_SLOTS;
|
||||
pauseCtx->equipTargetSlot = cursorSlot + ITEM_NUM_SLOTS;
|
||||
pauseCtx->mainState = PAUSE_MAIN_STATE_EQUIP_MASK;
|
||||
vtxIndex = cursorSlot * 4;
|
||||
pauseCtx->equipAnimX = pauseCtx->maskVtx[vtxIndex].v.ob[0] * 10;
|
||||
|
|
@ -659,7 +659,10 @@ void KaleidoScope_UpdateMaskEquip(PlayState* play) {
|
|||
}
|
||||
|
||||
if (sMaskEquipState == EQUIP_STATE_MAGIC_ARROW_MOVE_TO_BOW_SLOT) {
|
||||
bowItemVtx = &pauseCtx->itemVtx[12];
|
||||
//! Note: Copied from OoT when `SLOT_BOW` was still valued at 3.
|
||||
// Due to a shift, `SLOT_ARROW_ICE` now occupies slot 3 but this value was not updated
|
||||
// Block is never reached as you can not equip magic arrows from the mask page
|
||||
bowItemVtx = &pauseCtx->itemVtx[SLOT_ARROW_ICE * 4];
|
||||
offsetX = ABS_ALT(pauseCtx->equipAnimX - bowItemVtx->v.ob[0] * 10) / sMaskEquipAnimTimer;
|
||||
offsetY = ABS_ALT(pauseCtx->equipAnimY - bowItemVtx->v.ob[1] * 10) / sMaskEquipAnimTimer;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ void KaleidoScope_UpdatePrompt(PlayState* play) {
|
|||
static s16 sPromptAlphaTimer = 10;
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
Input* input = CONTROLLER1(&play->state);
|
||||
s8 relStickX = input->rel.stick_x;
|
||||
s8 stickAdjX = input->rel.stick_x;
|
||||
s16 alphaStep;
|
||||
|
||||
if (((pauseCtx->state == PAUSE_STATE_SAVEPROMPT) && (pauseCtx->savePromptState == PAUSE_SAVEPROMPT_STATE_1)) ||
|
||||
|
|
@ -22,11 +22,11 @@ void KaleidoScope_UpdatePrompt(PlayState* play) {
|
|||
(pauseCtx->state == PAUSE_STATE_GAMEOVER_CONTINUE_PROMPT)) {
|
||||
|
||||
// Move the prompt
|
||||
if ((pauseCtx->promptChoice == PAUSE_PROMPT_YES) && (relStickX >= 30)) {
|
||||
if ((pauseCtx->promptChoice == PAUSE_PROMPT_YES) && (stickAdjX >= 30)) {
|
||||
// Move right to the no prompt
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
pauseCtx->promptChoice = PAUSE_PROMPT_NO;
|
||||
} else if ((pauseCtx->promptChoice != PAUSE_PROMPT_YES) && (relStickX <= -30)) {
|
||||
} else if ((pauseCtx->promptChoice != PAUSE_PROMPT_YES) && (stickAdjX <= -30)) {
|
||||
// Move left to the yes prompt
|
||||
play_sound(NA_SE_SY_CURSOR);
|
||||
pauseCtx->promptChoice = PAUSE_PROMPT_YES;
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ typedef enum {
|
|||
#define IS_PAUSE_STATE_OWLWARP \
|
||||
((pauseCtx->state >= PAUSE_STATE_OWLWARP_2) && (pauseCtx->state <= PAUSE_STATE_OWLWARP_6))
|
||||
|
||||
#define IS_PAUSE_MAIN_STATE_SAVE_PROMPT \
|
||||
#define IS_PAUSE_MAIN_STATE_SONG_PROMPT \
|
||||
((pauseCtx->mainState >= PAUSE_MAIN_STATE_SONG_PROMPT_INIT) && \
|
||||
(pauseCtx->mainState <= PAUSE_MAIN_STATE_SONG_PROMPT_DONE))
|
||||
|
||||
|
|
@ -125,6 +125,184 @@ typedef enum {
|
|||
/* 5 */ PAUSE_BG_PRERENDER_MAX
|
||||
} PauseBgPreRenderState;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ VTX_PAGE_MASK,
|
||||
/* 1 */ VTX_PAGE_ITEM,
|
||||
/* 2 */ VTX_PAGE_MAP_DUNGEON,
|
||||
/* 3 */ VTX_PAGE_QUEST,
|
||||
/* 4 */ VTX_PAGE_MAP_WORLD,
|
||||
/* 5 */ VTX_PAGE_PROMPT,
|
||||
/* 6 */ VTX_PAGE_MAX
|
||||
} VtxPage;
|
||||
|
||||
#define VTX_PAGE_MASK_QUADS 0 // VTX_PAGE_MASK
|
||||
#define VTX_PAGE_ITEM_QUADS 0 // VTX_PAGE_ITEM
|
||||
#define VTX_PAGE_MAP_DUNGEON_QUADS 6 // VTX_PAGE_MAP_DUNGEON
|
||||
#define VTX_PAGE_QUEST_QUADS 0 // VTX_PAGE_QUEST
|
||||
#define VTX_PAGE_MAP_WORLD_QUADS 36 // VTX_PAGE_MAP_WORLD
|
||||
#define VTX_PAGE_SAVE_QUADS 5 // VTX_PAGE_PROMPT
|
||||
|
||||
#define PAGE_BG_COLS 3
|
||||
#define PAGE_BG_ROWS 5
|
||||
#define PAGE_BG_QUADS (PAGE_BG_COLS * PAGE_BG_ROWS)
|
||||
#define PAGE_BG_QUAD_WIDTH 80
|
||||
#define PAGE_BG_QUAD_HEIGHT 32
|
||||
#define PAGE_BG_QUAD_TEX_WIDTH 80
|
||||
#define PAGE_BG_QUAD_TEX_HEIGHT 32
|
||||
|
||||
// === ITEM === //
|
||||
|
||||
#define ITEM_GRID_ROWS 4
|
||||
#define ITEM_GRID_COLS 6
|
||||
#define ITEM_GRID_CELL_WIDTH 32
|
||||
#define ITEM_GRID_CELL_HEIGHT 32
|
||||
#define ITEM_GRID_QUAD_MARGIN 2
|
||||
#define ITEM_GRID_QUAD_WIDTH (ITEM_GRID_CELL_WIDTH - (2 * ITEM_GRID_QUAD_MARGIN))
|
||||
#define ITEM_GRID_QUAD_HEIGHT (ITEM_GRID_CELL_HEIGHT - (2 * ITEM_GRID_QUAD_MARGIN))
|
||||
#define ITEM_GRID_QUAD_TEX_SIZE 32 // both width and height
|
||||
#define ITEM_GRID_QUAD_ENLARGE_OFFSET 2
|
||||
|
||||
#define ITEM_GRID_SELECTED_QUAD_MARGIN (-2)
|
||||
#define ITEM_GRID_SELECTED_QUAD_WIDTH (ITEM_GRID_QUAD_WIDTH - (2 * ITEM_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define ITEM_GRID_SELECTED_QUAD_HEIGHT (ITEM_GRID_QUAD_HEIGHT - (2 * ITEM_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define ITEM_GRID_SELECTED_QUAD_TEX_SIZE 32 // both width and height
|
||||
|
||||
#define ITEM_NUM_SLOTS (ITEM_GRID_ROWS * ITEM_GRID_COLS)
|
||||
|
||||
typedef enum {
|
||||
// 0..59 are the 15 background textures
|
||||
/* 0 */ QUAD_ITEM_PAGE_BG_FIRST,
|
||||
/* 14 */ QUAD_ITEM_PAGE_BG_LAST = PAGE_BG_QUADS - 1,
|
||||
// VTX_PAGE_ITEM_QUADS is 0
|
||||
/* 15 */ QUAD_ITEM_PAGE_MAX
|
||||
} ItemPageQuad;
|
||||
|
||||
typedef enum {
|
||||
// 0..23 are the ITEM_GRID_ROWS*ITEM_GRID_COLS item grid
|
||||
// The values follow the `InventorySlot` enum
|
||||
/* 0 */ QUAD_ITEM_GRID_FIRST,
|
||||
/* 23 */ QUAD_ITEM_GRID_LAST = ITEM_GRID_ROWS * ITEM_GRID_COLS - 1,
|
||||
// White-box Markers indicating the currently equipped items
|
||||
/* 24 */ QUAD_ITEM_GRID_SELECTED_C_LEFT,
|
||||
/* 25 */ QUAD_ITEM_GRID_SELECTED_C_DOWN,
|
||||
/* 26 */ QUAD_ITEM_GRID_SELECTED_C_RIGHT,
|
||||
/* 27 */ QUAD_ITEM_MAX
|
||||
} ItemQuad;
|
||||
|
||||
// === MASK === //
|
||||
|
||||
#define MASK_GRID_ROWS 4
|
||||
#define MASK_GRID_COLS 6
|
||||
#define MASK_GRID_CELL_WIDTH 32
|
||||
#define MASK_GRID_CELL_HEIGHT 32
|
||||
#define MASK_GRID_QUAD_MARGIN 2
|
||||
#define MASK_GRID_QUAD_WIDTH (MASK_GRID_CELL_WIDTH - (2 * MASK_GRID_QUAD_MARGIN))
|
||||
#define MASK_GRID_QUAD_HEIGHT (MASK_GRID_CELL_HEIGHT - (2 * MASK_GRID_QUAD_MARGIN))
|
||||
#define MASK_GRID_QUAD_TEX_SIZE 32 // both width and height
|
||||
#define MASK_GRID_QUAD_ENLARGE_OFFSET 2
|
||||
|
||||
#define MASK_GRID_SELECTED_QUAD_MARGIN (-2)
|
||||
#define MASK_GRID_SELECTED_QUAD_WIDTH (MASK_GRID_QUAD_WIDTH - (2 * MASK_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define MASK_GRID_SELECTED_QUAD_HEIGHT (MASK_GRID_QUAD_HEIGHT - (2 * MASK_GRID_SELECTED_QUAD_MARGIN))
|
||||
#define MASK_GRID_SELECTED_QUAD_TEX_SIZE 32 // both width and height
|
||||
|
||||
#define MASK_NUM_SLOTS (MASK_GRID_ROWS * MASK_GRID_COLS)
|
||||
|
||||
typedef enum {
|
||||
// 0..59 are the 15 background textures
|
||||
/* 0 */ QUAD_MASK_PAGE_BG_FIRST,
|
||||
/* 14 */ QUAD_MASK_PAGE_BG_LAST = PAGE_BG_QUADS - 1,
|
||||
// VTX_PAGE_MASK_QUADS is 0
|
||||
/* 15 */ QUAD_MASK_PAGE_MAX
|
||||
} MaskPageQuad;
|
||||
|
||||
typedef enum {
|
||||
// 0..23 are the MASK_GRID_ROWS*MASK_GRID_COLS item grid
|
||||
// The values follow the `InventorySlot` enum offset by ITEM_NUM_SLOTS
|
||||
/* 0 */ QUAD_MASK_GRID_FIRST,
|
||||
/* 23 */ QUAD_MASK_GRID_LAST = MASK_GRID_ROWS * MASK_GRID_COLS - 1,
|
||||
// Markers indicating the currently equipped items
|
||||
/* 24 */ QUAD_MASK_GRID_SELECTED_C_LEFT,
|
||||
/* 25 */ QUAD_MASK_GRID_SELECTED_C_DOWN,
|
||||
/* 26 */ QUAD_MASK_GRID_SELECTED_C_RIGHT,
|
||||
/* 27 */ QUAD_MASK_MAX
|
||||
} MaskQuad;
|
||||
|
||||
// === QUEST === //
|
||||
|
||||
typedef enum {
|
||||
// 0..59 are the 15 background textures
|
||||
/* 0 */ QUAD_QUEST_PAGE_BG_FIRST,
|
||||
/* 14 */ QUAD_QUEST_PAGE_BG_LAST = PAGE_BG_QUADS - 1,
|
||||
// VTX_PAGE_QUEST_QUADS is 0
|
||||
/* 15 */ QUAD_QUEST_PAGE_MAX
|
||||
} QuestPageQuad;
|
||||
|
||||
typedef enum {
|
||||
// 0 to 24 matches the `QuestItem` enum
|
||||
// Notes showing the correct song
|
||||
/* 25 */ QUAD_QUEST_SONG_NOTE_A1 = QUEST_HEART_PIECE + 1,
|
||||
/* 26 */ QUAD_QUEST_SONG_NOTE_A2,
|
||||
/* 27 */ QUAD_QUEST_SONG_NOTE_A3,
|
||||
/* 28 */ QUAD_QUEST_SONG_NOTE_A4,
|
||||
/* 29 */ QUAD_QUEST_SONG_NOTE_A5,
|
||||
/* 30 */ QUAD_QUEST_SONG_NOTE_A6,
|
||||
/* 31 */ QUAD_QUEST_SONG_NOTE_A7,
|
||||
/* 32 */ QUAD_QUEST_SONG_NOTE_A8,
|
||||
// Notes appearing when playing
|
||||
/* 33 */ QUAD_QUEST_SONG_NOTE_B1,
|
||||
/* 34 */ QUAD_QUEST_SONG_NOTE_B2,
|
||||
/* 35 */ QUAD_QUEST_SONG_NOTE_B3,
|
||||
/* 36 */ QUAD_QUEST_SONG_NOTE_B4,
|
||||
/* 37 */ QUAD_QUEST_SONG_NOTE_B5,
|
||||
/* 38 */ QUAD_QUEST_SONG_NOTE_B6,
|
||||
/* 39 */ QUAD_QUEST_SONG_NOTE_B7,
|
||||
/* 40 */ QUAD_QUEST_SONG_NOTE_B8,
|
||||
/* 41 */ QUAD_QUEST_MAX
|
||||
} QuestQuad;
|
||||
|
||||
// === DUNGEON MAP === //
|
||||
|
||||
typedef enum {
|
||||
// 0..59 are the 15 background textures
|
||||
/* 0 */ QUAD_MAP_PAGE_DUNGEON_BG_FIRST,
|
||||
/* 14 */ QUAD_MAP_PAGE_DUNGEON_BG_LAST = PAGE_BG_QUADS - 1,
|
||||
/* 15 */ QUAD_MAP_PAGE_DUNGEON_TITLE,
|
||||
/* 16 */ QUAD_MAP_PAGE_DUNGEON_BOSS_KEY,
|
||||
/* 17 */ QUAD_MAP_PAGE_DUNGEON_COMPASS,
|
||||
/* 18 */ QUAD_MAP_PAGE_DUNGEON_MAP,
|
||||
/* 19 */ QUAD_MAP_PAGE_DUNGEON_STRAY_FAIRY_GLOWING_CIRCLE,
|
||||
/* 20 */ QUAD_MAP_PAGE_DUNGEON_UNUSED,
|
||||
/* 21 */ QUAD_MAP_PAGE_DUNGEON_MAX
|
||||
} DungeonMapPageQuad;
|
||||
|
||||
// === WORLD MAP === //
|
||||
|
||||
#define WORLD_MAP_IMAGE_WIDTH 216
|
||||
#define WORLD_MAP_IMAGE_HEIGHT 128
|
||||
#define WORLD_MAP_IMAGE_FRAG_HEIGHT ((TMEM_SIZE / 2) / (WORLD_MAP_IMAGE_WIDTH * G_IM_SIZ_8b_BYTES))
|
||||
#define WORLD_MAP_IMAGE_FRAG_NUM (((WORLD_MAP_IMAGE_HEIGHT - 1) / WORLD_MAP_IMAGE_FRAG_HEIGHT) + 1)
|
||||
#define WORLD_MAP_NUM_CLOUDS 15
|
||||
|
||||
typedef enum {
|
||||
// 0..59 are the 15 background textures
|
||||
/* 0 */ QUAD_MAP_PAGE_WORLD_BG_FIRST,
|
||||
/* 14 */ QUAD_MAP_PAGE_WORLD_BG_LAST = PAGE_BG_QUADS - 1,
|
||||
// Clouds covering the world map
|
||||
/* 15 */ QUAD_MAP_PAGE_WORLD_CLOUDS_FIRST,
|
||||
/* 29 */ QUAD_MAP_PAGE_WORLD_CLOUDS_LAST = QUAD_MAP_PAGE_WORLD_CLOUDS_FIRST + WORLD_MAP_NUM_CLOUDS - 1,
|
||||
// Markers for regions
|
||||
/* 30 */ QUAD_MAP_PAGE_WORLD_REGION_FIRST,
|
||||
/* 40 */ QUAD_MAP_PAGE_WORLD_REGION_LAST = QUAD_MAP_PAGE_WORLD_REGION_FIRST + REGION_MAX - 1,
|
||||
// Markers for owl warps
|
||||
/* 41 */ QUAD_MAP_PAGE_WORLD_WARP_FIRST,
|
||||
/* 50 */ QUAD_MAP_PAGE_WORLD_WARP_LAST = QUAD_MAP_PAGE_WORLD_WARP_FIRST + OWL_WARP_ENTRANCE - 1,
|
||||
// Fragments of the world map
|
||||
/* 51 */ QUAD_MAP_PAGE_WORLD_IMAGE_FIRST,
|
||||
/* 65 */ QUAD_MAP_PAGE_WORLD_IMAGE_LAST = QUAD_MAP_PAGE_WORLD_IMAGE_FIRST + WORLD_MAP_IMAGE_FRAG_NUM - 1,
|
||||
/* 66 */ QUAD_MAP_PAGE_WORLD_MAX
|
||||
} WorldMapPageQuad;
|
||||
|
||||
#define PAUSE_NAME_COLOR_SET_WHITE 0
|
||||
#define PAUSE_NAME_COLOR_SET_GREY 1
|
||||
|
||||
|
|
@ -139,12 +317,27 @@ typedef enum {
|
|||
/* 2 */ PAUSE_CURSOR_RESULT_SPECIAL_POS
|
||||
} PauseMoveCursorResult;
|
||||
|
||||
#define NUM_ITEM_SLOTS 24
|
||||
#define NUM_MASK_SLOTS 24
|
||||
typedef enum {
|
||||
/* 0 */ PAUSE_QUAD_CURSOR_0,
|
||||
/* 1 */ PAUSE_QUAD_CURSOR_1,
|
||||
/* 2 */ PAUSE_QUAD_CURSOR_2,
|
||||
/* 3 */ PAUSE_QUAD_CURSOR_3,
|
||||
/* 4 */ PAUSE_QUAD_CURSOR_4,
|
||||
/* 5 */ PAUSE_QUAD_CURSOR_MAX
|
||||
} PauseCursorQuad;
|
||||
|
||||
#define PAUSE_PROMPT_YES 0
|
||||
#define PAUSE_PROMPT_NO 4
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ QUAD_PROMPT_MESSAGE,
|
||||
/* 1 */ QUAD_PROMPT_CURSOR_LEFT,
|
||||
/* 2 */ QUAD_PROMPT_CURSOR_RIGHT,
|
||||
/* 3 */ QUAD_PROMPT_CHOICE_YES,
|
||||
/* 4 */ QUAD_PROMPT_CHOICE_NO,
|
||||
/* 5 */ QUAD_PROMPT_MAX
|
||||
} PromptQuad;
|
||||
|
||||
// NES
|
||||
void KaleidoScope_MoveCursorToSpecialPos(PlayState* play, s16 cursorSpecialPos);
|
||||
void KaleidoScope_DrawTexQuadRGBA32(GraphicsContext* gfxCtx, TexturePtr texture, u16 width, u16 height, u16 point);
|
||||
|
|
@ -162,7 +355,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play);
|
|||
void KaleidoScope_UpdateQuestCursor(PlayState* play);
|
||||
|
||||
// Item
|
||||
void KaleidoScope_SetCursorVtx(PauseContext* pauseCtx, u16 index, Vtx* vtx);
|
||||
void KaleidoScope_SetCursorVtxPos(PauseContext* pauseCtx, u16 vtxIndex, Vtx* vtx);
|
||||
void KaleidoScope_DrawItemSelect(PlayState* play);
|
||||
void KaleidoScope_UpdateItemCursor(PlayState* play);
|
||||
void KaleidoScope_UpdateItemEquip(PlayState* play);
|
||||
|
|
@ -179,4 +372,7 @@ void KaleidoScope_UpdatePrompt(PlayState* play);
|
|||
void KaleidoScope_DrawInventoryEditor(PlayState* play);
|
||||
void KaleidoScope_UpdateInventoryEditor(PlayState* play);
|
||||
|
||||
extern s16 gVtxPageMapWorldQuadsWidth[];
|
||||
extern s16 gVtxPageMapWorldQuadsHeight[];
|
||||
|
||||
#endif
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4205,7 +4205,7 @@
|
|||
0x80819238:("KaleidoScope_DrawInventoryEditor",),
|
||||
0x80819F04:("KaleidoScope_UpdateInventoryEditor",),
|
||||
0x8081B240:("KaleidoScope_DrawAmmoCount",),
|
||||
0x8081B6BC:("KaleidoScope_SetCursorVtx",),
|
||||
0x8081B6BC:("KaleidoScope_SetCursorVtxPos",),
|
||||
0x8081B6EC:("KaleidoScope_DrawItemSelect",),
|
||||
0x8081BCA8:("KaleidoScope_UpdateItemCursor",),
|
||||
0x8081C684:("KaleidoScope_UpdateItemEquip",),
|
||||
|
|
@ -4226,17 +4226,17 @@
|
|||
0x80821AD4:("KaleidoScope_DrawTexQuadRGBA32",),
|
||||
0x80821CC4:("func_80821CC4",),
|
||||
0x80821D84:("KaleidoScope_HandlePageToggles",),
|
||||
0x80821F30:("func_80821F30",),
|
||||
0x808221DC:("func_808221DC",),
|
||||
0x80821F30:("KaleidoScope_DrawPageSections",),
|
||||
0x808221DC:("KaleidoScope_DrawPages",),
|
||||
0x80823350:("func_80823350",),
|
||||
0x80824738:("KaleidoScope_UpdateNamePanel",),
|
||||
0x808248D0:("func_808248D0",),
|
||||
0x808248D0:("KaleidoScope_DrawOwlWarpMapPage",),
|
||||
0x80824B90:("func_80824B90",),
|
||||
0x808256E4:("KaleidoScope_UpdateOwlWarpNamePanel",),
|
||||
0x8082585C:("KaleidoScope_UpdateSwitchPage",),
|
||||
0x808259D4:("KaleidoScope_SetView",),
|
||||
0x80825A50:("func_80825A50",),
|
||||
0x80825E28:("func_80825E28",),
|
||||
0x80825A50:("KaleidoScope_SetPageVertices",),
|
||||
0x80825E28:("KaleidoScope_SetVertices",),
|
||||
0x808274DC:("func_808274DC",),
|
||||
0x80827A8C:("func_80827A8C",),
|
||||
0x80827E08:("func_80827E08",),
|
||||
|
|
|
|||
|
|
@ -4727,12 +4727,12 @@
|
|||
0x8082B6F0:("sPromptAlphaTargets","UNK_TYPE1","",0x1),
|
||||
0x8082B6F4:("sPromptAlphaTargetIndex","UNK_TYPE2","",0x2),
|
||||
0x8082B6F8:("sPromptAlphaTimer","UNK_TYPE2","",0x2),
|
||||
0x8082B700:("D_8082B700","UNK_TYPE1","",0x1),
|
||||
0x8082B73C:("D_8082B73C","UNK_TYPE1","",0x1),
|
||||
0x8082B778:("D_8082B778","UNK_TYPE1","",0x1),
|
||||
0x8082B7B4:("D_8082B7B4","UNK_TYPE1","",0x1),
|
||||
0x8082B7F0:("D_8082B7F0","UNK_TYPE2","",0x2),
|
||||
0x8082B838:("D_8082B838","UNK_TYPE2","",0x2),
|
||||
0x8082B700:("sMaskPageBgTextures","UNK_TYPE1","",0x1),
|
||||
0x8082B73C:("sItemPageBgTextures","UNK_TYPE1","",0x1),
|
||||
0x8082B778:("sMapPageBgTextures","UNK_TYPE1","",0x1),
|
||||
0x8082B7B4:("sQuestPageBgTextures","UNK_TYPE1","",0x1),
|
||||
0x8082B7F0:("gVtxPageMapWorldQuadsWidth","UNK_TYPE2","",0x2),
|
||||
0x8082B838:("gVtxPageMapWorldQuadsHeight","UNK_TYPE2","",0x2),
|
||||
0x8082B880:("sGameOverPrimR","UNK_TYPE2","",0x2),
|
||||
0x8082B884:("sGameOverPrimG","UNK_TYPE2","",0x2),
|
||||
0x8082B888:("sGameOverPrimB","UNK_TYPE2","",0x2),
|
||||
|
|
@ -4759,10 +4759,10 @@
|
|||
0x8082B920:("D_8082B920","UNK_TYPE2","",0x2),
|
||||
0x8082B924:("D_8082B924","UNK_TYPE2","",0x2),
|
||||
0x8082B944:("sGameOverRectPosY","UNK_TYPE2","",0x2),
|
||||
0x8082B948:("D_8082B948","UNK_TYPE2","",0x2),
|
||||
0x8082B96C:("D_8082B96C","UNK_TYPE2","",0x2),
|
||||
0x8082B990:("D_8082B990","UNK_TYPE2","",0x2),
|
||||
0x8082B994:("D_8082B994","UNK_TYPE2","",0x2),
|
||||
0x8082B948:("sCursorPrimColorTarget","UNK_TYPE2","",0x2),
|
||||
0x8082B96C:("sCursorEnvColorTarget","UNK_TYPE2","",0x2),
|
||||
0x8082B990:("sCursorColorTimer","UNK_TYPE2","",0x2),
|
||||
0x8082B994:("sCursorColorTargetIndex","UNK_TYPE2","",0x2),
|
||||
0x8082B998:("D_8082B998","UNK_TYPE1","",0x1),
|
||||
0x8082B9A8:("D_8082B9A8","UNK_TYPE1","",0x1),
|
||||
0x8082B9B8:("D_8082B9B8","UNK_TYPE1","",0x1),
|
||||
|
|
@ -4771,33 +4771,33 @@
|
|||
0x8082B9D0:("D_8082B9D0","UNK_TYPE1","",0x1),
|
||||
0x8082B9E0:("D_8082B9E0","UNK_TYPE2","",0x2),
|
||||
0x8082B9E4:("D_8082B9E4","UNK_TYPE2","",0x2),
|
||||
0x8082B9E8:("D_8082B9E8","UNK_TYPE1","",0x1),
|
||||
0x8082B9EC:("D_8082B9EC","UNK_TYPE1","",0x1),
|
||||
0x8082B9F0:("D_8082B9F0","UNK_TYPE1","",0x1),
|
||||
0x8082B9FC:("D_8082B9FC","UNK_TYPE1","",0x1),
|
||||
0x8082BA00:("D_8082BA00","UNK_TYPE1","",0x1),
|
||||
0x8082BA48:("D_8082BA48","UNK_TYPE1","",0x1),
|
||||
0x8082BA54:("D_8082BA54","UNK_TYPE1","",0x1),
|
||||
0x8082BA58:("D_8082BA58","UNK_TYPE1","",0x1),
|
||||
0x8082BA5C:("D_8082BA5C","UNK_TYPE1","",0x1),
|
||||
0x8082BA68:("D_8082BA68","UNK_TYPE1","",0x1),
|
||||
0x8082BA6C:("D_8082BA6C","UNK_TYPE1","",0x1),
|
||||
0x8082BA78:("D_8082BA78","UNK_TYPE1","",0x1),
|
||||
0x8082BA7C:("D_8082BA7C","UNK_TYPE1","",0x1),
|
||||
0x8082BA80:("D_8082BA80","UNK_TYPE1","",0x1),
|
||||
0x8082BA8C:("D_8082BA8C","UNK_TYPE1","",0x1),
|
||||
0x8082BA90:("D_8082BA90","UNK_TYPE1","",0x1),
|
||||
0x8082BAD8:("D_8082BAD8","UNK_TYPE1","",0x1),
|
||||
0x8082BAE4:("D_8082BAE4","UNK_TYPE1","",0x1),
|
||||
0x8082BAE8:("D_8082BAE8","UNK_TYPE1","",0x1),
|
||||
0x8082BAEC:("D_8082BAEC","UNK_TYPE1","",0x1),
|
||||
0x8082BAF8:("D_8082BAF8","UNK_TYPE1","",0x1),
|
||||
0x8082BAFC:("D_8082BAFC","UNK_TYPE1","",0x1),
|
||||
0x8082BB08:("D_8082BB08","UNK_PTR","",0x4),
|
||||
0x8082BB20:("D_8082BB20","UNK_PTR","",0x4),
|
||||
0x8082BB38:("D_8082BB38","UNK_PTR","",0x4),
|
||||
0x8082BB50:("D_8082BB50","UNK_PTR","",0x4),
|
||||
0x8082BB68:("D_8082BB68","UNK_TYPE2","",0x2),
|
||||
0x8082B9E8:("sVtxPageMaskQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082B9EC:("sVtxPageItemQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082B9F0:("sVtxPageMapDungeonQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082B9FC:("sVtxPageQuestQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082BA00:("sVtxPageMapWorldQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082BA48:("sVtxPagePromptQuadsX","UNK_TYPE1","",0x1),
|
||||
0x8082BA54:("sVtxPageMaskQuadsWidth","UNK_TYPE1","",0x1),
|
||||
0x8082BA58:("sVtxPageItemQuadsWidth","UNK_TYPE1","",0x1),
|
||||
0x8082BA5C:("sVtxPageMapDungeonQuadsWidth","UNK_TYPE1","",0x1),
|
||||
0x8082BA68:("sVtxPageQuestQuadsWidth","UNK_TYPE1","",0x1),
|
||||
0x8082BA6C:("sVtxPagePromptQuadsWidth","UNK_TYPE1","",0x1),
|
||||
0x8082BA78:("sVtxPageMaskQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BA7C:("sVtxPageItemQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BA80:("sVtxPageMapDungeonQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BA8C:("sVtxPageQuestQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BA90:("sVtxPageMapWorldQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BAD8:("sVtxPagePromptQuadsY","UNK_TYPE1","",0x1),
|
||||
0x8082BAE4:("sVtxPageMaskQuadsHeight","UNK_TYPE1","",0x1),
|
||||
0x8082BAE8:("sVtxPageItemQuadsHeight","UNK_TYPE1","",0x1),
|
||||
0x8082BAEC:("sVtxPageMapDungeonQuadsHeight","UNK_TYPE1","",0x1),
|
||||
0x8082BAF8:("sVtxPageQuestQuadsHeight","UNK_TYPE1","",0x1),
|
||||
0x8082BAFC:("sVtxPagePromptQuadsHeight","UNK_TYPE1","",0x1),
|
||||
0x8082BB08:("sVtxPageQuadsX","UNK_PTR","",0x4),
|
||||
0x8082BB20:("sVtxPageQuadsWidth","UNK_PTR","",0x4),
|
||||
0x8082BB38:("sVtxPageQuadsY","UNK_PTR","",0x4),
|
||||
0x8082BB50:("sVtxPageQuadsHeight","UNK_PTR","",0x4),
|
||||
0x8082BB68:("sVtxPageGameOverSaveQuadsY","UNK_TYPE2","",0x2),
|
||||
0x8082BB74:("sQuestVtxRectLeft","UNK_TYPE2","",0x2),
|
||||
0x8082BBC4:("sQuestVtxRectTop","UNK_TYPE2","",0x2),
|
||||
0x8082BC14:("sQuestVtxWidths","UNK_TYPE2","",0x2),
|
||||
|
|
|
|||
Loading…
Reference in New Issue