diff --git a/src/d_main.cpp b/src/d_main.cpp index 64cfd94a9..81bca294b 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -2328,9 +2328,10 @@ void D_DoomMain (void) { D_DoomLoop (); // never returns } - catch (CRestartException &ex) + catch (CRestartException &) { // Music and sound should be stopped first + screen->GameRestart(); S_StopMusic(true); S_StopAllChannels (); diff --git a/src/v_video.cpp b/src/v_video.cpp index 26632fb62..450650f53 100644 --- a/src/v_video.cpp +++ b/src/v_video.cpp @@ -1384,6 +1384,16 @@ int DFrameBuffer::GetMaxViewPitch(bool down) return down? MAX_DN_ANGLE*ANGLE_1 : -MAX_UP_ANGLE*ANGLE_1; } +//========================================================================== +// +// DFrameBuffer :: GameRestart +// +//========================================================================== + +void DFrameBuffer::GameRestart() +{ +} + //=========================================================================== // // diff --git a/src/v_video.h b/src/v_video.h index ac7f6dea3..0fb9eaf8a 100644 --- a/src/v_video.h +++ b/src/v_video.h @@ -407,6 +407,9 @@ public: virtual void GetHitlist(BYTE *hitlist); virtual void PrecacheTexture(FTexture *tex, int cache); + // Report a game restart + virtual void GameRestart(); + // Screen wiping virtual bool WipeStartScreen(int type); virtual void WipeEndScreen();