diff --git a/similar/main/gameseq.cpp b/similar/main/gameseq.cpp index c6500ca66..e9e75d463 100644 --- a/similar/main/gameseq.cpp +++ b/similar/main/gameseq.cpp @@ -1462,9 +1462,10 @@ static window_event_result AdvanceLevel(int secret_flag) window_event_result DoPlayerDead() { + const bool pause = !(((Game_mode & GM_MULTI) && (Newdemo_state != ND_STATE_PLAYBACK)) && (!Endlevel_sequence)); auto result = window_event_result::handled; - if (!(((Game_mode & GM_MULTI) && (Newdemo_state != ND_STATE_PLAYBACK)) && (!Endlevel_sequence))) + if (pause) stop_time(); reset_palette_add(); @@ -1483,6 +1484,8 @@ window_event_result DoPlayerDead() if (get_local_player().lives == 0) { DoGameOver(); + if (pause) + start_time(); return window_event_result::close; } } @@ -1557,7 +1560,7 @@ window_event_result DoPlayerDead() digi_sync_sounds(); - if (!(((Game_mode & GM_MULTI) && (Newdemo_state != ND_STATE_PLAYBACK)) && (!Endlevel_sequence))) + if (pause) start_time(); reset_time();