Răsfoiți Sursa

Chore: Minor code cleanups

Evan Husted 1 an în urmă
părinte
comite
92b29ae4a5

+ 2 - 1
Directory.Packages.props

@@ -15,6 +15,7 @@
     <PackageVersion Include="DiscordRichPresence" Version="1.2.1.24" />
     <PackageVersion Include="DynamicData" Version="9.0.4" />
     <PackageVersion Include="FluentAvaloniaUI" Version="2.0.5" />
+    <PackageVersion Include="Humanizer" Version="2.14.1" />
     <PackageVersion Include="LibHac" Version="0.19.0" />
     <PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
     <PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" />
@@ -46,4 +47,4 @@
     <PackageVersion Include="System.Management" Version="8.0.0" />
     <PackageVersion Include="UnicornEngine.Unicorn" Version="2.0.2-rc1-fb78016" />
   </ItemGroup>
-</Project>
+</Project>

+ 5 - 5
src/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs

@@ -629,8 +629,8 @@ namespace Ryujinx.HLE.FileSystem
         }
 
         private static readonly ExtraDataFixInfo[] _systemExtraDataFixInfo =
-        {
-            new ExtraDataFixInfo()
+        [
+            new()
             {
                 StaticSaveDataId = 0x8000000000000030,
                 OwnerId = 0x010000000000001F,
@@ -638,15 +638,15 @@ namespace Ryujinx.HLE.FileSystem
                 DataSize = 0x10000,
                 JournalSize = 0x10000,
             },
-            new ExtraDataFixInfo()
+            new()
             {
                 StaticSaveDataId = 0x8000000000001040,
                 OwnerId = 0x0100000000001009,
                 Flags = SaveDataFlags.None,
                 DataSize = 0xC000,
                 JournalSize = 0xC000,
-            },
-        };
+            }
+        ];
 
         public void Dispose()
         {

+ 13 - 17
src/Ryujinx.Input.SDL2/SDL2Gamepad.cs

@@ -320,23 +320,7 @@ namespace Ryujinx.Input.SDL2
                 return (0.0f, 0.0f);
             }
 
-            short stickX;
-            short stickY;
-
-            if (inputId == StickInputId.Left)
-            {
-                stickX = SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_LEFTX);
-                stickY = SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_LEFTY);
-            }
-            else if (inputId == StickInputId.Right)
-            {
-                stickX = SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_RIGHTX);
-                stickY = SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_RIGHTY);
-            }
-            else
-            {
-                throw new NotSupportedException($"Unsupported stick {inputId}");
-            }
+            (short stickX, short stickY) = GetStickXY(inputId);
 
             float resultX = ConvertRawStickValue(stickX);
             float resultY = -ConvertRawStickValue(stickY);
@@ -367,6 +351,18 @@ namespace Ryujinx.Input.SDL2
             return (resultX, resultY);
         }
 
