Skip to content

Commit 1a63b59

Browse files
authored
Feature/maintenance-09-25 (#5872)
* Remove flag editor warning christ wtf was i doing * Remove dead presets and update Wiki links * Purge all dead options * Bump version and remove flag migrations
1 parent 98c95dd commit 1a63b59

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+51167
-55668
lines changed

Bloxstrap/App.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public partial class App : Application
2121
public const string ProjectOwner = "Bloxstrap";
2222
public const string ProjectRepository = "bloxstraplabs/bloxstrap";
2323
public const string ProjectDownloadLink = "https://bloxstraplabs.com";
24-
public const string ProjectHelpLink = "https://github.com/bloxstraplabs/bloxstrap/wiki";
24+
public const string ProjectHelpLink = "https://bloxstraplabs.com/wiki/help/";
2525
public const string ProjectSupportLink = "https://github.com/bloxstraplabs/bloxstrap/issues/new";
2626

2727
public const string RobloxPlayerAppName = "RobloxPlayerBeta";
@@ -144,10 +144,10 @@ public static string ConstructBloxstrapWebUrl()
144144
{
145145
// dont let user switch web environment if debug mode is not on
146146
if (Settings.Prop.WebEnvironment == WebEnvironment.Production || !Settings.Prop.DeveloperMode)
147-
return "bloxstraplabs.com";
147+
return "services.bloxstraplabs.com";
148148

149149
string? sub = Settings.Prop.WebEnvironment.GetDescription();
150-
return $"web-{sub}.bloxstraplabs.com";
150+
return $"services-{sub}.bloxstraplabs.com";
151151
}
152152

153153
public static bool CanSendLogs()

Bloxstrap/Bloxstrap.csproj

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<UseWPF>true</UseWPF>
88
<UseWindowsForms>True</UseWindowsForms>
99
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
10-
<Version>2.9.1</Version>
11-
<FileVersion>2.9.1</FileVersion>
10+
<Version>2.10.0</Version>
11+
<FileVersion>2.10.0</FileVersion>
1212
<ApplicationManifest>app.manifest</ApplicationManifest>
1313
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1414
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
@@ -45,7 +45,6 @@
4545
<EmbeddedResource Include="Resources\Mods\Cursor\From2006\ArrowFarCursor.png" />
4646
<EmbeddedResource Include="Resources\Mods\Cursor\From2013\ArrowCursor.png" />
4747
<EmbeddedResource Include="Resources\Mods\Cursor\From2013\ArrowFarCursor.png" />
48-
<EmbeddedResource Include="Resources\Mods\Sounds\OldDeath.ogg" />
4948
<EmbeddedResource Include="Resources\Mods\Sounds\OldGetUp.mp3" />
5049
<EmbeddedResource Include="Resources\Mods\Sounds\OldJump.mp3" />
5150
<EmbeddedResource Include="Resources\Mods\Sounds\OldWalk.mp3" />

Bloxstrap/Bootstrapper.cs

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -474,50 +474,12 @@ private bool IsEligibleForBackgroundUpdate()
474474
}
475475
}
476476

