From a69dac32b0a786a6a6f03ab5862a3f8e51903a68 Mon Sep 17 00:00:00 2001 From: bluepilledgreat <97983689+bluepilledgreat@users.noreply.github.com> Date: Wed, 12 Mar 2025 22:28:15 +0000 Subject: [PATCH] add a setting to toggle background updates --- Bloxstrap/Bootstrapper.cs | 6 ++++++ Bloxstrap/Models/Persistable/Settings.cs | 1 + Bloxstrap/Resources/Strings.Designer.cs | 18 ++++++++++++++++++ Bloxstrap/Resources/Strings.resx | 6 ++++++ .../Settings/Pages/BootstrapperPage.xaml | 6 ++++++ .../ViewModels/Settings/BehaviourViewModel.cs | 6 ++++++ 6 files changed, 43 insertions(+) diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs index 408acac..f680e00 100644 --- a/Bloxstrap/Bootstrapper.cs +++ b/Bloxstrap/Bootstrapper.cs @@ -408,6 +408,12 @@ namespace Bloxstrap return false; } + if (!App.Settings.Prop.BackgroundUpdatesEnabled) + { + App.Logger.WriteLine(LOG_IDENT, "Not eligible: Background updates disabled"); + return false; + } + if (IsStudioLaunch) { App.Logger.WriteLine(LOG_IDENT, "Not eligible: Studio launch"); diff --git a/Bloxstrap/Models/Persistable/Settings.cs b/Bloxstrap/Models/Persistable/Settings.cs index 7523cb3..0f6bb86 100644 --- a/Bloxstrap/Models/Persistable/Settings.cs +++ b/Bloxstrap/Models/Persistable/Settings.cs @@ -17,6 +17,7 @@ namespace Bloxstrap.Models.Persistable public bool UseFastFlagManager { get; set; } = true; public bool WPFSoftwareRender { get; set; } = false; public bool EnableAnalytics { get; set; } = true; + public bool BackgroundUpdatesEnabled { get; set; } = true; public bool DebugDisableVersionPackageCleanup { get; set; } = false; public string? SelectedCustomTheme { get; set; } = null; diff --git a/Bloxstrap/Resources/Strings.Designer.cs b/Bloxstrap/Resources/Strings.Designer.cs index e84f7f9..7de1d91 100644 --- a/Bloxstrap/Resources/Strings.Designer.cs +++ b/Bloxstrap/Resources/Strings.Designer.cs @@ -2545,6 +2545,24 @@ namespace Bloxstrap.Resources { } } + /// + /// Looks up a localized string similar to Update Roblox in the background instead of waiting for Roblox to finish updating before being able to play Roblox. Not preferable for slow networks.. + /// + public static string Menu_Behaviour_BackgroundUpdates_Description { + get { + return ResourceManager.GetString("Menu.Behaviour.BackgroundUpdates.Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Background Updates. + /// + public static string Menu_Behaviour_BackgroundUpdates_Title { + get { + return ResourceManager.GetString("Menu.Behaviour.BackgroundUpdates.Title", resourceCulture); + } + } + /// /// Looks up a localized string similar to Prevent against closures of your existing game from accidentally launching another one.. /// diff --git a/Bloxstrap/Resources/Strings.resx b/Bloxstrap/Resources/Strings.resx index 8ac1611..ee370b8 100644 --- a/Bloxstrap/Resources/Strings.resx +++ b/Bloxstrap/Resources/Strings.resx @@ -1445,4 +1445,10 @@ Defaulting to Fluent. Failed to rename custom theme {0}: {1} + + Background Updates + + + Update Roblox in the background instead of waiting for Roblox to finish updating before being able to play Roblox. Not preferable for slow networks. + \ No newline at end of file diff --git a/Bloxstrap/UI/Elements/Settings/Pages/BootstrapperPage.xaml b/Bloxstrap/UI/Elements/Settings/Pages/BootstrapperPage.xaml index 88ace14..569e526 100644 --- a/Bloxstrap/UI/Elements/Settings/Pages/BootstrapperPage.xaml +++ b/Bloxstrap/UI/Elements/Settings/Pages/BootstrapperPage.xaml @@ -30,6 +30,12 @@ + + + + diff --git a/Bloxstrap/UI/ViewModels/Settings/BehaviourViewModel.cs b/Bloxstrap/UI/ViewModels/Settings/BehaviourViewModel.cs index 1b60b7f..2dea65c 100644 --- a/Bloxstrap/UI/ViewModels/Settings/BehaviourViewModel.cs +++ b/Bloxstrap/UI/ViewModels/Settings/BehaviourViewModel.cs @@ -14,6 +14,12 @@ set => App.Settings.Prop.ForceRobloxLanguage = value; } + public bool BackgroundUpdates + { + get => App.Settings.Prop.BackgroundUpdatesEnabled; + set => App.Settings.Prop.BackgroundUpdatesEnabled = value; + } + public bool IsRobloxInstallationMissing => String.IsNullOrEmpty(App.RobloxState.Prop.Player.VersionGuid) && String.IsNullOrEmpty(App.RobloxState.Prop.Studio.VersionGuid); public bool ForceRobloxReinstallation