diff --git a/gradle.properties b/gradle.properties index f4c74445a..e18680a7a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,6 @@ jmeVersionTagID = 0 buildJavaDoc = true # specify if SDK and Native libraries get built -buildSdkProject = true buildNativeProjects = false buildAndroidExamples = false diff --git a/jme3-core/src/main/java/com/jme3/animation/Bone.java b/jme3-core/src/main/java/com/jme3/animation/Bone.java index 29c0f38e9..fcbacb337 100644 --- a/jme3-core/src/main/java/com/jme3/animation/Bone.java +++ b/jme3-core/src/main/java/com/jme3/animation/Bone.java @@ -139,11 +139,7 @@ public final class Bone implements Savable { /** * Special-purpose copy constructor. *

- * Only copies the name and bind pose from the original. - *

- * WARNING: Local bind pose and world inverse bind pose transforms shallow - * copied. Modifying that data on the original bone will cause it to - * be recomputed on any cloned bones. + * Only copies the name, user control state and bind pose transforms from the original. *

* The rest of the data is NOT copied, as it will be * generated automatically when the bone is animated. @@ -155,13 +151,13 @@ public final class Bone implements Savable { userControl = source.userControl; - bindPos = source.bindPos; - bindRot = source.bindRot; - bindScale = source.bindScale; + bindPos = source.bindPos.clone(); + bindRot = source.bindRot.clone(); + bindScale = source.bindScale.clone(); - modelBindInversePos = source.modelBindInversePos; - modelBindInverseRot = source.modelBindInverseRot; - modelBindInverseScale = source.modelBindInverseScale; + modelBindInversePos = source.modelBindInversePos.clone(); + modelBindInverseRot = source.modelBindInverseRot.clone(); + modelBindInverseScale = source.modelBindInverseScale.clone(); // parent and children will be assigned manually.. } diff --git a/jme3-core/src/main/java/com/jme3/asset/AssetKey.java b/jme3-core/src/main/java/com/jme3/asset/AssetKey.java index a266bd74c..4066d7e14 100644 --- a/jme3-core/src/main/java/com/jme3/asset/AssetKey.java +++ b/jme3-core/src/main/java/com/jme3/asset/AssetKey.java @@ -156,7 +156,7 @@ public class AssetKey implements Savable, Cloneable { list.removeLast(); } else { list.add(".."); - Logger.getLogger(AssetKey.class.getName()).log(Level.SEVERE, "Asset path is outside assetmanager root"); + Logger.getLogger(AssetKey.class.getName()).log(Level.SEVERE, "Asset path \"{0}\" is outside assetmanager root", path); } } else { list.add(string); diff --git a/jme3-core/src/main/java/com/jme3/scene/BatchNode.java b/jme3-core/src/main/java/com/jme3/scene/BatchNode.java index e1d4cce7f..26d944b88 100644 --- a/jme3-core/src/main/java/com/jme3/scene/BatchNode.java +++ b/jme3-core/src/main/java/com/jme3/scene/BatchNode.java @@ -116,7 +116,7 @@ public class BatchNode extends GeometryGroupNode { } @Override - public void onGeoemtryUnassociated(Geometry geom) { + public void onGeometryUnassociated(Geometry geom) { setNeedsFullRebatch(true); } diff --git a/jme3-core/src/main/java/com/jme3/scene/Geometry.java b/jme3-core/src/main/java/com/jme3/scene/Geometry.java index b45a6a4ea..87f9d7147 100644 --- a/jme3-core/src/main/java/com/jme3/scene/Geometry.java +++ b/jme3-core/src/main/java/com/jme3/scene/Geometry.java @@ -351,7 +351,7 @@ public class Geometry extends Spatial { if (groupNode != null) { // Once the geometry is removed // from the parent, the group node needs to be updated. - groupNode.onGeoemtryUnassociated(this); + groupNode.onGeometryUnassociated(this); groupNode = null; // change the default to -1 to make error detection easier diff --git a/jme3-core/src/main/java/com/jme3/scene/GeometryGroupNode.java b/jme3-core/src/main/java/com/jme3/scene/GeometryGroupNode.java index 2665f768e..3a99759d1 100644 --- a/jme3-core/src/main/java/com/jme3/scene/GeometryGroupNode.java +++ b/jme3-core/src/main/java/com/jme3/scene/GeometryGroupNode.java @@ -83,5 +83,5 @@ public abstract class GeometryGroupNode extends Node { * * @param geom The Geometry which is being unassociated. */ - public abstract void onGeoemtryUnassociated(Geometry geom); + public abstract void onGeometryUnassociated(Geometry geom); } diff --git a/jme3-core/src/main/java/com/jme3/scene/instancing/InstancedNode.java b/jme3-core/src/main/java/com/jme3/scene/instancing/InstancedNode.java index 554b8606a..61ec61956 100644 --- a/jme3-core/src/main/java/com/jme3/scene/instancing/InstancedNode.java +++ b/jme3-core/src/main/java/com/jme3/scene/instancing/InstancedNode.java @@ -329,7 +329,7 @@ public class InstancedNode extends GeometryGroupNode { } @Override - public void onGeoemtryUnassociated(Geometry geom) { + public void onGeometryUnassociated(Geometry geom) { removeFromInstancedGeometry(geom); } } diff --git a/jme3-core/src/main/java/com/jme3/scene/shape/Cylinder.java b/jme3-core/src/main/java/com/jme3/scene/shape/Cylinder.java index 1d215eb6b..1e0b1cae2 100644 --- a/jme3-core/src/main/java/com/jme3/scene/shape/Cylinder.java +++ b/jme3-core/src/main/java/com/jme3/scene/shape/Cylinder.java @@ -211,7 +211,7 @@ public class Cylinder extends Mesh { */ public void updateGeometry(int axisSamples, int radialSamples, float radius, float radius2, float height, boolean closed, boolean inverted) { - this.axisSamples = axisSamples + (closed ? 2 : 0); + this.axisSamples = axisSamples; this.radialSamples = radialSamples; this.radius = radius; this.radius2 = radius2; @@ -222,6 +222,7 @@ public class Cylinder extends Mesh { // VertexBuffer pvb = getBuffer(Type.Position); // VertexBuffer nvb = getBuffer(Type.Normal); // VertexBuffer tvb = getBuffer(Type.TexCoord); + axisSamples += (closed ? 2 : 0); // Vertices int vertCount = axisSamples * (radialSamples + 1) + (closed ? 2 : 0); diff --git a/jme3-core/src/main/java/com/jme3/util/BufferUtils.java b/jme3-core/src/main/java/com/jme3/util/BufferUtils.java index 24af81bf6..feb3ff8cd 100644 --- a/jme3-core/src/main/java/com/jme3/util/BufferUtils.java +++ b/jme3-core/src/main/java/com/jme3/util/BufferUtils.java @@ -51,7 +51,6 @@ import java.nio.IntBuffer; import java.nio.LongBuffer; import java.nio.ShortBuffer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; import java.util.logging.Logger; @@ -1268,7 +1267,6 @@ public final class BufferUtils { System.out.println(store.toString()); } } - private static final AtomicBoolean loadedMethods = new AtomicBoolean(false); private static Method cleanerMethod = null; private static Method cleanMethod = null; private static Method viewedBufferMethod = null; @@ -1288,31 +1286,23 @@ public final class BufferUtils { } } - private static void loadCleanerMethods() { - // If its already true, exit, if not, set it to true. - if (BufferUtils.loadedMethods.getAndSet(true)) { - return; + static { + // Oracle JRE / OpenJDK + cleanerMethod = loadMethod("sun.nio.ch.DirectBuffer", "cleaner"); + cleanMethod = loadMethod("sun.misc.Cleaner", "clean"); + viewedBufferMethod = loadMethod("sun.nio.ch.DirectBuffer", "viewedBuffer"); + if (viewedBufferMethod == null) { + // They changed the name in Java 7 (???) + viewedBufferMethod = loadMethod("sun.nio.ch.DirectBuffer", "attachment"); } - // This could potentially be called many times if used from multiple - // threads - synchronized (BufferUtils.loadedMethods) { - // Oracle JRE / OpenJDK - cleanerMethod = loadMethod("sun.nio.ch.DirectBuffer", "cleaner"); - cleanMethod = loadMethod("sun.misc.Cleaner", "clean"); - viewedBufferMethod = loadMethod("sun.nio.ch.DirectBuffer", "viewedBuffer"); - if (viewedBufferMethod == null) { - // They changed the name in Java 7 (???) - viewedBufferMethod = loadMethod("sun.nio.ch.DirectBuffer", "attachment"); - } - // Apache Harmony - ByteBuffer bb = BufferUtils.createByteBuffer(1); - Class clazz = bb.getClass(); - try { - freeMethod = clazz.getMethod("free"); - } catch (NoSuchMethodException ex) { - } catch (SecurityException ex) { - } + // Apache Harmony + ByteBuffer bb = BufferUtils.createByteBuffer(1); + Class clazz = bb.getClass(); + try { + freeMethod = clazz.getMethod("free"); + } catch (NoSuchMethodException ex) { + } catch (SecurityException ex) { } } @@ -1333,8 +1323,6 @@ public final class BufferUtils { return; } - BufferUtils.loadCleanerMethods(); - try { if (freeMethod != null) { freeMethod.invoke(toBeDestroyed); diff --git a/jme3-effects/src/main/resources/Common/MatDefs/SSAO/normal.vert b/jme3-effects/src/main/resources/Common/MatDefs/SSAO/normal.vert index 82a08f392..00aa103ff 100644 --- a/jme3-effects/src/main/resources/Common/MatDefs/SSAO/normal.vert +++ b/jme3-effects/src/main/resources/Common/MatDefs/SSAO/normal.vert @@ -19,6 +19,6 @@ void main(void) #ifdef NUM_BONES Skinning_Compute(modelSpacePos,modelSpaceNormals); #endif - normal = normalize(g_NormalMatrix * modelSpaceNormals); + normal = normalize(TransformNormal(modelSpaceNormals)); gl_Position = g_WorldViewProjectionMatrix * modelSpacePos; } \ No newline at end of file diff --git a/jme3-examples/build.gradle b/jme3-examples/build.gradle index 09e71997e..371a7aaab 100644 --- a/jme3-examples/build.gradle +++ b/jme3-examples/build.gradle @@ -5,11 +5,15 @@ if (!hasProperty('mainClass')) { } task run(dependsOn: 'build', type:JavaExec) { - main = mainClass - classpath = sourceSets.main.runtimeClasspath - if( assertions == "true" ){ - enableAssertions = true; - } + main = mainClass + classpath = sourceSets.main.runtimeClasspath + if (System.properties['os.name'].toLowerCase().contains('mac')) { + jvmArgs "-XstartOnFirstThread" + jvmArgs "-Djava.awt.headless=true" + } + if( assertions == "true" ){ + enableAssertions = true; + } } dependencies { diff --git a/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglContext.java b/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglContext.java index a74b19cdb..0fe8a7b23 100644 --- a/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglContext.java +++ b/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglContext.java @@ -99,24 +99,6 @@ public abstract class LwjglContext implements JmeContext { return Integer.MAX_VALUE; } - protected void loadNatives() { - if (JmeSystem.isLowPermissions()) { - return; - } - - if ("LWJGL".equals(settings.getAudioRenderer())) { - NativeLibraryLoader.loadNativeLibrary("openal-lwjgl3", true); - } - - if (NativeLibraryLoader.isUsingNativeBullet()) { - NativeLibraryLoader.loadNativeLibrary("bulletjme", true); - } - - NativeLibraryLoader.loadNativeLibrary("glfw-lwjgl3", true); - NativeLibraryLoader.loadNativeLibrary("jemalloc-lwjgl3", true); - NativeLibraryLoader.loadNativeLibrary("lwjgl3", true); - } - protected int getNumSamplesToUse() { int samples = 0; if (settings.getSamples() > 1) { @@ -134,6 +116,17 @@ public abstract class LwjglContext implements JmeContext { return samples; } + protected void loadNatives() { + if (JmeSystem.isLowPermissions()) { + return; + } + + if (NativeLibraryLoader.isUsingNativeBullet()) { + NativeLibraryLoader.loadNativeLibrary("bulletjme", true); + } + } + + protected void initContextFirstTime() { final GLCapabilities capabilities = createCapabilities(settings.getRenderer().equals(AppSettings.LWJGL_OPENGL3)); diff --git a/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglWindow.java b/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglWindow.java index 48cdd1cab..aaa24ce42 100644 --- a/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglWindow.java +++ b/jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglWindow.java @@ -81,6 +81,8 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { private GLFWWindowSizeCallback windowSizeCallback; private GLFWWindowFocusCallback windowFocusCallback; + private Thread mainThread; + public LwjglWindow(final JmeContext.Type type) { if (!JmeContext.Type.Display.equals(type) && !JmeContext.Type.OffscreenSurface.equals(type) && !JmeContext.Type.Canvas.equals(type)) { throw new IllegalArgumentException("Unsupported type '" + type.name() + "' provided"); @@ -210,7 +212,6 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { @Override public void invoke(final long window, final int focused) { final boolean focus = (focused == GL_TRUE); - if (wasActive != focus) { if (!wasActive) { listener.gainFocus(); @@ -241,10 +242,6 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { glfwSwapInterval(0); } - // Make the window visible - if (Type.Display.equals(type)) { - glfwShowWindow(window); - } glfwShowWindow(window); @@ -286,17 +283,16 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { } } + @Override public void create(boolean waitFor) { if (created.get()) { LOGGER.warning("create() called when display is already created!"); return; } - new Thread(this, THREAD_NAME).start(); - - if (waitFor) { - waitFor(true); - } + // NOTE: this is required for Mac OS X! + mainThread = Thread.currentThread(); + run(); } /** @@ -307,6 +303,7 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { if (!JmeSystem.isLowPermissions()) { // Enable uncaught exception handler only for current thread Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + @Override public void uncaughtException(Thread thread, Throwable thrown) { listener.handleError("Uncaught exception thrown in " + thread.toString(), thrown); if (needClose.get()) { @@ -318,6 +315,8 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { }); } + loadNatives(); + timer = new NanoTimer(); // For canvas, this will create a pbuffer, @@ -434,13 +433,13 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { LOGGER.fine("Display destroyed."); } + @Override public void run() { if (listener == null) { throw new IllegalStateException("SystemListener is not set on context!" + "Must set with JmeContext.setSystemListener()."); } - loadNatives(); LOGGER.log(Level.FINE, "Using LWJGL {0}", Version.getVersion()); if (!initInThread()) { @@ -497,6 +496,11 @@ public abstract class LwjglWindow extends LwjglContext implements Runnable { public void destroy(boolean waitFor) { needClose.set(true); + if (mainThread == Thread.currentThread()) { + // Ignore waitFor. + return; + } + if (waitFor) { waitFor(false); } diff --git a/sdk/BasicGameTemplate/MANIFEST.MF b/sdk/BasicGameTemplate/MANIFEST.MF deleted file mode 100644 index 7e1ad4bb1..000000000 --- a/sdk/BasicGameTemplate/MANIFEST.MF +++ /dev/null @@ -1 +0,0 @@ -X-Comment: Created with jMonkeyPlatform diff --git a/sdk/BasicGameTemplate/assets/Interface/.keep b/sdk/BasicGameTemplate/assets/Interface/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/MatDefs/.keep b/sdk/BasicGameTemplate/assets/MatDefs/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Materials/.keep b/sdk/BasicGameTemplate/assets/Materials/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Models/.keep b/sdk/BasicGameTemplate/assets/Models/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Scenes/.keep b/sdk/BasicGameTemplate/assets/Scenes/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Shaders/.keep b/sdk/BasicGameTemplate/assets/Shaders/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Sounds/.keep b/sdk/BasicGameTemplate/assets/Sounds/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/assets/Textures/.keep b/sdk/BasicGameTemplate/assets/Textures/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/sdk/BasicGameTemplate/build.xml b/sdk/BasicGameTemplate/build.xml deleted file mode 100644 index 01bd9fefe..000000000 --- a/sdk/BasicGameTemplate/build.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project BasicGameTemplate. - - - - - diff --git a/sdk/BasicGameTemplate/master-application.jnlp b/sdk/BasicGameTemplate/master-application.jnlp deleted file mode 100644 index 49cbb12f2..000000000 --- a/sdk/BasicGameTemplate/master-application.jnlp +++ /dev/null @@ -1,22 +0,0 @@ - - - ${APPLICATION.TITLE} - ${APPLICATION.VENDOR} - - ${APPLICATION.DESC} - ${APPLICATION.DESC.SHORT} - - - - - - - - - - - - - - - diff --git a/sdk/BasicGameTemplate/nbproject/genfiles.properties b/sdk/BasicGameTemplate/nbproject/genfiles.properties deleted file mode 100644 index 03ee360a8..000000000 --- a/sdk/BasicGameTemplate/nbproject/genfiles.properties +++ /dev/null @@ -1,8 +0,0 @@ -build.xml.data.CRC32=94bf7c61 -build.xml.script.CRC32=79a29eb7 -build.xml.stylesheet.CRC32=958a1d3e@1.32.1.45 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=1ac6e2f9 -nbproject/build-impl.xml.script.CRC32=28b1a2c2 -nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.74.1.48 diff --git a/sdk/BasicGameTemplate/nbproject/project.properties b/sdk/BasicGameTemplate/nbproject/project.properties deleted file mode 100644 index 8f2414b51..000000000 --- a/sdk/BasicGameTemplate/nbproject/project.properties +++ /dev/null @@ -1,92 +0,0 @@ -annotation.processing.enabled=true -annotation.processing.enabled.in.editor=false -annotation.processing.processors.list= -annotation.processing.run.all.processors=true -application.title=MyGame -application.vendor=MyCompany -assets.jar.name=assets.jar -assets.excludes=**/*.j3odata,**/*.mesh,**/*.skeleton,**/*.mesh\.xml,**/*.skeleton\.xml,**/*.scene,**/*.material,**/*.obj,**/*.mtl,**/*.3ds,**/*.dae,**/*.blend,**/*.blend*[0-9] -assets.folder.name=assets -assets.compress=true -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -compile.on.save=true -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.test.classpath=\ - ${run.test.classpath} -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/${application.title}.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=false -javac.classpath=\ - ${libs.jme3-jogg.classpath}:\ - ${libs.jme3-blender.classpath}:\ - ${libs.jme3-networking.classpath}:\ - ${libs.jme3-plugins.classpath}:\ - ${libs.jme3-core.classpath}:\ - ${libs.jme3-desktop.classpath}:\ - ${libs.jme3-lwjgl.classpath}:\ - ${libs.jme3-niftygui.classpath}:\ - ${libs.jme3-effects.classpath}:\ - ${libs.jme3-terrain.classpath}:\ - ${libs.jme3-jbullet.classpath} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.processorpath=\ - ${javac.classpath} -javac.source=1.6 -javac.target=1.6 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" -jnlp.codebase.type=local -jnlp.descriptor=application -jnlp.enabled=false -jnlp.offline-allowed=false -jnlp.signed=false -main.class=mygame.Main -meta.inf.dir=${src.dir}/META-INF -manifest.file=MANIFEST.MF -mkdist.disabled=false -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir}:\ - ${assets.folder.name} -# Space-separated list of JVM arguments used when running the project -# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value -# or test-sys-prop.name=value to set system properties for unit tests): -run.jvmargs= -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -source.encoding=UTF-8 -src.dir=src diff --git a/sdk/BasicGameTemplate/nbproject/project.xml b/sdk/BasicGameTemplate/nbproject/project.xml deleted file mode 100644 index 3dd779d54..000000000 --- a/sdk/BasicGameTemplate/nbproject/project.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - org.netbeans.modules.java.j2seproject - - - - - - - - BasicGameTemplate - - - - - - - diff --git a/sdk/BasicGameTemplate/src/mygame/Main.java b/sdk/BasicGameTemplate/src/mygame/Main.java deleted file mode 100644 index 91fee9846..000000000 --- a/sdk/BasicGameTemplate/src/mygame/Main.java +++ /dev/null @@ -1,43 +0,0 @@ -package mygame; - -import com.jme3.app.SimpleApplication; -import com.jme3.material.Material; -import com.jme3.math.ColorRGBA; -import com.jme3.math.Vector3f; -import com.jme3.renderer.RenderManager; -import com.jme3.scene.Geometry; -import com.jme3.scene.shape.Box; - -/** - * test - * @author normenhansen - */ -public class Main extends SimpleApplication { - - public static void main(String[] args) { - Main app = new Main(); - app.start(); - } - - @Override - public void simpleInitApp() { - Box b = new Box(1, 1, 1); - Geometry geom = new Geometry("Box", b); - - Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); - mat.setColor("Color", ColorRGBA.Blue); - geom.setMaterial(mat); - - rootNode.attachChild(geom); - } - - @Override - public void simpleUpdate(float tpf) { - //TODO: add update code - } - - @Override - public void simpleRender(RenderManager rm) { - //TODO: add render code - } -} diff --git a/sdk/JME3TestsTemplate/build.xml b/sdk/JME3TestsTemplate/build.xml deleted file mode 100644 index d39b505e6..000000000 --- a/sdk/JME3TestsTemplate/build.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project JME3TestsTemplate. - - - diff --git a/sdk/JME3TestsTemplate/nbproject/build-impl.xml b/sdk/JME3TestsTemplate/nbproject/build-impl.xml deleted file mode 100644 index acc4402f2..000000000 --- a/sdk/JME3TestsTemplate/nbproject/build-impl.xml +++ /dev/null @@ -1,880 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set src.dir - Must set build.dir - Must set dist.dir - Must set build.classes.dir - Must set dist.javadoc.dir - Must set build.test.classes.dir - Must set build.test.results.dir - Must set build.classes.excludes - Must set dist.jar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - - - - - - java -cp "${run.classpath.with.dist.jar}" ${main.class} - - - - - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - To run this application from the command line without Ant, try: - - java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - Must select one file in the IDE or set run.class - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set debug.class - - - - - Must select one file in the IDE or set debug.class - - - - - Must set fix.includes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select some files in the IDE or set javac.includes - - - - - - - - - - - - - - - - - - Some tests failed; see details above. - - - - - - - - - Must select some files in the IDE or set test.includes - - - - Some tests failed; see details above. - - - - - Must select one file in the IDE or set test.class - - - - - - - - - - - - - - - - - - - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdk/JME3TestsTemplate/nbproject/genfiles.properties b/sdk/JME3TestsTemplate/nbproject/genfiles.properties deleted file mode 100644 index eca6dafb7..000000000 --- a/sdk/JME3TestsTemplate/nbproject/genfiles.properties +++ /dev/null @@ -1,8 +0,0 @@ -build.xml.data.CRC32=0f706f4a -build.xml.script.CRC32=82b8b23d -build.xml.stylesheet.CRC32=8064a381@1.75.2.48 -# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. -# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. -nbproject/build-impl.xml.data.CRC32=0f706f4a -nbproject/build-impl.xml.script.CRC32=46d1a69a -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 diff --git a/sdk/JME3TestsTemplate/nbproject/project.properties b/sdk/JME3TestsTemplate/nbproject/project.properties deleted file mode 100644 index 489a9c7d9..000000000 --- a/sdk/JME3TestsTemplate/nbproject/project.properties +++ /dev/null @@ -1,83 +0,0 @@ -application.title=JME3TestsTemplate -application.vendor=jMonkeyEngine -build.classes.dir=${build.dir}/classes -build.classes.excludes=**/*.java,**/*.form -# This directory is removed when the project is cleaned: -build.dir=build -build.generated.dir=${build.dir}/generated -build.generated.sources.dir=${build.dir}/generated-sources -# Only compile against the classpath explicitly listed here: -build.sysclasspath=ignore -build.test.classes.dir=${build.dir}/test/classes -build.test.results.dir=${build.dir}/test/results -# Uncomment to specify the preferred debugger connection transport: -#debug.transport=dt_socket -debug.classpath=\ - ${run.classpath} -debug.test.classpath=\ - ${run.test.classpath} -# This directory is removed when the project is cleaned: -dist.dir=dist -dist.jar=${dist.dir}/JME3TestsTemplate.jar -dist.javadoc.dir=${dist.dir}/javadoc -endorsed.classpath= -excludes= -includes=** -jar.compress=false -javac.classpath=\ - ${libs.jme3-jogg.classpath}:\ - ${libs.jme3-blender.classpath}:\ - ${libs.jme3-networking.classpath}:\ - ${libs.jme3-plugins.classpath}:\ - ${libs.jme3-core.classpath}:\ - ${libs.jme3-desktop.classpath}:\ - ${libs.jme3-lwjgl.classpath}:\ - ${libs.jme3-niftygui.classpath}:\ - ${libs.jme3-effects.classpath}:\ - ${libs.jme3-terrain.classpath}:\ - ${libs.jme3-jbullet.classpath}:\ - ${libs.jme3-test-data.classpath} -# Space-separated list of extra javac options -javac.compilerargs= -javac.deprecation=false -javac.source=1.6 -javac.target=1.6 -javac.test.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -javadoc.additionalparam= -javadoc.author=false -javadoc.encoding=${source.encoding} -javadoc.noindex=false -javadoc.nonavbar=false -javadoc.notree=false -javadoc.private=false -javadoc.splitindex=true -javadoc.use=true -javadoc.version=false -javadoc.windowtitle= -jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" -jnlp.applet.class=jme3test.awt.TestApplet -jnlp.applet.height=300 -jnlp.applet.width=300 -jnlp.codebase.type=local -jnlp.descriptor=application -jnlp.enabled=false -jnlp.offline-allowed=false -jnlp.signed=false -main.class=jme3test.TestChooser -manifest.file=manifest.mf -meta.inf.dir=${src.dir}/META-INF -platform.active=default_platform -run.classpath=\ - ${javac.classpath}:\ - ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project -# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value -# or test-sys-prop.name=value to set system properties for unit tests): -run.jvmargs= -run.test.classpath=\ - ${javac.test.classpath}:\ - ${build.test.classes.dir} -source.encoding=UTF-8 -src.dir=src diff --git a/sdk/JME3TestsTemplate/nbproject/project.xml b/sdk/JME3TestsTemplate/nbproject/project.xml deleted file mode 100644 index f6e7a0c99..000000000 --- a/sdk/JME3TestsTemplate/nbproject/project.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - org.netbeans.modules.java.j2seproject - - - JME3TestsTemplate - - - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/MANIFEST.MF b/sdk/JME3TestsTemplateAndroid/MANIFEST.MF deleted file mode 100644 index 7e1ad4bb1..000000000 --- a/sdk/JME3TestsTemplateAndroid/MANIFEST.MF +++ /dev/null @@ -1 +0,0 @@ -X-Comment: Created with jMonkeyPlatform diff --git a/sdk/JME3TestsTemplateAndroid/build.xml b/sdk/JME3TestsTemplateAndroid/build.xml deleted file mode 100644 index c39ff06f2..000000000 --- a/sdk/JME3TestsTemplateAndroid/build.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - Builds, tests, and runs the project BasicGameTemplate. - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/master-application.jnlp b/sdk/JME3TestsTemplateAndroid/master-application.jnlp deleted file mode 100644 index 49cbb12f2..000000000 --- a/sdk/JME3TestsTemplateAndroid/master-application.jnlp +++ /dev/null @@ -1,22 +0,0 @@ - - - ${APPLICATION.TITLE} - ${APPLICATION.VENDOR} - - ${APPLICATION.DESC} - ${APPLICATION.DESC.SHORT} - - - - - - - - - - - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/mobile/AndroidManifest.xml b/sdk/JME3TestsTemplateAndroid/mobile/AndroidManifest.xml deleted file mode 100644 index cddd3676d..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/AndroidManifest.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/mobile/ant.properties b/sdk/JME3TestsTemplateAndroid/mobile/ant.properties deleted file mode 100644 index b0971e891..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/ant.properties +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked into Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - diff --git a/sdk/JME3TestsTemplateAndroid/mobile/build.xml b/sdk/JME3TestsTemplateAndroid/mobile/build.xml deleted file mode 100644 index 601ecade7..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/build.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/mobile/proguard-project.txt b/sdk/JME3TestsTemplateAndroid/mobile/proguard-project.txt deleted file mode 100644 index b60ae7ea0..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/sdk/JME3TestsTemplateAndroid/mobile/project.properties b/sdk/JME3TestsTemplateAndroid/mobile/project.properties deleted file mode 100644 index 85aac5401..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/project.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system edit -# "ant.properties", and override values to adapt the script to your -# project structure. -# -# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): -#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - -# Project target. -target=android-8 diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256.png deleted file mode 100644 index aa43ad6cf..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256_9.9.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256_9.9.png deleted file mode 100644 index 4c90f34a1..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey256_9.9.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512.png deleted file mode 100644 index c31857454..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512_9.9.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512_9.9.png deleted file mode 100644 index 39d45a961..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/monkey512_9.9.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/nonselected.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/nonselected.png deleted file mode 100644 index 45cafef25..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/nonselected.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/selected.png b/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/selected.png deleted file mode 100644 index ba92fce41..000000000 Binary files a/sdk/JME3TestsTemplateAndroid/mobile/res/drawable/selected.png and /dev/null differ diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/layout/main.xml b/sdk/JME3TestsTemplateAndroid/mobile/res/layout/main.xml deleted file mode 100644 index 8e4ae707d..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/res/layout/main.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/sdk/JME3TestsTemplateAndroid/mobile/res/layout/test_chooser_layout.xml b/sdk/JME3TestsTemplateAndroid/mobile/res/layout/test_chooser_layout.xml deleted file mode 100644 index cfa8c309d..000000000 --- a/sdk/JME3TestsTemplateAndroid/mobile/res/layout/test_chooser_layout.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - - -