diff --git a/src/d_main.cpp b/src/d_main.cpp index 6fb28d624..d720639a4 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -1085,6 +1085,7 @@ void D_ClearState(void) nextmapoverride = 0; skipstats = 0; tutorialchallenge = TUTORIALSKIP_NONE; + gamemap = 1; gameaction = ga_nothing; memset(displayplayers, 0, sizeof(displayplayers)); diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 905470403..feeb08d7c 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -8210,12 +8210,17 @@ void P_ResetLevelMusic(void) if (tempmapmus_size > 1) { - if (g_reloadingMap) + if (g_reloadingMap == (modeattacking == ATTACKING_NONE)) { // If restarting the map, simply cycle // through available alt music. idx = (mapmusrng + 1) % tempmapmus_size; } + else if (modeattacking) + { + // Short circuit the cycle. + idx = mapmusrng % tempmapmus_size; + } else { idx = random % tempmapmus_size;