diff options
-rw-r--r-- | Alc/ALu.c | 6 | ||||
-rw-r--r-- | Alc/mixer.c | 6 | ||||
-rw-r--r-- | OpenAL32/Include/alSource.h | 10 |
3 files changed, 11 insertions, 11 deletions
@@ -230,7 +230,7 @@ ALvoid CalcNonAttnSourceParams(ALsource *ALSource, const ALCcontext *ALContext) break; } - ALSource->Params.WetGains[i] = WetGain[i] * ListenerGain; + ALSource->Params.Send[i].WetGain = WetGain[i] * ListenerGain; } /* Update filter coefficients. Calculations based on the I3DL2 @@ -494,7 +494,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext) if(!Slot || Slot->effect.type == AL_EFFECT_NULL) { - ALSource->Params.WetGains[i] = 0.0f; + ALSource->Params.Send[i].WetGain = 0.0f; WetGainHF[i] = 1.0f; continue; } @@ -544,7 +544,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext) WetGainHF[i] *= ALSource->Send[i].WetFilter.GainHF; break; } - ALSource->Params.WetGains[i] = WetGain[i] * ListenerGain; + ALSource->Params.Send[i].WetGain = WetGain[i] * ListenerGain; } // Apply filter gains and filters diff --git a/Alc/mixer.c b/Alc/mixer.c index 7b525bec..35848a19 100644 --- a/Alc/mixer.c +++ b/Alc/mixer.c @@ -163,11 +163,11 @@ static __inline ALfloat cos_lerp16(ALfloat val1, ALfloat val2, ALint frac) Source->Send[out].Slot->effect.type == AL_EFFECT_NULL) \ continue; \ \ - WetSend = Source->Params.WetGains[out]; \ WetBuffer = Source->Send[out].Slot->WetBuffer; \ WetClickRemoval = Source->Send[out].Slot->ClickRemoval; \ WetPendingClicks = Source->Send[out].Slot->PendingClicks; \ WetFilter = &Source->Params.Send[out].iirFilter; \ + WetSend = Source->Params.Send[out].WetGain; \ \ pos = DataPosInt; \ frac = DataPosFrac; \ @@ -304,11 +304,11 @@ static __inline ALfloat cos_lerp16(ALfloat val1, ALfloat val2, ALint frac) Source->Send[out].Slot->effect.type == AL_EFFECT_NULL) \ continue; \ \ - WetSend = Source->Params.WetGains[out]; \ WetBuffer = Source->Send[out].Slot->WetBuffer; \ WetClickRemoval = Source->Send[out].Slot->ClickRemoval; \ WetPendingClicks = Source->Send[out].Slot->PendingClicks; \ WetFilter = &Source->Params.Send[out].iirFilter; \ + WetSend = Source->Params.Send[out].WetGain; \ \ pos = DataPosInt; \ frac = DataPosFrac; \ @@ -453,7 +453,7 @@ static __inline ALfloat cos_lerp16(ALfloat val1, ALfloat val2, ALint frac) WetClickRemoval = Source->Send[out].Slot->ClickRemoval; \ WetPendingClicks = Source->Send[out].Slot->PendingClicks; \ WetFilter = &Source->Params.Send[out].iirFilter; \ - WetSend = Source->Params.WetGains[out]; \ + WetSend = Source->Params.Send[out].WetGain; \ \ pos = DataPosInt; \ frac = DataPosFrac; \ diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h index 6d01c9fd..40673c00 100644 --- a/OpenAL32/Include/alSource.h +++ b/OpenAL32/Include/alSource.h @@ -84,17 +84,17 @@ typedef struct ALsource // Current target parameters used for mixing ALboolean NeedsUpdate; struct { - ALfloat DryGains[OUTPUTCHANNELS]; - ALfloat WetGains[MAX_SENDS]; ALint Step; + ALfloat DryGains[OUTPUTCHANNELS]; + FILTER iirFilter; + ALfloat history[OUTPUTCHANNELS*2]; + struct { + ALfloat WetGain; FILTER iirFilter; ALfloat history[OUTPUTCHANNELS]; } Send[MAX_SENDS]; - - FILTER iirFilter; - ALfloat history[OUTPUTCHANNELS*2]; } Params; ALvoid (*Update)(struct ALsource *self, const ALCcontext *context); |