diff --git a/src/f_wipe.c b/src/f_wipe.c index 2ded899de8b83aeb4c408f5d7d6ec664264e0c9b..137ba161f5c97526d43cf6610a1ceaa98ed58f6b 100644 --- a/src/f_wipe.c +++ b/src/f_wipe.c @@ -342,12 +342,15 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu) fademask_t *fmask; #ifdef _WINDOWS - boolean waspaused = false; // DD HACK: Music doesn't work during wipes, so halt it before the wipe starts - if (S_MusicPlaying() && !S_MusicPaused()) + boolean wasplaying = false; + char musname[7]; UINT16 flags; boolean looping; + + S_MusicInfo(musname, &flags, &looping); + if (S_MusicPlaying()) { - S_PauseAudio(); - waspaused = true; + S_StopMusic(); + wasplaying = true; } #endif @@ -392,8 +395,8 @@ void F_RunWipe(UINT8 wipetype, boolean drawMenu) #ifdef _WINDOWS // DD HACK: Music doesn't work during wipes, so resume it after the wipe ends - if (waspaused) - S_ResumeAudio(); + if (wasplaying) + S_ChangeMusic(musname, flags, looping); #endif #endif }