477-
private static void LaunchMultiInstanceWatcher()
478-
{
479-
const string LOG_IDENT = "Bootstrapper::LaunchMultiInstanceWatcher";
480-
481-
if (Utilities.DoesMutexExist("ROBLOX_singletonMutex"))
482-
{
483-
App.Logger.WriteLine(LOG_IDENT, "Roblox singleton mutex already exists");
484-
return;
485-
}
486-
487-
using EventWaitHandle initEventHandle = new EventWaitHandle(false, EventResetMode.AutoReset, "Bloxstrap-MultiInstanceWatcherInitialisationFinished");
488-
Process.Start(Paths.Process, "-multiinstancewatcher");
489-
490-
bool initSuccess = initEventHandle.WaitOne(TimeSpan.FromSeconds(2));
491-
if (initSuccess)
492-
App.Logger.WriteLine(LOG_IDENT, "Initialisation finished signalled, continuing.");
493-
else
494-
App.Logger.WriteLine(LOG_IDENT, "Did not receive the initialisation finished signal, continuing.");
495-
}
496-
497477
private void StartRoblox()
498478
{
499479
const string LOG_IDENT = "Bootstrapper::StartRoblox";
500480

501481
SetStatus(Strings.Bootstrapper_Status_Starting);
502482

503-
if (_launchMode == LaunchMode.Player)
504-
{
505-
// this needs to be done before roblox launches
506-
if (App.Settings.Prop.MultiInstanceLaunching)
507-
LaunchMultiInstanceWatcher();
508-
509-
if (App.Settings.Prop.ForceRobloxLanguage)
510-
{
511-
var match = Regex.Match(_launchCommandLine, "gameLocale:([a-z_]+)", RegexOptions.CultureInvariant);
512-
513-
if (match.Groups.Count == 2)
514-
_launchCommandLine = _launchCommandLine.Replace(
515-
"robloxLocale:en_us",
516-
$"robloxLocale:{match.Groups[1].Value}",
517-
StringComparison.OrdinalIgnoreCase);
518-
}
519-
}
520-
521483
var startInfo = new ProcessStartInfo()
522484
{
523485
FileName = AppData.ExecutablePath,
@@ -1476,7 +1438,7 @@ private async Task DownloadPackage(Package package)
14761438

14771439
Frontend.ShowConnectivityDialog(
14781440
Strings.Dialog_Connectivity_UnableToDownload,
1479-
String.Format(Strings.Dialog_Connectivity_UnableToDownloadReason, "[https://github.com/bloxstraplabs/bloxstrap/wiki/Bloxstrap-is-unable-to-download-Roblox](https://github.com/bloxstraplabs/bloxstrap/wiki/Bloxstrap-is-unable-to-download-Roblox)"),
1441+
String.Format(Strings.Dialog_Connectivity_UnableToDownloadReason, "[https://bloxstraplabs.com/wiki/help/bloxstrap-cannot-download-roblox/](https://bloxstraplabs.com/wiki/help/bloxstrap-cannot-download-roblox/)"),
14801442
MessageBoxImage.Error,
14811443
ex
14821444
);

Bloxstrap/Enums/FlagPresets/InGameMenuVersion.cs

Lines changed: 0 additions & 12 deletions
This file was deleted.

Bloxstrap/Enums/FlagPresets/LightingMode.cs

Lines changed: 0 additions & 10 deletions
This file was deleted.

Bloxstrap/FastFlagManager.cs

Lines changed: 0 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,15 @@ public class FastFlagManager : JsonManager<Dictionary<string, object>>
1414

1515
public static IReadOnlyDictionary<string, string> PresetFlags = new Dictionary<string, string>
1616
{
17-
{ "Network.Log", "FLogNetwork" },
18-
19-
{ "Rendering.Framerate", "DFIntTaskSchedulerTargetFps" },
2017
{ "Rendering.ManualFullscreen", "FFlagHandleAltEnterFullscreenManually" },
2118
{ "Rendering.DisableScaling", "DFFlagDisableDPIScale" },
2219
{ "Rendering.MSAA", "FIntDebugForceMSAASamples" },
23-
{ "Rendering.DisablePostFX", "FFlagDisablePostFx" },
24-
{ "Rendering.ShadowIntensity", "FIntRenderShadowIntensity" },
2520

2621
{ "Rendering.Mode.D3D11", "FFlagDebugGraphicsPreferD3D11" },
2722
{ "Rendering.Mode.D3D10", "FFlagDebugGraphicsPreferD3D11FL10" },
2823

29-
{ "Rendering.Lighting.Voxel", "DFFlagDebugRenderForceTechnologyVoxel" },
30-
{ "Rendering.Lighting.ShadowMap", "FFlagDebugForceFutureIsBrightPhase2" },
31-
{ "Rendering.Lighting.Future", "FFlagDebugForceFutureIsBrightPhase3" },
32-
3324
{ "Rendering.TextureQuality.OverrideEnabled", "DFFlagTextureQualityOverrideEnabled" },
3425
{ "Rendering.TextureQuality.Level", "DFIntTextureQualityOverride" },
35-
{ "Rendering.TerrainTextureQuality", "FIntTerrainArraySliceSize" },
36-
37-
{ "UI.Hide", "DFIntCanHideGuiGroupId" },
38-
{ "UI.FontSize", "FIntFontSizePadding" },
39-
40-
{ "UI.FullscreenTitlebarDelay", "FIntFullscreenTitleBarTriggerDelayMillis" },
41-
42-
//{ "UI.Menu.Style.V2Rollout", "FIntNewInGameMenuPercentRollout3" },
43-
//{ "UI.Menu.Style.EnableV4.1", "FFlagEnableInGameMenuControls" },
44-
//{ "UI.Menu.Style.EnableV4.2", "FFlagEnableInGameMenuModernization" },
45-
//{ "UI.Menu.Style.EnableV4Chrome", "FFlagEnableInGameMenuChrome" },
46-
//{ "UI.Menu.Style.ReportButtonCutOff", "FFlagFixReportButtonCutOff" },
47-
48-
49-
//{ "UI.Menu.Style.ABTest.1", "FFlagEnableMenuControlsABTest" },
50-
//{ "UI.Menu.Style.ABTest.2", "FFlagEnableV3MenuABTest3" },
51-
//{ "UI.Menu.Style.ABTest.3", "FFlagEnableInGameMenuChromeABTest3" },
52-
//{ "UI.Menu.Style.ABTest.4", "FFlagEnableInGameMenuChromeABTest4" }
5326
};
5427

5528
public static IReadOnlyDictionary<RenderingMode, string> RenderingModes => new Dictionary<RenderingMode, string>
@@ -59,14 +32,6 @@ public class FastFlagManager : JsonManager<Dictionary<string, object>>
5932
{ RenderingMode.D3D10, "D3D10" },
6033
};
6134

62-
public static IReadOnlyDictionary<LightingMode, string> LightingModes => new Dictionary<LightingMode, string>
63-
{
64-
{ LightingMode.Default, "None" },
65-
{ LightingMode.Voxel, "Voxel" },
66-
{ LightingMode.ShadowMap, "ShadowMap" },
67-
{ LightingMode.Future, "Future" }
68-
};
69-
7035
public static IReadOnlyDictionary<MSAAMode, string?> MSAAModes => new Dictionary<MSAAMode, string?>
7136
{
7237
{ MSAAMode.Default, null },
@@ -84,71 +49,6 @@ public class FastFlagManager : JsonManager<Dictionary<string, object>>
8449
{ TextureQuality.Level3, "3" },
8550
};
8651

87-
// this is one hell of a dictionary definition lmao
88-
// since these all set the same flags, wouldn't making this use bitwise operators be better?
89-
//public static IReadOnlyDictionary<InGameMenuVersion, Dictionary<string, string?>> IGMenuVersions => new Dictionary<InGameMenuVersion, Dictionary<string, string?>>
90-
//{
91-
// {
92-
// InGameMenuVersion.Default,
93-
// new Dictionary<string, string?>
94-
// {
95-
// { "V2Rollout", null },
96-
// { "EnableV4", null },
97-
// { "EnableV4Chrome", null },
98-
// { "ABTest", null },
99-
// { "ReportButtonCutOff", null }
100-
// }
101-
// },
102-
103-
// {
104-
// InGameMenuVersion.V1,
105-
// new Dictionary<string, string?>
106-
// {
107-
// { "V2Rollout", "0" },
108-
// { "EnableV4", "False" },
109-
// { "EnableV4Chrome", "False" },
110-
// { "ABTest", "False" },
111-
// { "ReportButtonCutOff", "False" }
112-
// }
113-
// },
114-
115-
// {
116-
// InGameMenuVersion.V2,
117-
// new Dictionary<string, string?>
118-
// {
119-
// { "V2Rollout", "100" },
120-
// { "EnableV4", "False" },
121-
// { "EnableV4Chrome", "False" },
122-
// { "ABTest", "False" },
123-
// { "ReportButtonCutOff", null }
124-
// }
125-
// },
126-
127-
// {
128-
// InGameMenuVersion.V4,
129-
// new Dictionary<string, string?>
130-
// {
131-
// { "V2Rollout", "0" },
132-
// { "EnableV4", "True" },
133-
// { "EnableV4Chrome", "False" },
134-
// { "ABTest", "False" },
135-
// { "ReportButtonCutOff", null }
136-
// }
137-
// },
138-
139-
// {
140-
// InGameMenuVersion.V4Chrome,
141-
// new Dictionary<string, string?>
142-
// {
143-
// { "V2Rollout", "0" },
144-
// { "EnableV4", "True" },
145-
// { "EnableV4Chrome", "True" },
146-
// { "ABTest", "False" },
147-
// { "ReportButtonCutOff", null }
148-
// }
149-
// }
150-
//};
151-
15252
// all fflags are stored as strings
15353
// to delete a flag, set the value as null
15454
public void SetValue(string key, object? value)
@@ -253,9 +153,6 @@ public override void Load(bool alertFailure = true)
253153
// clone the dictionary
254154
OriginalProp = new(Prop);
255155

256-
if (GetPreset("Network.Log") != "7")
257-
SetPreset("Network.Log", "7");
258-
259156
if (GetPreset("Rendering.ManualFullscreen") != "False")
260157
SetPreset("Rendering.ManualFullscreen", "False");
261158
}

