Added dialog for graphics startup errors

This commit is contained in:
Anuken 2018-10-06 17:23:43 -04:00
parent fd107ab5b8
commit 916a4cfc73
3 changed files with 10 additions and 6 deletions

View File

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

View File

@ -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<String, Preferences> prefmap;
public DesktopLauncher(ApplicationListener listener, Lwjgl3ApplicationConfiguration config){
super(listener, config);

View File

@ -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<String, Preferences> prefmap;
public ServerLauncher(ApplicationListener listener, HeadlessApplicationConfiguration config){
super(listener, config);