- fixed: Assignment of GetLightLevel to GLWall::lightlevel must be clamped. This was done incorrectly in the last SVN version which clamped the result of GetLightLevel, causing problems elsewhere.

This commit is contained in:
Christoph Oelckers 2013-06-23 10:17:58 +02:00
parent 399d0974ab
commit a73d1b792c
2 changed files with 6 additions and 6 deletions

View File

@ -118,7 +118,7 @@ public:
fixed_t viewdistance; fixed_t viewdistance;
BYTE lightlevel; int lightlevel;
BYTE type; BYTE type;
BYTE flags; BYTE flags;
short rellight; short rellight;

View File

@ -1098,7 +1098,7 @@ void GLWall::BuildFFBlock(seg_t * seg, F3DFloor * rover,
float to; float to;
lightlist_t * light; lightlist_t * light;
bool translucent; bool translucent;
byte savelight=lightlevel; int savelight=lightlevel;
FColormap savecolor=Colormap; FColormap savecolor=Colormap;
float ul; float ul;
float texlength; float texlength;
@ -1108,12 +1108,12 @@ void GLWall::BuildFFBlock(seg_t * seg, F3DFloor * rover,
{ {
if (!gl_fixedcolormap) if (!gl_fixedcolormap)
{ {
// this may not yet be done! // this may not yet be done
light=P_GetPlaneLight(rover->target, rover->top.plane,true); light=P_GetPlaneLight(rover->target, rover->top.plane,true);
Colormap.Clear(); Colormap.Clear();
Colormap.LightColor=(light->extra_colormap)->Fade; Colormap.LightColor=(light->extra_colormap)->Fade;
// the fog plane defines the light level, not the front sector! // the fog plane defines the light level, not the front sector
lightlevel=*light->p_lightlevel; lightlevel = gl_ClampLight(*light->p_lightlevel);
gltexture=NULL; gltexture=NULL;
type=RENDERWALL_FFBLOCK; type=RENDERWALL_FFBLOCK;
} }
@ -1520,7 +1520,7 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
int rel = 0; int rel = 0;
int orglightlevel = gl_ClampLight(frontsector->lightlevel); int orglightlevel = gl_ClampLight(frontsector->lightlevel);
lightlevel = seg->sidedef->GetLightLevel(!!(flags&GLWF_FOGGY), orglightlevel, false, &rel); lightlevel = gl_ClampLight(seg->sidedef->GetLightLevel(!!(flags&GLWF_FOGGY), orglightlevel, false, &rel));
if (orglightlevel >= 253) // with the software renderer fake contrast won't be visible above this. if (orglightlevel >= 253) // with the software renderer fake contrast won't be visible above this.
{ {
rellight = 0; rellight = 0;