diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-10 19:13:00 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-10 19:13:00 +0000 |
| commit | 014dcf97c0b7a7c5354478335a27e89c1209a765 (patch) | |
| tree | 5a32a6c4bff76bd157d58e1ceec2a24111741b4e /src/engine/client/snd.c | |
| parent | 6f20ceabcc92fcf57e52f443f3865217e970f74b (diff) | |
| download | zcatch-014dcf97c0b7a7c5354478335a27e89c1209a765.tar.gz zcatch-014dcf97c0b7a7c5354478335a27e89c1209a765.zip | |
crash fixes and added options
Diffstat (limited to 'src/engine/client/snd.c')
| -rw-r--r-- | src/engine/client/snd.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/engine/client/snd.c b/src/engine/client/snd.c index f2b7f9a4..603683f7 100644 --- a/src/engine/client/snd.c +++ b/src/engine/client/snd.c @@ -207,17 +207,21 @@ static void mix(short *final_out, unsigned frames) /* release the lock */ lock_release(sound_lock); - /* clamp accumulated values */ - /* TODO: this seams slow */ - for(i = 0; i < frames; i++) { - int j = i<<1; - int vl = mix_buffer[j]>>8; - int vr = mix_buffer[j+1]>>8; + int master_vol = config.snd_volume; + + /* clamp accumulated values */ + /* TODO: this seams slow */ + for(i = 0; i < frames; i++) + { + int j = i<<1; + int vl = ((mix_buffer[j]*master_vol)/101)>>8; + int vr = ((mix_buffer[j+1]*master_vol)/101)>>8; - final_out[j] = int2short(vl); - final_out[j+1] = int2short(vr); - } + final_out[j] = int2short(vl); + final_out[j+1] = int2short(vr); + } + } } static int pacallback(const void *in, void *out, unsigned long frames, const PaStreamCallbackTimeInfo* time, PaStreamCallbackFlags status, void *user) @@ -425,11 +429,6 @@ int snd_load_wv(const char *filename) return sid; } -void snd_set_master_volume(float vol) -{ - /*master_vol = vol;*/ -} - void snd_set_listener_pos(float x, float y) { center_x = (int)x; |