X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=601c05de45e3ff278c40ea8e637e5d7960caa8ab;hb=483d088f2bd4dd2ee267aff416503b2c667a69d3;hp=81a54b064ca2fbe7f52a214172f2b9d643409ca3;hpb=38142eccb93284bef9c3aeb2d9e81389a21da82a;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 81a54b06..601c05de 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1630,9 +1630,8 @@ void DrawMainMenu(void) return; } - // leveldir_current may be invalid (level group, parent link) - if (!validLevelSeries(leveldir_current)) - leveldir_current = getFirstValidTreeInfoEntry(leveldir_last_valid); + // leveldir_current may be invalid (level group, parent link, node copy) + leveldir_current = getValidLevelSeries(leveldir_current, leveldir_last_valid); if (leveldir_current != leveldir_last_valid) { @@ -1739,6 +1738,16 @@ void DrawMainMenu(void) SetMouseCursor(CURSOR_DEFAULT); OpenDoor(DOOR_CLOSE_1 | DOOR_OPEN_2); + +#if defined(PLATFORM_EMSCRIPTEN) + EM_ASM + ( + FS.syncfs(function(err) + { + assert(!err); + }); + ); +#endif } static void gotoTopLevelDir(void) @@ -2213,7 +2222,8 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) SaveLevelSetup_LastSeries(); SaveLevelSetup_SeriesInfo(); - if (Request("Do you really want to quit?", REQ_ASK | REQ_STAY_CLOSED)) + if (!setup.ask_on_quit_program || + Request("Do you really want to quit?", REQ_ASK | REQ_STAY_CLOSED)) SetGameStatus(GAME_MODE_QUIT); } } @@ -4869,6 +4879,9 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, LoadLevelSetup_LastSeries(); LoadLevelSetup_SeriesInfo(); + // update list of last played level sets + UpdateLastPlayedLevels_TreeInfo(); + TapeErase(); ToggleFullscreenIfNeeded(); @@ -6719,6 +6732,8 @@ static struct TokenInfo setup_info_game[] = { TYPE_SWITCH, &setup.count_score_after_game,"Count Score After Game:" }, { TYPE_SWITCH, &setup.show_scores_after_game,"Show Scores After Game:" }, { TYPE_YES_NO, &setup.ask_on_game_over, "Ask on Game Over:" }, + { TYPE_YES_NO, &setup.ask_on_quit_game, "Ask on Quit Game:" }, + { TYPE_YES_NO, &setup.ask_on_quit_program, "Ask on Quit Program:" }, { TYPE_SWITCH, &setup.autorecord, "Auto-Record Tapes:" }, { TYPE_ENTER_LIST, execSetupChooseGameSpeed, "Game Speed:" }, { TYPE_STRING, &game_speed_text, "" },