X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;h=9197a84aabf755f9e049e39f81ec22827612d20d;hp=71740a8f4931186bbcd5a08847518cef733528d5;hb=9f40d091d5c9e5104fa90c881b6cb8ab8470d71d;hpb=b165e8970f5f3d8f9972433960785f31b9a11723 diff --git a/src/game.c b/src/game.c index 71740a8f..9197a84a 100644 --- a/src/game.c +++ b/src/game.c @@ -3566,6 +3566,8 @@ void InitGame(void) game.LevelSolved = FALSE; game.GameOver = FALSE; + game.GamePlayed = !tape.playing; + game.LevelSolved_GameWon = FALSE; game.LevelSolved_GameEnd = FALSE; game.LevelSolved_SaveTape = FALSE; @@ -11483,6 +11485,10 @@ static void GameActionsExt(void) if (tape.recording) TapeRecordAction(tape_action); + // remember if game was played (especially after tape stopped playing) + if (!tape.playing && summarized_player_action) + game.GamePlayed = TRUE; + #if USE_NEW_PLAYER_ASSIGNMENTS // !!! also map player actions in single player mode !!! // if (game.team_mode) @@ -15032,6 +15038,10 @@ void CheckGameOver(void) if (game.request_active) return; + // do not ask to play again if game was never actually played + if (!game.GamePlayed) + return; + if (!game_over) { last_game_over = FALSE;