diff --git a/assets/cutscenes/main_menu.jsonc b/assets/cutscenes/main_menu.jsonc index bc17e12c..e58939b5 100644 --- a/assets/cutscenes/main_menu.jsonc +++ b/assets/cutscenes/main_menu.jsonc @@ -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 // to retry, no "continue without saving" here since we already know a // device is present. @@ -96,11 +82,6 @@ ] }, - { - "type": "MARKER", - "name": "LOADED" - }, - // Quit Game button goes here. Cancelling jumps back to // MAIN_MENU_IDLE; confirming falls through to QUIT_GAME, which // ends the process directly. @@ -122,12 +103,38 @@ } ] }, + { "type": "MARKER", "name": "QUIT_CONFIRMED" }, { "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" } ] }