anchor.diff:    // unattainable pool
     FNodes.UnattainablePool.First.Next := @FNodes.UnattainablePool.Last;
     FNodes.UnattainablePool.Last.Prev := @FNodes.UnattainablePool.First;
  +
  +  // excluded node list
  +  FActualInfo.Excludes.NodeList := nil;
   
     // clear map cells
     if (ClearCells) and (FInfo.NodeAllocator.Count <> 0) then
  
positive.code:   begin
      if (Cardinal(S.X) >= MapWidth) or (Cardinal(S.Y) >= MapHeight) then
      begin
        RaiseCoordinates(S.X, S.Y, 'start');
        Exit;
      end;
  
  
negative.code:   S := @Params.Finish;
    if (Cardinal(S.X) >= MapWidth) or (Cardinal(S.Y) >= MapHeight) then
    begin
      with S^ do
      RaiseCoordinates(X, Y, 'finish');
      Exit;
    end;
  
    // pathless finish tile
    FinishX := Params.Finish.X;
    {$ifNdef CPUX86}
    FinishY := Params.Finish.Y;
    {$endif}
    Cell := @FInfo.CellArray[Integer(MapWidth) * {$ifdef CPUX86}Params.Finish.Y{$else}FinishY{$endif} + FinishX];
    CellInfo := Cell.NodePtr;
    if (CellInfo and NODEPTR_FLAG_ALLOCATED <> 0) then
    begin
  