From 117ed52091a2a24d912c51a8a1c3a97cc5f4d4d5 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 24 Sep 2010 13:16:09 -0700 Subject: [PATCH] Better protect against negative attenuation --- Alc/ALu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Alc/ALu.c b/Alc/ALu.c index d54b9f09..1299e98c 100644 --- a/Alc/ALu.c +++ b/Alc/ALu.c @@ -396,12 +396,15 @@ ALvoid CalcSourceParams(ALsource *ALSource, const ALCcontext *ALContext) break; //fall-through case AL_LINEAR_DISTANCE: - Distance=__min(Distance,MaxDist); if(MaxDist != MinDist) { flAttenuation = 1.0f - (Rolloff*(Distance-MinDist)/(MaxDist - MinDist)); + flAttenuation = __max(flAttenuation, 0.0f); for(i = 0;i < NumSends;i++) + { RoomAttenuation[i] = 1.0f - (RoomRolloff[i]*(Distance-MinDist)/(MaxDist - MinDist)); + RoomAttenuation[i] = __max(RoomAttenuation[i], 0.0f); + } } break; -- 2.11.4.GIT