diff --git a/JavaApp/libs/lwjgl/lwjgl-freetype.jar b/JavaApp/libs/lwjgl/lwjgl-freetype.jar index 0f432aea05..ee801a6716 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-freetype.jar and b/JavaApp/libs/lwjgl/lwjgl-freetype.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-glfw.jar b/JavaApp/libs/lwjgl/lwjgl-glfw.jar index 7fbdca8df7..881aa110d8 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-glfw.jar and b/JavaApp/libs/lwjgl/lwjgl-glfw.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-jemalloc.jar b/JavaApp/libs/lwjgl/lwjgl-jemalloc.jar new file mode 100644 index 0000000000..44d27b4e37 Binary files /dev/null and b/JavaApp/libs/lwjgl/lwjgl-jemalloc.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-lwjglx.jar b/JavaApp/libs/lwjgl/lwjgl-lwjglx.jar index 11dd62939f..9e22fe1dbc 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-lwjglx.jar and b/JavaApp/libs/lwjgl/lwjgl-lwjglx.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-nanovg.jar b/JavaApp/libs/lwjgl/lwjgl-nanovg.jar index a8508a6293..ea0ef0e61f 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-nanovg.jar and b/JavaApp/libs/lwjgl/lwjgl-nanovg.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-openal.jar b/JavaApp/libs/lwjgl/lwjgl-openal.jar index ef070b8aac..8c2c704947 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-openal.jar and b/JavaApp/libs/lwjgl/lwjgl-openal.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-opengl.jar b/JavaApp/libs/lwjgl/lwjgl-opengl.jar index 6717cbad1c..a64930cc25 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-opengl.jar and b/JavaApp/libs/lwjgl/lwjgl-opengl.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-shaderc.jar b/JavaApp/libs/lwjgl/lwjgl-shaderc.jar index 38d4be4309..e4e044f556 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-shaderc.jar and b/JavaApp/libs/lwjgl/lwjgl-shaderc.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-stb.jar b/JavaApp/libs/lwjgl/lwjgl-stb.jar index a2991fa578..38076ce6f9 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-stb.jar and b/JavaApp/libs/lwjgl/lwjgl-stb.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-tinyfd.jar b/JavaApp/libs/lwjgl/lwjgl-tinyfd.jar index 5c2eb3cfd3..64bc885a95 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-tinyfd.jar and b/JavaApp/libs/lwjgl/lwjgl-tinyfd.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-vma.jar b/JavaApp/libs/lwjgl/lwjgl-vma.jar index 9f5b811b47..d24731cac2 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-vma.jar and b/JavaApp/libs/lwjgl/lwjgl-vma.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl-vulkan.jar b/JavaApp/libs/lwjgl/lwjgl-vulkan.jar index 9461d18b0c..53df140201 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl-vulkan.jar and b/JavaApp/libs/lwjgl/lwjgl-vulkan.jar differ diff --git a/JavaApp/libs/lwjgl/lwjgl.jar b/JavaApp/libs/lwjgl/lwjgl.jar index 47d4a9f0bb..0fd0ceec52 100644 Binary files a/JavaApp/libs/lwjgl/lwjgl.jar and b/JavaApp/libs/lwjgl/lwjgl.jar differ diff --git a/JavaApp/src/lwjgl/org/lwjgl/glfw/GLFW.java b/JavaApp/src/lwjgl/org/lwjgl/glfw/GLFW.java index 9280e52841..39701e15a2 100644 --- a/JavaApp/src/lwjgl/org/lwjgl/glfw/GLFW.java +++ b/JavaApp/src/lwjgl/org/lwjgl/glfw/GLFW.java @@ -320,13 +320,16 @@ public class GLFW GLFW_STICKY_KEYS = 0x33002, GLFW_STICKY_MOUSE_BUTTONS = 0x33003, GLFW_LOCK_KEY_MODS = 0x33004, - GLFW_RAW_MOUSE_MOTION = 0x33005; + GLFW_RAW_MOUSE_MOTION = 0x33005, + GLFW_UNLIMITED_MOUSE_BUTTONS = 0x33006, + GLFW_IME = 0x33007; /** Cursor state. */ public static final int GLFW_CURSOR_NORMAL = 0x34001, GLFW_CURSOR_HIDDEN = 0x34002, - GLFW_CURSOR_DISABLED = 0x34003; + GLFW_CURSOR_DISABLED = 0x34003, + GLFW_CURSOR_CAPTURED = 0x34004; /** The regular arrow cursor shape. */ public static final int GLFW_ARROW_CURSOR = 0x36001; @@ -499,6 +502,10 @@ public class GLFW /* volatile */ public static GLFWWindowRefreshCallback mGLFWWindowRefreshCallback; /* volatile */ public static GLFWWindowSizeCallback mGLFWWindowSizeCallback; + public static GLFWPreeditCallback mGLFWPreeditCallback; + public static GLFWIMEStatusCallback mGLFWIMEStatusCallback; + public static GLFWPreeditCandidateCallback mGLFWPreeditCandidateCallback; + volatile public static int mGLFWWindowWidth, mGLFWWindowHeight; private static GLFWGammaRamp mGLFWGammaRamp; @@ -778,7 +785,27 @@ public static GLFWWindowRefreshCallback glfwSetWindowRefreshCallback(@NativeType return lastCallback; } + public static GLFWPreeditCallback glfwSetPreeditCallback(@NativeType("GLFWwindow *") long window, @Nullable @NativeType("GLFWpreeditfun") GLFWPreeditCallbackI cbfun) { + GLFWPreeditCallback lastCallback = mGLFWPreeditCallback; + if (cbfun == null) mGLFWPreeditCallback = null; + else mGLFWPreeditCallback = GLFWPreeditCallback.create(cbfun); + + return lastCallback; + } + public static GLFWIMEStatusCallback glfwSetIMEStatusCallback(@NativeType("GLFWwindow *") long window, @NativeType("GLFWimestatusfun") @Nullable GLFWIMEStatusCallbackI cbfun) { + GLFWIMEStatusCallback lastCallback = mGLFWIMEStatusCallback; + if (cbfun == null) mGLFWIMEStatusCallback = null; + else mGLFWIMEStatusCallback = GLFWIMEStatusCallback.create(cbfun); + + return lastCallback; + } + public static GLFWPreeditCandidateCallback glfwSetPreeditCandidateCallback(@NativeType("GLFWwindow *") long window, @NativeType("GLFWpreeditcandidatefun") @Nullable GLFWPreeditCandidateCallbackI cbfun) { + GLFWPreeditCandidateCallback lastCallback = mGLFWPreeditCandidateCallback; + if (cbfun == null) mGLFWPreeditCandidateCallback = null; + else mGLFWPreeditCandidateCallback = GLFWPreeditCandidateCallback.create(cbfun); + return lastCallback; + } public static GLFWWindowSizeCallback glfwSetWindowSizeCallback(@NativeType("GLFWwindow *") long window, @Nullable @NativeType("GLFWwindowsizefun") GLFWWindowSizeCallbackI cbfun) { GLFWWindowSizeCallback lastCallback = mGLFWWindowSizeCallback; if (cbfun == null) mGLFWWindowSizeCallback = null; @@ -809,6 +836,10 @@ public static int glfwGetPlatform() { return GLFW_PLATFORM_X11; } + public static boolean glfwPlatformSupported(int platform) { + return platform == GLFW_PLATFORM_X11; + } + @NativeType("GLFWwindow *") public static long glfwGetCurrentContext() { long __functionAddress = Functions.GetCurrentContext; @@ -982,6 +1013,14 @@ public static long glfwCreateWindow(int width, int height, CharSequence title, l win.height = mGLFWWindowHeight; win.title = title; + win.windowAttribs.put(GLFW_RESIZABLE, GLFW_FALSE); + // I don't understand why Minecraft doesn't set this itself or why it crashes trying to read + // it before set when it controls the cursor status... + win.inputModes.put(GLFW_CURSOR, GLFW_CURSOR_NORMAL); + win.inputModes.put(GLFW_STICKY_KEYS, GLFW_FALSE); // TODO: Fix glfwGetKeyName() to support this + win.inputModes.put(GLFW_STICKY_MOUSE_BUTTONS, GLFW_FALSE); // TODO: Fix glfwGetMouseButton() to support this + win.inputModes.put(GLFW_IME, GLFW_FALSE); + win.windowAttribs.put(GLFW_HOVERED, 1); win.windowAttribs.put(GLFW_VISIBLE, 1); diff --git a/Natives/resources/Frameworks/libfreetype.dylib b/Natives/resources/Frameworks/libfreetype.dylib index bdeb0324e9..1b3ed29c01 100644 Binary files a/Natives/resources/Frameworks/libfreetype.dylib and b/Natives/resources/Frameworks/libfreetype.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl.dylib b/Natives/resources/Frameworks/liblwjgl.dylib old mode 100644 new mode 100755 index 80ea3f92ba..fa9868c6b6 Binary files a/Natives/resources/Frameworks/liblwjgl.dylib and b/Natives/resources/Frameworks/liblwjgl.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl_nanovg.dylib b/Natives/resources/Frameworks/liblwjgl_nanovg.dylib old mode 100644 new mode 100755 index 32904b8351..3a52ebf3b5 Binary files a/Natives/resources/Frameworks/liblwjgl_nanovg.dylib and b/Natives/resources/Frameworks/liblwjgl_nanovg.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl_opengl.dylib b/Natives/resources/Frameworks/liblwjgl_opengl.dylib old mode 100644 new mode 100755 index a2815a1204..3bff105a9a Binary files a/Natives/resources/Frameworks/liblwjgl_opengl.dylib and b/Natives/resources/Frameworks/liblwjgl_opengl.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl_stb.dylib b/Natives/resources/Frameworks/liblwjgl_stb.dylib old mode 100644 new mode 100755 index cd3a0015dc..15df424212 Binary files a/Natives/resources/Frameworks/liblwjgl_stb.dylib and b/Natives/resources/Frameworks/liblwjgl_stb.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl_tinyfd.dylib b/Natives/resources/Frameworks/liblwjgl_tinyfd.dylib old mode 100644 new mode 100755 index f63c964a3e..7beeca5d4c Binary files a/Natives/resources/Frameworks/liblwjgl_tinyfd.dylib and b/Natives/resources/Frameworks/liblwjgl_tinyfd.dylib differ diff --git a/Natives/resources/Frameworks/liblwjgl_vma.dylib b/Natives/resources/Frameworks/liblwjgl_vma.dylib index dc1f8832d2..b05b7c7448 100755 Binary files a/Natives/resources/Frameworks/liblwjgl_vma.dylib and b/Natives/resources/Frameworks/liblwjgl_vma.dylib differ diff --git a/Natives/resources/Frameworks/libshaderc.dylib b/Natives/resources/Frameworks/libshaderc.dylib old mode 100644 new mode 100755 index dd57b8069b..7079e92380 Binary files a/Natives/resources/Frameworks/libshaderc.dylib and b/Natives/resources/Frameworks/libshaderc.dylib differ