Bloxstrap/Installer.cs

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ internal class Installer
99
/// Should this version automatically open the release notes page?
1010
/// Recommended for major updates only.
1111
/// </summary>
12-
private const bool OpenReleaseNotes = false;
12+
private const bool OpenReleaseNotes = true;
1313

1414
private static string DesktopShortcut => Path.Combine(Paths.Desktop, $"{App.ProjectName}.lnk");
1515

@@ -480,13 +480,6 @@ public static void HandleUpgrade()
480480
File.Delete(configLocation);
481481
}
482482

483-
484-
if (Utilities.CompareVersions(existingVer, "2.5.0") == VersionComparison.LessThan)
485-
{
486-
App.FastFlags.SetValue("DFFlagDisableDPIScale", null);
487-
App.FastFlags.SetValue("DFFlagVariableDPIScale2", null);
488-
}
489-
490483
if (Utilities.CompareVersions(existingVer, "2.6.0") == VersionComparison.LessThan)
491484
{
492485
if (App.Settings.Prop.UseDisableAppPatch)
@@ -505,10 +498,6 @@ public static void HandleUpgrade()
505498

506499
if (App.Settings.Prop.BootstrapperStyle == BootstrapperStyle.ClassicFluentDialog)
507500
App.Settings.Prop.BootstrapperStyle = BootstrapperStyle.FluentDialog;
508-
509-
_ = int.TryParse(App.FastFlags.GetPreset("Rendering.Framerate"), out int x);
510-
if (x == 0)
511-
App.FastFlags.SetPreset("Rendering.Framerate", null);
512501
}
513502

