Evan Husted пре 1 година
родитељ
комит
6911e288bc

+ 2 - 0
src/ARMeilleure/Translation/PTC/Ptc.cs

@@ -855,6 +855,7 @@ namespace ARMeilleure.Translation.PTC
                 Thread thread = new(TranslateFuncs)
                 {
                     IsBackground = true,
+                    Name = "Ptc.TranslateThread." + i
                 };
 
                 threads.Add(thread);
@@ -885,6 +886,7 @@ namespace ARMeilleure.Translation.PTC
             Thread preSaveThread = new(PreSave)
             {
                 IsBackground = true,
+                Name = "Ptc.DiskWriter"
             };
             preSaveThread.Start();
         }

+ 1 - 0
src/Ryujinx.Common/Ryujinx.Common.csproj

@@ -10,6 +10,7 @@
     <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" />
     <PackageReference Include="MsgPack.Cli" />
     <PackageReference Include="System.Management" />
+    <PackageReference Include="Humanizer" />
     <PackageReference Include="Gommon" />
   </ItemGroup>
 

+ 13 - 11
src/Ryujinx.Graphics.Vulkan/VulkanRenderer.cs

@@ -104,25 +104,27 @@ namespace Ryujinx.Graphics.Vulkan
 
         public event EventHandler<ScreenCaptureImageInfo> ScreenCaptured;
 
-        public VulkanRenderer(Vk api, Func<Instance, Vk, SurfaceKHR> surfaceFunc, Func<string[]> requiredExtensionsFunc, string preferredGpuId)
+        public VulkanRenderer(Vk api, Func<Instance, Vk, SurfaceKHR> getSurface, Func<string[]> requiredExtensionsFunc, string preferredGpuId)
         {
-            _getSurface = surfaceFunc;
+            _getSurface = getSurface;
             _getRequiredExtensions = requiredExtensionsFunc;
             _preferredGpuId = preferredGpuId;
             Api = api;
-            Shaders = new HashSet<ShaderCollection>();
-            Textures = new HashSet<ITexture>();
-            Samplers = new HashSet<SamplerHolder>();
+            Shaders = [];
+            Textures = [];
+            Samplers = [];
 
-            if (OperatingSystem.IsMacOS())
-            {
+            // Any device running on MacOS is using MoltenVK, even Intel and AMD vendors.
+            if (IsMoltenVk = OperatingSystem.IsMacOS())
                 MVKInitialization.Initialize();
-
-                // Any device running on MacOS is using MoltenVK, even Intel and AMD vendors.
-                IsMoltenVk = true;
-            }
         }
 
