diff --git a/src/g_game.c b/src/g_game.c index b2081eacd..b1f036edd 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4651,6 +4651,8 @@ void G_EndGame(void) // Only do evaluation and credits in singleplayer contexts if (!netgame && grandprixinfo.gp == true) { + G_HandleSaveLevel(true); + if (nextmap == NEXTMAP_CEREMONY) // end game with ceremony { if (K_StartCeremony() == true) diff --git a/src/menus/transient/cup-select.c b/src/menus/transient/cup-select.c index f146cd74f..69e155592 100644 --- a/src/menus/transient/cup-select.c +++ b/src/menus/transient/cup-select.c @@ -155,7 +155,8 @@ static void M_StartCup(UINT8 entry) NULL, MM_NOTHING, NULL, NULL ); - G_HandleSaveLevel(true); + if (FIL_FileExists(gpbackup)) + remove(gpbackup); return; } diff --git a/src/p_setup.c b/src/p_setup.c index 2abe1fef7..e7c4e9fad 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -8358,7 +8358,7 @@ void P_PostLoadLevel(void) P_RunCachedActions(); - G_HandleSaveLevel(gamestate == GS_CEREMONY); + G_HandleSaveLevel(false); if (marathonmode & MA_INGAME) {