From 879f852277cf3fba97358535b721bab4e327512a Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Fri, 31 May 2024 13:26:31 +0700 Subject: [PATCH] Workaround: ignore jna and stub new function Fix a check on replacing JNA, add a missing function. These are sufficient for 1.21-pre1 for now as it's requiring LWJGL 3.3.3, which will be updated later. --- JavaApp/src/main/java/org/lwjgl/glfw/GLFW.java | 3 +++ Natives/MinecraftResourceUtils.m | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/JavaApp/src/main/java/org/lwjgl/glfw/GLFW.java b/JavaApp/src/main/java/org/lwjgl/glfw/GLFW.java index 76ed0409..cb99fcb4 100644 --- a/JavaApp/src/main/java/org/lwjgl/glfw/GLFW.java +++ b/JavaApp/src/main/java/org/lwjgl/glfw/GLFW.java @@ -1007,6 +1007,9 @@ public class GLFW if (height != null) height.put(internalGetWindow(window).height); } + public static void glfwSetWindowSizeLimits(@NativeType("GLFWwindow *") long window, int minwidth, int minheight, int maxwidth, int maxheight) { + } + public static void glfwSetWindowPos(long window, int x, int y) { internalGetWindow(window).x = x; internalGetWindow(window).y = y; diff --git a/Natives/MinecraftResourceUtils.m b/Natives/MinecraftResourceUtils.m index 5c64d789..83bbec11 100644 --- a/Natives/MinecraftResourceUtils.m +++ b/Natives/MinecraftResourceUtils.m @@ -83,8 +83,11 @@ if ([library[@"name"] hasPrefix:@"net.java.dev.jna:jna:"]) { // Special handling for LabyMod 1.8.9 and Forge 1.12.2(?) // we have libjnidispatch 5.13.0 in Frameworks directory - if (!(version[0].intValue < 5 || version[1].intValue < 13 || version[2].intValue < 1)) { - NSLog(@"[MCDL] Warning: JNA version required by %@ is %@ > 5.13.0, compatibility might be broken.", json[@"id"], versionStr); + char bundledVer[4] = {5, 13, 0, 0}; + char requiredVer[4] = {(char)version[0].intValue, (char)version[1].intValue, (char)version[2].intValue, 0}; + if (*(uint32_t *)requiredVer > *(uint32_t*)bundledVer) { + NSLog(@"[MCDL] Warning: JNA version required by %@ is %@ > 5.13.0, skipping JNA replacement.", json[@"id"], versionStr); + continue; } library[@"name"] = @"net.java.dev.jna:jna:5.13.0"; library[@"downloads"][@"artifact"][@"path"] = @"net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar";