From a4f130e3daca9eec354f9ca54d3938e90ba86997 Mon Sep 17 00:00:00 2001
From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com>
Date: Tue, 27 May 2025 13:39:49 +0200
Subject: [PATCH 1/3] Add more fields
---
.../FuelCalculator/FuelCalculator.xaml | 10 +++++-
.../FuelCalculator/FuelCalculator.xaml.cs | 32 +++++++++++++++++--
2 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
index ad7d16e..89f9473 100644
--- a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
+++ b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
@@ -24,6 +24,8 @@
+
+
@@ -37,9 +39,15 @@
-
+
+
+
+
+
+
+
diff --git a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
index bb1041d..4889a42 100644
--- a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
+++ b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
@@ -19,6 +19,8 @@ public partial class FuelCalculator : Overlay
private float _currentFuel;
private iRacingData _data;
private int _lap;
+ private TimeSpan _lastTimeEnteredTrack;
+ private bool _isOnTrack = false;
// Calculated values
private float _fuelPerLap;
@@ -33,10 +35,11 @@ public partial class FuelCalculator : Overlay
public FuelCalculator() : base("Fuel Calculator","This Overlay calculates the fuel needed to finish")
{
InitializeComponent();
- _setWindowSize(160, 60);
+ _setWindowSize(170, 100);
_getConfig();
+ _lastTimeEnteredTrack = TimeSpan.Zero;
_lastLapFuel = new List();
_lastLapTimes = new List();
@@ -74,8 +77,12 @@ public override void _updateWindow()
FuelNeededText.Background = Brushes.Red;
FuelNeededText.Text = _fuelToFinish.ToString("F2");
}
+ var fuelLaps = CalcFuelLaps();
FuelInTank.Text = _currentFuel.ToString("F2");
- LapsText.Text = CalcFuelLaps().ToString("F1");
+ LapsText.Text = fuelLaps.ToString("F1");
+ TimeLeftText.Text = "~" + TimeSpan.FromMilliseconds(fuelLaps * _avgLapTime).ToString(@"hh\:mm\:ss");
+
+ TimeInStintText.Text = (new TimeSpan(DateTime.Now.Ticks) - _lastTimeEnteredTrack).ToString(@"hh\:mm\:ss");
}
public override void _getData()
@@ -84,7 +91,8 @@ public override void _getData()
_currentFuel = _data.LocalCarTelemetry.FuelLevel;
Lap = _data.LocalCarTelemetry.Lap;
-
+ OnTrack = !_data.Pitstop.InPit;
+
}
public override void UpdateThreadMethod()
@@ -138,6 +146,24 @@ public int Lap
}
}
}
+
+ public bool OnTrack
+ {
+ get => _isOnTrack;
+ set
+ {
+ if (_isOnTrack != value)
+ {
+ _isOnTrack = value;
+ OnPropertyChanged();
+ if (_isOnTrack)
+ {
+ _lastTimeEnteredTrack = new TimeSpan(DateTime.Now.Ticks);
+ }
+ }
+ }
+ }
+
private void OnLapChanged()
{
From b4088efa2fbb86476d177f06a2ea838440441ffe Mon Sep 17 00:00:00 2001
From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com>
Date: Tue, 27 May 2025 13:42:52 +0200
Subject: [PATCH 2/3] Reformat
---
RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
index 4889a42..3d02500 100644
--- a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
+++ b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
@@ -78,11 +78,12 @@ public override void _updateWindow()
FuelNeededText.Text = _fuelToFinish.ToString("F2");
}
var fuelLaps = CalcFuelLaps();
+ TimeInStintText.Text = (new TimeSpan(DateTime.Now.Ticks) - _lastTimeEnteredTrack).ToString(@"hh\:mm\:ss");
FuelInTank.Text = _currentFuel.ToString("F2");
LapsText.Text = fuelLaps.ToString("F1");
TimeLeftText.Text = "~" + TimeSpan.FromMilliseconds(fuelLaps * _avgLapTime).ToString(@"hh\:mm\:ss");
- TimeInStintText.Text = (new TimeSpan(DateTime.Now.Ticks) - _lastTimeEnteredTrack).ToString(@"hh\:mm\:ss");
+
}
public override void _getData()
From 13f01a692a047cb0c939bc2fd5ac4f0695f2cf09 Mon Sep 17 00:00:00 2001
From: ConnorMolz
Date: Tue, 27 May 2025 22:29:00 +0200
Subject: [PATCH 3/3] Fix some small errors
---
.../Overlays/FuelCalculator/FuelCalculator.xaml | 4 ++--
.../FuelCalculator/FuelCalculator.xaml.cs | 16 +++++++++++-----
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
index 89f9473..1c3ea74 100644
--- a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
+++ b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml
@@ -43,10 +43,10 @@
-
+
-
+
diff --git a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
index 3d02500..fdb9912 100644
--- a/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
+++ b/RaceOverlay/Overlays/FuelCalculator/FuelCalculator.xaml.cs
@@ -35,7 +35,7 @@ public partial class FuelCalculator : Overlay
public FuelCalculator() : base("Fuel Calculator","This Overlay calculates the fuel needed to finish")
{
InitializeComponent();
- _setWindowSize(170, 100);
+ _setWindowSize(190, 100);
_getConfig();
@@ -81,9 +81,15 @@ public override void _updateWindow()
TimeInStintText.Text = (new TimeSpan(DateTime.Now.Ticks) - _lastTimeEnteredTrack).ToString(@"hh\:mm\:ss");
FuelInTank.Text = _currentFuel.ToString("F2");
LapsText.Text = fuelLaps.ToString("F1");
- TimeLeftText.Text = "~" + TimeSpan.FromMilliseconds(fuelLaps * _avgLapTime).ToString(@"hh\:mm\:ss");
-
-
+ try
+ {
+ TimeLeftText.Text = "~" + TimeSpan.FromSeconds(fuelLaps * _avgLapTime).ToString(@"hh\:mm\:ss");
+ }
+ catch (Exception)
+ {
+ TimeLeftText.Text = "NaN";
+ }
+
}
public override void _getData()
@@ -92,7 +98,7 @@ public override void _getData()
_currentFuel = _data.LocalCarTelemetry.FuelLevel;
Lap = _data.LocalCarTelemetry.Lap;
- OnTrack = !_data.Pitstop.InPit;
+ OnTrack = !_data.Pitstop.InPit || _data.InGarage;
}