- fixed: Instant floor movers should disable z-interpolation for all affected actors.

This commit is contained in:
Christoph Oelckers 2016-12-27 21:16:42 +01:00
commit 721b2fb21d
9 changed files with 87 additions and 54 deletions

View file

@ -86,7 +86,8 @@ void DFloor::Serialize(FSerializer &arc)
("pausetime", m_PauseTime)
("steptime", m_StepTime)
("persteptime", m_PerStepTime)
("crushmode", m_Hexencrush);
("crushmode", m_Hexencrush)
("instant", m_Instant);
}
//==========================================================================
@ -129,7 +130,7 @@ void DFloor::Tick ()
if (m_Type == waitStair)
return;
res = m_Sector->MoveFloor (m_Speed, m_FloorDestDist, m_Crush, m_Direction, m_Hexencrush);
res = m_Sector->MoveFloor (m_Speed, m_FloorDestDist, m_Crush, m_Direction, m_Hexencrush, m_Instant);
if (res == EMoveResult::pastdest)
{
@ -286,6 +287,7 @@ bool P_CreateFloor(sector_t *sec, DFloor::EFloor floortype, line_t *line,
floor->m_Speed = speed;
floor->m_ResetCount = 0; // [RH]
floor->m_OrgDist = sec->floorplane.fD(); // [RH]
floor->m_Instant = false;
switch (floortype)
{
@ -451,6 +453,7 @@ bool P_CreateFloor(sector_t *sec, DFloor::EFloor floortype, line_t *line,
(floor->m_Speed >= fabs(sec->floorplane.fD() - floor->m_FloorDestDist))) // moving in one step
{
floor->StopInterpolation(true);
floor->m_Instant = true;
// [Graf Zahl]
// Don't make sounds for instant movement hacks but make an exception for