514503
if (Utilities.CompareVersions(existingVer, "2.8.0") == VersionComparison.LessThan)
@@ -550,23 +539,6 @@ public static void HandleUpgrade()
550539
Registry.CurrentUser.DeleteSubKeyTree("Software\\Bloxstrap", false);
551540

552541
WindowsRegistry.RegisterPlayer();
553-
554-
App.FastFlags.SetValue("FFlagDisableNewIGMinDUA", null);
555-
App.FastFlags.SetValue("FFlagFixGraphicsQuality", null);
556-
}
557-
558-
if (Utilities.CompareVersions(existingVer, "2.8.1") == VersionComparison.LessThan)
559-
{
560-
// wipe all escape menu flag presets
561-
App.FastFlags.SetValue("FIntNewInGameMenuPercentRollout3", null);
562-
App.FastFlags.SetValue("FFlagEnableInGameMenuControls", null);
563-
App.FastFlags.SetValue("FFlagEnableInGameMenuModernization", null);
564-
App.FastFlags.SetValue("FFlagEnableInGameMenuChrome", null);
565-
App.FastFlags.SetValue("FFlagFixReportButtonCutOff", null);
566-
App.FastFlags.SetValue("FFlagEnableMenuControlsABTest", null);
567-
App.FastFlags.SetValue("FFlagEnableV3MenuABTest3", null);
568-
App.FastFlags.SetValue("FFlagEnableInGameMenuChromeABTest3", null);
569-
App.FastFlags.SetValue("FFlagEnableInGameMenuChromeABTest4", null);
570542
}
571543

