From 483d42ec383d56b47c740dc4554e9ad412948487 Mon Sep 17 00:00:00 2001 From: GreemDev Date: Wed, 2 Jul 2025 05:06:39 -0500 Subject: [PATCH] language feature: Extension Members: HLE <-> UI enum converters --- src/Ryujinx/Headless/Options.cs | 4 ++-- .../Configuration/ConfigurationState.Model.cs | 4 ++-- .../Systems/Configuration/System/Language.cs | 13 +++++++++---- src/Ryujinx/Systems/Configuration/System/Region.cs | 13 +++++++++---- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/Ryujinx/Headless/Options.cs b/src/Ryujinx/Headless/Options.cs index 49050005c..21999c0d1 100644 --- a/src/Ryujinx/Headless/Options.cs +++ b/src/Ryujinx/Headless/Options.cs @@ -59,10 +59,10 @@ namespace Ryujinx.Headless DisableDockedMode = !configurationState.System.EnableDockedMode; if (NeedsOverride(nameof(SystemLanguage))) - SystemLanguage = configurationState.System.Language.Value.ToHLE(); + SystemLanguage = configurationState.System.Language.Value.Horizon; if (NeedsOverride(nameof(SystemRegion))) - SystemRegion = configurationState.System.Region.Value.ToHLE(); + SystemRegion = configurationState.System.Region.Value.Horizon; if (NeedsOverride(nameof(SystemTimeZone))) SystemTimeZone = configurationState.System.TimeZone; diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs index 29a390b26..f0e72df58 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs @@ -868,8 +868,8 @@ namespace Ryujinx.Ava.Systems.Configuration public HleConfiguration CreateHleConfiguration() => new( System.DramSize, - System.Language.Value.ToHLE(), - System.Region.Value.ToHLE(), + System.Language.Value.Horizon, + System.Region.Value.Horizon, Graphics.VSyncMode, System.EnableDockedMode, System.EnablePtc, diff --git a/src/Ryujinx/Systems/Configuration/System/Language.cs b/src/Ryujinx/Systems/Configuration/System/Language.cs index ff1476b73..3087653e9 100644 --- a/src/Ryujinx/Systems/Configuration/System/Language.cs +++ b/src/Ryujinx/Systems/Configuration/System/Language.cs @@ -1,4 +1,5 @@ using Ryujinx.Common.Utilities; +using Ryujinx.HLE.HOS.SystemState; using System.Text.Json.Serialization; namespace Ryujinx.Ava.Systems.Configuration.System @@ -28,10 +29,14 @@ namespace Ryujinx.Ava.Systems.Configuration.System public static class LanguageEnumHelper { - public static Language ToUI(this HLE.HOS.SystemState.SystemLanguage hleLanguage) - => (Language)hleLanguage; + extension(SystemLanguage hle) + { + public Language Ui => (Language)hle; + } - public static HLE.HOS.SystemState.SystemLanguage ToHLE(this Language uiLanguage) - => (HLE.HOS.SystemState.SystemLanguage)uiLanguage; + extension(Language ui) + { + public SystemLanguage Horizon => (SystemLanguage)ui; + } } } diff --git a/src/Ryujinx/Systems/Configuration/System/Region.cs b/src/Ryujinx/Systems/Configuration/System/Region.cs index 0c86093cc..2ba657876 100644 --- a/src/Ryujinx/Systems/Configuration/System/Region.cs +++ b/src/Ryujinx/Systems/Configuration/System/Region.cs @@ -1,4 +1,5 @@ using Ryujinx.Common.Utilities; +using Ryujinx.HLE.HOS.SystemState; using System.Text.Json.Serialization; namespace Ryujinx.Ava.Systems.Configuration.System @@ -17,10 +18,14 @@ namespace Ryujinx.Ava.Systems.Configuration.System public static class RegionEnumHelper { - public static Region ToUI(this HLE.HOS.SystemState.RegionCode hleRegion) - => (Region)hleRegion; + extension(RegionCode hle) + { + public Region Ui => (Region)hle; + } - public static HLE.HOS.SystemState.RegionCode ToHLE(this Region uiRegion) - => (HLE.HOS.SystemState.RegionCode)uiRegion; + extension(Region ui) + { + public RegionCode Horizon => (RegionCode)ui; + } } }