diff --git a/scripts/common/timer.ts b/scripts/common/timer.ts index 652b3a9b..36a793bb 100644 --- a/scripts/common/timer.ts +++ b/scripts/common/timer.ts @@ -199,9 +199,10 @@ export function generateSegmentComparisonSplit( comparisonRunSplits.segments[segmentIndex].subsegments[subsegmentIndex].timeReached; const baseSplitTime = getSplitSegmentTime(baseRunSplits, segmentIndex, subsegmentIndex); const comparisonSplitTime = getSplitSegmentTime(comparisonRunSplits, segmentIndex, subsegmentIndex); + const isLinear = baseRunSplits.segments.length === 1; return { - name: getSegmentName(segmentIndex, subsegmentIndex), + name: isLinear ? subsegmentIndex.toString() : getSegmentName(segmentIndex, subsegmentIndex), accumulateTime: baseAccumulateTime, time: baseSplitTime, diff: baseAccumulateTime - comparisonAccumulateTime, @@ -221,9 +222,12 @@ export function generateFinishSplitComparison( ): ComparisonSplit { const baseSplitTime = baseRunTime - baseRunSplits.segments.at(-1).subsegments.at(-1).timeReached; const comparisonSplitTime = comparisonRunTime - comparisonRunSplits.segments.at(-1).subsegments.at(-1).timeReached; + const isLinear = baseRunSplits.segments.length === 1; return { - name: baseRunSplits.segments.length.toString(), + name: isLinear + ? baseRunSplits.segments[0].subsegments.length.toString() + : baseRunSplits.segments.length.toString(), accumulateTime: baseRunTime, time: baseSplitTime, diff: baseRunTime - comparisonRunTime, diff --git a/scripts/hud/comparisons.ts b/scripts/hud/comparisons.ts index 122e95a7..3af02acc 100644 --- a/scripts/hud/comparisons.ts +++ b/scripts/hud/comparisons.ts @@ -48,6 +48,8 @@ class HudComparisonsHandler { timerStatus.trackId.type === this.comparison.trackId.type && timerStatus.trackId.number === this.comparison.trackId.number; + const isLinear = timerStatus.segmentsCount === 1; + // TODO: Unordered/optional splits if (timerStatus.state === Timer.TimerState.RUNNING) { if (timerStatus.majorNum <= 1 && timerStatus.minorNum <= 1) { @@ -62,11 +64,14 @@ class HudComparisonsHandler { timerStatus.minorNum - 1 ) : { - name: Timer.getSegmentName(timerStatus.majorNum - 1, timerStatus.minorNum - 1), + name: isLinear + ? (timerStatus.minorNum - 1).toString() + : Timer.getSegmentName(timerStatus.majorNum - 1, timerStatus.minorNum - 1), accumulateTime: timerStatus.runTime }; - this.addComparisonSplit(split, timerStatus.minorNum > 1, hasCompare); + const isSubSplit = !isLinear && timerStatus.minorNum > 1; + this.addComparisonSplit(split, isSubSplit, hasCompare); } else if (timerStatus.state === Timer.TimerState.FINISHED) { const split = hasCompare ? Timer.generateFinishSplitComparison( @@ -76,7 +81,9 @@ class HudComparisonsHandler { this.comparison.runSplits ) : { - name: runSplits.segments.length.toString(), + name: isLinear + ? runSplits.segments[0].subsegments.length.toString() + : runSplits.segments.length.toString(), accumulateTime: timerStatus.runTime };