mirror of
https://github.com/zeldaret/oot.git
synced 2025-02-09 14:06:54 +00:00
Match retail ovl_kaleido_scope (#1931)
* WIP * cleanup * small progress * small cleanup * Finish retail ovl_kaleido_scope * GREG + markPoint -> markPoint + GREG --------- Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
This commit is contained in:
parent
39de6ce293
commit
8456e4be8a
6 changed files with 41 additions and 26 deletions
|
@ -464,10 +464,11 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
}
|
||||
|
||||
if (pauseCtx->state == PAUSE_STATE_MAIN) {
|
||||
sp21A += 4;
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetCombineMode(POLY_OPA_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
|
||||
|
||||
sp21A += 4;
|
||||
if ((pauseCtx->cursorSpecialPos == 0) && (sp216 >= 6) && (sp216 < 0x12)) {
|
||||
if ((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_5) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_8)) {
|
||||
|
@ -484,7 +485,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->ocarinaStaff = AudioOcarina_GetPlaybackStaff();
|
||||
|
||||
if (pauseCtx->ocarinaStaff->pos != 0) {
|
||||
if (D_8082A11C + 1 == pauseCtx->ocarinaStaff->pos) {
|
||||
if (D_8082A11C == (pauseCtx->ocarinaStaff->pos - 1)) {
|
||||
D_8082A11C++;
|
||||
D_8082A124[pauseCtx->ocarinaStaff->pos - 1] = pauseCtx->ocarinaStaff->buttonIndex;
|
||||
}
|
||||
|
@ -660,16 +661,16 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
|
||||
}
|
||||
|
||||
phi_s0 = 0;
|
||||
cursorItem = 0;
|
||||
for (sp21A = 0; sp21A < 3; sp21A++, sp218 += 4) {
|
||||
if ((sp21A >= 2) || (sp208[sp21A] != 0) || (phi_s0 != 0)) {
|
||||
if ((sp21A >= 2) || (sp208[sp21A] != 0) || (cursorItem != 0)) {
|
||||
gDPLoadTextureBlock(POLY_OPA_DISP++, ((u8*)gCounterDigit0Tex + (8 * 16 * sp208[sp21A])), G_IM_FMT_I,
|
||||
G_IM_SIZ_8b, 8, 16, 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++, sp218, sp218 + 2, sp218 + 3, sp218 + 1, 0);
|
||||
|
||||
phi_s0 = 1;
|
||||
cursorItem = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,8 +16,6 @@ static u8 sEquipmentItemOffsets[] = {
|
|||
0x00, 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x05, 0x00, 0x06, 0x07, 0x08, 0x00, 0x09, 0x0A, 0x0B,
|
||||
};
|
||||
|
||||
static s16 sEquipTimer = 0;
|
||||
|
||||
void KaleidoScope_DrawEquipmentImage(PlayState* play, void* source, u32 width, u32 height) {
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
u8* curTexture;
|
||||
|
@ -119,6 +117,7 @@ void KaleidoScope_DrawPlayerWork(PlayState* play) {
|
|||
void KaleidoScope_ProcessPlayerPreRender(PlayState* play);
|
||||
|
||||
void KaleidoScope_DrawEquipment(PlayState* play) {
|
||||
static s16 sEquipTimer = 0;
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
Input* input = &play->state.input[0];
|
||||
u16 i;
|
||||
|
@ -437,8 +436,8 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
cursorSlot = pauseCtx->cursorPoint[PAUSE_EQUIP];
|
||||
|
||||
pauseCtx->cursorItem[PAUSE_EQUIP] = cursorItem;
|
||||
pauseCtx->cursorSlot[PAUSE_EQUIP] = cursorSlot;
|
||||
pauseCtx->cursorItem[PAUSE_EQUIP] = cursorItem;
|
||||
|
||||
PRINTF("kscope->select_name[Display_Equipment] = %d\n", pauseCtx->cursorItem[PAUSE_EQUIP]);
|
||||
|
||||
|
@ -552,8 +551,7 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
|
||||
if (LINK_AGE_IN_YEARS == YEARS_CHILD) {
|
||||
point = CUR_UPG_VALUE(sChildUpgrades[i]);
|
||||
if (1) {}
|
||||
if ((point != 0) && (CUR_UPG_VALUE(sChildUpgrades[i]) != 0)) {
|
||||
if (((u32)point != 0) && (CUR_UPG_VALUE(sChildUpgrades[i]) != 0)) {
|
||||
KaleidoScope_DrawQuadTextureRGBA32(play->state.gfxCtx,
|
||||
gItemIcons[sChildUpgradeItemBases[i] + point - 1], ITEM_ICON_WIDTH,
|
||||
ITEM_ICON_HEIGHT, 0);
|
||||
|
@ -606,7 +604,5 @@ void KaleidoScope_DrawEquipment(PlayState* play) {
|
|||
Gfx_SetupDL_42Opa(play->state.gfxCtx);
|
||||
KaleidoScope_DrawEquipmentImage(play, pauseCtx->playerSegment, PAUSE_EQUIP_PLAYER_WIDTH, PAUSE_EQUIP_PLAYER_HEIGHT);
|
||||
|
||||
if (gUpgradeMasks[0]) {}
|
||||
|
||||
CLOSE_DISPS(play->state.gfxCtx, "../z_kaleido_equipment.c", 609);
|
||||
}
|
||||
|
|
|
@ -118,6 +118,10 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
pauseCtx->stickAdjX = 40;
|
||||
}
|
||||
|
||||
#if !OOT_DEBUG
|
||||
if (&gSaveContext) {}
|
||||
#endif
|
||||
|
||||
if (ABS(pauseCtx->stickAdjX) > 30) {
|
||||
cursorPoint = pauseCtx->cursorPoint[PAUSE_ITEM];
|
||||
cursorX = pauseCtx->cursorX[PAUSE_ITEM];
|
||||
|
@ -125,9 +129,11 @@ void KaleidoScope_DrawItemSelect(PlayState* play) {
|
|||
|
||||
PRINTF("now=%d ccc=%d\n", cursorPoint, cursorItem);
|
||||
|
||||
#if OOT_DEBUG
|
||||
// Seems necessary to match
|
||||
if (pauseCtx->cursorX[PAUSE_ITEM]) {}
|
||||
if (gSaveContext.save.info.inventory.items[pauseCtx->cursorPoint[PAUSE_ITEM]]) {}
|
||||
#endif
|
||||
|
||||
while (moveCursorResult == 0) {
|
||||
if (pauseCtx->stickAdjX < -30) {
|
||||
|
|
|
@ -495,7 +495,7 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
|
||||
if (HREG(15) == 0) {
|
||||
if (!OOT_DEBUG || (HREG(15) == 0)) {
|
||||
gDPSetTextureFilter(POLY_OPA_DISP++, G_TF_POINT);
|
||||
|
||||
gDPLoadTLUT_pal256(POLY_OPA_DISP++, gWorldMapImageTLUT);
|
||||
|
@ -540,11 +540,13 @@ void KaleidoScope_DrawWorldMap(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
POLY_OPA_DISP = gfx;
|
||||
}
|
||||
|
||||
#if OOT_DEBUG
|
||||
if (HREG(15) == 2) {
|
||||
HREG(15) = 1;
|
||||
HREG(14) = 6100;
|
||||
HREG(13) = 5300;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ZREG(38) == 0) {
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
|
|
|
@ -406,6 +406,8 @@ Gfx* KaleidoScope_QuadTextureIA8(Gfx* gfx, void* texture, s16 width, s16 height,
|
|||
|
||||
void KaleidoScope_OverridePalIndexCI4(u8* texture, s32 size, s32 targetIndex, s32 newIndex) {
|
||||
s32 i;
|
||||
s32 index1;
|
||||
s32 index2;
|
||||
|
||||
targetIndex &= 0xF;
|
||||
newIndex &= 0xF;
|
||||
|
@ -415,9 +417,6 @@ void KaleidoScope_OverridePalIndexCI4(u8* texture, s32 size, s32 targetIndex, s3
|
|||
}
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
s32 index1;
|
||||
s32 index2;
|
||||
|
||||
index1 = index2 = texture[i];
|
||||
|
||||
index1 = (index1 >> 4) & 0xF;
|
||||
|
@ -519,7 +518,9 @@ void KaleidoScope_SwitchPage(PauseContext* pauseCtx, u8 pt) {
|
|||
|
||||
void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
|
||||
if ((pauseCtx->debugState == 0) && CHECK_BTN_ALL(input->press.button, BTN_L)) {
|
||||
#if OOT_DEBUG
|
||||
pauseCtx->debugState = 1;
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -556,20 +557,19 @@ void KaleidoScope_HandlePageToggles(PauseContext* pauseCtx, Input* input) {
|
|||
|
||||
void KaleidoScope_DrawCursor(PlayState* play, u16 pageIndex) {
|
||||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
u16 temp;
|
||||
s32 pad;
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 955);
|
||||
|
||||
temp = pauseCtx->mainState;
|
||||
|
||||
if ((((pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) || (temp == PAUSE_MAIN_STATE_8)) &&
|
||||
if (((((u32)pauseCtx->mainState == PAUSE_MAIN_STATE_IDLE) || (pauseCtx->mainState == PAUSE_MAIN_STATE_8)) &&
|
||||
(pauseCtx->state == PAUSE_STATE_MAIN)) ||
|
||||
((pauseCtx->pageIndex == PAUSE_QUEST) &&
|
||||
((temp < PAUSE_MAIN_STATE_3) || (temp == PAUSE_MAIN_STATE_5) || (temp == PAUSE_MAIN_STATE_8)))) {
|
||||
((pauseCtx->mainState < PAUSE_MAIN_STATE_3) || (pauseCtx->mainState == PAUSE_MAIN_STATE_5) ||
|
||||
(pauseCtx->mainState == PAUSE_MAIN_STATE_8)))) {
|
||||
s16 i;
|
||||
s16 j;
|
||||
|
||||
if (pauseCtx->pageIndex == pageIndex) {
|
||||
s16 i;
|
||||
s16 j;
|
||||
|
||||
gDPPipeSync(POLY_OPA_DISP++);
|
||||
gDPSetCombineLERP(POLY_OPA_DISP++, PRIMITIVE, ENVIRONMENT, TEXEL0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, 0,
|
||||
|
@ -1279,6 +1279,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
|
|||
ITEM_NAME_TEX_HEIGHT, 0);
|
||||
}
|
||||
|
||||
#if OOT_DEBUG
|
||||
if (pauseCtx->pageIndex == PAUSE_MAP) {
|
||||
if (YREG(7) != 0) {
|
||||
PRINTF(VT_FGCOL(YELLOW));
|
||||
|
@ -1291,6 +1292,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
|
|||
gAreaGsFlags[D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]]);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if ((pauseCtx->pageIndex == PAUSE_MAP) && !sInDungeonScene) {
|
||||
if (GET_GS_FLAGS(D_8082AE30[pauseCtx->cursorPoint[PAUSE_WORLD_MAP]]) ==
|
||||
|
@ -1913,7 +1915,6 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
PauseContext* pauseCtx = &play->pauseCtx;
|
||||
s16 phi_t1;
|
||||
s16 phi_t2;
|
||||
s16 phi_t2_2;
|
||||
s16 phi_t3;
|
||||
s16 phi_t4;
|
||||
s16 phi_t5;
|
||||
|
@ -2282,7 +2283,7 @@ void KaleidoScope_InitVertices(PlayState* play, GraphicsContext* gfxCtx) {
|
|||
pauseCtx->questVtx = GRAPH_ALLOC(gfxCtx, 188 * sizeof(Vtx));
|
||||
|
||||
for (phi_t4 = 0, phi_t3 = 0; phi_t3 < 47; phi_t3++, phi_t4 += 4) {
|
||||
phi_t2_2 = D_8082B1F8[phi_t3];
|
||||
s16 phi_t2_2 = D_8082B1F8[phi_t3];
|
||||
|
||||
if ((phi_t3 < 6) || (phi_t3 >= 41)) {
|
||||
pauseCtx->questVtx[phi_t4 + 0].v.ob[0] = pauseCtx->questVtx[phi_t4 + 2].v.ob[0] = D_8082B138[phi_t3];
|
||||
|
@ -3289,6 +3290,9 @@ void KaleidoScope_Update(PlayState* play) {
|
|||
pauseCtx->unk_204 = -434.0f;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -127,7 +127,13 @@ void PauseMapMark_DrawForDungeon(PlayState* play) {
|
|||
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
|
||||
Matrix_Push();
|
||||
Matrix_Translate(GREG(92) + markPoint->x, GREG(93) + markPoint->y, 0.0f, MTXMODE_APPLY);
|
||||
|
||||
#if OOT_DEBUG
|
||||
Matrix_Translate(markPoint->x + GREG(92), markPoint->y + GREG(93), 0.0f, MTXMODE_APPLY);
|
||||
#else
|
||||
Matrix_Translate(markPoint->x, markPoint->y, 0.0f, MTXMODE_APPLY);
|
||||
#endif
|
||||
|
||||
Matrix_Scale(scale, scale, scale, MTXMODE_APPLY);
|
||||
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_lmap_mark.c", 272),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
|
|
Loading…
Add table
Reference in a new issue