Fixed splitting of walls in compatibility renderer

Any wall adjacent to 3D floor sector were not rendered at all
This commit is contained in:
alexey.lysiuk 2016-06-05 12:38:23 +03:00
parent 18ebe92cfc
commit 56ce6abbc2
1 changed files with 13 additions and 13 deletions

View File

@ -395,25 +395,25 @@ void GLWall::SplitWall(sector_t * frontsector, bool translucent)
continue;
}
if (gl.glslversion >= 1.3f)
{
// check for an intersection with the upper and lower planes of the wall segment
if ((maplightbottomleft<ztop[0] && maplightbottomright>ztop[1]) ||
(maplightbottomleft > ztop[0] && maplightbottomright < ztop[1]) ||
(maplightbottomleft<zbottom[0] && maplightbottomright>zbottom[1]) ||
(maplightbottomleft > zbottom[0] && maplightbottomright < zbottom[1]))
{
if (gl.glslversion >= 1.3f)
{
// Use hardware clipping if this cannot be done cleanly.
this->lightlist = &lightlist;
PutWall(translucent);
goto out;
}
}
else
{
// crappy fallback if no clip planes available
SplitWallComplex(frontsector, translucent, maplightbottomleft, maplightbottomright);
return;
}
goto out;
}
// 3D floor is completely within this light