anchor.diff:  end;
   
   
  +procedure TKMGUIGameUnit.Show_Common(aUnit: TKMUnit);
  +var
  +  HLabelWidth: Integer;
  +begin
  +  Image_PlayerFlag.FlagColor := gHands[aUnit.Owner].FlagColor;
  +  Image_PlayerFlag.Hint      := Format(gResTexts[TX_PLAYER_FLAG_HINT], [gHands[aUnit.Owner].OwnerName]);
  +
  +  // Common properties
  +  Label_UnitName.Caption      := gRes.Units[aUnit.UnitType].GUIName;
  +  Image_UnitPic.TexID         := gRes.Units[aUnit.UnitType].GUIScroll;
  +  Image_UnitPic.FlagColor     := gHands[aUnit.Owner].FlagColor;
  +
  +  ConditionBar_Unit.Position  := aUnit.Condition / UNIT_MAX_CONDITION;
  +
  +  HLabelWidth := gRes.Fonts[fnt_Outline].GetTextSize(Label_UnitName.Caption).X;
  +  if HLabelWidth <= TB_WIDTH - 2*Image_PlayerFlag.Width then
  +    Label_UnitName.Left := 0
  +  else if HLabelWidth <= TB_WIDTH - Image_PlayerFlag.Width then
  +    Label_UnitName.Left := Image_PlayerFlag.Width
  +  else
  +    Label_UnitName.Left := Max(TB_WIDTH - HLabelWidth, 0);
  +end;
  +
  +
   procedure TKMGUIGameUnit.ShowUnitInfo(aUnit: TKMUnit; aAskDismiss: Boolean = False);
   var
     HasSchools: Boolean;
  
positive.code:   W := Sender.SelectedUnit;
    Panel_Unit.Show;
  
    // Common properties
    Label_UnitName.Caption      := gRes.Units[W.UnitType].GUIName;
    Image_UnitPic.TexID         := gRes.Units[W.UnitType].GUIScroll;
    Image_UnitPic.FlagColor     := gHands[W.Owner].FlagColor;
    ConditionBar_Unit.Position  := W.Condition / UNIT_MAX_CONDITION;
  
    // We show what this individual is doing, not the whole group.
    // However this can be useful for debugging: Sender.GetOrderText
  
negative.code:   Panel_Unit.Show;
  
    // Common properties
    Show_Common(aUnit);
  
    Label_UnitTask.Caption      := aUnit.GetActivityText;
  
    Button_Unit_Dismiss.Visible := SHOW_DISMISS_UNITS_BTN
  