]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - snd_dma.c
fixed the complaints about missing sounds (no longer complains after the initial...
[xonotic/darkplaces.git] / snd_dma.c
index 188dad8e4c69ae18fd7ec18bd54d664987768f71..2faf2967a4555e53d1c7225722c831b1de19978d 100644 (file)
--- a/snd_dma.c
+++ b/snd_dma.c
@@ -25,6 +25,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "winquake.h"
 #endif
 
+#include "ogg.h"
+
+
 void S_Play(void);
 void S_PlayVol(void);
 void S_Play2(void);
@@ -257,6 +260,8 @@ void S_Init(void)
 
        total_channels = MAX_DYNAMIC_CHANNELS + NUM_AMBIENTS;   // no statics
        memset(channels, 0, MAX_CHANNELS * sizeof(channel_t));
+
+       OGG_OpenLibrary ();
 }
 
 
@@ -469,7 +474,7 @@ void S_StartSound(int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float f
        int             ch_idx;
        int             skip;
 
-       if (!sound_started || !sfx || nosound.integer)
+       if (!sound_started || !sfx || !sfx->sfxcache || nosound.integer)
                return;
 
        vol = fvol*255;
@@ -488,8 +493,9 @@ void S_StartSound(int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float f
        target_chan->entchannel = entchannel;
        SND_Spatialize(target_chan, false);
 
-       if (!target_chan->leftvol && !target_chan->rightvol)
-               return;         // not audible at all
+       // LordHavoc: spawn the sound anyway because the player might teleport to it
+       //if (!target_chan->leftvol && !target_chan->rightvol)
+       //      return;         // not audible at all
 
 // new channel
        sc = S_LoadSound (sfx, true);