Attempt to optimize check for ML_DRAWFULLHEIGHT

It is less likely that a line will have the ML_DRAWFULLHEIGHT flag than its' ceiling will be above the neighbouring sector's ceiling and vice versa.
This commit is contained in:
Kevin Caccamo 2020-01-11 05:15:55 -05:00 committed by Christoph Oelckers
parent d73a5f5e16
commit 91589d9799

View file

@ -2024,15 +2024,12 @@ void HWWall::Process(HWDrawInfo *di, seg_t *seg, sector_t * frontsector, sector_
if (frontsector->GetTexture(sector_t::floor) != skyflatnum || backsector->GetTexture(sector_t::floor) != skyflatnum) if (frontsector->GetTexture(sector_t::floor) != skyflatnum || backsector->GetTexture(sector_t::floor) != skyflatnum)
{ {
// the back sector's floor obstructs part of this wall // the back sector's floor obstructs part of this wall
if ((seg->linedef->flags & ML_DRAWFULLHEIGHT) == 0) if (ffh1 > bch1 && ffh2 > bch2 && (seg->linedef->flags & ML_DRAWFULLHEIGHT) == 0)
{
if (ffh1 > bch1 && ffh2 > bch2)
{ {
bch2a = ffh2; bch2a = ffh2;
bch1a = ffh1; bch1a = ffh1;
} }
} }
}
if (bch1a < fch1 || bch2a < fch2) if (bch1a < fch1 || bch2a < fch2)
{ {
@ -2108,14 +2105,11 @@ void HWWall::Process(HWDrawInfo *di, seg_t *seg, sector_t * frontsector, sector_
/* bottom texture */ /* bottom texture */
// the back sector's ceiling obstructs part of this wall (specially important for sky sectors) // the back sector's ceiling obstructs part of this wall (specially important for sky sectors)
if ((seg->linedef->flags & ML_DRAWFULLHEIGHT) == 0) if (fch1 < bfh1 && fch2 < bfh2 && (seg->linedef->flags & ML_DRAWFULLHEIGHT) == 0)
{
if (fch1 < bfh1 && fch2 < bfh2)
{ {
bfh1 = fch1; bfh1 = fch1;
bfh2 = fch2; bfh2 = fch2;
} }
}
if (bfh1 > ffh1 || bfh2 > ffh2) if (bfh1 > ffh1 || bfh2 > ffh2)
{ {