Finalize v2.1.0 update

extra quality assurance and stuff
This commit is contained in:
pizzaboxer 2023-03-13 18:22:44 +00:00
parent e72202f6f8
commit f8dd388f88
13 changed files with 88 additions and 23 deletions

2
.gitignore vendored
View File

@ -174,7 +174,7 @@ publish/
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
# *.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to

View File

@ -84,7 +84,7 @@ namespace Bloxstrap
Logger.WriteLine($"[App::OnStartup] Starting {ProjectName} v{Version}");
// 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.";
@ -158,11 +158,12 @@ namespace Bloxstrap
BaseDirectory = Path.Combine(Directories.LocalAppData, ProjectName);
InitLog();
// we have reshade enabled by default so we need this
FastFlags.SetRenderingMode("Direct3D 11");
if (!IsQuiet)
{
IsSetupComplete = false;
// we have reshade enabled by default so we need this
FastFlags.SetRenderingMode("Direct3D 11");
new MainWindow().ShowDialog();
}
}

View File

@ -7,8 +7,8 @@
<UseWPF>true</UseWPF>
<UseWindowsForms>True</UseWindowsForms>
<ApplicationIcon>Bloxstrap.ico</ApplicationIcon>
<Version>2.0.0</Version>
<FileVersion>2.0.0.0</FileVersion>
<Version>2.1.0</Version>
<FileVersion>2.1.0.0</FileVersion>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

View File

@ -158,6 +158,11 @@ namespace Bloxstrap
App.FastFlags.Save();
}
if (App.Settings.Prop.UseReShade)
SetStatus("Configuring/Downloading ReShade...");
await ReShade.CheckModifications();
await ApplyModifications();
if (App.IsFirstRun || FreshInstall)
@ -369,7 +374,10 @@ namespace Bloxstrap
}
if (App.Settings.Prop.UseDiscordRichPresence || App.Settings.Prop.ShowServerDetails)
{
activityWatcher = new();
shouldWait = true;
}
if (App.Settings.Prop.UseDiscordRichPresence)
{
@ -381,7 +389,6 @@ namespace Bloxstrap
{
App.Logger.WriteLine("[Bootstrapper::StartRoblox] Using server details notifier");
serverNotifier = new(activityWatcher!);
shouldWait = true;
}
// 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.UseDisableAppPatch, @"ExtraContent\places\Mobile.rbxl", "");
await ReShade.CheckModifications();
foreach (string file in Directory.GetFiles(modFolder, "*.*", SearchOption.AllDirectories))
{
// get relative directory path

View File

@ -80,6 +80,8 @@ namespace Bloxstrap.Helpers
Directory.CreateDirectory(Path.GetDirectoryName(FileLocation)!);
File.WriteAllText(FileLocation, JsonSerializer.Serialize(Prop, new JsonSerializerOptions { WriteIndented = true }));
Changes.Clear();
App.Logger.WriteLine($"[FastFlagManager::Save] JSON saved!");
}
}

View File

@ -32,6 +32,7 @@ namespace Bloxstrap.Helpers
public long ActivityPlaceId = 0;
public string ActivityJobId = "";
public string ActivityMachineAddress = "";
public bool ActivityMachineUDMUX = false;
public bool IsDisposed = false;
@ -141,6 +142,7 @@ namespace Bloxstrap.Helpers
}
ActivityMachineAddress = match.Groups[1].Value;
ActivityMachineUDMUX = true;
App.Logger.WriteLine($"[GameActivityWatcher::ExamineLogEntry] Server is UDMUX protected ({ActivityPlaceId}/{ActivityJobId}/{ActivityMachineAddress})");
}
@ -169,6 +171,7 @@ namespace Bloxstrap.Helpers
ActivityPlaceId = 0;
ActivityJobId = "";
ActivityMachineAddress = "";
ActivityMachineUDMUX = false;
OnGameLeave?.Invoke(this, new EventArgs());
}

View File

@ -78,6 +78,14 @@ namespace Bloxstrap.Helpers
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)
{
NotifyIcon notification = new()

View File

@ -109,7 +109,7 @@ namespace Bloxstrap.Integrations
_rpcClient.SetPresence(new RichPresence
{
Details = universeDetails.Name,
State = $"by {universeDetails.Creator.Name}",
State = $"by {universeDetails.Creator.Name}" + (universeDetails.Creator.HasVerifiedBadge ? " ☑️" : ""),
Timestamps = new Timestamps { Start = DateTime.UtcNow },
Buttons = buttons.ToArray(),
Assets = new Assets

View File

@ -1,4 +1,5 @@
using System.Net.NetworkInformation;
using System;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
using System.Windows.Forms;
@ -35,21 +36,30 @@ namespace Bloxstrap.Integrations
locationRegion = locationRegion.ReplaceLineEndings("");
locationCountry = locationCountry.ReplaceLineEndings("");
if (locationCity == locationRegion)
if (String.IsNullOrEmpty(locationCountry))
message = "Location: N/A";
else if (locationCity == locationRegion)
message = $"Location: {locationRegion}, {locationCountry}\n";
else
message = $"Location: {locationCity}, {locationRegion}, {locationCountry}\n";
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)
message += $"Latency: ~{ping.RoundtripTime}ms";
// 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
message += "Latency: N/A (server may be UDMUX protected)";
{
PingReply ping = await new Ping().SendPingAsync(machineAddress);
App.Logger.WriteLine($"[ServerNotifier::Notify] {message}");
if (ping.Status == IPStatus.Success)
message += $"Latency: ~{ping.RoundtripTime}ms";
else
message += $"Latency: N/A (Code {ping.Status})";
}
App.Logger.WriteLine($"[ServerNotifier::Notify] {message.ReplaceLineEndings("\\n")}");
NotifyIcon notification = new()
{

View 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>

View 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>

View File

@ -86,8 +86,8 @@ namespace Bloxstrap.ViewModels
};
dialogControl.ShowAndWaitAsync(
"Before you install",
"After installation, you can open the menu again by searching for it in the Start menu.\n" +
"What to know before you install",
"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."
);
}

View File

@ -116,7 +116,7 @@
</StackPanel>
<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>
<StackPanel>
<TextBlock FontSize="14" Text="Show server details of current game" />