anchor.diff:  
   
   function TKMResUnits.LoadUnitsDat(const aPath: UnicodeString): Cardinal;
  -const UNIT_DAT_COUNT = 41;
  +const
  +  UNIT_DAT_COUNT = 41;
   var
     S: TKMemoryStream;
     I: Integer;
  
positive.code:   KM_ResTypes;
  
  
  //Used to separate close-combat units from archers (they use different fighting logic)
  type
    TFightType = (ftMelee, ftRanged);
  
    TKMUnitDat = packed record
      HitPoints, Attack, AttackHorse, x4, Defence, Speed, x7, Sight: SmallInt;
  
negative.code:     function GetDefenceVsProjectiles(aIsBolt: Boolean): Single;
      procedure LoadFromStream(Stream: TMemoryStream);
      //Derived from KaM
      property HitPoints: SmallInt read fUnitDat.HitPoints;
      property Attack: SmallInt read fUnitDat.Attack;
      property AttackHorse: SmallInt read fUnitDat.AttackHorse;
      property Defence: SmallInt read fUnitDat.Defence;
      property Description: UnicodeString read GetDescription;
      property Sight: SmallInt read fUnitDat.Sight;
      //Additional properties added by Remake
      property AllowedPassability: TKMTerrainPassability read GetAllowedPassability;
      property DesiredPassability: TKMTerrainPassability read GetDesiredPassability;
      property FightType: TKMFightType read GetFightType;
      property GUIIcon: Word read GetGUIIcon;
      property GUIScroll: Word read GetGUIScroll;
      property MinimapColor: Cardinal read GetMinimapColor;
      property MiningRange: Byte read GetMiningRange;
      property Speed: Single read GetSpeed;
      function SupportsAction(aAct: TKMUnitActionType): Boolean;
      property UnitAnim[aAction: TKMUnitActionType; aDir: TKMDirection]: TKMAnimLoop read GetUnitAnim;
      property GUIName: UnicodeString read GetUnitName;
      property GUITextID: Integer read GetUnitTextID;
    end;
  