diff --git a/source/sw/src/d_menu.cpp b/source/sw/src/d_menu.cpp index 37ade1d49..549ddfe3f 100644 --- a/source/sw/src/d_menu.cpp +++ b/source/sw/src/d_menu.cpp @@ -145,6 +145,15 @@ void GameInterface::DrawNativeMenuText(int fontnum, int state, double xpos, doub } } +void GameInterface::QuitToTitle() +{ + TerminateLevel(); + currentLevel = nullptr; + M_StartControlPanel(false); + M_SetMenu(NAME_Mainmenu); + gamestate = GS_MENUSCREEN; +} + void GameInterface::MenuOpened() { diff --git a/source/sw/src/game.h b/source/sw/src/game.h index 65c598ca3..b92f0d5f2 100644 --- a/source/sw/src/game.h +++ b/source/sw/src/game.h @@ -2379,6 +2379,7 @@ struct GameInterface : ::GameInterface FString GetCoordString() override; ReservedSpace GetReservedScreenSpace(int viewsize) override; void clearlocalinputstate() override; + void QuitToTitle() override; FString statFPS() override; GameStats getStats() override;