From 6b93ca92211024713fc12ca066e2d712b6088fb6 Mon Sep 17 00:00:00 2001
From: mazmazz <mar.marcoz@outlook.com>
Date: Fri, 15 Mar 2019 01:26:13 -0400
Subject: [PATCH] Intermission: Don't fade out level music when using win32
 midi volume hack

---
 src/y_inter.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/y_inter.c b/src/y_inter.c
index 1b7796efa..ed4972d2e 100644
--- a/src/y_inter.c
+++ b/src/y_inter.c
@@ -697,7 +697,12 @@ void Y_Ticker(void)
 
 		if (!intertic) // first time only
 		{
-			if (mapheaderinfo[gamemap-1]->musinterfadeout)
+			if (mapheaderinfo[gamemap-1]->musinterfadeout
+#ifdef _WIN32
+				// can't fade midi due to win32 volume hack
+				&& S_MusicType() != MU_MID
+#endif
+			)
 				S_FadeOutStopMusic(mapheaderinfo[gamemap-1]->musinterfadeout);
 			else if (mapheaderinfo[gamemap-1]->musintername[0] && S_MusicExists(mapheaderinfo[gamemap-1]->musintername, !midi_disabled, !digital_disabled))
 				S_ChangeMusicInternal(mapheaderinfo[gamemap-1]->musintername, false); // don't loop it
@@ -764,7 +769,12 @@ void Y_Ticker(void)
 
 		if (!intertic) // first time only
 		{
-			if (mapheaderinfo[gamemap-1]->musinterfadeout)
+			if (mapheaderinfo[gamemap-1]->musinterfadeout
+#ifdef _WIN32
+				// can't fade midi due to win32 volume hack
+				&& S_MusicType() != MU_MID
+#endif
+			)
 				S_FadeOutStopMusic(mapheaderinfo[gamemap-1]->musinterfadeout);
 			else if (mapheaderinfo[gamemap-1]->musintername[0] && S_MusicExists(mapheaderinfo[gamemap-1]->musintername, !midi_disabled, !digital_disabled))
 				S_ChangeMusicInternal(mapheaderinfo[gamemap-1]->musintername, false); // don't loop it