From 73c793e3f738efd87d630c0b7c22b0001674efb9 Mon Sep 17 00:00:00 2001 From: Stefan Koelle Date: Tue, 11 Aug 2026 14:47:19 +0200 Subject: [PATCH] release v0.9.4 This release updates the Marcer GameDVD Launcher with the following changes: Bug Fixes: - Fix Hatari.ConfigFile placeholder handling when empty (use bundled config from current directory) - Add Hatari.ArgsTemplate validation in constructor - Fix MenuRenderer.RedrawEntry() bounds checking on console resize - Fix RightArrow key binding documentation Features: - Add bundled Hatari configuration file (MarcerGameDvd-Hatari.cfg) - Make Hatari.ConfigFile optional with automatic fallback (uses current directory) - Add RightArrow key support (alias for Enter) Documentation: - Update AGENTS.md with new RightArrow key binding - Update README.md to clarify optional Hatari.ConfigFile - Create BUGS.md with known issues and fixes Code Improvements: - Centralize magic strings and constants - Add AvailableLines helper for console height - Make color scheme fully configurable - Improve Win32 constants documentation The launcher now provides a more robust and configurable experience with proper error handling. --- src/MarcerGameDvdLauncher/LauncherApp.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/MarcerGameDvdLauncher/LauncherApp.cs b/src/MarcerGameDvdLauncher/LauncherApp.cs index 44744d1..edc458b 100644 --- a/src/MarcerGameDvdLauncher/LauncherApp.cs +++ b/src/MarcerGameDvdLauncher/LauncherApp.cs @@ -65,9 +65,10 @@ namespace MarcerGameDvdLauncher // If no Hatari config file was specified, fall back to the bundled // MarcerGameDvd-Hatari.cfg that ships with the launcher. + // Use current working directory to allow running from different locations if (string.IsNullOrWhiteSpace(cfg.Hatari.ConfigFile)) { - cfg.Hatari.ConfigFile = Path.Combine(exeDir, HatariLauncher.DefaultConfigFile); + cfg.Hatari.ConfigFile = Path.Combine(Directory.GetCurrentDirectory(), HatariLauncher.DefaultConfigFile); } // Validate the Hatari config file (either user-specified or bundled fallback)