- Swapped the order of floor and ceiling moves in DElevator::Tick() so that

if an elevator contains an actor exactly the same height as it, it will not
  be blocked.


SVN r1751 (trunk)
This commit is contained in:
Randy Heit 2009-08-05 00:36:01 +00:00
parent be9830f219
commit 9764532d8b
2 changed files with 15 additions and 12 deletions

View File

@ -1,4 +1,7 @@
August 4, 2009 August 4, 2009
- Swapped the order of floor and ceiling moves in DElevator::Tick() so that
if an elevator contains an actor exactly the same height as it, it will not
be blocked.
- Fixed: FWeaponSlot::PickWeapon() wrapped around improperly when the starting - Fixed: FWeaponSlot::PickWeapon() wrapped around improperly when the starting
value for i was 0. value for i was 0.

View File

@ -260,18 +260,6 @@ void DElevator::Tick ()
oldceiling = m_Sector->ceilingplane.d; oldceiling = m_Sector->ceilingplane.d;
if (m_Direction < 0) // moving down if (m_Direction < 0) // moving down
{
res = MoveCeiling (m_Speed, m_CeilingDestDist, m_Direction);
if (res == ok || res == pastdest)
{
res = MoveFloor (m_Speed, m_FloorDestDist, m_Direction);
if (res == crushed)
{
MoveCeiling (m_Speed, oldceiling, -m_Direction);
}
}
}
else // up
{ {
res = MoveFloor (m_Speed, m_FloorDestDist, m_Direction); res = MoveFloor (m_Speed, m_FloorDestDist, m_Direction);
if (res == ok || res == pastdest) if (res == ok || res == pastdest)
@ -283,6 +271,18 @@ void DElevator::Tick ()
} }
} }
} }
else // up
{
res = MoveCeiling (m_Speed, m_CeilingDestDist, m_Direction);
if (res == ok || res == pastdest)
{
res = MoveFloor (m_Speed, m_FloorDestDist, m_Direction);
if (res == crushed)
{
MoveCeiling (m_Speed, oldceiling, -m_Direction);
}
}
}
if (res == pastdest) // if destination height acheived if (res == pastdest) // if destination height acheived
{ {