Fix Save Prompt Cursor on Quest/Misc Item Tracker Windows (#4694)

* Fix quest menu cursor "moving" in the background in the save game prompt.
Fix misc item tracker also being able to select R and L/Z in save prompt.
Include MigrationAction entry removal from item count fix PR.

* Fix formatting.
This commit is contained in:
Malkierian 2024-12-18 15:03:51 -07:00 committed by GitHub
parent 03e9331d7e
commit 3419928f5d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 119 additions and 112 deletions

View File

@ -191,8 +191,9 @@ namespace Rando {
// it would be a much larger Kaleido change.
bool shouldScroll = false;
bool dpad = CVarGetInteger(CVAR_SETTING("DPadOnPause"), 0);
if ((!pauseCtx->unk_1E4 || (pauseCtx->unk_1E4 == 5) || (pauseCtx->unk_1E4 == 8)) &&
if (((pauseCtx->unk_1E4 == 0) || (pauseCtx->unk_1E4 == 5) || (pauseCtx->unk_1E4 == 8)) &&
(pauseCtx->pageIndex == PAUSE_QUEST)) {
if (!((pauseCtx->state != 6) || ((pauseCtx->stickRelX == 0) && (pauseCtx->stickRelY == 0)))) {
if (pauseCtx->cursorSpecialPos == 0) {
if ((pauseCtx->stickRelY > 30) || (dpad && CHECK_BTN_ALL(input->press.button, BTN_DUP))) {
if (mTopIndex > 0) {
@ -223,6 +224,9 @@ namespace Rando {
Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
}
}
} else if (pauseCtx->cursorSpecialPos != 0 && pauseCtx->state == 7) {
pauseCtx->cursorSpecialPos = 0;
}
}
int yOffset = 2;
for (int i = mTopIndex; i < (mTopIndex + mNumVisible) && i < mEntries.size(); i++) {

View File

@ -260,7 +260,6 @@ namespace SOH {
{ MigrationAction::Rename, "gHurtContainer", "gEnhancements.HurtContainer" },
{ MigrationAction::Rename, "gHyperBosses", "gEnhancements.HyperBosses" },
{ MigrationAction::Rename, "gHyperEnemies", "gEnhancements.HyperEnemies" },
{ MigrationAction::Rename, "gInjectItemCounts", "gEnhancements.InjectItemCounts" },
{ MigrationAction::Rename, "gInstantFishing", "gEnhancements.InstantFishing" },
{ MigrationAction::Rename, "gInstantOcarinaGameWin", "gEnhancements.InstantOcarinaGameWin" },
{ MigrationAction::Rename, "gInstantPutaway", "gEnhancements.InstantPutaway" },

View File

@ -127,13 +127,16 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
OPEN_DISPS(gfxCtx);
if ((!pauseCtx->unk_1E4 || (pauseCtx->unk_1E4 == 5) || (pauseCtx->unk_1E4 == 8)) &&
if (((pauseCtx->unk_1E4 == 0) || (pauseCtx->unk_1E4 == 5) || (pauseCtx->unk_1E4 == 8)) &&
(pauseCtx->pageIndex == PAUSE_QUEST)) {
pauseCtx->cursorColorSet = 0;
if (pauseCtx->cursorSpecialPos == 0) {
pauseCtx->nameColorSet = 0;
if ((pauseCtx->state != 6) || ((pauseCtx->stickRelX == 0) && (pauseCtx->stickRelY == 0))) {
// No cursor movement
sp216 = pauseCtx->cursorSlot[PAUSE_QUEST];
} else {
phi_s3 = pauseCtx->cursorPoint[PAUSE_QUEST];
if ((pauseCtx->stickRelX < -30) || (dpad && CHECK_BTN_ALL(input->press.button, BTN_DLEFT))) {
@ -218,6 +221,7 @@ void KaleidoScope_DrawQuestStatus(PlayState* play, GraphicsContext* gfxCtx) {
sp216 = pauseCtx->cursorPoint[PAUSE_QUEST];
pauseCtx->cursorItem[pauseCtx->pageIndex] = phi_s0_2;
pauseCtx->cursorSlot[pauseCtx->pageIndex] = sp216;
}
KaleidoScope_SetCursorVtx(pauseCtx, sp216 * 4, pauseCtx->questVtx);