From 0a2fa54037015433f629210ea5ff72ae3ca17c5b Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Wed, 19 Feb 2025 23:07:50 -0600 Subject: [PATCH] UI: `--install-firmware` startup flag. Has the normal UI flow, this is just for systems where the file picker doesn't show up. --- src/Ryujinx.UI.Common/Helper/CommandLineState.cs | 15 +++++++++++++++ src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Ryujinx.UI.Common/Helper/CommandLineState.cs b/src/Ryujinx.UI.Common/Helper/CommandLineState.cs index 986fe0a7d..c6be6a172 100644 --- a/src/Ryujinx.UI.Common/Helper/CommandLineState.cs +++ b/src/Ryujinx.UI.Common/Helper/CommandLineState.cs @@ -1,3 +1,4 @@ +using Gommon; using Ryujinx.Common.Logging; using System.Collections.Generic; using System.IO; @@ -14,6 +15,7 @@ namespace Ryujinx.UI.Common.Helper public static string OverrideBackendThreading { get; private set; } public static string OverrideHideCursor { get; private set; } public static string BaseDirPathArg { get; private set; } + public static FilePath FirmwareToInstallPathArg { get; private set; } public static string Profile { get; private set; } public static string LaunchPathArg { get; private set; } public static string LaunchApplicationId { get; private set; } @@ -43,6 +45,19 @@ namespace Ryujinx.UI.Common.Helper BaseDirPathArg = args[++i]; + arguments.Add(arg); + arguments.Add(args[i]); + break; + case "--install-firmware": + if (i + 1 >= args.Length) + { + Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'"); + + continue; + } + + FirmwareToInstallPathArg = new FilePath(args[++i]); + arguments.Add(arg); arguments.Add(args[i]); break; diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index e195b9e3b..1dfd304b6 100644 --- a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs @@ -1229,7 +1229,7 @@ namespace Ryujinx.Ava.UI.ViewModels return false; } - private async Task HandleFirmwareInstallation(string filename) + public async Task HandleFirmwareInstallation(string filename) { try {