anchor.diff:  begin
     Result := not KMSamePoint(A,B);
   end;
  +
  +
  +class operator TKMPoint.Add(const A, B: TKMPoint): TKMPoint;
  +begin
  +  Result := KMPoint(A.X + B.X,A.Y + B.Y);
  +end;
  +
   
   function TKMPoint.ToString: String;
   begin
  
positive.code:   SysUtils, TypInfo, Math, KM_CommonUtils;
  
  
  constructor TKMPoint.New(aX, aY: Integer);
  begin
    X := aX;
    Y := aY;
  end;
  
  class operator TKMPoint.Equal(const A, B: TKMPoint): Boolean;
  begin
  
negative.code:   //Records must be packed so they are stored identically in MP saves (padding bytes are unknown values)
    TKMPoint = record
      X,Y: Integer;
  
      function ToString: String;
  
      class operator Equal(const A, B: TKMPoint): Boolean;
      class operator NotEqual(const A, B: TKMPoint): Boolean;
      class operator Add(const A, B: TKMPoint): TKMPoint;
      class function New(aX, aY: Integer): TKMPoint; static;
    end;
  
    TKMPointF = record
  