Skip to content

Commit 0d723c6

Browse files
committed
add a crude log-to-file for debugging
1 parent 6ae7af0 commit 0d723c6

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

Gui/MainForm.cs

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,35 @@ int CurrentUIImagePageNumber
9191
static string SettingsFile => Path.Combine(SettingsPath, "settings.json");
9292

9393
readonly Version ApplicationVersion;
94+
StreamWriter logToFile;
9495

9596
public MainForm()
9697
{
9798
InitializeComponent();
9899

100+
var startupTime = DateTime.Now.ToString("yyyy-dd-mm_hh-mm-ss");
101+
var file = File.Create($"object-editor-{startupTime}.txt");
102+
logToFile = new StreamWriter(file);
103+
this.FormClosed += (_, _) =>
104+
{
105+
logToFile.Close();
106+
file.Close();
107+
108+
logToFile.Dispose();
109+
file.Dispose();
110+
};
111+
99112
logger = new Logger
100113
{
101114
Level = LogLevel.Debug2
102115
};
103116

117+
logger.LogAdded += (object sender, LogAddedEventArgs log) =>
118+
{
119+
logToFile.WriteLine(log.Log);
120+
logToFile.Flush();
121+
};
122+
104123
var assembly = Assembly.GetExecutingAssembly();
105124
const string paletteFilename = "Gui.palette.png";
106125
using (var stream = assembly.GetManifestResourceStream(paletteFilename))
@@ -1099,16 +1118,9 @@ static IEnumerable<Bitmap> CreateImages(List<G1Element32> G1Elements, PaletteMap
10991118
continue;
11001119
}
11011120

1102-
if (currElement.Flags.HasFlag(G1ElementFlags.IsR8G8B8Palette))
1103-
{
1104-
var bmp = G1RGBToBitmap(currElement);
1105-
yield return bmp;
1106-
}
1107-
else
1108-
{
1109-
var bmp = G1IndexedToBitmap(currElement, paletteMap, useTransparency);
1110-
yield return bmp;
1111-
}
1121+
yield return currElement.Flags.HasFlag(G1ElementFlags.IsR8G8B8Palette)
1122+
? G1RGBToBitmap(currElement)
1123+
: G1IndexedToBitmap(currElement, paletteMap, useTransparency);
11121124
}
11131125
}
11141126

Shared/ILogger.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
using System.Runtime.CompilerServices;
1+
using System.Runtime.CompilerServices;
22

33
namespace OpenLoco.ObjectEditor.Logging
44
{
55
public enum LogLevel { Debug2, Debug, Info, Warning, Error };
66

77
public interface ILogger
88
{
9+
public event EventHandler<LogAddedEventArgs>? LogAdded;
10+
911
// should be 'private'
1012
void Log(LogLevel level, string message, string callerMemberName);
1113

@@ -30,4 +32,4 @@ void Error(Exception ex, [CallerMemberName] string callerMemberName = "")
3032
void Error(string message, Exception ex, [CallerMemberName] string callerMemberName = "")
3133
=> Log(LogLevel.Error, $"{message} - {ex.Message} - {ex.StackTrace}", callerMemberName);
3234
}
33-
}
35+
}

0 commit comments

Comments
 (0)