summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/d_main.c2
-rw-r--r--src/s_sound.c9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/d_main.c b/src/d_main.c
index 46dd19ac..c59a8fb7 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -521,7 +521,7 @@ void D_DoAdvanceDemo (void)
if ( gamemode == commercial )
S_StartMusic(mus_dm2ttl);
else
- S_StartMusic (mus_introa);
+ S_StartMusic (mus_intro);
break;
case 1:
G_DeferedPlayDemo(DEH_String("demo1"));
diff --git a/src/s_sound.c b/src/s_sound.c
index f038e9cd..9e70ec73 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -804,6 +804,15 @@ void S_ChangeMusic(int musicnum, int looping)
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);