anchor.diff:    TPathMap = {$ifdef CPFLIB}object{$else}class{$endif}(TCPFClass)
     private
       FFindResult: TPathMapResult;
  -    FFindResultOnePoint: TPoint;
       FInfo: TCPFMapInfo;
       FWidth: Word;
       FHeight: Word;
  
positive.code:   CPFFreeMem(Pointer(FInfo.Cells));
  
    // sectors
    CPFFreeMem(Pointer(FSectors));
  
    {$ifNdef CPFLIB}
      inherited;
  
negative.code:   FSectorTest := False;
    FCaching := True;
  
    // "actual" information
    FActualInfo.TilesChanged := True;
    FActualInfo.FinishPoint.X := -1;
    FActualInfo.FinishPoint.Y := -1;
  
    // offsets
    for i := 0 to 7 do
    FInfo.CellOffsets[i] := SizeOf(TCPFMapCell) *
      (POINT_OFFSETS[i].y * FInfo.MapWidth + POINT_OFFSETS[i].x);
  
    // internal buffers
    FActualInfo.StartPoints.Buffer.Initialize(Self);
    FActualInfo.ExcludedPoints.Buffer.Initialize(Self);
    FActualInfo.FoundPath.Buffer.Initialize(Self);
  
    // default tile weights
    FActualInfo.Weights.Default := PCPFWeights(nil).NewInstance(FHighTile + 1, FCallAddress);
  
    // allocate and fill cells
    Size := FCellCount * SizeOf(TCPFMapCell);
  