anchor.diff:    {$endif}
     {$if Defined(DEBUG) and not Defined(CPFLIB)}
   
  -
  -  TTileMap(nil).CacheAttainablePath(TCPFStart(nil^), nil);
  +  TTileMapPtr(nil).FlushHeuristedNodes(TCPFStart(nil^), TCPFNode(nil^));
  +
     // anti hint
     TTileMapPtr(nil).CalculateHeuristics(PPoint(nil)^, PPoint(nil)^);
     TTileMapPtr(nil).AddHeuristedNodes(nil, nil);
  
positive.code:   Coordinates, MapWidth: NativeInt;
  begin
    // take node list
    Node := FNodes.Heuristed.First.Next;
    if (Node = @FNodes.Heuristed.Last) then Exit;
    FNodes.Heuristed.First.Next := @FNodes.Heuristed.Last;
    FNodes.Heuristed.Last.Prev := @FNodes.Heuristed.First;
  
    // clear flag loop
    Cells := FInfo.CellArray;
  
negative.code:     function ActualizeStarts(Points: PPoint; Count: NativeUInt; Compare: Boolean): Boolean;
      function ActualizeExcludes(Points: PPoint; Count: NativeUInt; Compare: Boolean): Boolean;
      procedure ActualizeSectors;
      procedure FlushHeuristedNodes(const StartPoint: TCPFStart; const FailureNode: TCPFNode);
      procedure AddHeuristedNodes(const First, Last: PCPFNode);
      procedure ReleaseAttainableNodes;
      procedure ReleaseHeuristedNodes;
  