From 555cbe00ced6097202f148f200811acc6b1eeb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Tue, 14 Jan 2014 01:13:35 +0100 Subject: Do not use the java checker during instance update --- depends/launcher/org/multimc/Utils.java | 31 ++++++++++++++++++++++ .../org/multimc/onesix/OneSixLauncher.java | 17 ++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) (limited to 'depends/launcher') diff --git a/depends/launcher/org/multimc/Utils.java b/depends/launcher/org/multimc/Utils.java index ba90c07f..c4d55b6e 100644 --- a/depends/launcher/org/multimc/Utils.java +++ b/depends/launcher/org/multimc/Utils.java @@ -27,6 +27,37 @@ import java.util.List; public class Utils { + /** + * Combine two parts of a path. + * @param path1 + * @param path2 + * @return the paths, combined + */ + public static String combine (String path1, String path2) + { + File file1 = new File(path1); + File file2 = new File(file1, path2); + return file2.getPath(); + } + + /** + * Join a list of strings into a string using a separator! + * @param strings the string list to join + * @param separator the glue + * @return the result. + */ + public static String join (List strings, String separator) + { + StringBuilder sb = new StringBuilder(); + String sep = ""; + for(String s: strings) + { + sb.append(sep).append(s); + sep = separator; + } + return sb.toString(); + } + /** * Adds the specified library to the classpath * diff --git a/depends/launcher/org/multimc/onesix/OneSixLauncher.java b/depends/launcher/org/multimc/onesix/OneSixLauncher.java index 2232eeba..f25a3245 100644 --- a/depends/launcher/org/multimc/onesix/OneSixLauncher.java +++ b/depends/launcher/org/multimc/onesix/OneSixLauncher.java @@ -66,7 +66,11 @@ public class OneSixLauncher implements Launcher return -1; } - final ClassLoader cl = ClassLoader.getSystemClassLoader(); + String property = System.getProperty("os.arch"); + List allNativePaths = new ArrayList(); + boolean is_64 = property.equalsIgnoreCase("x86_64") || property.equalsIgnoreCase("amd64"); + allNativePaths.add(natives); + allNativePaths.add(Utils.combine(natives, is_64 ? "64" : "32")); // print the pretty things { @@ -74,6 +78,13 @@ public class OneSixLauncher implements Launcher System.out.println(mainClass); System.out.println(); + System.out.println("Native paths:"); + for (String s : allNativePaths) + { + System.out.println(s); + } + System.out.println(); + System.out.println("Libraries:"); for (String s : libraries) { @@ -96,8 +107,10 @@ public class OneSixLauncher implements Launcher System.out.println(); } + final ClassLoader cl = ClassLoader.getSystemClassLoader(); + // set up the natives path(s). - System.setProperty("java.library.path", natives ); + System.setProperty("java.library.path", Utils.join(allNativePaths, String.valueOf(File.pathSeparatorChar)) ); Field fieldSysPath; try { -- cgit v1.2.3