anchor.diff:        Exit; //Will take next step during next execute
       end;
   
  +    //Attempt to smooth out unnecessary side-steps in the route
  +    SmoothDiagSideStep;
  +
       //If we were in Worker mode but have now reached the walk network of our destination switch to CanWalk mode to avoid walking on other building sites
       {if (fPass = CanWorker) and (fTerrain.GetWalkConnectID(fWalkTo) <> 0) and
         (fTerrain.GetWalkConnectID(fWalkTo) = fTerrain.GetWalkConnectID(NodeList[NodePos])) then
  
positive.code:     NodeList.Insert(NodePos+1, aPos);
  
    fUnit.Direction := KMGetDirection(fUnit.CurrPosition, aPos); //Face the new tile
  end;
  
  
  
negative.code: 
      procedure ChangeStepTo(const aPos: TKMPoint);
      procedure PerformExchange(const ForcedExchangePos: TKMPoint);
      procedure SmoothDiagSideStep;
      procedure IncVertex;
      procedure DecVertex;
      procedure SetInitValues;
  