diff --git a/Client/src/main/java/org/runite/client/Signlink.java b/Client/src/main/java/org/runite/client/Signlink.java index 013e30b87..27fe41fca 100644 --- a/Client/src/main/java/org/runite/client/Signlink.java +++ b/Client/src/main/java/org/runite/client/Signlink.java @@ -391,7 +391,6 @@ public class Signlink implements Runnable { libLoaderMethod.setAccessible(false); } - boolean is64Bit = osArchitecture.contains("64"); boolean isSunOS = osName.startsWith("sunos"); //load0 is a reflection-based package-private method in Runtime. Not sure why jagex used this, but it's fucky. libLoaderMethod = Class.forName("java.lang.Runtime").getDeclaredMethod("load0", declaredMethodFields); @@ -413,8 +412,16 @@ public class Signlink implements Runnable { DRIHack.end(); libLoaderMethod.invoke(runtime, clientClass, libs[1]); } else { - if(osName.startsWith("mac") && !osArchitecture.equals("ppc")) throw new Exception(); //We only have ppc libs for mac. - String[] libs = createLibs(osName.contains("win") ? "windows" : "macppc"); + String[] libs; + if(osName.startsWith("mac")){ + if(!osArchitecture.equals("ppc")){ + libs = createLibs("macx86"); + } else { + libs = createLibs("macppc"); + } + } else { + libs = createLibs("windows"); + } //Windows has to load them this way because temporary files are illegal. String jogl = getFileFromCacheFolder(this.gameName, this.cacheSubrevisionNum, libs[0]).toString(); String awt = getFileFromCacheFolder(this.gameName, this.cacheSubrevisionNum, libs[1]).toString(); @@ -514,13 +521,12 @@ public class Signlink implements Runnable { boolean is64Bit = osArchitecture.contains("64"); boolean isWindowsOrMac = os.equals("macppc") || os.equals("windows"); - String fileExtension = os.equals("windows") ? ".dll" : os.equals("macppc") ? ".jnilib" : ".so"; + String fileExtension = os.equals("windows") ? ".dll" : (os.equals("macppc") || os.equals("macx86")) ? ".jnilib" : ".so"; + String platformExt = os.equals("macx86") ? "" : (is64Bit ? "_64" : "_32") + fileExtension; - jogl = (os.equals("windows") ? "jogl" : "libjogl") + - (is64Bit ? "_64" : "_32") + fileExtension; + jogl = (os.equals("windows") ? "jogl" : "libjogl") + platformExt; - awt = (os.equals("windows") ? "jogl_awt" : "libjogl_awt") + - (is64Bit ? "_64" : "_32") + fileExtension; + awt = (os.equals("windows") ? "jogl_awt" : "libjogl_awt") + platformExt; if(!isWindowsOrMac) isGluegenRequired = true; if(isGluegenRequired) glueGen = "libgluegen-rt_" + (is64Bit ? "64" : "32") + ".so"; diff --git a/Client/src/main/resources/lib/libjogl_64.jnilib b/Client/src/main/resources/lib/libjogl.jnilib similarity index 100% rename from Client/src/main/resources/lib/libjogl_64.jnilib rename to Client/src/main/resources/lib/libjogl.jnilib diff --git a/Client/src/main/resources/lib/libjogl_32.jnilib b/Client/src/main/resources/lib/libjogl_32.jnilib deleted file mode 100644 index 66ba6d12c..000000000 Binary files a/Client/src/main/resources/lib/libjogl_32.jnilib and /dev/null differ diff --git a/Client/src/main/resources/lib/libjogl_awt.jnilib b/Client/src/main/resources/lib/libjogl_awt.jnilib new file mode 100644 index 000000000..2f16fbfb6 Binary files /dev/null and b/Client/src/main/resources/lib/libjogl_awt.jnilib differ diff --git a/Client/src/main/resources/lib/libjogl_awt_32.jnilib b/Client/src/main/resources/lib/libjogl_awt_32.jnilib deleted file mode 100644 index ad1bc1408..000000000 Binary files a/Client/src/main/resources/lib/libjogl_awt_32.jnilib and /dev/null differ diff --git a/Client/src/main/resources/lib/libjogl_awt_64.jnilib b/Client/src/main/resources/lib/libjogl_awt_64.jnilib deleted file mode 100644 index ad1bc1408..000000000 Binary files a/Client/src/main/resources/lib/libjogl_awt_64.jnilib and /dev/null differ