diff --git a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java index 53bcd7302f..935fc85f5a 100644 --- a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java +++ b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java @@ -15,6 +15,16 @@ import java.io.StringWriter; public class CrashHandler{ public static void handle(Throwable e){ + if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher"))){ + try{ + javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName()); + }catch(Throwable ignored){} + javax.swing.JOptionPane.showMessageDialog(null, "Your graphics card does not support OpenGL 2.0!\n" + + "Try to update your graphics drivers.\n\n" + + "(If that doesn't work, your computer just doesn't support Mindustry.)", + "oh no", javax.swing.JOptionPane.INFORMATION_MESSAGE); + } + e.printStackTrace(); //don't create crash logs for me (anuke), as it's expected diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java index 6143b3f367..aabde84354 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopLauncher.java @@ -1,10 +1,8 @@ package io.anuke.mindustry.desktop; import com.badlogic.gdx.ApplicationListener; -import com.badlogic.gdx.Preferences; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; -import com.badlogic.gdx.utils.ObjectMap; import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoServer; import io.anuke.mindustry.Mindustry; @@ -12,7 +10,6 @@ import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.net.Net; public class DesktopLauncher extends Lwjgl3Application{ - ObjectMap prefmap; public DesktopLauncher(ApplicationListener listener, Lwjgl3ApplicationConfiguration config){ super(listener, config); diff --git a/server/src/io/anuke/mindustry/server/ServerLauncher.java b/server/src/io/anuke/mindustry/server/ServerLauncher.java index 69b1451953..b9c82c56d6 100644 --- a/server/src/io/anuke/mindustry/server/ServerLauncher.java +++ b/server/src/io/anuke/mindustry/server/ServerLauncher.java @@ -2,10 +2,8 @@ package io.anuke.mindustry.server; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Preferences; import com.badlogic.gdx.backends.headless.HeadlessApplication; import com.badlogic.gdx.backends.headless.HeadlessApplicationConfiguration; -import com.badlogic.gdx.utils.ObjectMap; import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoServer; import io.anuke.mindustry.net.Net; @@ -13,7 +11,6 @@ import io.anuke.ucore.util.EmptyLogger; import io.anuke.ucore.util.OS; public class ServerLauncher extends HeadlessApplication{ - ObjectMap prefmap; public ServerLauncher(ApplicationListener listener, HeadlessApplicationConfiguration config){ super(listener, config);