From 9f40d091d5c9e5104fa90c881b6cb8ab8470d71d Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Thu, 15 Nov 2018 01:41:09 +0100 Subject: [PATCH] fixed bug with asking to play again after game over when playing tape --- src/game.c | 10 ++++++++++ src/game.h | 1 + 2 files changed, 11 insertions(+) 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; diff --git a/src/game.h b/src/game.h index 195f4202..00131fb9 100644 --- a/src/game.h +++ b/src/game.h @@ -243,6 +243,7 @@ struct GameInfo // values for handling states for solved level and game over boolean LevelSolved; + boolean GamePlayed; boolean GameOver; boolean LevelSolved_GameWon; -- 2.34.1