X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=snd_mix.c;h=3f9f01b60b4fd2ae0d3bb1e918ff9552224c2633;hb=309feb665ffe9f619730b532e9fa4ec5b4e0ae39;hp=96f20236f156b415e64b5dd36b0cda4eafcdfd42;hpb=edfcde7fdd922dfdd65d5eaa93e1ec9cca33bab0;p=xonotic%2Fdarkplaces.git diff --git a/snd_mix.c b/snd_mix.c index 96f20236..3f9f01b6 100644 --- a/snd_mix.c +++ b/snd_mix.c @@ -21,14 +21,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "quakedef.h" -#ifdef _WIN32 -#include "winquake.h" -#endif - // LordHavoc: was 512, expanded to 2048 -#define PAINTBUFFER_SIZE 2048 +#define PAINTBUFFER_SIZE 2048 portable_samplepair_t paintbuffer[PAINTBUFFER_SIZE]; -int snd_scaletable[32][256]; +int snd_scaletable[32][256]; /* // LordHavoc: disabled this because it desyncs with the video too easily @@ -44,8 +40,7 @@ void S_CaptureAVISound(portable_samplepair_t *buf, int length) { if (cl_avidemo_soundfile == NULL) { - sprintf (filename, "%s/dpavi.wav", com_gamedir); - cl_avidemo_soundfile = fopen(filename, "wb"); + cl_avidemo_soundfile = FS_Open ("dpavi.wav", "wb", false); memset(out, 0, 44); fwrite(out, 1, 44, cl_avidemo_soundfile); // header will be filled out when file is closed @@ -318,9 +313,9 @@ void S_PaintChannels(int endtime) // if at end of loop, restart if (ltime >= ch->end) { - if (sc->loopstart >= 0) + if (sc->loopstart >= 0 || ch->forceloop) { - ch->pos = sc->loopstart; + ch->pos = bound(0, sc->loopstart, sc->length - 1); ch->end = ltime + sc->length - ch->pos; } else @@ -342,19 +337,19 @@ void S_PaintChannels(int endtime) void SND_InitScaletable (void) { - int i, j; + int i, j; - for (i=0 ; i<32 ; i++) - for (j=0 ; j<256 ; j++) + for (i = 0;i < 32;i++) + for (j = 0;j < 256;j++) snd_scaletable[i][j] = ((signed char)j) * i * 8; } void SND_PaintChannelFrom8 (channel_t *ch, sfxcache_t *sc, int count) { - int *lscale, *rscale; + int *lscale, *rscale; unsigned char *sfx; - int i; + int i, n; if (ch->leftvol > 255) ch->leftvol = 255; @@ -367,22 +362,20 @@ void SND_PaintChannelFrom8 (channel_t *ch, sfxcache_t *sc, int count) { // LordHavoc: stereo sound support, and optimizations sfx = (unsigned char *)sc->data + ch->pos * 2; - - for (i=0 ; idata + ch->pos; - - for (i=0 ; ileftvol; rightvol = ch->rightvol;