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

Closed
ivanmestre wants to merge 2 commits from load-configuration-file-from-command-line into master
2 changed files with 30 additions and 0 deletions
Showing only changes of commit 7511ec1d31 - Show all commits

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

@ -164,6 +164,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