+        private (short, short) GetStickXY(StickInputId inputId) =>
+            inputId switch
+            {
+                StickInputId.Left => (
+                    SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_LEFTX),
+                    SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_LEFTY)),
+                StickInputId.Right => (
+                    SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_RIGHTX),
+                    SDL_GameControllerGetAxis(_gamepadHandle, SDL_GameControllerAxis.SDL_CONTROLLER_AXIS_RIGHTY)),
+                _ => throw new NotSupportedException($"Unsupported stick {inputId}")
+            };
+
         public bool IsPressed(GamepadButtonInputId inputId)
         {
             if (inputId == GamepadButtonInputId.LeftTrigger)

+ 8 - 10
src/Ryujinx.Input.SDL2/SDL2GamepadDriver.cs

@@ -9,7 +9,7 @@ namespace Ryujinx.Input.SDL2
     {
         private readonly Dictionary<int, string> _gamepadsInstanceIdsMapping;
         private readonly List<string> _gamepadsIds;
-        private readonly object _lock = new object();
+        private readonly object _lock = new();
 
         public ReadOnlySpan<string> GamepadsIds
         {
@@ -82,17 +82,15 @@ namespace Ryujinx.Input.SDL2
 
         private void HandleJoyStickDisconnected(int joystickInstanceId)
         {
-            if (_gamepadsInstanceIdsMapping.TryGetValue(joystickInstanceId, out string id))
-            {
-                _gamepadsInstanceIdsMapping.Remove(joystickInstanceId);
-
-                lock (_lock)
-                {
-                    _gamepadsIds.Remove(id);
-                }
+            if (!_gamepadsInstanceIdsMapping.Remove(joystickInstanceId, out string id))
+                return;
 
-                OnGamepadDisconnected?.Invoke(id);
+            lock (_lock)
+            {
+                _gamepadsIds.Remove(id);
             }
+
+            OnGamepadDisconnected?.Invoke(id);
         }
 
         private void HandleJoyStickConnected(int joystickDeviceId, int joystickInstanceId)

+ 2 - 2
src/Ryujinx.UI.Common/App/ApplicationLibrary.cs

@@ -80,7 +80,7 @@ namespace Ryujinx.UI.App.Common
 
         private static byte[] GetResourceBytes(string resourceName)
         {
-            Stream resourceStream = Assembly.GetCallingAssembly().GetManifestResourceStream(resourceName);
+            Stream resourceStream = Assembly.GetCallingAssembly().GetManifestResourceStream(resourceName)!;
             byte[] resourceByteArray = new byte[resourceStream.Length];
 
             resourceStream.ReadExactly(resourceByteArray);
@@ -1081,7 +1081,7 @@ namespace Ryujinx.UI.App.Common
 
                     using FileStream file = new(applicationPath, FileMode.Open, FileAccess.Read);
 
-                    if (extension == ".nsp" || extension == ".pfs0" || extension == ".xci")
+                    if (extension is ".nsp" or ".pfs0" or ".xci")
                     {
                         try
                         {

+ 23 - 22
src/Ryujinx.UI.Common/Configuration/ConfigurationState.cs

@@ -527,36 +527,36 @@ namespace Ryujinx.UI.Common.Configuration
             public GraphicsSection()
             {
                 BackendThreading = new ReactiveObject<BackendThreading>();
-                BackendThreading.Event += static (sender, e) => LogValueChange(e, nameof(BackendThreading));
+                BackendThreading.Event += static (_, e) => LogValueChange(e, nameof(BackendThreading));
                 ResScale = new ReactiveObject<int>();
-                ResScale.Event += static (sender, e) => LogValueChange(e, nameof(ResScale));
+                ResScale.Event += static (_, e) => LogValueChange(e, nameof(ResScale));
                 ResScaleCustom = new ReactiveObject<float>();
-                ResScaleCustom.Event += static (sender, e) => LogValueChange(e, nameof(ResScaleCustom));
+                ResScaleCustom.Event += static (_, e) => LogValueChange(e, nameof(ResScaleCustom));
                 MaxAnisotropy = new ReactiveObject<float>();
-                MaxAnisotropy.Event += static (sender, e) => LogValueChange(e, nameof(MaxAnisotropy));
+                MaxAnisotropy.Event += static (_, e) => LogValueChange(e, nameof(MaxAnisotropy));
                 AspectRatio = new ReactiveObject<AspectRatio>();
-                AspectRatio.Event += static (sender, e) => LogValueChange(e, nameof(AspectRatio));
+                AspectRatio.Event += static (_, e) => LogValueChange(e, nameof(AspectRatio));
                 ShadersDumpPath = new ReactiveObject<string>();
                 EnableVsync = new ReactiveObject<bool>();
-                EnableVsync.Event += static (sender, e) => LogValueChange(e, nameof(EnableVsync));
+                EnableVsync.Event += static (_, e) => LogValueChange(e, nameof(EnableVsync));
                 EnableShaderCache = new ReactiveObject<bool>();
-                EnableShaderCache.Event += static (sender, e) => LogValueChange(e, nameof(EnableShaderCache));
+                EnableShaderCache.Event += static (_, e) => LogValueChange(e, nameof(EnableShaderCache));
                 EnableTextureRecompression = new ReactiveObject<bool>();
-                EnableTextureRecompression.Event += static (sender, e) => LogValueChange(e, nameof(EnableTextureRecompression));
+                EnableTextureRecompression.Event += static (_, e) => LogValueChange(e, nameof(EnableTextureRecompression));
                 GraphicsBackend = new ReactiveObject<GraphicsBackend>();
-                GraphicsBackend.Event += static (sender, e) => LogValueChange(e, nameof(GraphicsBackend));
+                GraphicsBackend.Event += static (_, e) => LogValueChange(e, nameof(GraphicsBackend));
                 PreferredGpu = new ReactiveObject<string>();
-                PreferredGpu.Event += static (sender, e) => LogValueChange(e, nameof(PreferredGpu));
+                PreferredGpu.Event += static (_, e) => LogValueChange(e, nameof(PreferredGpu));
                 EnableMacroHLE = new ReactiveObject<bool>();
-                EnableMacroHLE.Event += static (sender, e) => LogValueChange(e, nameof(EnableMacroHLE));
+                EnableMacroHLE.Event += static (_, e) => LogValueChange(e, nameof(EnableMacroHLE));
                 EnableColorSpacePassthrough = new ReactiveObject<bool>();
-                EnableColorSpacePassthrough.Event += static (sender, e) => LogValueChange(e, nameof(EnableColorSpacePassthrough));
+                EnableColorSpacePassthrough.Event += static (_, e) => LogValueChange(e, nameof(EnableColorSpacePassthrough));
                 AntiAliasing = new ReactiveObject<AntiAliasing>();
-                AntiAliasing.Event += static (sender, e) => LogValueChange(e, nameof(AntiAliasing));
+                AntiAliasing.Event += static (_, e) => LogValueChange(e, nameof(AntiAliasing));
                 ScalingFilter = new ReactiveObject<ScalingFilter>();
-                ScalingFilter.Event += static (sender, e) => LogValueChange(e, nameof(ScalingFilter));
+                ScalingFilter.Event += static (_, e) => LogValueChange(e, nameof(ScalingFilter));
                 ScalingFilterLevel = new ReactiveObject<int>();
-                ScalingFilterLevel.Event += static (sender, e) => LogValueChange(e, nameof(ScalingFilterLevel));
+                ScalingFilterLevel.Event += static (_, e) => LogValueChange(e, nameof(ScalingFilterLevel));
             }
         }
 
@@ -766,8 +766,8 @@ namespace Ryujinx.UI.Common.Configuration
                 EnableKeyboard = Hid.EnableKeyboard,
                 EnableMouse = Hid.EnableMouse,
                 Hotkeys = Hid.Hotkeys,
-                KeyboardConfig = new List<JsonObject>(),
-                ControllerConfig = new List<JsonObject>(),
+                KeyboardConfig = [],
+                ControllerConfig = [],
                 InputConfig = Hid.InputConfig,
                 GraphicsBackend = Graphics.GraphicsBackend,
                 PreferredGpu = Graphics.PreferredGpu,
@@ -880,8 +880,8 @@ namespace Ryujinx.UI.Common.Configuration
                 VolumeUp = Key.Unbound,
                 VolumeDown = Key.Unbound,
             };
-            Hid.InputConfig.Value = new List<InputConfig>
-            {
+            Hid.InputConfig.Value =
+            [
                 new StandardKeyboardInputConfig
                 {
                     Version = InputConfig.CurrentVersion,
@@ -929,15 +929,16 @@ namespace Ryujinx.UI.Common.Configuration
                         StickRight = Key.L,
                         StickButton = Key.H,
                     },
-                },
-            };
+                }
+
+            ];
         }
 
         public void Load(ConfigurationFileFormat configurationFileFormat, string configurationFilePath)
         {
             bool configurationFileUpdated = false;
 
-            if (configurationFileFormat.Version < 0 || configurationFileFormat.Version > ConfigurationFileFormat.CurrentVersion)
+            if (configurationFileFormat.Version is < 0 or > ConfigurationFileFormat.CurrentVersion)
             {
                 Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Unsupported configuration version {configurationFileFormat.Version}, loading default.");
 

+ 0 - 3
src/Ryujinx/UI/Windows/MainWindow.axaml.cs

@@ -115,9 +115,6 @@ namespace Ryujinx.Ava.UI.Windows
             base.OnClosed(e);
             if (PlatformSettings != null)
             {
-                /// <summary>
-                /// Unsubscribe to the ColorValuesChanged event
-                /// </summary>
                 PlatformSettings.ColorValuesChanged -= OnPlatformColorValuesChanged;
             }
         }