diff --git a/src/k_menufunc.c b/src/k_menufunc.c index 6ebb2b515..4aff20816 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -358,6 +358,9 @@ boolean M_Responder(event_t *ev) void M_PlayMenuJam(void) { + if (challengesmenu.pending) + return; + if (cv_menujam_update.value) { CV_AddValue(&cv_menujam, 1); diff --git a/src/menus/extras-challenges.c b/src/menus/extras-challenges.c index c5c52cb66..f3b14f53a 100644 --- a/src/menus/extras-challenges.c +++ b/src/menus/extras-challenges.c @@ -160,6 +160,7 @@ menu_t *M_InterruptMenuWithChallenges(menu_t *desiredmenu) if ((challengesmenu.pending = (newunlock < MAXUNLOCKABLES))) { + S_StopMusic(); MISC_ChallengesDef.prevMenu = desiredmenu; } @@ -380,7 +381,11 @@ void M_ChallengesTick(void) if (challengesmenu.fade > 0) { // Fade decrease. - challengesmenu.fade--; + if (--challengesmenu.fade == 0) + { + // Play music the moment control returns. + M_PlayMenuJam(); + } } } }