anchor.diff:        Sender.AddTypeS('TByteSet', 'set of Byte'); //Needed for Closest*MultipleTypes
   
         RegisterMethod('function ClosestGroup(aPlayer, X, Y, aGroupType: Integer): Integer');
  +      RegisterMethod('function ClosestGroupMultipleTypes(aPlayer, X, Y: Integer; aGroupTypes: TByteSet): Integer');
         RegisterMethod('function ClosestHouse(aPlayer, X, Y, aHouseType: Integer): Integer');
  +      RegisterMethod('function ClosestHouseMultipleTypes(aPlayer, X, Y: Integer; aHouseTypes: TByteSet): Integer');
         RegisterMethod('function ClosestUnit(aPlayer, X, Y, aUnitType: Integer): Integer');
  -
  -      RegisterMethod('function ClosestGroupMultipleTypes(aPlayer, X, Y: Integer; aGroupTypes: TByteSet): Integer');
  -      RegisterMethod('function ClosestHouseMultipleTypes(aPlayer, X, Y: Integer; aHouseTypes: TByteSet): Integer');
         RegisterMethod('function ClosestUnitMultipleTypes(aPlayer, X, Y: Integer; aUnitTypes: TByteSet): Integer');
   
         RegisterMethod('function ConnectedByRoad(X1, Y1, X2, Y2: Integer): Boolean');
         RegisterMethod('function ConnectedByWalking(X1, Y1, X2, Y2: Integer): Boolean');
   
  +      RegisterMethod('function FogRevealed(aPlayer: Byte; aX, aY: Word): Boolean');
  +
         RegisterMethod('function GameTime: Cardinal');
  -      RegisterMethod('function KaMRandom: Single');
  -      RegisterMethod('function KaMRandomI(aMax:Integer): Integer');
  -      RegisterMethod('function LocationCount: Integer');
  -      RegisterMethod('function MarketFromWare(aMarketID: Integer): Integer');
  -      RegisterMethod('function MarketLossFactor: Single');
  -      RegisterMethod('function MarketOrderAmount(aMarketID: Integer): Integer');
  -      RegisterMethod('function MarketToWare(aMarketID: Integer): Integer');
  -      RegisterMethod('function MarketValue(aRes: Integer): Single');
  -      RegisterMethod('function PeaceTime: Cardinal');
  -
  -      RegisterMethod('function FogRevealed(aPlayer: Byte; aX, aY: Word): Boolean');
   
         RegisterMethod('function GroupAt(aX, aY: Word): Integer');
         RegisterMethod('function GroupColumnCount(aGroupID: Integer): Integer');
  
positive.code:       RegisterMethod('function UnitOwner(aUnitID: Integer): Integer');
        RegisterMethod('function UnitPositionX(aHouseID: Integer): Integer');
        RegisterMethod('function UnitPositionY(aHouseID: Integer): Integer');
        RegisterMethod('function UnitType(aUnitID: Integer): Integer');
        RegisterMethod('function UnitTypeName(aUnitType: Byte): AnsiString');
        RegisterMethod('function WareTypeName(aWareType: Byte): AnsiString');
      end;
  
  
negative.code:       RegisterMethod('procedure HouseWeaponsOrderSet(aHouseID, aWareType, aAmount: Integer)');
  
        RegisterMethod('procedure Log(aText: AnsiString)');
  
        RegisterMethod('procedure MarketSetTrade(aMarketID, aFrom, aTo, aAmount: Integer)');
  
        RegisterMethod('function MapTileHeightSet(X, Y, Height: Integer): Boolean');
        RegisterMethod('function MapTileObjectSet(X, Y, Obj: Integer): Boolean');
        RegisterMethod('function MapTileSet(X, Y, aType, aRotation: Integer): Boolean');
  
        RegisterMethod('procedure OverlayTextAppend(aPlayer: Shortint; aText: AnsiString)');
        RegisterMethod('procedure OverlayTextAppendFormatted(aPlayer: Shortint; aText: AnsiString; Params: array of const)');
        RegisterMethod('procedure OverlayTextSet(aPlayer: Shortint; aText: AnsiString)');
        RegisterMethod('procedure OverlayTextSetFormatted(aPlayer: Shortint; aText: AnsiString; Params: array of const)');
  
        RegisterMethod('function  PlanAddField(aPlayer, X, Y: Word): Boolean');
        RegisterMethod('function  PlanAddHouse(aPlayer, aHouseType, X, Y: Word): Boolean');
  