// Update every now and then (after some change of transporter's position) // This is used to calculate global positions (which don't have to be exact, they are only required for some server-side calculations void TransportBase::Update(uint32 diff) { if (m_updatePositionsTimer < diff) { if (fabs(m_owner->GetPositionX() - m_lastPosition.x) + fabs(m_owner->GetPositionY() - m_lastPosition.y) + fabs(m_owner->GetPositionZ() - m_lastPosition.z) > 1.0f || NormalizeOrientation(m_owner->GetOrientation() - m_lastPosition.o) > 0.01f) UpdateGlobalPositions(); m_updatePositionsTimer = 500; } else m_updatePositionsTimer -= diff; }
// Update every now and then (after some change of transporter's position) // This is used to calculate global positions (which don't have to be exact, they are only required for some server-side calculations void TransportBase::Update(uint32 diff) { if (m_updatePositionsTimer < diff) { if (fabs(m_owner->GetPositionX() - m_lastPosition.m_positionX) + fabs(m_owner->GetPositionY() - m_lastPosition.m_positionY) + fabs(m_owner->GetPositionZ() - m_lastPosition.m_positionZ) > 1.0f || MapManager::NormalizeOrientation(m_owner->GetOrientation() - m_lastPosition.m_orientation) > 0.01f) UpdateGlobalPositions(); m_updatePositionsTimer = 500; } else m_updatePositionsTimer -= diff; }