From 5e35f73cadda8e92204e580712ef8d29ab0a91b1 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Tue, 17 Dec 2019 22:36:26 -0800 Subject: [PATCH] Don't process direct channel sources with attenuation --- alc/alu.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/alc/alu.cpp b/alc/alu.cpp index f312c161..48641f93 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -1579,11 +1579,11 @@ void CalcSourceParams(ALvoice *voice, ALCcontext *context, bool force) AtomicReplaceHead(context->mFreeVoiceProps, props); } - if((voice->mProps.mSpatializeMode == SpatializeAuto && voice->mFmtChannels == FmtMono) || - voice->mProps.mSpatializeMode == SpatializeOn) - CalcAttnSourceParams(voice, &voice->mProps, context); - else + if(voice->mProps.DirectChannels || voice->mProps.mSpatializeMode == SpatializeOff + || (voice->mProps.mSpatializeMode == SpatializeAuto && voice->mFmtChannels != FmtMono)) CalcNonAttnSourceParams(voice, &voice->mProps, context); + else + CalcAttnSourceParams(voice, &voice->mProps, context); }