anchor.diff:  
     TKMRenderUI.WriteBevel(AbsLeft, AbsTop, Width, Height);
     TKMRenderUI.WritePicture(AbsLeft + 2, AbsTop, Width - 4, Height - 4, [], rxGui, FImageID, True, gHands[FHandIndex].FlagColor);
  -  TKMRenderUI.WriteText(AbsLeft, AbsTop + Height - 14, Width, FValue, fnt_Grey, taCenter, $FFFFFFFF);
  +
  +  if FProgress >= 0 then
  +    TKMRenderUI.WritePercentBar(AbsLeft, AbsTop + Height - 6, Width, 6, FProgress, 0);
  +
  +  TKMRenderUI.WriteText(AbsLeft, AbsTop + Height - 16, Width, FValue, fnt_Grey, taCenter, $FFFFFFFF);
     if FAdditionalValue <> '' then
       TKMRenderUI.WriteText(AbsLeft - 2, AbsTop - 2, Width, FAdditionalValue, fnt_Grey, taRight, $FFFFFFFF);
   end;
  
positive.code:   Result := '';
  end;
  
  procedure TKMGUIGameSpectatorItemLine.Paint;
  var
    Str: UnicodeString;
  
negative.code: end;
  
  function TKMGUIGameSpectatorItemLineArmy.GetValue(AHandIndex: Integer; ATag: Integer): String;
  var
    Value: Integer;
  begin
    Value := gHands[AHandIndex].Stats.GetUnitQty(TUnitType(ATag));
    Result := IfThen(Value > 0, IntToStr(Value), '');
  end;
  
  { TKMGUIGameSpectatorItemLineArmyKilling }
  
  function TKMGUIGameSpectatorItemLineArmyKilling.GetValue(AHandIndex: Integer; ATag: Integer): String;
  var
    Value: Integer;
  begin
    Value := gHands[AHandIndex].Stats.GetUnitKilledQty(TUnitType(ATag));
    Result := IfThen(Value > 0, IntToStr(Value), '');
  end;
  
  { TKMGUIGameSpectatorItemLineArmyLost }
  
  function TKMGUIGameSpectatorItemLineArmyLost.GetValue(AHandIndex: Integer; ATag: Integer): String;
  var
    Value: Integer;
  begin
    Value := gHands[AHandIndex].Stats.GetUnitLostQty(TUnitType(ATag));
    Result := IfThen(Value > 0, IntToStr(Value), '');
  end;
  
  { TKMGUIGameSpectator }
  
  