diff --git a/Bloxstrap/App.xaml.cs b/Bloxstrap/App.xaml.cs index f5b6d47..fbdb797 100644 --- a/Bloxstrap/App.xaml.cs +++ b/Bloxstrap/App.xaml.cs @@ -159,7 +159,13 @@ namespace Bloxstrap if (connectionResult is not null) { Logger.WriteException(LOG_IDENT, connectionResult); - Frontend.ShowConnectivityDialog("Roblox", Bloxstrap.Resources.Strings.Bootstrapper_Connectivity_Preventing, connectionResult); + + Frontend.ShowConnectivityDialog( + Bloxstrap.Resources.Strings.Dialog_Connectivity_UnableToConnect, + Bloxstrap.Resources.Strings.Bootstrapper_Connectivity_Preventing, + connectionResult + ); + return; } diff --git a/Bloxstrap/Bootstrapper.cs b/Bloxstrap/Bootstrapper.cs index e7453f7..e4bcc01 100644 --- a/Bloxstrap/Bootstrapper.cs +++ b/Bloxstrap/Bootstrapper.cs @@ -154,7 +154,7 @@ namespace Bloxstrap else if (ex.GetType() == typeof(AggregateException)) ex = ex.InnerException!; - Frontend.ShowConnectivityDialog("Roblox", message, ex); + Frontend.ShowConnectivityDialog(Strings.Dialog_Connectivity_UnableToConnect, message, ex); App.Terminate(ErrorCode.ERROR_CANCELLED); } @@ -1461,7 +1461,7 @@ namespace Bloxstrap string hash = MD5Hash.FromStream(fileStream); if (hash != package.Signature) - throw new ChecksumFailedException($"Failed to verify download of {packageUrl}\n\nGot signature: {hash}\n\nPackage has been downloaded to {packageLocation}\n\nPlease send the file shown above in a bug report."); + throw new ChecksumFailedException($"Failed to verify download of {packageUrl}\n\nExpected hash: {package.Signature}\nGot hash: {hash}"); App.Logger.WriteLine(LOG_IDENT, $"Finished downloading! ({totalBytesRead} bytes total)"); break; @@ -1471,7 +1471,17 @@ namespace Bloxstrap App.Logger.WriteLine(LOG_IDENT, $"An exception occurred after downloading {totalBytesRead} bytes. ({i}/{maxTries})"); App.Logger.WriteException(LOG_IDENT, ex); - if (i >= maxTries || ex.GetType() == typeof(ChecksumFailedException)) + if (ex.GetType() == typeof(ChecksumFailedException)) + { + Frontend.ShowConnectivityDialog( + Strings.Dialog_Connectivity_UnableToDownload, + String.Format(Strings.Dialog_Connectivity_UnableToDownloadReason, "[https://github.com/pizzaboxer/bloxstrap/wiki/Bloxstrap-is-unable-to-download-Roblox](https://github.com/pizzaboxer/bloxstrap/wiki/Bloxstrap-is-unable-to-download-Roblox)"), + ex + ); + + App.Terminate(ErrorCode.ERROR_CANCELLED); + } + else if (i >= maxTries) throw; if (File.Exists(packageLocation)) diff --git a/Bloxstrap/Resources/Strings.Designer.cs b/Bloxstrap/Resources/Strings.Designer.cs index 006216d..b76daca 100644 --- a/Bloxstrap/Resources/Strings.Designer.cs +++ b/Bloxstrap/Resources/Strings.Designer.cs @@ -622,7 +622,7 @@ namespace Bloxstrap.Resources { } /// - /// Looks up a localized string similar to Bloxstrap is unable to connect to {0}. + /// Looks up a localized string similar to Bloxstrap is unable to connect to Roblox. /// public static string Dialog_Connectivity_UnableToConnect { get { @@ -630,6 +630,24 @@ namespace Bloxstrap.Resources { } } + /// + /// Looks up a localized string similar to Bloxstrap is unable to download Roblox. + /// + public static string Dialog_Connectivity_UnableToDownload { + get { + return ResourceManager.GetString("Dialog.Connectivity.UnableToDownload", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Roblox cannot be downloaded at this time. Please read the following help page for more information: {0}. + /// + public static string Dialog_Connectivity_UnableToDownloadReason { + get { + return ResourceManager.GetString("Dialog.Connectivity.UnableToDownloadReason", resourceCulture); + } + } + /// /// Looks up a localized string similar to Copy log contents. /// diff --git a/Bloxstrap/Resources/Strings.resx b/Bloxstrap/Resources/Strings.resx index ccfd6c4..0693768 100644 --- a/Bloxstrap/Resources/Strings.resx +++ b/Bloxstrap/Resources/Strings.resx @@ -310,7 +310,7 @@ Click for more information Connectivity error - Bloxstrap is unable to connect to {0} + Bloxstrap is unable to connect to Roblox Copy log contents @@ -1061,4 +1061,10 @@ Scroll for more languages. Disable terrain textures + + Bloxstrap is unable to download Roblox + + + Roblox cannot be downloaded at this time. Please read the following help page for more information: {0} + \ No newline at end of file