anchor.diff:    Flags := NativeUInt(FCaching) xor 1;{FLAG_CACHING}
     begin
       // finish point
  -    if (0 <> (Self.FActualInfo.FinishPoint.X - FinishX) or
  -         (Self.FActualInfo.FinishPoint.Y - FinishY)) then
  +    if (0 <> (Integer(FInfo.FinishPoint.X) - FinishX) or
  +         (Integer(FInfo.FinishPoint.Y) - FinishY)) then
       begin
         Flags := Flags or FLAG_FINISH;
   
  
positive.code:     Mask := Mask * 3;
      Mask := Mask + 2*Byte(X > 0);
      Mask := Mask - 1 + (X shr {$ifdef CPUX86}31{$else}HIGH_NATIVE_BIT{$endif}); // Delphi compiler optimization bug
      Node.NodeInfo := Node.NodeInfo or Cardinal(Mask shl 3);
  
      // Y := Abs(dY)
      Mask := -(Y shr HIGH_NATIVE_BIT);
  
negative.code:   {$endif}
    {$if Defined(DEBUG) and not Defined(CPFLIB)}
  
    TTileMapPtr(nil).DoFindPath(100500);
  
  
  