diff --git a/README b/README index 5f5ead81..ca60b23f 100644 --- a/README +++ b/README @@ -618,6 +618,10 @@ vary). The most important options (tested with OpenAL Soft 1.14) are: several hard to resamples sound effects. Especially the earthquake sound can distort if a low quality resampler is employed! +If the sound is distorted and cracking, most likely the ingame volume is set too +high. Lower it by setting the "s_volume" CVAR to 0.3 or even less and use the +system mixer instead! + =============================================================================== 6. Bugreports diff --git a/src/client/sound/snd_al.c b/src/client/sound/snd_al.c index ce4f0446..0a53b300 100644 --- a/src/client/sound/snd_al.c +++ b/src/client/sound/snd_al.c @@ -475,7 +475,6 @@ AL_Update(void) AL_CopyVector(listener_forward, orientation); AL_CopyVector(listener_up, orientation + 3); qalListenerfv(AL_ORIENTATION, orientation); - qalListenerf(AL_GAIN, s_volume->value / 3); qalDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); /* update spatialization for dynamic sounds */ diff --git a/src/client/sound/snd_dma.c b/src/client/sound/snd_dma.c index 947ada3a..c48b31a6 100644 --- a/src/client/sound/snd_dma.c +++ b/src/client/sound/snd_dma.c @@ -698,7 +698,7 @@ S_IssuePlaysound(playsound_t *ps) #if USE_OPENAL if (sound_started == SS_OAL) { - ch->oal_vol = ps->volume; + ch->oal_vol = ps->volume * (s_volume->value); AL_PlayChannel(ch); } else @@ -1182,6 +1182,7 @@ S_RawSamples(int samples, int rate, int width, #if USE_OPENAL if (sound_started == SS_OAL) { + volume = volume * (s_volume->value); AL_RawSamples(samples, rate, width, channels, data, volume); return; }