anchor.diff:  function TMapObject.Serialize(AHandler: TVCMIJSONStreamer): TJSONData;
   var
     opt_json: TJSONData;
  -begin
  -  Result := AHandler.ObjectToJson(Self);
  +  res: TJSONObject;
  +begin
  +  res := AHandler.ObjectToJson(Self);
  +
  +  res.Add('type', &Type);
  +  res.Add('subtype', Subtype);
   
     if HasOptions then
     begin
  
positive.code:     FType: AnsiString;
      function GetIdx: integer;
      function GetL: integer; inline;
      function GetX: integer; inline;
      function GetY: integer; inline;
  
  
negative.code:   Result := FPosition.L;
  end;
  
  function TMapObject.GetSubtype: AnsiString;
  begin
    Result := FSubtype;
  end;
  
  function TMapObject.GetType: AnsiString;
  begin
    Result := FType;
  end;
  
  function TMapObject.GetX: integer;
  begin
    Result := FPosition.X;
  