- fixed: light values read from 3D floor light lists for lighting sprites were not clamped to [0..255].

This commit is contained in:
Christoph Oelckers 2013-08-09 23:12:21 +02:00
parent 951782578f
commit 62fd6c8e74
1 changed files with 1 additions and 6 deletions

View File

@ -346,23 +346,19 @@ void GLSprite::SplitSprite(sector_t * frontsector, bool translucent)
bool put=false; bool put=false;
TArray<lightlist_t> & lightlist=frontsector->e->XFloor.lightlist; TArray<lightlist_t> & lightlist=frontsector->e->XFloor.lightlist;
//y1+=y;
//y2+=y;
//y=0;
for(i=0;i<lightlist.Size();i++) for(i=0;i<lightlist.Size();i++)
{ {
// Particles don't go through here so we can safely assume that actor is not NULL // Particles don't go through here so we can safely assume that actor is not NULL
if (i<lightlist.Size()-1) lightbottom=lightlist[i+1].plane.ZatPoint(actor->x,actor->y); if (i<lightlist.Size()-1) lightbottom=lightlist[i+1].plane.ZatPoint(actor->x,actor->y);
else lightbottom=frontsector->floorplane.ZatPoint(actor->x,actor->y); else lightbottom=frontsector->floorplane.ZatPoint(actor->x,actor->y);
//maplighttop=FIXED2FLOAT(lightlist[i].height);
maplightbottom=FIXED2FLOAT(lightbottom); maplightbottom=FIXED2FLOAT(lightbottom);
if (maplightbottom<z2) maplightbottom=z2; if (maplightbottom<z2) maplightbottom=z2;
if (maplightbottom<z1) if (maplightbottom<z1)
{ {
copySprite=*this; copySprite=*this;
copySprite.lightlevel=*lightlist[i].p_lightlevel; copySprite.lightlevel = gl_ClampLight(*lightlist[i].p_lightlevel);
copySprite.Colormap.CopyLightColor(lightlist[i].extra_colormap); copySprite.Colormap.CopyLightColor(lightlist[i].extra_colormap);
if (glset.nocoloredspritelighting) if (glset.nocoloredspritelighting)
@ -387,7 +383,6 @@ void GLSprite::SplitSprite(sector_t * frontsector, bool translucent)
put=true; put=true;
} }
} }
//if (y1<y2) PutSprite(translucent);
} }