diff --git a/UI/ColumnType.cs b/UI/ColumnType.cs index 3d32ce6..80f830d 100644 --- a/UI/ColumnType.cs +++ b/UI/ColumnType.cs @@ -2,6 +2,6 @@ { public enum ColumnType { - Delta, SplitTime, DeltaorSplitTime, SegmentDelta, SegmentTime, SegmentDeltaorSegmentTime + Delta, SplitTime, CompletedSplits, ReferenceSplits, DeltaorSplitTime, SegmentDelta, SegmentTime, SegmentDeltaorSegmentTime } } diff --git a/UI/Components/ColumnSettings.Designer.cs b/UI/Components/ColumnSettings.Designer.cs index 5c3a4d7..18a0ebc 100644 --- a/UI/Components/ColumnSettings.Designer.cs +++ b/UI/Components/ColumnSettings.Designer.cs @@ -131,13 +131,6 @@ private void InitializeComponent() this.tableLayoutPanel1.SetColumnSpan(this.cmbColumnType, 3); this.cmbColumnType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cmbColumnType.FormattingEnabled = true; - this.cmbColumnType.Items.AddRange(new object[] { - "Delta", - "Split Time", - "Delta or Split Time", - "Segment Delta", - "Segment Time", - "Segment Delta or Segment Time"}); this.cmbColumnType.Location = new System.Drawing.Point(93, 33); this.cmbColumnType.Name = "cmbColumnType"; this.cmbColumnType.Size = new System.Drawing.Size(325, 21); diff --git a/UI/Components/ColumnSettings.cs b/UI/Components/ColumnSettings.cs index c70a8c1..aa7bcf5 100644 --- a/UI/Components/ColumnSettings.cs +++ b/UI/Components/ColumnSettings.cs @@ -37,6 +37,10 @@ public ColumnSettings(LiveSplitState state, string columnName, IList().ToArray()); + Data = new ColumnData(columnName, ColumnType.Delta, "Current Comparison", "Current Timing Method"); CurrentState = state; @@ -106,6 +110,10 @@ private static string GetColumnType(ColumnType type) { if (type == ColumnType.SplitTime) return "Split Time"; + else if (type == ColumnType.CompletedSplits) + return "Completed Splits"; + else if (type == ColumnType.ReferenceSplits) + return "Reference Splits"; else if (type == ColumnType.Delta) return "Delta"; else if (type == ColumnType.DeltaorSplitTime) diff --git a/UI/Components/SplitComponent.cs b/UI/Components/SplitComponent.cs index cdf6f9f..fa3ab47 100644 --- a/UI/Components/SplitComponent.cs +++ b/UI/Components/SplitComponent.cs @@ -366,14 +366,22 @@ protected void UpdateColumn(LiveSplitState state, SimpleLabel label, ColumnData var type = data.Type; + if (type == ColumnType.ReferenceSplits) + { + label.ForeColor = state.LayoutSettings.TextColor; + label.Text = TimeFormatter.Format(Split.Comparisons[comparison][timingMethod]); + return; + } + var splitIndex = state.Run.IndexOf(Split); if (splitIndex < state.CurrentSplitIndex) { - if (type == ColumnType.SplitTime || type == ColumnType.SegmentTime) + // Formatting for each completed segment. + if (type == ColumnType.SplitTime || type == ColumnType.CompletedSplits || type == ColumnType.SegmentTime) { label.ForeColor = Settings.OverrideTimesColor ? Settings.BeforeTimesColor : state.LayoutSettings.TextColor; - if (type == ColumnType.SplitTime) + if (type == ColumnType.SplitTime || type == ColumnType.CompletedSplits) { label.Text = TimeFormatter.Format(Split.SplitTime[timingMethod]); } @@ -404,7 +412,7 @@ protected void UpdateColumn(LiveSplitState state, SimpleLabel label, ColumnData label.Text = DeltaTimeFormatter.Format(deltaTime); } - else if (type == ColumnType.SegmentDeltaorSegmentTime || type == ColumnType.SegmentDelta) + if (type == ColumnType.SegmentDeltaorSegmentTime || type == ColumnType.SegmentDelta) { var segmentDelta = LiveSplitStateHelper.GetPreviousSegmentDelta(state, splitIndex, comparison, timingMethod); var color = LiveSplitStateHelper.GetSplitColor(state, segmentDelta, splitIndex, false, true, comparison, timingMethod); @@ -427,6 +435,7 @@ protected void UpdateColumn(LiveSplitState state, SimpleLabel label, ColumnData } else { + // Formatting for each active or upcoming segment. if (type == ColumnType.SplitTime || type == ColumnType.SegmentTime || type == ColumnType.DeltaorSplitTime || type == ColumnType.SegmentDeltaorSegmentTime) { if (Split == state.CurrentSplit) @@ -441,7 +450,7 @@ protected void UpdateColumn(LiveSplitState state, SimpleLabel label, ColumnData else //SegmentTime or SegmentTimeorSegmentDeltaTime { var previousTime = TimeSpan.Zero; - for (var index = splitIndex - 1; index >= 0; index --) + for (var index = splitIndex - 1; index >= 0; index--) { var comparisonTime = state.Run[index].Comparisons[comparison][timingMethod]; if (comparisonTime != null) @@ -463,7 +472,7 @@ protected void UpdateColumn(LiveSplitState state, SimpleLabel label, ColumnData label.Text = DeltaTimeFormatter.Format(bestDelta); label.ForeColor = Settings.OverrideDeltasColor ? Settings.DeltasColor : state.LayoutSettings.TextColor; } - else if (type == ColumnType.Delta || type == ColumnType.SegmentDelta) + else if (type == ColumnType.Delta || type == ColumnType.SegmentDelta || type == ColumnType.CompletedSplits) { label.Text = ""; }