+ CDAudio_Stop ();
+
+ // Try playing a fake track (sound file) first
+ if(track >= 1)
+ {
+ sfx = S_PrecacheSound (va ("cdtracks/track%02u.wav", track), false, false);
+ if (sfx == NULL || !S_IsSoundPrecached (sfx))
+ sfx = S_PrecacheSound (va ("cdtracks/track%03u.wav", track), false, false);
+ }
+ else
+ {
+ sfx = S_PrecacheSound (va("cdtracks/%s.wav", trackname), false, false);
+ }
+ if (sfx != NULL)
+ {
+ faketrack = S_StartSound (-1, 0, sfx, vec3_origin, cdvolume, 0);
+ if (faketrack != -1)
+ {
+ if (looping)
+ S_SetChannelFlag (faketrack, CHANNELFLAG_FORCELOOP, true);
+ S_SetChannelFlag (faketrack, CHANNELFLAG_FULLVOLUME, true);
+ if(track >= 1)
+ Con_Printf ("Fake CD track %u playing...\n", track);
+ else
+ Con_Printf ("BGM track %s playing...\n", trackname);
+ }