aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-05-27 22:33:40 -0700
committerChris Robinson <[email protected]>2017-05-27 22:33:40 -0700
commite9505b164e6587b1bb0d04b478ddc45033dfbac8 (patch)
tree3786a76d6e85ec7066f1e28981fc29d473bbdb1e /OpenAL32
parentc51df897db79a9c3190b6571618c3f2010a36de5 (diff)
Fix source sends' initial HF absorption and decay calculation
The HF absorption is applied given the source distance, as relative to the source's immediate environment, with additional absorption being applied given the room/reverb environment. This does double up the amount of absorption compared to the dry path, but it can be assumed the initial reflections travel a longer distance.
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alAuxEffectSlot.h2
-rw-r--r--OpenAL32/alAuxEffectSlot.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/OpenAL32/Include/alAuxEffectSlot.h b/OpenAL32/Include/alAuxEffectSlot.h
index 7126f8f5..5be9ae7a 100644
--- a/OpenAL32/Include/alAuxEffectSlot.h
+++ b/OpenAL32/Include/alAuxEffectSlot.h
@@ -122,8 +122,8 @@ typedef struct ALeffectslot {
ALfloat RoomRolloff; /* Added to the source's room rolloff, not multiplied. */
ALfloat DecayTime;
ALfloat DecayHFRatio;
- ALfloat AirAbsorptionGainHF;
ALboolean DecayHFLimit;
+ ALfloat AirAbsorptionGainHF;
} Params;
/* Self ID */
diff --git a/OpenAL32/alAuxEffectSlot.c b/OpenAL32/alAuxEffectSlot.c
index 8a990584..cd2c1e09 100644
--- a/OpenAL32/alAuxEffectSlot.c
+++ b/OpenAL32/alAuxEffectSlot.c
@@ -616,8 +616,8 @@ ALenum InitEffectSlot(ALeffectslot *slot)
slot->Params.RoomRolloff = 0.0f;
slot->Params.DecayTime = 0.0f;
slot->Params.DecayHFRatio = 0.0f;
- slot->Params.AirAbsorptionGainHF = 1.0f;
slot->Params.DecayHFLimit = AL_FALSE;
+ slot->Params.AirAbsorptionGainHF = 1.0f;
return AL_NO_ERROR;
}