diff --git a/src/d_main.c b/src/d_main.c index 6f1c0f6a3..589108d75 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -952,7 +952,7 @@ void D_ClearState(void) memset(displayplayers, 0, sizeof(displayplayers)); memset(g_localplayers, 0, sizeof g_localplayers); consoleplayer = 0; - //demosequence = -1; + demo.title = false; G_SetGametype(GT_RACE); // SRB2kart paused = false; @@ -975,7 +975,9 @@ void D_ClearState(void) // void D_StartTitle(void) { - S_StopMusic(); + if (!demo.title) + S_StopMusic(); + D_ClearState(); F_StartTitleScreen(); M_ClearMenus(false); diff --git a/src/g_demo.c b/src/g_demo.c index 0fe7df053..e95daa2b5 100644 --- a/src/g_demo.c +++ b/src/g_demo.c @@ -3073,7 +3073,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } demobuf.p += 12; // DEMOHEADER @@ -3093,7 +3092,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } @@ -3111,7 +3109,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } demobuf.p += 4; // "PLAY" @@ -3131,7 +3128,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } G_SetGametype(i); @@ -3189,7 +3185,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } } @@ -3204,7 +3199,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } @@ -3240,7 +3234,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } @@ -3258,7 +3251,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } @@ -3313,7 +3305,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } } @@ -3331,7 +3322,6 @@ void G_DoPlayDemo(char *defdemoname) Z_Free(pdemoname); Z_Free(demobuf.buffer); demo.playback = false; - demo.title = false; return; } @@ -4028,7 +4018,6 @@ void G_StopDemo(void) Z_Free(demobuf.buffer); demobuf.buffer = NULL; demo.playback = false; - demo.title = false; demo.timing = false; singletics = false; diff --git a/src/menus/transient/pause-replay.c b/src/menus/transient/pause-replay.c index dd0c6588b..5a7c45826 100644 --- a/src/menus/transient/pause-replay.c +++ b/src/menus/transient/pause-replay.c @@ -50,15 +50,13 @@ menu_t PAUSE_PlaybackMenuDef = { void M_EndModeAttackRun(void) { - boolean dotitle = demo.title; - G_CheckDemoStatus(); // Cancel recording Command_ExitGame_f(); // Clear a bunch of state modeattacking = ATTACKING_NONE; // Kept until now because of Command_ExitGame_f - if (dotitle) + if (demo.title == true) { D_StartTitle(); }