From 617e3babbd006dcf126e7e11591d78f096368136 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sat, 24 Oct 2020 06:31:18 +0700 Subject: [PATCH] Another try to fix 1.13+ input --- app/src/main/java/net/kdt/pojavlaunch/Tools.java | 4 ++-- app/src/main/jni/input_bridge.c | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/Tools.java b/app/src/main/java/net/kdt/pojavlaunch/Tools.java index cdea885c5..828978f43 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -204,8 +204,8 @@ public final class Tools // Should be compatible? // overrideableArgList.add("-Dos.name=Android"); - overrideableArgList.add("-Dos.name=Android"); - overrideableArgList.add("-Dos.version=" + Build.VERSION.RELEASE); + overrideableArgList.add("-Dos.name=Linux"); + overrideableArgList.add("-Dos.version=Android-" + Build.VERSION.RELEASE); // javaArgList.add("-Dorg.lwjgl.libname=liblwjgl3.so"); // javaArgList.add("-Dorg.lwjgl.system.jemalloc.libname=libjemalloc.so"); diff --git a/app/src/main/jni/input_bridge.c b/app/src/main/jni/input_bridge.c index c1ae97cda..e7e5c6b9c 100644 --- a/app/src/main/jni/input_bridge.c +++ b/app/src/main/jni/input_bridge.c @@ -10,8 +10,8 @@ struct GLFWInputEvent { int i1, i2, i3, i4; double d1, d2; }; -static struct GLFWInputEvent glfwInputEventArr[100]; -static int glfwInputEventIndex; +GLFWInputEvent* glfwInputEventArr; +int glfwInputEventIndex; #define EVENT_TYPE_CHAR 1000 #define EVENT_TYPE_CHAR_MODS 1001 @@ -133,6 +133,8 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeAttachThreadToOt isUseStackQueueCall = (int) isUseStackQueue; if (isUseStackQueue) { isPrepareGrabPos = true; + + glfwInputEventArr = calloc(100, sizeof(GLFWInputEvent)); } else if (isAndroid) { firstJavaVM = dalvikJavaVMPtr; firstJNIEnv = dalvikJNIEnvPtr_ANDROID; @@ -294,7 +296,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendCursorPos(JN JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendFramebufferSize(JNIEnv* env, jclass clazz, jint width, jint height) { if (GLFW_invoke_FramebufferSize && isInputReady) { if (isUseStackQueueCall) { - struct GLFWInputEvent curr = glfwInputEventArr[glfwInputEventIndex++]; + struct GLFWInputEvent *curr = glfwInputEventArr[glfwInputEventIndex++]; curr.type = EVENT_TYPE_FRAMEBUFFER_SIZE; curr.i1 = width; curr.i2 = height; @@ -306,7 +308,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendFramebufferS JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendKey(JNIEnv* env, jclass clazz, jint key, jint scancode, jint action, jint mods) { if (GLFW_invoke_Key && isInputReady) { if (isUseStackQueueCall) { - struct GLFWInputEvent curr = glfwInputEventArr[glfwInputEventIndex++]; + struct GLFWInputEvent *curr = glfwInputEventArr[glfwInputEventIndex++]; curr.type = EVENT_TYPE_KEY; curr.i1 = key; curr.i2 = scancode; @@ -324,7 +326,7 @@ JNIEXPORT void JNICALL Java_org_lwjgl_glfw_CallbackBridge_nativeSendMouseButton( isPrepareGrabPos = true; } else if (GLFW_invoke_MouseButton) { if (isUseStackQueueCall) { - struct GLFWInputEvent curr = glfwInputEventArr[glfwInputEventIndex++]; + struct GLFWInputEvent *curr = glfwInputEventArr[glfwInputEventIndex++]; curr.type = EVENT_TYPE_MOUSE_BUTTON; curr.i1 = button; curr.i2 = action;