anchor.diff:      for cKind := Low(TKMChartArmyKind) to High(TKMChartArmyKind) do
         for wType := Low(TKMChartWarriorType) to High(TKMChartWarriorType) do
         begin
  -        chartArmy := @Charts_Army[ST,cKind,wType];
  -        chart := chartArmy^.Chart;
  +        chartArmy := Charts_Army[ST, cKind, wType];
  +        chart := chartArmy.Chart;
           chart.Clear;
           chart.MaxLength := 0;
           chart.MaxTime := gGameParams.Tick div 10;
  -        chart.Peacetime := 60*gGame.Options.Peacetime;
  +        chart.Peacetime := 60 * gGame.Options.Peacetime;
           chart.SetSeparatorPositions(fChartSeparatorsPos[ST]);
  -        chart.Caption := chartArmy^.ChartType.GUIName + ' - ' + gResTexts[CHART_ARMY_CAPTION_INDEX[cKind]];
  +        chart.Caption := chartArmy.ChartType.GUIName + ' - ' + gResTexts[CHART_ARMY_CAPTION_INDEX[cKind]];
   
           for I := 0 to fListToShow[ST].Count - 1 do
           begin
  
positive.code:   cKind: TKMChartArmyKind;
    ST: TKMStatType;
    chart: TKMChart;
    chartArmy: PKMChartArmyMP;
  begin
    fNoArmyChartData := True;
  
  
negative.code:           for J := 0 to playersList.Count - 1 do
            begin
              handId := StrToInt(playersList[J]);
              ChartArmyData := chartArmy.GetChartData(handId);
              KMSummAndEnlargeArr(@chartData, @ChartArmyData);
            end;
  
  