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. // it would be a much larger Kaleido change.
bool shouldScroll = false; bool shouldScroll = false;
bool dpad = CVarGetInteger(CVAR_SETTING("DPadOnPause"), 0); 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)) { (pauseCtx->pageIndex == PAUSE_QUEST)) {
if (!((pauseCtx->state != 6) || ((pauseCtx->stickRelX == 0) && (pauseCtx->stickRelY == 0)))) {
if (pauseCtx->cursorSpecialPos == 0) { if (pauseCtx->cursorSpecialPos == 0) {
if ((pauseCtx->stickRelY > 30) || (dpad && CHECK_BTN_ALL(input->press.button, BTN_DUP))) { if ((pauseCtx->stickRelY > 30) || (dpad && CHECK_BTN_ALL(input->press.button, BTN_DUP))) {
if (mTopIndex > 0) { if (mTopIndex > 0) {
@ -223,6 +224,9 @@ namespace Rando {
Audio_PlaySoundGeneral(NA_SE_SY_CURSOR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); 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; int yOffset = 2;
for (int i = mTopIndex; i < (mTopIndex + mNumVisible) && i < mEntries.size(); i++) { 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, "gHurtContainer", "gEnhancements.HurtContainer" },
{ MigrationAction::Rename, "gHyperBosses", "gEnhancements.HyperBosses" }, { MigrationAction::Rename, "gHyperBosses", "gEnhancements.HyperBosses" },
{ MigrationAction::Rename, "gHyperEnemies", "gEnhancements.HyperEnemies" }, { MigrationAction::Rename, "gHyperEnemies", "gEnhancements.HyperEnemies" },
{ MigrationAction::Rename, "gInjectItemCounts", "gEnhancements.InjectItemCounts" },
{ MigrationAction::Rename, "gInstantFishing", "gEnhancements.InstantFishing" }, { MigrationAction::Rename, "gInstantFishing", "gEnhancements.InstantFishing" },
{ MigrationAction::Rename, "gInstantOcarinaGameWin", "gEnhancements.InstantOcarinaGameWin" }, { MigrationAction::Rename, "gInstantOcarinaGameWin", "gEnhancements.InstantOcarinaGameWin" },
{ MigrationAction::Rename, "gInstantPutaway", "gEnhancements.InstantPutaway" }, { MigrationAction::Rename, "gInstantPutaway", "gEnhancements.InstantPutaway" },

View File

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