shithub: choc

Download patch

ref: 7e2eaa105e270586e81c04fdf61bcafd7c96a34c
parent: 2b40842eeca7386f6bfe9b1b39760c8a4d69ca71
author: Simon Howard <fraggle@gmail.com>
date: Sat Sep 12 20:15:24 EDT 2009

Change intro/introa fix to be more accurate: Doom uses d_intro, but
transforms this to d_introa when using OPL playback (thanks entryway)

Subversion-branch: /branches/opl-branch
Subversion-revision: 1672

--- a/src/d_main.c
+++ b/src/d_main.c
@@ -521,7 +521,7 @@
 	if ( gamemode == commercial )
 	  S_StartMusic(mus_dm2ttl);
 	else
-	  S_StartMusic (mus_introa);
+	  S_StartMusic (mus_intro);
 	break;
       case 1:
 	G_DeferedPlayDemo(DEH_String("demo1"));
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -804,6 +804,15 @@
     char namebuf[9];
     void *handle;
 
+    // The Doom IWAD file has two versions of the intro music: d_intro
+    // and d_introa.  The latter is used for OPL playback.
+
+    if (musicnum == mus_intro && (snd_musicdevice == SNDDEVICE_ADLIB
+                               || snd_musicdevice == SNDDEVICE_SB))
+    {
+        musicnum = mus_introa;
+    }
+
     if (musicnum <= mus_None || musicnum >= NUMMUSIC)
     {
         I_Error("Bad music number %d", musicnum);