mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-24 19:41:27 -07:00
Finalize v2.1.0 update
extra quality assurance and stuff
This commit is contained in:
parent
e72202f6f8
commit
f8dd388f88
2
.gitignore
vendored
2
.gitignore
vendored
@ -174,7 +174,7 @@ publish/
|
|||||||
*.azurePubxml
|
*.azurePubxml
|
||||||
# Note: Comment the next line if you want to checkin your web deploy settings,
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
# but database connection strings (with potential passwords) will be unencrypted
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
*.pubxml
|
# *.pubxml
|
||||||
*.publishproj
|
*.publishproj
|
||||||
|
|
||||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
@ -84,7 +84,7 @@ namespace Bloxstrap
|
|||||||
Logger.WriteLine($"[App::OnStartup] Starting {ProjectName} v{Version}");
|
Logger.WriteLine($"[App::OnStartup] Starting {ProjectName} v{Version}");
|
||||||
|
|
||||||
// todo: remove this once 32-bit support is fully gone
|
// todo: remove this once 32-bit support is fully gone
|
||||||
if (!Environment.Is64BitOperatingSystem)
|
if (!App.IsQuiet && !Environment.Is64BitOperatingSystem)
|
||||||
{
|
{
|
||||||
string message = "In the near future, Roblox will no longer support 32-bit Windows devices. To keep playing Roblox, please use a device that is 64-bit compatible.";
|
string message = "In the near future, Roblox will no longer support 32-bit Windows devices. To keep playing Roblox, please use a device that is 64-bit compatible.";
|
||||||
|
|
||||||
@ -158,11 +158,12 @@ namespace Bloxstrap
|
|||||||
BaseDirectory = Path.Combine(Directories.LocalAppData, ProjectName);
|
BaseDirectory = Path.Combine(Directories.LocalAppData, ProjectName);
|
||||||
InitLog();
|
InitLog();
|
||||||
|
|
||||||
|
// we have reshade enabled by default so we need this
|
||||||
|
FastFlags.SetRenderingMode("Direct3D 11");
|
||||||
|
|
||||||
if (!IsQuiet)
|
if (!IsQuiet)
|
||||||
{
|
{
|
||||||
IsSetupComplete = false;
|
IsSetupComplete = false;
|
||||||
// we have reshade enabled by default so we need this
|
|
||||||
FastFlags.SetRenderingMode("Direct3D 11");
|
|
||||||
new MainWindow().ShowDialog();
|
new MainWindow().ShowDialog();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
<UseWindowsForms>True</UseWindowsForms>
|
<UseWindowsForms>True</UseWindowsForms>
|
||||||
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
|
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
|
||||||
<Version>2.0.0</Version>
|
<Version>2.1.0</Version>
|
||||||
<FileVersion>2.0.0.0</FileVersion>
|
<FileVersion>2.1.0.0</FileVersion>
|
||||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
@ -158,6 +158,11 @@ namespace Bloxstrap
|
|||||||
App.FastFlags.Save();
|
App.FastFlags.Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (App.Settings.Prop.UseReShade)
|
||||||
|
SetStatus("Configuring/Downloading ReShade...");
|
||||||
|
|
||||||
|
await ReShade.CheckModifications();
|
||||||
|
|
||||||
await ApplyModifications();
|
await ApplyModifications();
|
||||||
|
|
||||||
if (App.IsFirstRun || FreshInstall)
|
if (App.IsFirstRun || FreshInstall)
|
||||||
@ -369,7 +374,10 @@ namespace Bloxstrap
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (App.Settings.Prop.UseDiscordRichPresence || App.Settings.Prop.ShowServerDetails)
|
if (App.Settings.Prop.UseDiscordRichPresence || App.Settings.Prop.ShowServerDetails)
|
||||||
|
{
|
||||||
activityWatcher = new();
|
activityWatcher = new();
|
||||||
|
shouldWait = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (App.Settings.Prop.UseDiscordRichPresence)
|
if (App.Settings.Prop.UseDiscordRichPresence)
|
||||||
{
|
{
|
||||||
@ -381,7 +389,6 @@ namespace Bloxstrap
|
|||||||
{
|
{
|
||||||
App.Logger.WriteLine("[Bootstrapper::StartRoblox] Using server details notifier");
|
App.Logger.WriteLine("[Bootstrapper::StartRoblox] Using server details notifier");
|
||||||
serverNotifier = new(activityWatcher!);
|
serverNotifier = new(activityWatcher!);
|
||||||
shouldWait = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// launch custom integrations now
|
// launch custom integrations now
|
||||||
@ -796,8 +803,6 @@ namespace Bloxstrap
|
|||||||
await CheckModPreset(App.Settings.Prop.UseOldMouseCursor, @"content\textures\Cursors\KeyboardMouse\ArrowFarCursor.png", "OldFarCursor.png");
|
await CheckModPreset(App.Settings.Prop.UseOldMouseCursor, @"content\textures\Cursors\KeyboardMouse\ArrowFarCursor.png", "OldFarCursor.png");
|
||||||
await CheckModPreset(App.Settings.Prop.UseDisableAppPatch, @"ExtraContent\places\Mobile.rbxl", "");
|
await CheckModPreset(App.Settings.Prop.UseDisableAppPatch, @"ExtraContent\places\Mobile.rbxl", "");
|
||||||
|
|
||||||
await ReShade.CheckModifications();
|
|
||||||
|
|
||||||
foreach (string file in Directory.GetFiles(modFolder, "*.*", SearchOption.AllDirectories))
|
foreach (string file in Directory.GetFiles(modFolder, "*.*", SearchOption.AllDirectories))
|
||||||
{
|
{
|
||||||
// get relative directory path
|
// get relative directory path
|
||||||
|
@ -80,6 +80,8 @@ namespace Bloxstrap.Helpers
|
|||||||
Directory.CreateDirectory(Path.GetDirectoryName(FileLocation)!);
|
Directory.CreateDirectory(Path.GetDirectoryName(FileLocation)!);
|
||||||
File.WriteAllText(FileLocation, JsonSerializer.Serialize(Prop, new JsonSerializerOptions { WriteIndented = true }));
|
File.WriteAllText(FileLocation, JsonSerializer.Serialize(Prop, new JsonSerializerOptions { WriteIndented = true }));
|
||||||
|
|
||||||
|
Changes.Clear();
|
||||||
|
|
||||||
App.Logger.WriteLine($"[FastFlagManager::Save] JSON saved!");
|
App.Logger.WriteLine($"[FastFlagManager::Save] JSON saved!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ namespace Bloxstrap.Helpers
|
|||||||
public long ActivityPlaceId = 0;
|
public long ActivityPlaceId = 0;
|
||||||
public string ActivityJobId = "";
|
public string ActivityJobId = "";
|
||||||
public string ActivityMachineAddress = "";
|
public string ActivityMachineAddress = "";
|
||||||
|
public bool ActivityMachineUDMUX = false;
|
||||||
|
|
||||||
public bool IsDisposed = false;
|
public bool IsDisposed = false;
|
||||||
|
|
||||||
@ -141,6 +142,7 @@ namespace Bloxstrap.Helpers
|
|||||||
}
|
}
|
||||||
|
|
||||||
ActivityMachineAddress = match.Groups[1].Value;
|
ActivityMachineAddress = match.Groups[1].Value;
|
||||||
|
ActivityMachineUDMUX = true;
|
||||||
|
|
||||||
App.Logger.WriteLine($"[GameActivityWatcher::ExamineLogEntry] Server is UDMUX protected ({ActivityPlaceId}/{ActivityJobId}/{ActivityMachineAddress})");
|
App.Logger.WriteLine($"[GameActivityWatcher::ExamineLogEntry] Server is UDMUX protected ({ActivityPlaceId}/{ActivityJobId}/{ActivityMachineAddress})");
|
||||||
}
|
}
|
||||||
@ -169,6 +171,7 @@ namespace Bloxstrap.Helpers
|
|||||||
ActivityPlaceId = 0;
|
ActivityPlaceId = 0;
|
||||||
ActivityJobId = "";
|
ActivityJobId = "";
|
||||||
ActivityMachineAddress = "";
|
ActivityMachineAddress = "";
|
||||||
|
ActivityMachineUDMUX = false;
|
||||||
|
|
||||||
OnGameLeave?.Invoke(this, new EventArgs());
|
OnGameLeave?.Invoke(this, new EventArgs());
|
||||||
}
|
}
|
||||||
|
@ -78,6 +78,14 @@ namespace Bloxstrap.Helpers
|
|||||||
|
|
||||||
Bootstrapper.Register();
|
Bootstrapper.Register();
|
||||||
|
|
||||||
|
// update check: if we're upgrading to v2.1.0 and have reshade enabled,
|
||||||
|
// we need to set our renderer to direct3d 11
|
||||||
|
if (App.Settings.Prop.UseReShade && App.FastFlags.GetValue(FastFlagManager.RenderingModes["Direct3D 11"]) is null)
|
||||||
|
{
|
||||||
|
App.FastFlags.SetRenderingMode("Direct3D 11");
|
||||||
|
App.FastFlags.Save();
|
||||||
|
}
|
||||||
|
|
||||||
if (isAutoUpgrade)
|
if (isAutoUpgrade)
|
||||||
{
|
{
|
||||||
NotifyIcon notification = new()
|
NotifyIcon notification = new()
|
||||||
|
@ -109,7 +109,7 @@ namespace Bloxstrap.Integrations
|
|||||||
_rpcClient.SetPresence(new RichPresence
|
_rpcClient.SetPresence(new RichPresence
|
||||||
{
|
{
|
||||||
Details = universeDetails.Name,
|
Details = universeDetails.Name,
|
||||||
State = $"by {universeDetails.Creator.Name}",
|
State = $"by {universeDetails.Creator.Name}" + (universeDetails.Creator.HasVerifiedBadge ? " ☑️" : ""),
|
||||||
Timestamps = new Timestamps { Start = DateTime.UtcNow },
|
Timestamps = new Timestamps { Start = DateTime.UtcNow },
|
||||||
Buttons = buttons.ToArray(),
|
Buttons = buttons.ToArray(),
|
||||||
Assets = new Assets
|
Assets = new Assets
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.Net.NetworkInformation;
|
using System;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
@ -35,21 +36,30 @@ namespace Bloxstrap.Integrations
|
|||||||
locationRegion = locationRegion.ReplaceLineEndings("");
|
locationRegion = locationRegion.ReplaceLineEndings("");
|
||||||
locationCountry = locationCountry.ReplaceLineEndings("");
|
locationCountry = locationCountry.ReplaceLineEndings("");
|
||||||
|
|
||||||
if (locationCity == locationRegion)
|
if (String.IsNullOrEmpty(locationCountry))
|
||||||
|
message = "Location: N/A";
|
||||||
|
else if (locationCity == locationRegion)
|
||||||
message = $"Location: {locationRegion}, {locationCountry}\n";
|
message = $"Location: {locationRegion}, {locationCountry}\n";
|
||||||
else
|
else
|
||||||
message = $"Location: {locationCity}, {locationRegion}, {locationCountry}\n";
|
message = $"Location: {locationCity}, {locationRegion}, {locationCountry}\n";
|
||||||
|
|
||||||
|
// UDMUX protected servers don't respond to ICMP packets and so the ping fails
|
||||||
|
// we could probably get around this by doing a UDP latency test but ehhhhhhhh
|
||||||
|
if (_activityWatcher.ActivityMachineUDMUX)
|
||||||
|
{
|
||||||
|
message += "Latency: N/A (Server is UDMUX protected)";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
PingReply ping = await new Ping().SendPingAsync(machineAddress);
|
PingReply ping = await new Ping().SendPingAsync(machineAddress);
|
||||||
|
|
||||||
// UDMUX protected servers reject ICMP packets and so the ping fails
|
|
||||||
// we could get around this by doing a UDP ping but ehhhhhhhhhhhhh
|
|
||||||
if (ping.Status == IPStatus.Success)
|
if (ping.Status == IPStatus.Success)
|
||||||
message += $"Latency: ~{ping.RoundtripTime}ms";
|
message += $"Latency: ~{ping.RoundtripTime}ms";
|
||||||
else
|
else
|
||||||
message += "Latency: N/A (server may be UDMUX protected)";
|
message += $"Latency: N/A (Code {ping.Status})";
|
||||||
|
}
|
||||||
|
|
||||||
App.Logger.WriteLine($"[ServerNotifier::Notify] {message}");
|
App.Logger.WriteLine($"[ServerNotifier::Notify] {message.ReplaceLineEndings("\\n")}");
|
||||||
|
|
||||||
NotifyIcon notification = new()
|
NotifyIcon notification = new()
|
||||||
{
|
{
|
||||||
|
18
Bloxstrap/Properties/PublishProfiles/Publish-x64.pubxml
Normal file
18
Bloxstrap/Properties/PublishProfiles/Publish-x64.pubxml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Any CPU</Platform>
|
||||||
|
<PublishDir>bin\Release\net6.0-windows\publish\win-x64\</PublishDir>
|
||||||
|
<PublishProtocol>FileSystem</PublishProtocol>
|
||||||
|
<_TargetId>Folder</_TargetId>
|
||||||
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||||
|
<SelfContained>false</SelfContained>
|
||||||
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
|
<PublishReadyToRun>false</PublishReadyToRun>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
18
Bloxstrap/Properties/PublishProfiles/Publish-x86.pubxml
Normal file
18
Bloxstrap/Properties/PublishProfiles/Publish-x86.pubxml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Any CPU</Platform>
|
||||||
|
<PublishDir>bin\Release\net6.0-windows\publish\win-x86\</PublishDir>
|
||||||
|
<PublishProtocol>FileSystem</PublishProtocol>
|
||||||
|
<_TargetId>Folder</_TargetId>
|
||||||
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
|
<RuntimeIdentifier>win-x86</RuntimeIdentifier>
|
||||||
|
<SelfContained>false</SelfContained>
|
||||||
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
|
<PublishReadyToRun>false</PublishReadyToRun>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
@ -86,8 +86,8 @@ namespace Bloxstrap.ViewModels
|
|||||||
};
|
};
|
||||||
|
|
||||||
dialogControl.ShowAndWaitAsync(
|
dialogControl.ShowAndWaitAsync(
|
||||||
"Before you install",
|
"What to know before you install",
|
||||||
"After installation, you can open the menu again by searching for it in the Start menu.\n" +
|
"After installation, you can open this menu again by searching for it in the Start menu.\n" +
|
||||||
"If you want to revert back to the original Roblox launcher, just uninstall Bloxstrap and it will automatically revert."
|
"If you want to revert back to the original Roblox launcher, just uninstall Bloxstrap and it will automatically revert."
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@
|
|||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<TextBlock Text="Miscellaneous" FontSize="16" FontWeight="Medium" Margin="0,16,0,0" />
|
<TextBlock Text="Miscellaneous" FontSize="16" FontWeight="Medium" Margin="0,16,0,0" />
|
||||||
<ui:CardControl Margin="0,8,0,0" Padding="16,13,16,12" IsEnabled="{Binding IsChecked, ElementName=RbxFpsUnlockerEnabledToggle, Mode=OneWay}">
|
<ui:CardControl Margin="0,8,0,0" Padding="16,13,16,12">
|
||||||
<ui:CardControl.Header>
|
<ui:CardControl.Header>
|
||||||
<StackPanel>
|
<StackPanel>
|
||||||
<TextBlock FontSize="14" Text="Show server details of current game" />
|
<TextBlock FontSize="14" Text="Show server details of current game" />
|
||||||
|
Loading…
Reference in New Issue
Block a user