Fix New Game falling through into the Quit confirm dialog

The SAVE_DEVICE_FOUND/SAVE_LOAD_ALL_SLOTS block had been moved to the
end of the file (after QUIT/QUIT_GAME) without moving the LOADED
marker with it. MARKER items always auto-advance to whatever follows
them in the array, so reaching LOADED after a successful save-load fell
straight through into the QUIT block's confirm dialog instead of
completing the cutscene. LOADED now sits after SAVE_LOAD_ALL_SLOTS as
the true last item, so it falls off the end and fires
uiMainMenuOpenSelectSave again as intended.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
2026-09-06 11:52:48 -05:00
co-authored by Claude Sonnet 5
parent f63653c307
commit 845a395ff1
+26 -19
View File
@@ -63,20 +63,6 @@
] ]
}, },
// Save device found
{
"type": "MARKER",
"name": "SAVE_DEVICE_FOUND"
},
{
"type": "MODAL_CLOSE"
},
{
"type": "SAVE_LOAD_ALL_SLOTS",
"successMarker": "LOADED",
"failureMarker": "LOAD_ERROR"
},
// Save data failed to load (e.g. corrupt/unreadable) - only option is // Save data failed to load (e.g. corrupt/unreadable) - only option is
// to retry, no "continue without saving" here since we already know a // to retry, no "continue without saving" here since we already know a
// device is present. // device is present.
@@ -96,11 +82,6 @@
] ]
}, },
{
"type": "MARKER",
"name": "LOADED"
},
// Quit Game button goes here. Cancelling jumps back to // Quit Game button goes here. Cancelling jumps back to
// MAIN_MENU_IDLE; confirming falls through to QUIT_GAME, which // MAIN_MENU_IDLE; confirming falls through to QUIT_GAME, which
// ends the process directly. // ends the process directly.
@@ -122,12 +103,38 @@
} }
] ]
}, },
{ {
"type": "MARKER", "type": "MARKER",
"name": "QUIT_CONFIRMED" "name": "QUIT_CONFIRMED"
}, },
{ {
"type": "QUIT_GAME" "type": "QUIT_GAME"
},
// main menu just listens for cutscene ending to show the select save modal
// so we have that here.
{
"type": "MARKER",
"name": "SAVE_DEVICE_FOUND"
},
{
"type": "MODAL_CLOSE"
},
{
"type": "SAVE_LOAD_ALL_SLOTS",
"successMarker": "LOADED",
"failureMarker": "LOAD_ERROR"
},
// Must be the very last item - falling off the end here is what
// completes the cutscene and fires uiMainMenuOpenSelectSave (see
// cutsceneSystemSetOnComplete in ui/screen/mainmenu/uimainmenu.c).
// Placing this anywhere earlier would fall through into whatever
// comes next instead (e.g. the QUIT block, if placed just before it).
{
"type": "MARKER",
"name": "LOADED"
} }
] ]
} }