From 021aefef8abd4f0a9e26930e09351c7deaabd7f6 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Mon, 26 May 2025 02:38:08 +1000 Subject: [PATCH] Add config flag for using `InvariantCulture` across all threads --- src/BizHawk.Client.Common/config/Config.cs | 3 +++ src/BizHawk.Client.EmuHawk/Program.cs | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/BizHawk.Client.Common/config/Config.cs b/src/BizHawk.Client.Common/config/Config.cs index 886b337cbe..f29d595518 100644 --- a/src/BizHawk.Client.Common/config/Config.cs +++ b/src/BizHawk.Client.Common/config/Config.cs @@ -145,6 +145,9 @@ namespace BizHawk.Client.Common public bool AcceptBackgroundInput { get; set; } public bool AcceptBackgroundInputControllerOnly { get; set; } public bool HandleAlternateKeyboardLayouts { get; set; } + + public bool SetInvariantCulture { get; set; } = false; + public bool SingleInstanceMode { get; set; } public OpposingDirPolicy OpposingDirPolicy { get; set; } public bool ShowContextMenu { get; set; } = true; diff --git a/src/BizHawk.Client.EmuHawk/Program.cs b/src/BizHawk.Client.EmuHawk/Program.cs index f1ea4b31e4..4c65eec856 100644 --- a/src/BizHawk.Client.EmuHawk/Program.cs +++ b/src/BizHawk.Client.EmuHawk/Program.cs @@ -1,6 +1,7 @@ using System.Diagnostics; using System.IO; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; @@ -223,6 +224,11 @@ namespace BizHawk.Client.EmuHawk if (cliFlags.GDIPlusRequested) initialConfig.DispMethod = EDispMethod.GdiPlus; // initialConfig should really be globalConfig as it's mutable + if (initialConfig.SetInvariantCulture) + { + CultureInfo.CurrentCulture = CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; + } + StringLogUtil.DefaultToDisk = initialConfig.Movies.MoviesOnDisk; // must be done VERY early, before any SDL_Init calls can be done