anchor.diff:  end;
   
   
  +procedure TKMGamePlayInterface.SelectUnit(aUnit: TKMUnit);
  +begin
  +  gMySpectator.Selected := aUnit;
  +  if (fUIMode in [umSP, umMP]) and not HasLostMPGame then
  +    gSoundPlayer.PlayCitizen(aUnit.UnitType, sp_Select); // play unit selection sound
  +end;
  +
  +
  +procedure TKMGamePlayInterface.SelectUnitGroup(aGroup: TKMUnitGroup);
  +begin
  +  gMySpectator.Selected := aGroup;
  +  aGroup.SelectFlagBearer;
  +  if (fUIMode in [umSP, umMP]) and not HasLostMPGame then
  +    gSoundPlayer.PlayWarrior(aGroup.SelectedUnit.UnitType, sp_Select); // play unit group selection sound
  +end;
  +
  +
   // Select next building/unit/unit group with the same type for same owner
   procedure TKMGamePlayInterface.SelectNextGameObjWSameType;
   var NextHouse: TKMHouse;
  
positive.code:     procedure Selection_Assign(aId: Word; aObject: TObject);
      procedure Selection_Link(aId: Word; aObject: TObject);
      procedure Selection_Select(aId: Word);
      procedure SelectNextGameObjWSameType;
      procedure SwitchPage(Sender: TObject);
      procedure DisplayHint(Sender: TObject);
  
negative.code:     NextUnit := gHands.GetNextUnitWSameType(TKMUnit(gMySpectator.Selected));
      if NextUnit <> nil then
      begin
        SelectUnit(NextUnit);
        fViewport.Position := NextUnit.PositionF; //center viewport on that unit
      end;
  
  