From a72d95e6d7e25dc7b584033b770d83551341732d Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 2 Nov 2019 14:16:26 -0400 Subject: [PATCH] Display steam load error message --- core/assets/bundles/bundle.properties | 1 + .../src/io/anuke/mindustry/desktop/DesktopLauncher.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 4745d57100..3cbaea6ac8 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -275,6 +275,7 @@ missing = This item has been deleted or moved.\n[lightgray]The workshop listing publishing = [accent]Publishing... publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! publish.error = Error publishing item: {0} +steam.error = Failed to initialize Steam services.\nError: {0} editor.brush = Brush editor.openin = Open In Editor diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java index c9a7f926ea..cc5fcb89a2 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java @@ -40,6 +40,7 @@ public class DesktopLauncher extends ClientLauncher{ public final static String discordID = "610508934456934412"; boolean useDiscord = OS.is64Bit, loadError = false; + Throwable steamError; static{ if(!Charset.forName("US-ASCII").newEncoder().canEncode(System.getProperty("user.name", ""))){ @@ -134,6 +135,12 @@ public class DesktopLauncher extends ClientLauncher{ label[0].invalidateHierarchy(); } }); + + if(steamError != null){ + Core.app.post(() -> Core.app.post(() -> Core.app.post(() -> { + ui.showErrorMessage(Core.bundle.format("steam.error", (steamError.getMessage() == null) ? steamError.getClass().getSimpleName() : steamError.getClass().getSimpleName() + ": " + steamError.getMessage())); + }))); + } }); try{ @@ -159,6 +166,7 @@ public class DesktopLauncher extends ClientLauncher{ } void logSteamError(Throwable e){ + steamError = e; loadError = true; Log.err(e); try(OutputStream s = new FileOutputStream(new File("steam-error-log-" + System.nanoTime() + ".txt"))){