diff options
author | Chris Robinson <[email protected]> | 2019-12-17 22:36:26 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2019-12-17 22:40:49 -0800 |
commit | 5e35f73cadda8e92204e580712ef8d29ab0a91b1 (patch) | |
tree | db060abe09c2aef660b30a827f900dcbe8c63a34 /alc | |
parent | a8de1570e9d9e4bf07f1d95a01f79865c4027736 (diff) |
Don't process direct channel sources with attenuation
Diffstat (limited to 'alc')
-rw-r--r-- | alc/alu.cpp | 8 |
1 files 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); } |