From dc7818d78fe7744275f90b36b9df626350f258a4 Mon Sep 17 00:00:00 2001 From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com> Date: Tue, 27 May 2025 10:56:17 +0200 Subject: [PATCH 1/5] Fix that table is show if driver position is 0 (no time set) --- RaceOverlay/Overlays/Standings/Standings.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RaceOverlay/Overlays/Standings/Standings.xaml.cs b/RaceOverlay/Overlays/Standings/Standings.xaml.cs index d7a741e..0cdafb6 100644 --- a/RaceOverlay/Overlays/Standings/Standings.xaml.cs +++ b/RaceOverlay/Overlays/Standings/Standings.xaml.cs @@ -233,7 +233,7 @@ private DriverModel _getDriverOnClassPosition(int position, string carClass) private int getDriverOffset(int position, int driverCount) { - if (position == driverCount) + if (position == driverCount || position == 0) { return -2; } From 6e27c729e04c741119d7f5b9b983d526fe1c0733 Mon Sep 17 00:00:00 2001 From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com> Date: Tue, 27 May 2025 10:58:13 +0200 Subject: [PATCH 2/5] Fix that drivers with postion 0 (no time set) are not shown --- RaceOverlay/Overlays/Standings/Standings.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RaceOverlay/Overlays/Standings/Standings.xaml.cs b/RaceOverlay/Overlays/Standings/Standings.xaml.cs index 0cdafb6..bc81e22 100644 --- a/RaceOverlay/Overlays/Standings/Standings.xaml.cs +++ b/RaceOverlay/Overlays/Standings/Standings.xaml.cs @@ -115,7 +115,7 @@ public override void _updateWindow() DriverModel driver = _getDriverOnClassPosition(i, playerCarClass); string interval; - if (driver == null) + if (driver == null || driver.ClassPosition == 0) { continue; From b998ba930950599156e909dc55b1f2e07356f5e4 Mon Sep 17 00:00:00 2001 From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com> Date: Tue, 27 May 2025 13:48:58 +0200 Subject: [PATCH 3/5] Add sub error handling --- .../Overlays/Standings/Standings.xaml.cs | 117 +++++++++--------- 1 file changed, 60 insertions(+), 57 deletions(-) diff --git a/RaceOverlay/Overlays/Standings/Standings.xaml.cs b/RaceOverlay/Overlays/Standings/Standings.xaml.cs index bc81e22..97a1cd1 100644 --- a/RaceOverlay/Overlays/Standings/Standings.xaml.cs +++ b/RaceOverlay/Overlays/Standings/Standings.xaml.cs @@ -111,74 +111,77 @@ public override void _updateWindow() for (int i = playerPosition - 2 + offset; i < playerPosition + 2 + offset; i++) { - Body.RowDefinitions.Add(new RowDefinition()); - DriverModel driver = _getDriverOnClassPosition(i, playerCarClass); - string interval; - - if (driver == null || driver.ClassPosition == 0) + try { - - continue; - } - - if(i > 1) - { - interval = TimeSpan.FromMilliseconds( - _data.GetGapBetweenMs( - _getDriverOnClassPosition(i - 1, playerCarClass).Idx, - driver.Idx)).ToString(@"ss\.f"); - } - else - { - interval = "Leader"; - } - - - + Body.RowDefinitions.Add(new RowDefinition()); + DriverModel driver = _getDriverOnClassPosition(i, playerCarClass); + string interval; - if (driver.Idx == _playerCarIdx) - { - StandingsRow playerRow = new StandingsRow( - driver.Name, - driver.CarNumber, - driver.ClassPosition, - MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx), - MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx), - driver.iRating, - driver.ClassColorCode, - _data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx), - interval, - driver.License); + if (driver == null) + { + + continue; + } - playerRow.SetToPlayerRow(); - Grid.SetRow(playerRow, row); - Body.Children.Add(playerRow); + if (i > 1) + { + interval = TimeSpan.FromMilliseconds( + _data.GetGapBetweenMs( + _getDriverOnClassPosition(i - 1, playerCarClass).Idx, + driver.Idx)).ToString(@"ss\.f"); + } + else + { + interval = "Leader"; + } + + if (driver.Idx == _playerCarIdx) + { + StandingsRow playerRow = new StandingsRow( + driver.Name, + driver.CarNumber, + driver.ClassPosition, + MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx), + MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx), + driver.iRating, + driver.ClassColorCode, + _data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx), + interval, + driver.License); + + playerRow.SetToPlayerRow(); + Grid.SetRow(playerRow, row); + Body.Children.Add(playerRow); + } + else + { + StandingsRow driverRow = new StandingsRow( + driver.Name, + driver.CarNumber, + driver.ClassPosition, + MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx), + MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx), + driver.iRating, + driver.ClassColorCode, + _data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx), + interval, + driver.License); + + Grid.SetRow(driverRow, row); + Body.Children.Add(driverRow); + } } - else + catch (Exception e) { - StandingsRow driverRow = new StandingsRow( - driver.Name, - driver.CarNumber, - driver.ClassPosition, - MainWindow.IrsdkSharper.Data.GetFloat("CarIdxLastLapTime", driver.Idx), - MainWindow.IrsdkSharper.Data.GetFloat("CarIdxBestLapTime", driver.Idx), - driver.iRating, - driver.ClassColorCode, - _data.GetGapToClassLeaderMS(_getDriverOnClassPosition(1, playerCarClass).Idx, driver.Idx), - interval, - driver.License); - - Grid.SetRow(driverRow, row); - Body.Children.Add(driverRow); + Debug.WriteLine(e); } - row++; } } catch (Exception e) { - Console.WriteLine(e); + Debug.WriteLine(e); } } @@ -233,7 +236,7 @@ private DriverModel _getDriverOnClassPosition(int position, string carClass) private int getDriverOffset(int position, int driverCount) { - if (position == driverCount || position == 0) + if (position == driverCount) { return -2; } From 73de634403329958a87895b7f08b7a818294ad9a Mon Sep 17 00:00:00 2001 From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com> Date: Tue, 27 May 2025 22:05:52 +0200 Subject: [PATCH 4/5] Add fix --- RaceOverlay/Overlays/Standings/Standings.xaml.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RaceOverlay/Overlays/Standings/Standings.xaml.cs b/RaceOverlay/Overlays/Standings/Standings.xaml.cs index 97a1cd1..f1bc6aa 100644 --- a/RaceOverlay/Overlays/Standings/Standings.xaml.cs +++ b/RaceOverlay/Overlays/Standings/Standings.xaml.cs @@ -117,7 +117,7 @@ public override void _updateWindow() DriverModel driver = _getDriverOnClassPosition(i, playerCarClass); string interval; - if (driver == null) + if (driver == null || driver.ClassPosition == 0) { continue; From 7212c0cebfef4bb8743b271b28578ede43215073 Mon Sep 17 00:00:00 2001 From: ConnorMolz <114417919+ConnorMolz@users.noreply.github.com> Date: Tue, 27 May 2025 22:08:14 +0200 Subject: [PATCH 5/5] Fix layer 8 --- RaceOverlay/Overlays/Standings/Standings.xaml.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/RaceOverlay/Overlays/Standings/Standings.xaml.cs b/RaceOverlay/Overlays/Standings/Standings.xaml.cs index f1bc6aa..97ccdc4 100644 --- a/RaceOverlay/Overlays/Standings/Standings.xaml.cs +++ b/RaceOverlay/Overlays/Standings/Standings.xaml.cs @@ -241,6 +241,11 @@ private int getDriverOffset(int position, int driverCount) return -2; } + if (position == 0) + { + return -3; + } + if (position == driverCount - 1) { return -1;