Added a command line option (-c, --config) to load a configuration file through the command line parameters (#59)

This commit is contained in:
Iván Mestre 2024-10-22 20:48:59 -03:00 committed by GitHub
parent 68092bf00b
commit 49574a99f5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 35 additions and 0 deletions

View file

@ -165,6 +165,11 @@ namespace Ryujinx
? appDataConfigurationPath
: null;
if (!string.IsNullOrEmpty(CommandLineState.OverrideConfigFile) && File.Exists(CommandLineState.OverrideConfigFile))
{
ConfigurationPath = CommandLineState.OverrideConfigFile;
}
if (ConfigurationPath == null)
{
// No configuration, we load the default values and save it to disk

View file

@ -1,5 +1,6 @@
using Ryujinx.Common.Logging;
using System.Collections.Generic;
using System.IO;
namespace Ryujinx.UI.Common.Helper
{
@ -16,6 +17,7 @@ namespace Ryujinx.UI.Common.Helper
public static string LaunchPathArg { get; private set; }
public static string LaunchApplicationId { get; private set; }
public static bool StartFullscreenArg { get; private set; }
public static string OverrideConfigFile { get; private set; }
public static void ParseArguments(string[] args)
{
@ -96,6 +98,29 @@ namespace Ryujinx.UI.Common.Helper
case "--software-gui":
OverrideHardwareAcceleration = false;
break;
case "-c":
case "--config":
if (i + 1 >= args.Length)
{
Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
continue;
}
string configFile = args[++i];
if (Path.GetExtension(configFile).ToLower() != ".json")
{
Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
continue;
}
OverrideConfigFile = configFile;
arguments.Add(arg);
arguments.Add(args[i]);
break;
default:
LaunchPathArg = arg;
break;

View file

@ -150,6 +150,11 @@ namespace Ryujinx.Ava
ConfigurationPath = appDataConfigurationPath;
}
if (!string.IsNullOrEmpty(CommandLineState.OverrideConfigFile) && File.Exists(CommandLineState.OverrideConfigFile))
{
ConfigurationPath = CommandLineState.OverrideConfigFile;
}
if (ConfigurationPath == null)
{
// No configuration, we load the default values and save it to disk