light: pass minlight/colour values into FixMinlight

Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
This commit is contained in:
Kevin Shanahan 2013-03-07 16:13:43 +10:30
parent 34050c2bd9
commit 44a0bd3660
1 changed files with 9 additions and 9 deletions

View File

@ -683,7 +683,7 @@ SkyLightFace(lightinfo_t *l, const vec3_t faceoffset, const vec3_t colors)
* ============ * ============
*/ */
static void static void
FixMinlight(lightinfo_t *l) FixMinlight(lightinfo_t *l, const int minlight, const vec3_t mincolor)
{ {
int i, j, k; int i, j, k;
vec_t *lightmap; vec_t *lightmap;
@ -706,20 +706,20 @@ FixMinlight(lightinfo_t *l)
return; /* oh well... FIXME - should we warn? */ return; /* oh well... FIXME - should we warn? */
lightmap = l->lightmaps[l->numlightstyles]; lightmap = l->lightmaps[l->numlightstyles];
for (i = 0; i < l->numsurfpt; i++) for (i = 0; i < l->numsurfpt; i++)
lightmap[i] = worldminlight; lightmap[i] = minlight;
if (colored) { if (colored) {
colormap = l->colormaps[l->numlightstyles]; colormap = l->colormaps[l->numlightstyles];
for (i = 0; i < l->numsurfpt; i++) for (i = 0; i < l->numsurfpt; i++)
VectorScale(minlight_color, worldminlight / 255, colormap[i]); VectorScale(mincolor, minlight / 255, colormap[i]);
} }
l->lightstyles[l->numlightstyles++] = 0; l->lightstyles[l->numlightstyles++] = 0;
} else { } else {
for (i = 0; i < l->numsurfpt; i++) { for (i = 0; i < l->numsurfpt; i++) {
if (lightmap[i] < worldminlight) if (lightmap[i] < minlight)
lightmap[i] = worldminlight; lightmap[i] = minlight;
if (colored) { if (colored) {
for (j = 0; j < 3; j++) { for (j = 0; j < 3; j++) {
vec_t lightval = worldminlight * minlight_color[j] / 255; vec_t lightval = minlight * mincolor[j] / 255;
if (colormap[i][j] < lightval) if (colormap[i][j] < lightval)
colormap[i][j] = lightval; colormap[i][j] = lightval;
} }
@ -761,11 +761,11 @@ FixMinlight(lightinfo_t *l)
if (!colored) if (!colored)
continue; continue;
for (k = 0; k < 3; k++) { for (k = 0; k < 3; k++) {
if (colormap[j][k] < minlight_color[k]) { if (colormap[j][k] < mincolor[k]) {
if (!trace) if (!trace)
trace = TestLine(entity->origin, l->surfpt[j]); trace = TestLine(entity->origin, l->surfpt[j]);
if (trace) if (trace)
colormap[j][k] = minlight_color[k]; colormap[j][k] = mincolor[k];
} }
} }
} }
@ -938,7 +938,7 @@ LightFace(int surfnum, const vec3_t faceoffset)
} }
/* Minimum lighting */ /* Minimum lighting */
FixMinlight(&l); FixMinlight(&l, worldminlight, minlight_color);
if (nominlimit) { if (nominlimit) {
/* cast only negative lights */ /* cast only negative lights */