From 99cb0f9451b63e96520939f1fca170b35ccd0848 Mon Sep 17 00:00:00 2001 From: Brian Matzon Date: Mon, 10 Jan 2011 21:50:21 +0000 Subject: [PATCH] add support for passing in lwjgl specific properties via java_arguments applet parameter --- .../org/lwjgl/util/applet/AppletLoader.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/java/org/lwjgl/util/applet/AppletLoader.java b/src/java/org/lwjgl/util/applet/AppletLoader.java index 59c29c0a..e9027067 100644 --- a/src/java/org/lwjgl/util/applet/AppletLoader.java +++ b/src/java/org/lwjgl/util/applet/AppletLoader.java @@ -759,6 +759,9 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { // add the downloaded jars and natives to classpath updateClassPath(path); + + // set lwjgl properties + setLWJGLProperties(); // switch to LWJGL Applet switchApplet(); @@ -776,6 +779,26 @@ public class AppletLoader extends Applet implements Runnable, AppletStub { } } + /** + * Parses the java_arguments list and sets lwjgl specific + * properties accordingly, before the launch. + */ + protected void setLWJGLProperties() { + String javaArguments = getParameter("java_arguments"); + if(javaArguments != null && javaArguments.length() > 0) { + int start = javaArguments.indexOf("-Dorg.lwjgl"); + while(start != -1) { + int end = javaArguments.indexOf(" ", start); + if(end == -1) { + end = javaArguments.length(); + } + String[] keyValue = javaArguments.substring(start+2, end).split("="); + System.setProperty(keyValue[0], keyValue[1]); + start = javaArguments.indexOf("-Dorg.lwjgl", end); + } + } + } + /** * get path to the lwjgl cache directory *