+        public static VulkanRenderer Create(
+            string preferredGpuId, 
+            Func<Instance, Vk, SurfaceKHR> getSurface,
+            Func<string[]> getRequiredExtensions
+        ) => new(Vk.GetApi(), getSurface, getRequiredExtensions, preferredGpuId);
+
         private unsafe void LoadFeatures(uint maxQueueCount, uint queueFamilyIndex)
         {
             FormatCapabilities = new FormatCapabilities(Api, _physicalDevice.PhysicalDevice);

+ 1 - 1
src/Ryujinx.HLE/Loaders/Processes/Extensions/LocalFileSystemExtensions.cs

@@ -15,7 +15,7 @@ namespace Ryujinx.HLE.Loaders.Processes
             var nacpData = new BlitStruct<ApplicationControlProperty>(1);
             ulong programId = metaLoader.GetProgramId();
 
-            device.Configuration.VirtualFileSystem.ModLoader.CollectMods(new[] { programId });
+            device.Configuration.VirtualFileSystem.ModLoader.CollectMods([programId]);
 
             if (programId != 0)
             {

+ 3 - 2
src/Ryujinx.Headless.SDL2/WindowBase.cs

@@ -1,3 +1,4 @@
+using Humanizer;
 using Ryujinx.Common.Configuration;
 using Ryujinx.Common.Configuration.Hid;
 using Ryujinx.Common.Logging;
@@ -485,10 +486,10 @@ namespace Ryujinx.Headless.SDL2
         {
             string playerCount = args.PlayerCountMin == args.PlayerCountMax ? $"exactly {args.PlayerCountMin}" : $"{args.PlayerCountMin}-{args.PlayerCountMax}";
 
-            string message = $"Application requests {playerCount} player(s) with:\n\n"
+            string message = $"Application requests {playerCount} {"player".ToQuantity(args.PlayerCountMin + args.PlayerCountMax, ShowQuantityAs.None)} with:\n\n"
                            + $"TYPES: {args.SupportedStyles}\n\n"
                            + $"PLAYERS: {string.Join(", ", args.SupportedPlayers)}\n\n"
-                           + (args.IsDocked ? "Docked mode set. Handheld is also invalid.\n\n" : "")
+                           + (args.IsDocked ? "Docked mode set. Handheld is also invalid.\n\n" : string.Empty)
                            + "Please reconfigure Input now and then press OK.";
 
             return DisplayMessageDialog("Controller Applet", message);

+ 0 - 1
src/Ryujinx.UI.Common/Ryujinx.UI.Common.csproj

@@ -51,7 +51,6 @@
   <ItemGroup>
     <PackageReference Include="DiscordRichPresence" />
     <PackageReference Include="DynamicData" />
-    <PackageReference Include="Humanizer" />
     <PackageReference Include="securifybv.ShellLink" />
   </ItemGroup>
 

+ 41 - 51
src/Ryujinx/AppHost.cs

@@ -604,61 +604,59 @@ namespace Ryujinx.Ava
 
             SystemVersion firmwareVersion = ContentManager.GetCurrentFirmwareVersion();
 
-            if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
+            if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime)
             {
                 if (!SetupValidator.CanStartApplication(ContentManager, ApplicationPath, out UserError userError))
-                {
+                { 
+                    if (SetupValidator.CanFixStartApplication(ContentManager, ApplicationPath, userError, out firmwareVersion))
                     {
-                        if (SetupValidator.CanFixStartApplication(ContentManager, ApplicationPath, userError, out firmwareVersion))
+                        if (userError is UserError.NoFirmware)
                         {
-                            if (userError == UserError.NoFirmware)
-                            {
-                                UserResult result = await ContentDialogHelper.CreateConfirmationDialog(
-                                    LocaleManager.Instance[LocaleKeys.DialogFirmwareNoFirmwareInstalledMessage],
-                                    LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedMessage, firmwareVersion.VersionString),
-                                    LocaleManager.Instance[LocaleKeys.InputDialogYes],
-                                    LocaleManager.Instance[LocaleKeys.InputDialogNo],
-                                    "");
-
-                                if (result != UserResult.Yes)
-                                {
-                                    await UserErrorDialog.ShowUserErrorDialog(userError);
-                                    Device.Dispose();
-
-                                    return false;
-                                }
-                            }
-
-                            if (!SetupValidator.TryFixStartApplication(ContentManager, ApplicationPath, userError, out _))
+                            UserResult result = await ContentDialogHelper.CreateConfirmationDialog(
+                                LocaleManager.Instance[LocaleKeys.DialogFirmwareNoFirmwareInstalledMessage], 
+                                LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedMessage, firmwareVersion.VersionString),
+                                LocaleManager.Instance[LocaleKeys.InputDialogYes],
+                                LocaleManager.Instance[LocaleKeys.InputDialogNo],
+                                string.Empty);
+
+                            if (result != UserResult.Yes)
                             {
                                 await UserErrorDialog.ShowUserErrorDialog(userError);
                                 Device.Dispose();
 
                                 return false;
                             }
-
-                            // Tell the user that we installed a firmware for them.
-                            if (userError == UserError.NoFirmware)
-                            {
-                                firmwareVersion = ContentManager.GetCurrentFirmwareVersion();
-
-                                _viewModel.RefreshFirmwareStatus();
-
-                                await ContentDialogHelper.CreateInfoDialog(
-                                    LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstalledMessage, firmwareVersion.VersionString),
-                                    LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedSuccessMessage, firmwareVersion.VersionString),
-                                    LocaleManager.Instance[LocaleKeys.InputDialogOk],
-                                    "",
-                                    LocaleManager.Instance[LocaleKeys.RyujinxInfo]);
-                            }
                         }
-                        else
+
+                        if (!SetupValidator.TryFixStartApplication(ContentManager, ApplicationPath, userError, out _))
                         {
                             await UserErrorDialog.ShowUserErrorDialog(userError);
                             Device.Dispose();
 
                             return false;
                         }
+
+                        // Tell the user that we installed a firmware for them.
+                        if (userError is UserError.NoFirmware)
+                        {
+                            firmwareVersion = ContentManager.GetCurrentFirmwareVersion();
+
+                            _viewModel.RefreshFirmwareStatus();
+
+                            await ContentDialogHelper.CreateInfoDialog(
+                                LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstalledMessage, firmwareVersion.VersionString),
+                                LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogFirmwareInstallEmbeddedSuccessMessage, firmwareVersion.VersionString),
+                                LocaleManager.Instance[LocaleKeys.InputDialogOk],
+                                string.Empty,
+                                LocaleManager.Instance[LocaleKeys.RyujinxInfo]);
+                        }
+                    }
+                    else
+                    {
+                        await UserErrorDialog.ShowUserErrorDialog(userError);
+                        Device.Dispose();
+
+                        return false;
                     }
                 }
             }
