mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-16 21:58:42 +02:00
* Add command line args for docked mode * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
88 lines
2.9 KiB
C#
88 lines
2.9 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 bool? OverrideDockedMode { 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;
|
|
case "--docked-mode":
|
|
OverrideDockedMode = true;
|
|
break;
|
|
case "--handheld-mode":
|
|
OverrideDockedMode = false;
|
|
break;
|
|
default:
|
|
LaunchPathArg = arg;
|
|
break;
|
|
}
|
|
}
|
|
|
|
Arguments = arguments.ToArray();
|
|
}
|
|
}
|
|
} |