From 2d8b011bc8c6843d3bb55d4767e59b7129e8df73 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Sat, 16 Oct 2010 12:40:49 +0900 Subject: [PATCH] Support negative lights. --- tools/qflight/source/ltface.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/qflight/source/ltface.c b/tools/qflight/source/ltface.c index 6e75c42fc..b3d0cfbc6 100644 --- a/tools/qflight/source/ltface.c +++ b/tools/qflight/source/ltface.c @@ -340,16 +340,20 @@ SingleLightFace (entity_t *light, lightinfo_t *l) switch (light->attenuation) { case LIGHT_LINEAR: - add = light->light - dist; + add = fabs (light->light) - dist; break; case LIGHT_RADIUS: - add = light->light * (light->radius - dist) / light->radius; + add = fabs (light->light) * (light->radius - dist); + add /= light->radius; break; case LIGHT_INVERSE: - add = light->light / dist; + add = fabs (light->light) / dist; break; case LIGHT_REALISTIC: - add = light->light / (dist * dist); + add = fabs (light->light) / (dist * dist); + break; + case LIGHT_NO_ATTEN: + add = fabs (light->light); break; case LIGHT_LH: add = 1 / (dist * dist * lightfalloff + LIGHTDISTBIAS);