| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- 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();
- }
- }
- }
|