diff options
Diffstat (limited to 'alc/alu.cpp')
-rw-r--r-- | alc/alu.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/alc/alu.cpp b/alc/alu.cpp index 7e6d6ca6..57cea740 100644 --- a/alc/alu.cpp +++ b/alc/alu.cpp @@ -791,13 +791,15 @@ void CalcPanningAndFilters(Voice *voice, const float xpos, const float ypos, con case FmtBFormat3D: case FmtUHJ2: case FmtUHJ3: + case FmtUHJ4: DirectChannels = DirectMode::Off; break; } voice->mFlags &= ~(VoiceHasHrtf | VoiceHasNfc); if(voice->mFmtChannels == FmtBFormat2D || voice->mFmtChannels == FmtBFormat3D - || voice->mFmtChannels == FmtUHJ2 || voice->mFmtChannels == FmtUHJ3) + || voice->mFmtChannels == FmtUHJ2 || voice->mFmtChannels == FmtUHJ3 + || voice->mFmtChannels == FmtUHJ4) { /* Special handling for B-Format sources. */ @@ -1560,7 +1562,8 @@ void CalcSourceParams(Voice *voice, ALCcontext *context, bool force) if((voice->mProps.DirectChannels != DirectMode::Off && voice->mFmtChannels != FmtMono && voice->mFmtChannels != FmtBFormat2D && voice->mFmtChannels != FmtBFormat3D - && voice->mFmtChannels != FmtUHJ2 && voice->mFmtChannels != FmtUHJ3) + && voice->mFmtChannels != FmtUHJ2 && voice->mFmtChannels != FmtUHJ3 + && voice->mFmtChannels != FmtUHJ3) || voice->mProps.mSpatializeMode==SpatializeMode::Off || (voice->mProps.mSpatializeMode==SpatializeMode::Auto && voice->mFmtChannels != FmtMono)) CalcNonAttnSourceParams(voice, &voice->mProps, context); |