mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-16 02:01:29 -07:00
make startup more verbose
This commit is contained in:
parent
51ededbf20
commit
f768f0a1bb
@ -291,15 +291,21 @@ namespace Bloxstrap
|
||||
if (installLocation is null)
|
||||
{
|
||||
Logger.Initialize(true);
|
||||
Logger.WriteLine(LOG_IDENT, "Not installed, launching the installer");
|
||||
LaunchHandler.LaunchInstaller();
|
||||
}
|
||||
else
|
||||
{
|
||||
Paths.Initialize(installLocation);
|
||||
|
||||
Logger.WriteLine(LOG_IDENT, "Entering main logic");
|
||||
|
||||
// ensure executable is in the install directory
|
||||
if (Paths.Process != Paths.Application && !File.Exists(Paths.Application))
|
||||
{
|
||||
Logger.WriteLine(LOG_IDENT, "Copying to install directory");
|
||||
File.Copy(Paths.Process, Paths.Application);
|
||||
}
|
||||
|
||||
Logger.Initialize(LaunchSettings.UninstallFlag.Active);
|
||||
|
||||
@ -328,6 +334,7 @@ namespace Bloxstrap
|
||||
}
|
||||
|
||||
// you must *explicitly* call terminate when everything is done, it won't be called implicitly
|
||||
Logger.WriteLine(LOG_IDENT, "Startup finished");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,21 +11,27 @@ namespace Bloxstrap
|
||||
{
|
||||
public static void ProcessNextAction(NextAction action, bool isUnfinishedInstall = false)
|
||||
{
|
||||
const string LOG_IDENT = "LaunchHandler::ProcessNextAction";
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case NextAction.LaunchSettings:
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening settings");
|
||||
LaunchSettings();
|
||||
break;
|
||||
|
||||
case NextAction.LaunchRoblox:
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening Roblox");
|
||||
LaunchRoblox(LaunchMode.Player);
|
||||
break;
|
||||
|
||||
case NextAction.LaunchRobloxStudio:
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening Roblox Studio");
|
||||
LaunchRoblox(LaunchMode.Studio);
|
||||
break;
|
||||
|
||||
default:
|
||||
App.Logger.WriteLine(LOG_IDENT, "Closing");
|
||||
App.Terminate(isUnfinishedInstall ? ErrorCode.ERROR_INSTALL_USEREXIT : ErrorCode.ERROR_SUCCESS);
|
||||
break;
|
||||
}
|
||||
@ -33,20 +39,40 @@ namespace Bloxstrap
|
||||
|
||||
public static void ProcessLaunchArgs()
|
||||
{
|
||||
const string LOG_IDENT = "LaunchHandler::ProcessLaunchArgs";
|
||||
|
||||
// this order is specific
|
||||
|
||||
if (App.LaunchSettings.UninstallFlag.Active)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening uninstaller");
|
||||
LaunchUninstaller();
|
||||
}
|
||||
else if (App.LaunchSettings.MenuFlag.Active)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening settings");
|
||||
LaunchSettings();
|
||||
}
|
||||
else if (App.LaunchSettings.WatcherFlag.Active)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening watcher");
|
||||
LaunchWatcher();
|
||||
}
|
||||
else if (App.LaunchSettings.RobloxLaunchMode != LaunchMode.None)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, $"Opening bootstrapper ({App.LaunchSettings.RobloxLaunchMode})");
|
||||
LaunchRoblox(App.LaunchSettings.RobloxLaunchMode);
|
||||
}
|
||||
else if (!App.LaunchSettings.QuietFlag.Active)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Opening menu");
|
||||
LaunchMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Closing - quiet flag active");
|
||||
App.Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
public static void LaunchInstaller()
|
||||
@ -235,6 +261,8 @@ namespace Bloxstrap
|
||||
});
|
||||
|
||||
dialog?.ShowBootstrapper();
|
||||
|
||||
App.Logger.WriteLine(LOG_IDENT, "Exiting");
|
||||
}
|
||||
|
||||
public static void LaunchWatcher()
|
||||
|
@ -72,6 +72,8 @@ namespace Bloxstrap
|
||||
_flagMap.Add(identifier, flag);
|
||||
}
|
||||
|
||||
int startIdx = 0;
|
||||
|
||||
// infer roblox launch uris
|
||||
if (Args.Length >= 1)
|
||||
{
|
||||
@ -80,23 +82,31 @@ namespace Bloxstrap
|
||||
if (arg.StartsWith("roblox:", StringComparison.OrdinalIgnoreCase)
|
||||
|| arg.StartsWith("roblox-player:", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Got Roblox player argument");
|
||||
RobloxLaunchMode = LaunchMode.Player;
|
||||
RobloxLaunchArgs = arg;
|
||||
startIdx = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// parse
|
||||
for (int i = 0; i < Args.Length; i++)
|
||||
for (int i = startIdx; i < Args.Length; i++)
|
||||
{
|
||||
string arg = Args[i];
|
||||
|
||||
if (!arg.StartsWith('-'))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, $"Invalid argument: {arg}");
|
||||
continue;
|
||||
}
|
||||
|
||||
string identifier = arg[1..];
|
||||
|
||||
if (!_flagMap.TryGetValue(identifier, out LaunchFlag? flag) || flag is null)
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, $"Unknown argument: {identifier}");
|
||||
continue;
|
||||
}
|
||||
|
||||
flag.Active = true;
|
||||
|
||||
@ -119,31 +129,48 @@ namespace Bloxstrap
|
||||
|
||||
private void ParsePlayer(string? data)
|
||||
{
|
||||
const string LOG_IDENT = "LaunchSettings::ParsePlayer";
|
||||
|
||||
RobloxLaunchMode = LaunchMode.Player;
|
||||
|
||||
if (!String.IsNullOrEmpty(data))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Got Roblox launch arguments");
|
||||
RobloxLaunchArgs = data;
|
||||
}
|
||||
else
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "No Roblox launch arguments were provided");
|
||||
}
|
||||
}
|
||||
|
||||
private void ParseStudio(string? data)
|
||||
{
|
||||
const string LOG_IDENT = "LaunchSettings::ParseStudio";
|
||||
|
||||
RobloxLaunchMode = LaunchMode.Studio;
|
||||
|
||||
if (String.IsNullOrEmpty(data))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "No Roblox launch arguments were provided");
|
||||
return;
|
||||
}
|
||||
|
||||
if (data.StartsWith("roblox-studio:"))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Got Roblox Studio launch arguments");
|
||||
RobloxLaunchArgs = data;
|
||||
}
|
||||
else if (data.StartsWith("roblox-studio-auth:"))
|
||||
{
|
||||
App.Logger.WriteLine(LOG_IDENT, "Got Roblox Studio Auth launch arguments");
|
||||
RobloxLaunchMode = LaunchMode.StudioAuth;
|
||||
RobloxLaunchArgs = data;
|
||||
}
|
||||
else
|
||||
{
|
||||
// likely a local path
|
||||
App.Logger.WriteLine(LOG_IDENT, "Got Roblox Studio local place file");
|
||||
RobloxLaunchArgs = $"-task EditFile -localPlaceFile \"{data}\"";
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user