anchor.diff:          with TKMLabel.Create(Panel_StatsMP1, 160 + BarHalf+BarStep*k, 0, BarWidth+6, 40, fTextLibrary[Columns1[k]], fnt_Metal, taCenter) do
             AutoWrap := true;
           for i:=0 to 7 do
  +        begin
             Bar_Results[i,k] := TKMPercentBar.Create(Panel_StatsMP1, 160 + k*BarStep, 35+i*RowHeight, BarWidth, 20, fnt_Metal);
  +          Image_ResultsRosette[i,k] := TKMImage.Create(Panel_StatsMP1, 164 + k*BarStep, 38+i*RowHeight, 16, 16, 25, rxMenu);
  +        end;
         end;
   
       Panel_StatsMP2 := TKMPanel.Create(Panel_ResultsMP, 62, 406, 900, 180);
  
positive.code:       Panel_StatsMP1, Panel_StatsMP2: TKMPanel;
        Label_ResultsPlayerName1, Label_ResultsPlayerName2:array[0..MAX_PLAYERS-1] of TKMLabel;
        Bar_Results:array[0..MAX_PLAYERS-1, 0..9] of TKMPercentBar;
        Button_ResultsMPBack:TKMButton;
    public
      constructor Create(X,Y:word);
  
negative.code:     Label_ResultsPlayerName1[i].Visible := (i <= fPlayers.Count-1);
      Label_ResultsPlayerName2[i].Visible := (i <= fPlayers.Count-1);
      for k:=0 to 9 do
      begin
        Bar_Results[i,k].Visible := (i <= fPlayers.Count-1);
        Image_ResultsRosette[i,k].Visible := (i <= fPlayers.Count-1);
      end;
    end;
  
    //Calculate bests for each "section"
    Bests[0] := -1;
    Bests[1] := MaxInt;
    Bests[2] := -1;
    Bests[3] := MaxInt;
    Bests[4] := -1;
    Bests[5] := -1;
    Bests[6] := MaxInt;
    Bests[7] := -1;
    Bests[8] := -1;
    Bests[9] := -1;
    ZeroMemory(@Totals,SizeOf(Totals));
    for i:=0 to fPlayers.Count-1 do
      with fPlayers[i].Stats do
      begin
        if Bests[0] < GetCitizensTrained then Bests[0] := GetCitizensTrained;
        if Bests[1] > GetCitizensLost    then Bests[1] := GetCitizensLost;
        if Bests[2] < GetWarriorsTrained then Bests[2] := GetWarriorsTrained;
        if Bests[3] > GetWarriorsLost    then Bests[3] := GetWarriorsLost;
        if Bests[4] < GetCitizensKilled + GetWarriorsKilled then Bests[4] := GetCitizensKilled + GetWarriorsKilled;
        if Bests[5] < GetHousesBuilt     then Bests[5] := GetHousesBuilt;
        if Bests[6] > GetHousesLost      then Bests[6] := GetHousesLost;
        if Bests[7] < GetHousesDestroyed then Bests[7] := GetHousesDestroyed;
        if Bests[8] < GetGoodsProduced   then Bests[8] := GetGoodsProduced;
        if Bests[9] < GetWeaponsProduced then Bests[9] := GetWeaponsProduced;
        inc(Totals[0],GetCitizensTrained);
        inc(Totals[1],GetCitizensLost);
        inc(Totals[2],GetWarriorsTrained);
        inc(Totals[3],GetWarriorsLost);
        inc(Totals[4],GetCitizensKilled + GetWarriorsKilled);
        inc(Totals[5],GetHousesBuilt);
        inc(Totals[6],GetHousesLost);
        inc(Totals[7],GetHousesDestroyed);
        inc(Totals[8],GetGoodsProduced);
        inc(Totals[9],GetWeaponsProduced);
      end;
  
    //Update positioning
    Panel_StatsMP1.Height := 40 + fPlayers.Count * 22;
  