]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_main.c
README.md: mention `make clean`, more specific build deps
[xonotic/darkplaces.git] / snd_main.c
index 72f8d0058f89a316edf7a199591d509d996d38cd..6f3bf31e1294bd9f313377db4c08ebd6b1c9c29e 100644 (file)
@@ -661,6 +661,8 @@ void S_Startup (void)
 #ifdef CONFIG_VIDEO_CAPTURE
        recording_sound = false;
 #endif
+
+       CDAudio_Startup();
 }
 
 void S_Shutdown(void)
@@ -668,6 +670,8 @@ void S_Shutdown(void)
        if (snd_renderbuffer == NULL)
                return;
 
+       CDAudio_Shutdown();
+
        oldpaintedtime = snd_renderbuffer->endframe;
 
        if (simsound)
@@ -824,6 +828,8 @@ void S_Init(void)
 #ifdef USEXMP
        XMP_OpenLibrary ();
 #endif
+
+       CDAudio_Init();
 }
 
 
@@ -2240,7 +2246,7 @@ void S_ExtraUpdate (void)
        S_PaintAndSubmit();
 }
 
-qbool S_LocalSound (const char *sound)
+qbool S_LocalSoundEx (const char *sound, int chan, float fvol)
 {
        sfx_t   *sfx;
        int             ch_ind;
@@ -2261,10 +2267,15 @@ qbool S_LocalSound (const char *sound)
        // fun fact: in Quake 1, this used -1 "replace any entity channel",
        // which we no longer support anyway
        // changed by Black in r4297 "Changed S_LocalSound to play multiple sounds at a time."
-       ch_ind = S_StartSound (cl.viewentity, 0, sfx, vec3_origin, 1, 0);
+       ch_ind = S_StartSound (cl.viewentity, chan, sfx, vec3_origin, fvol, 0);
        if (ch_ind < 0)
                return false;
 
        channels[ch_ind].flags |= CHANNELFLAG_LOCALSOUND;
        return true;
 }
+
+qbool S_LocalSound (const char *sound)
+{
+       return S_LocalSoundEx(sound, 0, 1);
+}