diff --git a/source/core/mainloop.cpp b/source/core/mainloop.cpp index 880a30de8..1136a56d1 100644 --- a/source/core/mainloop.cpp +++ b/source/core/mainloop.cpp @@ -205,6 +205,7 @@ static void GameTicker() gameaction = ga_level; gi->NextLevel(g_nextmap, g_nextskill); ResetStatusBar(); + if (!isBlood()) M_Autosave(); break; case ga_newgame: diff --git a/source/games/duke/src/gameloop.cpp b/source/games/duke/src/gameloop.cpp index 4dc73dd31..8147380ff 100644 --- a/source/games/duke/src/gameloop.cpp +++ b/source/games/duke/src/gameloop.cpp @@ -105,7 +105,6 @@ void GameInterface::Ticker() r_NoInterpolate = false; PlayClock+= 4; // This must be at the end of this block so that the first tic receives a value of 0! - if (PlayClock == 8) gameaction = ga_autosave; // let the game run for 1 frame before saving. } else r_NoInterpolate = true; diff --git a/source/games/exhumed/src/exhumed.cpp b/source/games/exhumed/src/exhumed.cpp index b68a57bce..21fc2ca43 100644 --- a/source/games/exhumed/src/exhumed.cpp +++ b/source/games/exhumed/src/exhumed.cpp @@ -334,7 +334,6 @@ void GameInterface::Ticker() GameMove(); PlayClock += 4; - if (PlayClock == 8) gameaction = ga_autosave; // let the game run for 1 frame before saving. r_NoInterpolate = false; } else @@ -515,7 +514,7 @@ void EraseScreen(int nVal) bool GameInterface::CanSave() { - return gamestate == GS_LEVEL && !bRecord && !bPlayback && !bInDemo && nTotalPlayers == 1 && nFreeze == 0; + return !bRecord && !bPlayback && !bInDemo && nTotalPlayers == 1 && nFreeze == 0; } ::GameStats GameInterface::getStats() diff --git a/source/games/sw/src/d_menu.cpp b/source/games/sw/src/d_menu.cpp index 3b0df124e..7db930af6 100644 --- a/source/games/sw/src/d_menu.cpp +++ b/source/games/sw/src/d_menu.cpp @@ -86,7 +86,7 @@ void GameInterface::MenuSound(EMenuSounds snd) bool GameInterface::CanSave() { - return (gamestate == GS_LEVEL && !CommEnabled && numplayers ==1 && /*!DemoMode &&*/ !(Player[myconnectindex].Flags & PF_DEAD)); + return (!CommEnabled && numplayers ==1 && /*!DemoMode &&*/ !(Player[myconnectindex].Flags & PF_DEAD)); } //--------------------------------------------------------------------------- diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index d936ebe53..074be9be5 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -6892,8 +6892,6 @@ void domovethings(void) return; } - if (PlayClock == synctics) gameaction = ga_autosave; // let the game run for 1 frame before saving. - thinktime.Reset(); thinktime.Clock();