forked from mirrors/0ad
Fix UnitMotion 'path prediction' to not trigger if following a short path
This is needed otherwise units might never go around pure unit obstructions.
Adds a small test map.
Fixes def0f57365
This commit is contained in:
committed by
wraitii
parent
dc6544a6c4
commit
7cc495ec91
Binary file not shown.
@@ -1091,7 +1091,7 @@ void CCmpUnitMotion::PostMove(CCmpUnitMotionManager::MotionState& state, fixed d
|
||||
const bool needPathUpdate{PathingUpdateNeeded(state.pos)};
|
||||
|
||||
// If we're following a long-path, check if we might run into units in advance, to smoothe motion.
|
||||
if (!needPathUpdate && !state.wasObstructed && m_LongPath.m_Waypoints.size() >= 1)
|
||||
if (!needPathUpdate && !state.wasObstructed && m_LongPath.m_Waypoints.size() >= 1 && m_ShortPath.m_Waypoints.empty())
|
||||
{
|
||||
ICmpObstructionManager::tag_t specificIgnore;
|
||||
if (m_MoveRequest.m_Type == MoveRequest::ENTITY)
|
||||
|
||||
Reference in New Issue
Block a user