- on closer inspection, do not draw skies on intra-sky lines ever - the renderer already takes care of this elsewhere.

This commit is contained in:
Christoph Oelckers 2021-04-08 10:10:15 +02:00
parent d348377bd8
commit b68512ef88

View file

@ -179,13 +179,7 @@ void HWWall::SkyTop(HWDrawInfo *di, walltype * seg,sectortype * fs,sectortype *
{ {
if (bs->ceilingstat & CSTAT_SECTOR_SKY) if (bs->ceilingstat & CSTAT_SECTOR_SKY)
{ {
float c1, c2, f1, f2; return;
PlanesAtPoint(bs, v1.X * 16.f, v1.Y * -16.f, &c1, &f1);
PlanesAtPoint(bs, v2.X * 16.f, v2.Y * -16.f, &c2, &f2);
// if the back sector is closed the sky must be drawn!
if (c1 > f1 || c2 > f2) return;
fs = bs; // draw sky from the backsector.
} }
flags |= HWF_SKYHACK; // mid textures on such lines need special treatment! flags |= HWF_SKYHACK; // mid textures on such lines need special treatment!
@ -232,17 +226,12 @@ void HWWall::SkyBottom(HWDrawInfo *di, walltype * seg,sectortype * fs,sectortype
} }
else if (fs->floorstat & CSTAT_SECTOR_SKY) else if (fs->floorstat & CSTAT_SECTOR_SKY)
{ {
float c1, c2, f1, f2;
PlanesAtPoint(bs, v1.X * 16.f, v1.Y * -16.f, &c1, &f1);
PlanesAtPoint(bs, v2.X * 16.f, v2.Y * -16.f, &c2, &f2);
if (bs->floorstat & CSTAT_SECTOR_SKY) if (bs->floorstat & CSTAT_SECTOR_SKY)
{ {
// if the back sector is closed the sky must be drawn! return;
if (c1 > f1 || c2 > f2) return;
} }
flags |= HWF_SKYHACK; // mid textures on such lines need special treatment! flags |= HWF_SKYHACK; // mid textures on such lines need special treatment!
fs = bs; // draw sky from the backsector.
} }
else return; else return;