- 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:
Christoph Oelckers 2018-05-01 11:29:29 +02:00
commit 9bdb0f2e49
19 changed files with 143 additions and 116 deletions

View file

@ -2682,7 +2682,7 @@ bool P_TryMove(AActor *thing, const DVector2 &pos,
newsec->TriggerSectorActions(thing, SECSPAC_EyesDive);
}
if (!(hs->MoreFlags & SECF_FAKEFLOORONLY))
if (!(hs->MoreFlags & SECMF_FAKEFLOORONLY))
{
fakez = hs->ceilingplane.ZatPoint(pos);
if (!oldAboveFakeCeiling && eyez > fakez)
@ -6872,7 +6872,7 @@ bool P_ChangeSector(sector_t *sector, int crunch, double amt, int floorOrCeil, b
if (floorOrCeil != 2) sector->CheckPortalPlane(floorOrCeil); // check for portal obstructions after everything is done.
if (!cpos.nofit && !isreset /* && sector->MoreFlags & (SECF_UNDERWATERMASK)*/)
if (!cpos.nofit && !isreset /* && sector->MoreFlags & (SECMF_UNDERWATERMASK)*/)
{
// If this is a control sector for a deep water transfer, all actors in affected
// sectors need to have their waterlevel information updated and if applicable,