@@ -820,20 +818,12 @@ namespace Ryujinx.Ava
             VirtualFileSystem.ReloadKeySet();
 
             // Initialize Renderer.
-            IRenderer renderer;
-
-            if (ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.Vulkan)
-            {
-                renderer = new VulkanRenderer(
-                    Vk.GetApi(),
+            IRenderer renderer = ConfigurationState.Instance.Graphics.GraphicsBackend.Value == GraphicsBackend.OpenGl
+                ? new OpenGLRenderer()
+                : VulkanRenderer.Create(
+                    ConfigurationState.Instance.Graphics.PreferredGpu,
                     (RendererHost.EmbeddedWindow as EmbeddedWindowVulkan)!.CreateSurface,
-                    VulkanHelper.GetRequiredInstanceExtensions,
-                    ConfigurationState.Instance.Graphics.PreferredGpu.Value);
-            }
-            else
-            {
-                renderer = new OpenGLRenderer();
-            }
+                    VulkanHelper.GetRequiredInstanceExtensions);
 
             BackendThreading threadingMode = ConfigurationState.Instance.Graphics.BackendThreading;
 

BIN
src/Ryujinx/Ryujinx.ico


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

@@ -109,7 +109,7 @@ namespace Ryujinx.Ava.UI.Windows
         private static void OnPlatformColorValuesChanged(object sender, PlatformColorValues e)
         {
             if (Application.Current is App app)
-                app.ApplyConfiguredTheme();
+                app.ApplyConfiguredTheme(ConfigurationState.Instance.UI.BaseStyle);
         }
 
         protected override void OnClosed(EventArgs e)
@@ -664,8 +664,14 @@ namespace Ryujinx.Ava.UI.Windows
 
             Dispatcher.UIThread.InvokeAsync(async () =>
             {
-                await ContentDialogHelper.ShowTextDialog(LocaleManager.Instance[LocaleKeys.DialogConfirmationTitle],
-                    msg, "", "", "", LocaleManager.Instance[LocaleKeys.InputDialogOk], (int)Symbol.Checkmark);
+                await ContentDialogHelper.ShowTextDialog(
+                    LocaleManager.Instance[LocaleKeys.DialogConfirmationTitle],
+                    msg,
+                    string.Empty, 
+                    string.Empty, 
+                    string.Empty, 
+                    LocaleManager.Instance[LocaleKeys.InputDialogOk], 
+                    (int)Symbol.Checkmark);
             });
         }
     }