X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=3985ce1b47564ae57618bd167260cb80bc41a71b;hb=1d00f4f75136458f4ac891dd89dceed9b50c57a8;hp=ca2fa98e521542e1b723fc73479e592c76a6744b;hpb=2fd4947ab48cc80c2a5b38f26e207635f5d40cf3;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index ca2fa98e..3985ce1b 100644 --- a/src/game.c +++ b/src/game.c @@ -5050,6 +5050,9 @@ void GameEnd(void) if (setup.auto_play_next_level) { + scores.continue_playing = TRUE; + scores.next_level_nr = level_nr; + LoadLevel(level_nr); SaveLevelSetup_SeriesInfo(); @@ -5062,9 +5065,7 @@ void GameEnd(void) DrawHallOfFame(last_level_nr); } - else if (setup.auto_play_next_level && setup.increment_levels && - last_level_nr < leveldir_current->last_level && - !network_playing) + else if (scores.continue_playing) { StartGameActions(network.enabled, setup.autorecord, level.random_seed); } @@ -15691,6 +15692,7 @@ void RequestQuitGameExt(boolean skip_request, boolean quick_quit, char *message) { // prevent short reactivation of overlay buttons while closing door SetOverlayActive(FALSE); + UnmapGameButtons(); // door may still be open due to skipped or envelope style request CloseDoor(score_info_tape_play ? DOOR_CLOSE_ALL : DOOR_CLOSE_1);