diff --git a/src/music.cpp b/src/music.cpp index b8b79065c..00b200a21 100644 --- a/src/music.cpp +++ b/src/music.cpp @@ -39,7 +39,6 @@ void Music_Init(void) Tune& tune = g_tunes.insert("level_nosync", g_tunes.find("level")); tune.sync = false; - tune.resist = true; } { diff --git a/src/p_setup.c b/src/p_setup.c index c451c9687..e1a2cc1d5 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -8112,20 +8112,19 @@ void P_LoadLevelMusic(void) { const char *music = mapheaderinfo[gamemap-1]->musname[mapmusrng]; - Music_StopAll(); - if (gametyperules & GTR_NOPOSITION) { - if (stricmp(Music_Song("level_nosync"), music)) + if (!stricmp(Music_Song("level_nosync"), music)) { - Music_Stop("level_nosync"); // reset when music changes + // Do not reset music if it is the same + Music_BatchExempt("level_nosync"); } + Music_StopAll(); Music_Remap("level_nosync", music); } else { - Music_Stop("level_nosync"); - Music_Remap("level_nosync", ""); // signal that this should not play + Music_StopAll(); Music_Remap("level", music); tic_t level_music_start = starttime + (TICRATE/2);