Rename a couple more variables
This commit is contained in:
parent
6a9dd185e6
commit
314832e35a
64
Alc/ALu.c
64
Alc/ALu.c
@ -263,10 +263,10 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
ALfloat Velocity[3],ListenerVel[3];
|
ALfloat Velocity[3],ListenerVel[3];
|
||||||
ALfloat MinVolume,MaxVolume,MinDist,MaxDist,Rolloff,OuterGainHF;
|
ALfloat MinVolume,MaxVolume,MinDist,MaxDist,Rolloff,OuterGainHF;
|
||||||
ALfloat ConeVolume,ConeHF,SourceVolume,ListenerGain;
|
ALfloat ConeVolume,ConeHF,SourceVolume,ListenerGain;
|
||||||
ALfloat DopplerFactor, DopplerVelocity, flSpeedOfSound;
|
ALfloat DopplerFactor, DopplerVelocity, SpeedOfSound;
|
||||||
ALfloat AirAbsorptionFactor;
|
ALfloat AirAbsorptionFactor;
|
||||||
ALbufferlistitem *BufferListItem;
|
ALbufferlistitem *BufferListItem;
|
||||||
ALfloat flAttenuation, effectiveDist;
|
ALfloat Attenuation, EffectiveDist;
|
||||||
ALfloat RoomAttenuation[MAX_SENDS];
|
ALfloat RoomAttenuation[MAX_SENDS];
|
||||||
ALfloat MetersPerUnit;
|
ALfloat MetersPerUnit;
|
||||||
ALfloat RoomRolloff[MAX_SENDS];
|
ALfloat RoomRolloff[MAX_SENDS];
|
||||||
@ -290,7 +290,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
//Get context properties
|
//Get context properties
|
||||||
DopplerFactor = ALContext->DopplerFactor * ALSource->DopplerFactor;
|
DopplerFactor = ALContext->DopplerFactor * ALSource->DopplerFactor;
|
||||||
DopplerVelocity = ALContext->DopplerVelocity;
|
DopplerVelocity = ALContext->DopplerVelocity;
|
||||||
flSpeedOfSound = ALContext->flSpeedOfSound;
|
SpeedOfSound = ALContext->flSpeedOfSound;
|
||||||
NumSends = Device->NumAuxSends;
|
NumSends = Device->NumAuxSends;
|
||||||
Frequency = Device->Frequency;
|
Frequency = Device->Frequency;
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
Distance = aluSqrt(aluDotproduct(Position, Position));
|
Distance = aluSqrt(aluDotproduct(Position, Position));
|
||||||
OrigDist = Distance;
|
OrigDist = Distance;
|
||||||
|
|
||||||
flAttenuation = 1.0f;
|
Attenuation = 1.0f;
|
||||||
for(i = 0;i < NumSends;i++)
|
for(i = 0;i < NumSends;i++)
|
||||||
{
|
{
|
||||||
RoomAttenuation[i] = 1.0f;
|
RoomAttenuation[i] = 1.0f;
|
||||||
@ -382,7 +382,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
if(MinDist > 0.0f)
|
if(MinDist > 0.0f)
|
||||||
{
|
{
|
||||||
if((MinDist + (Rolloff * (Distance - MinDist))) > 0.0f)
|
if((MinDist + (Rolloff * (Distance - MinDist))) > 0.0f)
|
||||||
flAttenuation = MinDist / (MinDist + (Rolloff * (Distance - MinDist)));
|
Attenuation = MinDist / (MinDist + (Rolloff * (Distance - MinDist)));
|
||||||
for(i = 0;i < NumSends;i++)
|
for(i = 0;i < NumSends;i++)
|
||||||
{
|
{
|
||||||
if((MinDist + (RoomRolloff[i] * (Distance - MinDist))) > 0.0f)
|
if((MinDist + (RoomRolloff[i] * (Distance - MinDist))) > 0.0f)
|
||||||
@ -400,8 +400,8 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
case AL_LINEAR_DISTANCE:
|
case AL_LINEAR_DISTANCE:
|
||||||
if(MaxDist != MinDist)
|
if(MaxDist != MinDist)
|
||||||
{
|
{
|
||||||
flAttenuation = 1.0f - (Rolloff*(Distance-MinDist)/(MaxDist - MinDist));
|
Attenuation = 1.0f - (Rolloff*(Distance-MinDist)/(MaxDist - MinDist));
|
||||||
flAttenuation = __max(flAttenuation, 0.0f);
|
Attenuation = __max(Attenuation, 0.0f);
|
||||||
for(i = 0;i < NumSends;i++)
|
for(i = 0;i < NumSends;i++)
|
||||||
{
|
{
|
||||||
RoomAttenuation[i] = 1.0f - (RoomRolloff[i]*(Distance-MinDist)/(MaxDist - MinDist));
|
RoomAttenuation[i] = 1.0f - (RoomRolloff[i]*(Distance-MinDist)/(MaxDist - MinDist));
|
||||||
@ -419,7 +419,7 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
case AL_EXPONENT_DISTANCE:
|
case AL_EXPONENT_DISTANCE:
|
||||||
if(Distance > 0.0f && MinDist > 0.0f)
|
if(Distance > 0.0f && MinDist > 0.0f)
|
||||||
{
|
{
|
||||||
flAttenuation = aluPow(Distance/MinDist, -Rolloff);
|
Attenuation = aluPow(Distance/MinDist, -Rolloff);
|
||||||
for(i = 0;i < NumSends;i++)
|
for(i = 0;i < NumSends;i++)
|
||||||
RoomAttenuation[i] = aluPow(Distance/MinDist, -RoomRolloff[i]);
|
RoomAttenuation[i] = aluPow(Distance/MinDist, -RoomRolloff[i]);
|
||||||
}
|
}
|
||||||
@ -430,22 +430,22 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Source Gain + Attenuation
|
// Source Gain + Attenuation
|
||||||
DryGain = SourceVolume * flAttenuation;
|
DryGain = SourceVolume * Attenuation;
|
||||||
for(i = 0;i < NumSends;i++)
|
for(i = 0;i < NumSends;i++)
|
||||||
WetGain[i] = SourceVolume * RoomAttenuation[i];
|
WetGain[i] = SourceVolume * RoomAttenuation[i];
|
||||||
|
|
||||||
effectiveDist = 0.0f;
|
EffectiveDist = 0.0f;
|
||||||
if(MinDist > 0.0f && flAttenuation < 1.0f)
|
if(MinDist > 0.0f && Attenuation < 1.0f)
|
||||||
effectiveDist = (MinDist/flAttenuation - MinDist)*MetersPerUnit;
|
EffectiveDist = (MinDist/Attenuation - MinDist)*MetersPerUnit;
|
||||||
|
|
||||||
// Distance-based air absorption
|
// Distance-based air absorption
|
||||||
if(AirAbsorptionFactor > 0.0f && effectiveDist > 0.0f)
|
if(AirAbsorptionFactor > 0.0f && EffectiveDist > 0.0f)
|
||||||
{
|
{
|
||||||
ALfloat absorb;
|
ALfloat absorb;
|
||||||
|
|
||||||
// Absorption calculation is done in dB
|
// Absorption calculation is done in dB
|
||||||
absorb = (AirAbsorptionFactor*AIRABSORBGAINDBHF) *
|
absorb = (AirAbsorptionFactor*AIRABSORBGAINDBHF) *
|
||||||
effectiveDist;
|
EffectiveDist;
|
||||||
// Convert dB to linear gain before applying
|
// Convert dB to linear gain before applying
|
||||||
absorb = aluPow(10.0f, absorb/20.0f);
|
absorb = aluPow(10.0f, absorb/20.0f);
|
||||||
|
|
||||||
@ -525,13 +525,13 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
* distance, the initial decay of the reverb effect is
|
* distance, the initial decay of the reverb effect is
|
||||||
* calculated and applied to the wet path.
|
* calculated and applied to the wet path.
|
||||||
*/
|
*/
|
||||||
WetGain[i] *= aluPow(10.0f, effectiveDist /
|
WetGain[i] *= aluPow(10.0f, EffectiveDist /
|
||||||
(SPEEDOFSOUNDMETRESPERSEC *
|
(SPEEDOFSOUNDMETRESPERSEC *
|
||||||
Slot->effect.Reverb.DecayTime) *
|
Slot->effect.Reverb.DecayTime) *
|
||||||
-60.0 / 20.0);
|
-60.0 / 20.0);
|
||||||
|
|
||||||
WetGainHF[i] *= aluPow(Slot->effect.Reverb.AirAbsorptionGainHF,
|
WetGainHF[i] *= aluPow(Slot->effect.Reverb.AirAbsorptionGainHF,
|
||||||
AirAbsorptionFactor * effectiveDist);
|
AirAbsorptionFactor * EffectiveDist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -568,30 +568,28 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext)
|
|||||||
DryGain *= ListenerGain;
|
DryGain *= ListenerGain;
|
||||||
|
|
||||||
// Calculate Velocity
|
// Calculate Velocity
|
||||||
|
Pitch = ALSource->flPitch;
|
||||||
if(DopplerFactor != 0.0f)
|
if(DopplerFactor != 0.0f)
|
||||||
{
|
{
|
||||||
ALfloat flVSS, flVLS;
|
ALfloat VSS, VLS;
|
||||||
ALfloat flMaxVelocity = (DopplerVelocity * flSpeedOfSound) /
|
ALfloat MaxVelocity = (SpeedOfSound*DopplerVelocity) /
|
||||||
DopplerFactor;
|
DopplerFactor;
|
||||||
|
|
||||||
flVSS = aluDotproduct(Velocity, SourceToListener);
|
VSS = aluDotproduct(Velocity, SourceToListener);
|
||||||
if(flVSS >= flMaxVelocity)
|
if(VSS >= MaxVelocity)
|
||||||
flVSS = (flMaxVelocity - 1.0f);
|
VSS = (MaxVelocity - 1.0f);
|
||||||
else if(flVSS <= -flMaxVelocity)
|
else if(VSS <= -MaxVelocity)
|
||||||
flVSS = -flMaxVelocity + 1.0f;
|
VSS = -MaxVelocity + 1.0f;
|
||||||
|
|
||||||
flVLS = aluDotproduct(ListenerVel, SourceToListener);
|
VLS = aluDotproduct(ListenerVel, SourceToListener);
|
||||||
if(flVLS >= flMaxVelocity)
|
if(VLS >= MaxVelocity)
|
||||||
flVLS = (flMaxVelocity - 1.0f);
|
VLS = (MaxVelocity - 1.0f);
|
||||||
else if(flVLS <= -flMaxVelocity)
|
else if(VLS <= -MaxVelocity)
|
||||||
flVLS = -flMaxVelocity + 1.0f;
|
VLS = -MaxVelocity + 1.0f;
|
||||||
|
|
||||||
Pitch = ALSource->flPitch *
|
Pitch *= ((SpeedOfSound*DopplerVelocity) - (DopplerFactor*VLS)) /
|
||||||
((flSpeedOfSound * DopplerVelocity) - (DopplerFactor * flVLS)) /
|
((SpeedOfSound*DopplerVelocity) - (DopplerFactor*VSS));
|
||||||
((flSpeedOfSound * DopplerVelocity) - (DopplerFactor * flVSS));
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
Pitch = ALSource->flPitch;
|
|
||||||
|
|
||||||
BufferListItem = ALSource->queue;
|
BufferListItem = ALSource->queue;
|
||||||
while(BufferListItem != NULL)
|
while(BufferListItem != NULL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user