anchor.diff:  end;
   
   
  -{ Should update any items changed by game (resource counts, hp, etc..) }
  -{ If it ever gets a bottleneck then some static Controls may be excluded from update }
  -procedure TKMGamePlayInterface.UpdateState(aTickCount: Cardinal);
  -var
  -  I: Integer;
  -  Rect: TKMRect;
  -begin
  -  // Update minimap every 1000ms
  -  if aTickCount mod 10 = 0 then
  -    fMinimap.Update(False);
  -
  -  fAlerts.UpdateState(aTickCount);
  -
  +procedure TKMGamePlayInterface.UpdateSelectedObject;
  +begin
     // Update unit/house information
     if gMySpectator.Selected is TKMUnitGroup then
       ShowGroupInfo(TKMUnitGroup(gMySpectator.Selected))
  
positive.code:     procedure DirectionCursorHide;
      function HasLostMPGame:Boolean;
      procedure UpdateDebugInfo;
      procedure HidePages;
      procedure HideOverlay(Sender: TObject);
      procedure Replay_JumpToPlayer(aPlayerIndex: Integer);
  
negative.code:       if Panel_Unit.Visible then
          SwitchPage(nil);
    end;
  end;
  
  
  { Should update any items changed by game (resource counts, hp, etc..) }
  { If it ever gets a bottleneck then some static Controls may be excluded from update }
  procedure TKMGamePlayInterface.UpdateState(aTickCount: Cardinal);
  var
    I: Integer;
    Rect: TKMRect;
  begin
    // Update minimap every 1000ms
    if aTickCount mod 10 = 0 then
      fMinimap.Update(False);
  
    UpdateSelectedObject;
  
    fAlerts.UpdateState(aTickCount);
  
    // Update peacetime counter
    if gGame.GameOptions.Peacetime <> 0 then
  