anchor.diff:      DEFAULT_WEIGHT_VALUE_DIAGONAL: Cardinal;
       FTileDefaultWeight: Cardinal;
       FTileDefaultWeightDiagonal: Cardinal;
  -    FSectorOffsets: TCPFOffsets;
   
       procedure RaiseCoordinates(const X, Y: Integer; const Id: TCPFExceptionString);
       procedure UpdateCellMasks(const ChangedArea: TRect);
  
positive.code:   FActualInfo.FinishPoint.Y := -1;
    FActualInfo.Weights.Count := 255;
  
    // offsets
    for i := 0 to 7 do
    begin
      FSectorOffsets[i] := POINT_OFFSETS[i].y * FInfo.MapWidth + POINT_OFFSETS[i].x;
      FInfo.CellOffsets[i] := SizeOf(TCPFCell) * FSectorOffsets[i];
    end;
  
    // internal buffers
    FActualInfo.Starts.Buffer.Initialize(Self);
    FActualInfo.Excludes.Buffer.Initialize(Self);
  
negative.code:   FSectorTest := False;
    FCaching := True;
  
    // offsets
    for i := 0 to 7 do
    begin
      FSectorOffsets[i] := POINT_OFFSETS[i].y * FInfo.MapWidth + POINT_OFFSETS[i].x;
      FInfo.CellOffsets[i] := SizeOf(TCPFCell) * FSectorOffsets[i];
    end;
  
    // path/weight limit params
    FSameDiagonalWeight := (not (AKind in [mkDiagonal, mkDiagonalEx])) or ASameDiagonalWeight;
    Max := AWidth;
    Min := AHeight;
  