mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
- fixed some issues with setting the vertex dirty state. It was also called from several sector init functions and copy code for Boom deep water. The only case where SetPlaneTexZ should call it is from the interpolation code so this is a special case now.
This commit is contained in:
parent
ece10bb57f
commit
355dd1c2f5
2 changed files with 5 additions and 5 deletions
|
@ -451,12 +451,12 @@ void DSectorPlaneInterpolation::Restore()
|
|||
if (!ceiling)
|
||||
{
|
||||
sector->floorplane.d = bakheight;
|
||||
sector->SetPlaneTexZ(sector_t::floor, baktexz);
|
||||
sector->SetPlaneTexZ(sector_t::floor, baktexz, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
sector->ceilingplane.d = bakheight;
|
||||
sector->SetPlaneTexZ(sector_t::ceiling, baktexz);
|
||||
sector->SetPlaneTexZ(sector_t::ceiling, baktexz, true);
|
||||
}
|
||||
P_RecalculateAttached3DFloors(sector);
|
||||
}
|
||||
|
@ -487,7 +487,7 @@ void DSectorPlaneInterpolation::Interpolate(fixed_t smoothratio)
|
|||
baktexz = sector->GetPlaneTexZ(pos);
|
||||
|
||||
*pheight = oldheight + FixedMul(bakheight - oldheight, smoothratio);
|
||||
sector->SetPlaneTexZ(pos, oldtexz + FixedMul(baktexz - oldtexz, smoothratio));
|
||||
sector->SetPlaneTexZ(pos, oldtexz + FixedMul(baktexz - oldtexz, smoothratio), true);
|
||||
P_RecalculateAttached3DFloors(sector);
|
||||
}
|
||||
|
||||
|
|
|
@ -649,10 +649,10 @@ struct sector_t
|
|||
for (unsigned i = 0; i < e->XFloor.attached.Size(); i++) e->XFloor.attached[i]->SetVerticesDirty();
|
||||
}
|
||||
|
||||
void SetPlaneTexZ(int pos, fixed_t val)
|
||||
void SetPlaneTexZ(int pos, fixed_t val, bool dirtify = false) // This mainly gets used by init code. The only place where it must set the vertex to dirty is the interpolation code.
|
||||
{
|
||||
planes[pos].TexZ = val;
|
||||
SetAllVerticesDirty();
|
||||
if (dirtify) SetAllVerticesDirty();
|
||||
}
|
||||
|
||||
void ChangePlaneTexZ(int pos, fixed_t val)
|
||||
|
|
Loading…
Reference in a new issue