diff --git a/AutoTrackR2/ConfigPage.xaml b/AutoTrackR2/ConfigPage.xaml index 2ecc235..5fb0510 100644 --- a/AutoTrackR2/ConfigPage.xaml +++ b/AutoTrackR2/ConfigPage.xaml @@ -54,7 +54,7 @@ Width="75" Height="30" FontFamily="{StaticResource Orbitron}" - Margin="5,0" + Margin="0,0" Style="{StaticResource ButtonStyle}" Click="LogFileOpenButton_Click"/> </StackPanel> @@ -136,7 +136,7 @@ Width="75" Height="30" FontFamily="{StaticResource Orbitron}" - Margin="5,0" + Margin="0,0" Style="{StaticResource ButtonStyle}" Click="VideoPathOpenButton_Click"/> </StackPanel> diff --git a/AutoTrackR2/KillHistoryManager.cs b/AutoTrackR2/KillHistoryManager.cs index 98cb0fd..eb6c3a2 100644 --- a/AutoTrackR2/KillHistoryManager.cs +++ b/AutoTrackR2/KillHistoryManager.cs @@ -17,8 +17,64 @@ public class KillHistoryManager { File.WriteAllText(_killHistoryPath, _headers); } + else + { + CheckAndFixMalformedCsv(); + } } - + + private void CheckAndFixMalformedCsv() + { + try + { + // Try to read the file to check if it's malformed + using var reader = new StreamReader(_killHistoryPath); + var firstLine = reader.ReadLine(); + + // If the file is empty or doesn't start with the correct headers, it's malformed + if (string.IsNullOrEmpty(firstLine) || firstLine != _headers.TrimEnd('\n')) + { + // Create a backup of the malformed file + string backupPath = Path.Combine( + Path.GetDirectoryName(_killHistoryPath)!, + "Kill-log.old" + ); + + // If Kill-log.old already exists, delete it + if (File.Exists(backupPath)) + { + File.Delete(backupPath); + } + + // Rename the malformed file + File.Move(_killHistoryPath, backupPath); + + // Create a new file with correct headers + File.WriteAllText(_killHistoryPath, _headers); + } + } + catch (Exception ex) + { + // If there's any error reading the file, consider it malformed + string backupPath = Path.Combine( + Path.GetDirectoryName(_killHistoryPath)!, + "Kill-log.old" + ); + + // If Kill-log.old already exists, delete it + if (File.Exists(backupPath)) + { + File.Delete(backupPath); + } + + // Rename the malformed file + File.Move(_killHistoryPath, backupPath); + + // Create a new file with correct headers + File.WriteAllText(_killHistoryPath, _headers); + } + } + public void AddKill(KillData killData) { // Ensure the CSV file exists