| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using Ryujinx.Common.Logging;
- using System.Collections.Generic;
- namespace Ryujinx.Ava.Utilities
- {
- public static class CommandLineState
- {
- public static string[] Arguments { get; private set; }
- public static bool? OverrideDockedMode { get; private set; }
- public static bool? OverrideHardwareAcceleration { get; private set; }
- public static string OverrideGraphicsBackend { get; private set; }
- public static string OverrideHideCursor { 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 string LaunchApplicationId { get; private set; }
- public static bool StartFullscreenArg { get; private set; }
- public static bool HideAvailableUpdates { 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 "-i":
- case "--application-id":
- LaunchApplicationId = args[++i];
- break;
- case "--docked-mode":
- OverrideDockedMode = true;
- break;
- case "--handheld-mode":
- OverrideDockedMode = false;
- break;
- case "--hide-cursor":
- if (i + 1 >= args.Length)
- {
- Logger.Error?.Print(LogClass.Application, $"Invalid option '{arg}'");
- continue;
- }
- OverrideHideCursor = args[++i];
- break;
- case "--hide-updates":
- HideAvailableUpdates = true;
- break;
- case "--software-gui":
- OverrideHardwareAcceleration = false;
- break;
- default:
- LaunchPathArg = arg;
- break;
- }
- }
- Arguments = arguments.ToArray();
- }
- }
- }
|