- renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat. - vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it. - Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
This commit is contained in:
parent
f49c6cbde2
commit
9bdb0f2e49
19 changed files with 143 additions and 116 deletions
|
|
@ -698,15 +698,15 @@ CUSTOM_CVAR (Bool, forcewater, false, CVAR_ARCHIVE|CVAR_SERVERINFO)
|
|||
for (auto &sec : level.sectors)
|
||||
{
|
||||
sector_t *hsec = sec.GetHeightSec();
|
||||
if (hsec && !(hsec->MoreFlags & SECF_UNDERWATER))
|
||||
if (hsec && !(hsec->MoreFlags & SECMF_UNDERWATER))
|
||||
{
|
||||
if (self)
|
||||
{
|
||||
hsec->MoreFlags |= SECF_FORCEDUNDERWATER;
|
||||
hsec->MoreFlags |= SECMF_FORCEDUNDERWATER;
|
||||
}
|
||||
else
|
||||
{
|
||||
hsec->MoreFlags &= ~SECF_FORCEDUNDERWATER;
|
||||
hsec->MoreFlags &= ~SECMF_FORCEDUNDERWATER;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1248,7 +1248,7 @@ void P_InitSectorSpecial(sector_t *sector, int special)
|
|||
break;
|
||||
|
||||
case Sector_Hidden:
|
||||
sector->MoreFlags |= SECF_HIDDEN;
|
||||
sector->MoreFlags |= SECMF_HIDDEN;
|
||||
break;
|
||||
|
||||
case Sector_Heal:
|
||||
|
|
@ -1346,35 +1346,35 @@ void P_SpawnSpecials (void)
|
|||
|
||||
if (line.args[1] & 2)
|
||||
{
|
||||
sec->MoreFlags |= SECF_FAKEFLOORONLY;
|
||||
sec->MoreFlags |= SECMF_FAKEFLOORONLY;
|
||||
}
|
||||
if (line.args[1] & 4)
|
||||
{
|
||||
sec->MoreFlags |= SECF_CLIPFAKEPLANES;
|
||||
sec->MoreFlags |= SECMF_CLIPFAKEPLANES;
|
||||
}
|
||||
if (line.args[1] & 8)
|
||||
{
|
||||
sec->MoreFlags |= SECF_UNDERWATER;
|
||||
sec->MoreFlags |= SECMF_UNDERWATER;
|
||||
}
|
||||
else if (forcewater)
|
||||
{
|
||||
sec->MoreFlags |= SECF_FORCEDUNDERWATER;
|
||||
sec->MoreFlags |= SECMF_FORCEDUNDERWATER;
|
||||
}
|
||||
if (line.args[1] & 16)
|
||||
{
|
||||
sec->MoreFlags |= SECF_IGNOREHEIGHTSEC;
|
||||
sec->MoreFlags |= SECMF_IGNOREHEIGHTSEC;
|
||||
}
|
||||
else level.HasHeightSecs = true;
|
||||
if (line.args[1] & 32)
|
||||
{
|
||||
sec->MoreFlags |= SECF_NOFAKELIGHT;
|
||||
sec->MoreFlags |= SECMF_NOFAKELIGHT;
|
||||
}
|
||||
FSectorTagIterator itr(line.args[0]);
|
||||
while ((s = itr.Next()) >= 0)
|
||||
{
|
||||
level.sectors[s].heightsec = sec;
|
||||
sec->e->FakeFloor.Sectors.Push(&level.sectors[s]);
|
||||
level.sectors[s].MoreFlags |= (sec->MoreFlags & SECF_IGNOREHEIGHTSEC); // copy this to the destination sector for easier checking.
|
||||
level.sectors[s].MoreFlags |= (sec->MoreFlags & SECMF_IGNOREHEIGHTSEC); // copy this to the destination sector for easier checking.
|
||||
level.sectors[s].AdjustFloorClip();
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue