X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=dcae9beb90f84cd5c669b393903b79213dd938fd;hb=c1835c332851f0f30f4bc907d4cc995b56472227;hp=464cdc0ba6d767e6b7d0c82d7f50fc7e7b416eb2;hpb=ddc4128c361f5ce89f431295ddc30879fb5422eb;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 464cdc0b..dcae9beb 100644 --- a/src/game.c +++ b/src/game.c @@ -4227,6 +4227,7 @@ void InitGame() } game.restart_level = FALSE; + game.restart_game_message = NULL; if (level.game_engine_type == GAME_ENGINE_TYPE_MM) InitGameActions_MM(); @@ -4698,7 +4699,7 @@ void GameEnd() if (!global.use_envelope_request) CloseDoor(DOOR_CLOSE_1); - SaveTapeChecked(tape.level_nr); /* ask to save tape */ + SaveTapeChecked_LevelSolved(tape.level_nr); /* ask to save tape */ } /* if no tape is to be saved, close both doors simultaneously */ @@ -14958,6 +14959,22 @@ void RequestQuitGame(boolean ask_if_really_quit) "Do you really want to quit the game?"); } +void RequestRestartGame(char *message) +{ + game.restart_game_message = NULL; + + if (Request(message, REQ_ASK | REQ_STAY_CLOSED)) + { + StartGameActions(options.network, setup.autorecord, level.random_seed); + } + else + { + SetGameStatus(GAME_MODE_MAIN); + + DrawMainMenu(); + } +} + /* ------------------------------------------------------------------------- */ /* random generator functions */