From 032c06c364e9a1ea7b44409fa27a455e3d4643d7 Mon Sep 17 00:00:00 2001 From: Duy Tran Khanh Date: Sat, 6 Mar 2021 15:46:53 +0700 Subject: [PATCH] [Backend switcher] Fix the crash --- .../java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java | 4 ++-- .../src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java | 6 +++++- app_pojavlauncher/src/main/res/values/headings_array.xml | 5 +++++ app_pojavlauncher/src/main/res/xml/pref_main.xml | 3 ++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java index 4d4a81024..584c9a5ac 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java @@ -6,7 +6,7 @@ import net.kdt.pojavlaunch.*; public class LauncherPreferences { public static SharedPreferences DEFAULT_PREF; - public static String PREF_RENDERER = "2"; + public static String PREF_RENDERER = "opengles2"; public static boolean PREF_VERTYPE_RELEASE = true; public static boolean PREF_VERTYPE_SNAPSHOT = false; public static boolean PREF_VERTYPE_OLDALPHA = false; @@ -29,7 +29,7 @@ public class LauncherPreferences public static boolean PREF_DISABLE_GESTURES = false; public static float PREF_MOUSESPEED = 1f; public static void loadPreferences() { - PREF_RENDERER = DEFAULT_PREF.getString("renderer", "2"); + PREF_RENDERER = DEFAULT_PREF.getString("renderer", "opengles2"); PREF_BUTTONSIZE = DEFAULT_PREF.getInt("buttonscale", 100); PREF_MOUSESCALE = DEFAULT_PREF.getInt("mousescale", 100); PREF_MOUSESPEED = ((float)DEFAULT_PREF.getInt("mousespeed",100))/100f; diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java index cba7bddd3..5c7c15a9b 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java @@ -252,8 +252,12 @@ public class JREUtils if (glesMajor < 3) { //fallback to 2 since it's the minimum for the entire app envMap.put("LIBGL_ES","2"); + } else if (LauncherPreferences.PREF_RENDERER.startsWith("opengles")) { + envMap.put("LIBGL_ES", LauncherPreferences.PREF_RENDERER.replace("opengles", "")); } else { - envMap.put("LIBGL_ES", LauncherPreferences.PREF_RENDERER); + // TODO if can: other backends such as Vulkan. + // Sure, they should provide GLES 3 support. + envMap.put("LIBGL_ES", "3"); } } for (Map.Entry env : envMap.entrySet()) { diff --git a/app_pojavlauncher/src/main/res/values/headings_array.xml b/app_pojavlauncher/src/main/res/values/headings_array.xml index bf4e37c66..720524b16 100644 --- a/app_pojavlauncher/src/main/res/values/headings_array.xml +++ b/app_pojavlauncher/src/main/res/values/headings_array.xml @@ -11,4 +11,9 @@ @string/mcl_setting_renderer_gles2 @string/mcl_setting_renderer_gles3 + + + opengles2 + opengles3 + diff --git a/app_pojavlauncher/src/main/res/xml/pref_main.xml b/app_pojavlauncher/src/main/res/xml/pref_main.xml index c65e28038..25c4d4f2e 100644 --- a/app_pojavlauncher/src/main/res/xml/pref_main.xml +++ b/app_pojavlauncher/src/main/res/xml/pref_main.xml @@ -15,7 +15,8 @@ android:title="@string/mcl_setting_category_renderer" android:key="renderer" android:defaultValue="2" - android:entries="@array/renderer" /> + android:entries="@array/renderer" + android:entryValues="renderer_values"/>