mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-18 06:38:42 +02:00
* Ava: Keep command line args when restarting * UI: Move common UI functions to ProgramHelper Add command line option to override the configured graphics backend * Ava: Add CleanupUpdate task back * Remove unused usings * Revert combining common UI functions Rename ProgramHelper to CommandLineState Move command line parsing to CommandLineState * Rename CommandLineProfile to Profile * Fix assigning the wrong array to Arguments
81 lines
2.6 KiB
C#
81 lines
2.6 KiB
C#
using Ryujinx.Common.Logging;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Ryujinx.Ui.Common.Helper
|
|
{
|
|
public static class CommandLineState
|
|
{
|
|
public static string[] Arguments { get; private set; }
|
|
|
|
public static string OverrideGraphicsBackend { get; private set; }
|
|
public static string BaseDirPathArg { get; private set; }
|
|
public static string Profile { get; private set; }
|
|
public static string LaunchPathArg { get; private set; }
|
|
public static bool StartFullscreenArg { get; private set; }
|
|
|
|
public static void ParseArguments(string[] args)
|
|
{
|
|
List<string> arguments = new();
|
|
|
|
// Parse Arguments.
|
|
for (int i = 0; i < args.Length; ++i)
|
|
{
|
|
string arg = args[i];
|
|
|
|
switch (arg)
|
|
{
|
|
case "-r":
|
|
case "--root-data-dir":
|
|
if (i + 1 >= args.Length)
|
|
{
|
|
Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
|
|
|
|
continue;
|
|
}
|
|
|
|
BaseDirPathArg = args[++i];
|
|
|
|
arguments.Add(arg);
|
|
arguments.Add(args[i]);
|
|
break;
|
|
case "-p":
|
|
case "--profile":
|
|
if (i + 1 >= args.Length)
|
|
{
|
|
Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
|
|
|
|
continue;
|
|
}
|
|
|
|
Profile = args[++i];
|
|
|
|
arguments.Add(arg);
|
|
arguments.Add(args[i]);
|
|
break;
|
|
case "-f":
|
|
case "--fullscreen":
|
|
StartFullscreenArg = true;
|
|
|
|
arguments.Add(arg);
|
|
break;
|
|
case "-g":
|
|
case "--graphics-backend":
|
|
if (i + 1 >= args.Length)
|
|
{
|
|
Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
|
|
|
|
continue;
|
|
}
|
|
|
|
OverrideGraphicsBackend = args[++i];
|
|
break;
|
|
default:
|
|
LaunchPathArg = arg;
|
|
break;
|
|
}
|
|
}
|
|
|
|
Arguments = arguments.ToArray();
|
|
}
|
|
}
|
|
} |