private static List<OverlayData.RaceEvent> NormaliseBattleEvents(List<OverlayData.RaceEvent> raceEvents, double maxDuration) { var result = new List<OverlayData.RaceEvent>(); foreach( var re in raceEvents) { if (re.Duration < maxDuration) result.Add(re); else { var segmentCount = (int)(re.Duration / maxDuration) + 1; var segmentDuration = re.Duration / segmentCount; var startTime = re.StartTime; for (var i = 0; i < segmentCount; i++) { var segment = new OverlayData.RaceEvent { Interest = re.Interest, StartTime = startTime, EndTime = startTime + segmentDuration }; result.Add(segment); startTime += segmentDuration; } } } return result; }