diff --git a/source/core/mainloop.cpp b/source/core/mainloop.cpp index a5dd241f7..43524e7a2 100644 --- a/source/core/mainloop.cpp +++ b/source/core/mainloop.cpp @@ -209,7 +209,7 @@ static void GameTicker() case ga_mainmenunostopsound: gi->FreeLevelData(); gamestate = GS_MENUSCREEN; - M_StartControlPanel(false); + M_StartControlPanel(ga == ga_mainmenu); M_SetMenu(NAME_Mainmenu); break; diff --git a/source/exhumed/src/d_menu.cpp b/source/exhumed/src/d_menu.cpp index 8938f13a8..005f4aa0b 100644 --- a/source/exhumed/src/d_menu.cpp +++ b/source/exhumed/src/d_menu.cpp @@ -43,7 +43,6 @@ void GameInterface::MenuOpened() { GrabPalette(); menuDelegate->FloatVar(NAME_zoomsize) = 0; - StopAllSounds(); StopLocalSound(); } diff --git a/source/exhumed/src/gameloop.cpp b/source/exhumed/src/gameloop.cpp index 2c1d0a959..ed7b58f4e 100644 --- a/source/exhumed/src/gameloop.cpp +++ b/source/exhumed/src/gameloop.cpp @@ -138,7 +138,7 @@ static void Intermission(MapRecord *from_map, MapRecord *to_map) { TArray jobs; - StopAllSounds(); + if (from_map) StopAllSounds(); bCamera = false; automapMode = am_off; diff --git a/source/games/duke/src/gameloop.cpp b/source/games/duke/src/gameloop.cpp index b4bd5ee99..5f460686b 100644 --- a/source/games/duke/src/gameloop.cpp +++ b/source/games/duke/src/gameloop.cpp @@ -133,8 +133,8 @@ void GameInterface::Startup() } else { - if (!userConfig.nologo) fi.ShowLogo([](bool) { gameaction = ga_mainmenu; }); - else gameaction = ga_mainmenu; + if (!userConfig.nologo) fi.ShowLogo([](bool) { gameaction = ga_mainmenunostopsound; }); + else gameaction = ga_mainmenunostopsound; } }