572544
if (Utilities.CompareVersions(existingVer, "2.8.2") == VersionComparison.LessThan)

Bloxstrap/LaunchHandler.cs

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,6 @@ public static void ProcessLaunchArgs()
5959
App.Logger.WriteLine(LOG_IDENT, "Opening watcher");
6060
LaunchWatcher();
6161
}
62-
else if (App.LaunchSettings.MultiInstanceWatcherFlag.Active)
63-
{
64-
App.Logger.WriteLine(LOG_IDENT, "Opening multi-instance watcher");
65-
LaunchMultiInstanceWatcher();
66-
}
6762
else if (App.LaunchSettings.BackgroundUpdaterFlag.Active)
6863
{
6964
App.Logger.WriteLine(LOG_IDENT, "Opening background updater");
@@ -228,7 +223,7 @@ public static void LaunchRoblox(LaunchMode launchMode)
228223
App.Terminate(ErrorCode.ERROR_FILE_NOT_FOUND);
229224
}
230225

231-
if (App.Settings.Prop.ConfirmLaunches && Mutex.TryOpenExisting("ROBLOX_singletonMutex", out var _) && !App.Settings.Prop.MultiInstanceLaunching)
226+
if (App.Settings.Prop.ConfirmLaunches && Mutex.TryOpenExisting("ROBLOX_singletonMutex", out var _))
232227
{
233228
// this currently doesn't work very well since it relies on checking the existence of the singleton mutex
234229
// which often hangs around for a few seconds after the window closes
@@ -307,28 +302,6 @@ public static void LaunchWatcher()
307302
});
308303
}
309304

310-
public static void LaunchMultiInstanceWatcher()
311-
{
312-
const string LOG_IDENT = "LaunchHandler::LaunchMultiInstanceWatcher";
313-
314-
App.Logger.WriteLine(LOG_IDENT, "Starting multi-instance watcher");
315-
316-
Task.Run(MultiInstanceWatcher.Run).ContinueWith(t =>
317-
{
318-
App.Logger.WriteLine(LOG_IDENT, "Multi instance watcher task has finished");
319-
320-
if (t.IsFaulted)
321-
{
322-
App.Logger.WriteLine(LOG_IDENT, "An exception occurred when running the multi-instance watcher");
323-
324-
if (t.Exception is not null)
325-
App.FinalizeExceptionHandling(t.Exception);
326-
}
327-
328-
App.Terminate();
329-
});
330-
}
331-
332305
public static void LaunchBackgroundUpdater()
333306
{
334307
const string LOG_IDENT = "LaunchHandler::LaunchBackgroundUpdater";

Bloxstrap/LaunchSettings.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ public class LaunchSettings
1616

1717
public LaunchFlag WatcherFlag { get; } = new("watcher");
1818

19-
public LaunchFlag MultiInstanceWatcherFlag { get; } = new("multiinstancewatcher");
20-
2119
public LaunchFlag BackgroundUpdaterFlag { get; } = new("backgroundupdater");
2220

2321
public LaunchFlag QuietFlag { get; } = new("quiet");

Bloxstrap/Models/Persistable/Settings.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@ public class Settings
1313
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingDefault)]
1414
public bool DeveloperMode { get; set; } = false;
1515
public bool CheckForUpdates { get; set; } = true;
16-
public bool MultiInstanceLaunching { get; set; } = false;
1716
public bool ConfirmLaunches { get; set; } = false;
1817
public string Locale { get; set; } = "nil";
19-
public bool ForceRobloxLanguage { get; set; } = false;
2018
public bool UseFastFlagManager { get; set; } = true;
2119
public bool WPFSoftwareRender { get; set; } = false;
2220
public bool EnableAnalytics { get; set; } = true;

0 commit comments

Comments
 (0)