mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 10:01:27 -07:00
Make launch behaviour closer to official launcher
no custom start event, only specifying launchtime when launched from website oh yeah i fixed a bug with fflag management
This commit is contained in:
parent
826b0a04ca
commit
b3dcb48038
@ -163,9 +163,6 @@ namespace Bloxstrap
|
||||
ShowMessageBox(message, MessageBoxImage.Warning);
|
||||
}
|
||||
|
||||
// this needs to be loaded this early for the menu and also to check for default values
|
||||
FastFlags.Load();
|
||||
|
||||
// check if installed
|
||||
using (RegistryKey? registryKey = Registry.CurrentUser.OpenSubKey($@"Software\{ProjectName}"))
|
||||
{
|
||||
@ -179,6 +176,7 @@ namespace Bloxstrap
|
||||
if (!IsQuiet)
|
||||
{
|
||||
IsSetupComplete = false;
|
||||
FastFlags.Load();
|
||||
new MainWindow().ShowDialog();
|
||||
}
|
||||
}
|
||||
@ -197,7 +195,7 @@ namespace Bloxstrap
|
||||
}
|
||||
|
||||
Directories.Initialize(BaseDirectory);
|
||||
FastFlags.AltFileLocation = Path.Combine(Directories.Modifications, "ClientSettings\\ClientAppSettings.json");
|
||||
FastFlags.Load();
|
||||
|
||||
// we shouldn't save settings on the first run until the first installation is finished,
|
||||
// just in case the user decides to cancel the install
|
||||
|
@ -62,11 +62,11 @@ namespace Bloxstrap
|
||||
};
|
||||
|
||||
private const string AppSettings =
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
"<Settings>\n" +
|
||||
" <ContentFolder>content</ContentFolder>\n" +
|
||||
" <BaseUrl>http://www.roblox.com</BaseUrl>\n" +
|
||||
"</Settings>\n";
|
||||
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" +
|
||||
"<Settings>\r\n" +
|
||||
" <ContentFolder>content</ContentFolder>\r\n" +
|
||||
" <BaseUrl>http://www.roblox.com</BaseUrl>\r\n" +
|
||||
"</Settings>\r\n";
|
||||
|
||||
private readonly CancellationTokenSource _cancelTokenSource = new();
|
||||
|
||||
@ -76,7 +76,7 @@ namespace Bloxstrap
|
||||
|
||||
private string _playerLocation => Path.Combine(_versionFolder, "RobloxPlayerBeta.exe");
|
||||
|
||||
private string? _launchCommandLine;
|
||||
private string _launchCommandLine;
|
||||
|
||||
private string _latestVersionGuid = null!;
|
||||
private PackageManifest _versionPackageManifest = null!;
|
||||
@ -92,7 +92,7 @@ namespace Bloxstrap
|
||||
#endregion
|
||||
|
||||
#region Core
|
||||
public Bootstrapper(string? launchCommandLine = null)
|
||||
public Bootstrapper(string launchCommandLine)
|
||||
{
|
||||
_launchCommandLine = launchCommandLine;
|
||||
|
||||
@ -226,8 +226,6 @@ namespace Bloxstrap
|
||||
|
||||
private async Task StartRoblox()
|
||||
{
|
||||
string startEventName = App.ProjectName.Replace(" ", "") + "StartEvent";
|
||||
|
||||
SetStatus("Starting Roblox...");
|
||||
|
||||
if (_launchCommandLine == "--app" && App.Settings.Prop.UseDisableAppPatch)
|
||||
@ -237,14 +235,11 @@ namespace Bloxstrap
|
||||
return;
|
||||
}
|
||||
|
||||
// launch time isn't really required for all launches, but it's usually just safest to do this
|
||||
_launchCommandLine += " --launchtime=" + DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
||||
_launchCommandLine = _launchCommandLine.Replace("LAUNCHTIMEPLACEHOLDER", DateTimeOffset.Now.ToUnixTimeMilliseconds().ToString());
|
||||
|
||||
if (App.Settings.Prop.Channel.ToLower() != DeployManager.DefaultChannel.ToLower())
|
||||
_launchCommandLine += " -channel " + App.Settings.Prop.Channel.ToLower();
|
||||
|
||||
_launchCommandLine += " -startEvent " + startEventName;
|
||||
|
||||
// whether we should wait for roblox to exit to handle stuff in the background or clean up after roblox closes
|
||||
bool shouldWait = false;
|
||||
|
||||
@ -256,7 +251,7 @@ namespace Bloxstrap
|
||||
|
||||
App.Logger.WriteLine($"[Bootstrapper::StartRoblox] Started Roblox (PID {gameClient.Id})");
|
||||
|
||||
using (SystemEvent startEvent = new(startEventName))
|
||||
using (SystemEvent startEvent = new("www.roblox.com/robloxStartedEvent"))
|
||||
{
|
||||
bool startEventFired = await startEvent.WaitForEvent();
|
||||
|
||||
|
@ -7,8 +7,7 @@ namespace Bloxstrap.Helpers
|
||||
public class JsonManager<T> where T : new()
|
||||
{
|
||||
public T Prop { get; set; } = new();
|
||||
public virtual string FileLocation => AltFileLocation ?? Path.Combine(Directories.Base, $"{typeof(T).Name}.json");
|
||||
public string? AltFileLocation { get; set; }
|
||||
public virtual string FileLocation => Path.Combine(Directories.Base, $"{typeof(T).Name}.json");
|
||||
|
||||
public virtual void Load()
|
||||
{
|
||||
|
@ -18,7 +18,7 @@ namespace Bloxstrap.Helpers
|
||||
{ "launchmode", "--" },
|
||||
{ "gameinfo", "-t " },
|
||||
{ "placelauncherurl", "-j "},
|
||||
// { "launchtime", "--launchtime=" }, we'll set this when launching the game client
|
||||
{ "launchtime", "--launchtime=" },
|
||||
{ "browsertrackerid", "-b " },
|
||||
{ "robloxLocale", "--rloc " },
|
||||
{ "gameLocale", "--gloc " },
|
||||
@ -50,6 +50,10 @@ namespace Bloxstrap.Helpers
|
||||
if (key == "placelauncherurl")
|
||||
val = HttpUtility.UrlDecode(val);
|
||||
|
||||
// we'll set this before launching because for some reason roblox just refuses to launch if its like a few minutes old so ???
|
||||
if (key == "launchtime")
|
||||
val = "LAUNCHTIMEPLACEHOLDER";
|
||||
|
||||
if (key == "channel")
|
||||
{
|
||||
if (val.ToLower() != App.Settings.Prop.Channel.ToLower())
|
||||
|
Loading…
Reference in New Issue
Block a user