diff --git a/.gitignore b/.gitignore index 7efa14374..606f718e9 100644 --- a/.gitignore +++ b/.gitignore @@ -136,8 +136,10 @@ !/jme3-bullet-native/libs/native/linux/x86_64/libbulletjme.so /.nb-gradle/ /sdk/ant-jme/nbproject/private/ +/sdk/nbi/stub/ext/engine/nbproject/private/ /sdk/nbi/stub/ext/components/products/jdk/nbproject/private/ /sdk/nbi/stub/ext/components/products/blender/nbproject/private/ +/sdk/nbi/stub/ext/components/products/helloworld/nbproject/private/ /sdk/BasicGameTemplate/nbproject/private/ /sdk/nbi/stub/ext/components/products/jdk/build/ /sdk/nbi/stub/ext/components/products/jdk/dist/ diff --git a/.travis.yml b/.travis.yml index 25f23fcac..bdc1336f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,17 +25,27 @@ install: script: - ./gradlew check - ./gradlew createZipDistribution + - "[ $TRAVIS_BRANCH == 'master' ] && [ $TRAVIS_PULL_REQUEST == 'false' ] && ./gradlew uploadArchives;" + +before_deploy: + - export RELEASE_DIST=$(ls build/distributions/*.zip) deploy: provider: releases api_key: secure: PuEsJd6juXBH29ByITW3ntSAyrwWs0IeFvXJ5Y2YlhojhSMtTwkoWeB6YmDJWP4fhzbajk4TQ1HlOX2IxJXSW/8ShOEIUlGXz9fHiST0dkSM+iRAUgC5enCLW5ITPTiem7eY9ZhS9miIam7ngce9jHNMh75PTzZrEJtezoALT9w= - file: build/distributions/jME3.1.0_snapshot-github_2015-08-02.zip + file_glob: true + file: "${RELEASE_DIST}" skip_cleanup: true on: repo: jMonkeyEngine/jmonkeyengine tags: true +before_install: + - git fetch --unshallow + - openssl aes-256-cbc -K $encrypted_a1949b55824a_key -iv $encrypted_a1949b55824a_iv + -in private/www-updater.key.enc -out private/www-updater.key -d + # before_install: # required libs for android build tools # sudo apt-get update diff --git a/build.gradle b/build.gradle index 7cbe10525..192bc32d3 100644 --- a/build.gradle +++ b/build.gradle @@ -11,6 +11,7 @@ buildscript { apply plugin: 'base' apply from: file('version.gradle') +apply from: file('upload.gradle') // This is applied to all sub projects subprojects { @@ -59,15 +60,14 @@ task libDist(dependsOn: subprojects.build) << { } } -task createZipDistribution(type:Zip,dependsOn:["dist","libDist"], description:"Package the nightly zip distribution"){ - archiveName "jME"+jmeVersion+"_"+jmeVersionTag+"_"+new Date().format("yyyy-MM-dd")+".zip" - - into("/") { - from {"./dist"} - } - into("/sources") { - from {"$buildDir/libDist/sources"} - } +task createZipDistribution(type:Zip,dependsOn:["dist","libDist"], description:"Package the nightly zip distribution"){ + archiveName "jME" + jmeFullVersion + ".zip" + into("/") { + from {"./dist"} + } + into("/sources") { + from {"$buildDir/libDist/sources"} + } } task copyLibs(type: Copy){ diff --git a/common.gradle b/common.gradle index cda51dbed..69b695ecd 100644 --- a/common.gradle +++ b/common.gradle @@ -4,7 +4,6 @@ apply plugin: 'java' apply plugin: 'maven' -apply plugin: 'maven-publish' group = 'com.jme3' version = jmePomVersion @@ -19,15 +18,20 @@ repositories { } } +configurations { + deployerJars +} + dependencies { // Adding dependencies here will add the dependencies to each subproject. testCompile group: 'junit', name: 'junit', version: '4.10' + deployerJars "org.apache.maven.wagon:wagon-ssh:2.9" } jar { manifest { attributes 'Implementation-Title': 'jMonkeyEngine', - 'Implementation-Version': version + 'Implementation-Version': jmeFullVersion } } @@ -63,41 +67,35 @@ artifacts { } } -publishing { - publications { - maven(MavenPublication) { - from components.java - artifact sourcesJar - artifact javadocJar - - pom.withXml { - asNode().children().last() + { - resolveStrategy = Closure.DELEGATE_FIRST - name POM_NAME - description POM_DESCRIPTION - url POM_URL - scm { - url POM_SCM_URL - connection POM_SCM_CONNECTION - developerConnection POM_SCM_DEVELOPER_CONNECTION - } - licenses { - license { - name POM_LICENSE_NAME - url POM_LICENSE_URL - distribution POM_LICENSE_DISTRIBUTION - } - } +uploadArchives { + repositories.mavenDeployer { + configuration = configurations.deployerJars + + // disable this otherwise it will fill up the server with stale jars + uniqueVersion = false + + repository(url: "scp://updates.jmonkeyengine.org/var/www/updates/maven") { + authentication(userName: "www-updater", privateKey: "private/www-updater.key") + } + + pom.project { + name POM_NAME + description POM_DESCRIPTION + url POM_URL + scm { + url POM_SCM_URL + connection POM_SCM_CONNECTION + developerConnection POM_SCM_DEVELOPER_CONNECTION + } + licenses { + license { + name POM_LICENSE_NAME + url POM_LICENSE_URL + distribution POM_LICENSE_DISTRIBUTION } } } } - - repositories { - maven { - url "${rootProject.buildDir}/repo" // change to point to your repo, e.g. http://my.org/repo - } - } } task createFolders(description: 'Creates the source folders if they do not exist.') doLast { diff --git a/jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java b/jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java index 525e2e281..00ccdf74e 100644 --- a/jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java +++ b/jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java @@ -93,7 +93,9 @@ public class CapsuleCollisionShape extends CollisionShape{ */ @Override public void setScale(Vector3f scale) { - Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "CapsuleCollisionShape cannot be scaled"); + if (!scale.equals(Vector3f.UNIT_XYZ)) { + Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "CapsuleCollisionShape cannot be scaled"); + } } public void write(JmeExporter ex) throws IOException { 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 a78b4b931..29c0f38e9 100644 --- a/jme3-core/src/main/java/com/jme3/animation/Bone.java +++ b/jme3-core/src/main/java/com/jme3/animation/Bone.java @@ -553,7 +553,6 @@ public final class Bone implements Savable { Vector3f translate = modelPos.add(rotate.mult(scale.mult(modelBindInversePos, tmp2), tmp2), tmp2); // Populating the matrix - outTransform.loadIdentity(); outTransform.setTransform(translate, scale, rotate.toRotationMatrix(tmp4)); } diff --git a/jme3-core/src/main/java/com/jme3/light/AmbientLight.java b/jme3-core/src/main/java/com/jme3/light/AmbientLight.java index e147c6590..8dd5f9266 100644 --- a/jme3-core/src/main/java/com/jme3/light/AmbientLight.java +++ b/jme3-core/src/main/java/com/jme3/light/AmbientLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012 jMonkeyEngine + * Copyright (c) 2009-2012, 2015 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,6 +32,7 @@ package com.jme3.light; import com.jme3.bounding.BoundingBox; +import com.jme3.math.ColorRGBA; import com.jme3.math.Vector3f; import com.jme3.renderer.Camera; import com.jme3.scene.Spatial; @@ -49,6 +50,13 @@ import com.jme3.util.TempVars; */ public class AmbientLight extends Light { + public AmbientLight() { + } + + public AmbientLight(ColorRGBA color) { + super(color); + } + @Override public boolean intersectsBox(BoundingBox box, TempVars vars) { return true; diff --git a/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java b/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java index c4258a67f..87fbf695a 100644 --- a/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java +++ b/jme3-core/src/main/java/com/jme3/light/DirectionalLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012 jMonkeyEngine + * Copyright (c) 2009-2012, 2015 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,6 +36,7 @@ import com.jme3.export.InputCapsule; import com.jme3.export.JmeExporter; import com.jme3.export.JmeImporter; import com.jme3.export.OutputCapsule; +import com.jme3.math.ColorRGBA; import com.jme3.math.Vector3f; import com.jme3.renderer.Camera; import com.jme3.scene.Spatial; @@ -53,6 +54,30 @@ public class DirectionalLight extends Light { protected Vector3f direction = new Vector3f(0f, -1f, 0f); + /** + * Creates a DirectionalLight + */ + public DirectionalLight() { + } + + /** + * Creates a DirectionalLight with the given direction + * @param direction the light's direction + */ + public DirectionalLight(Vector3f direction) { + setDirection(direction); + } + + /** + * Creates a DirectionalLight with the given direction and the given color + * @param direction the light's direction + * @param color the light's color + */ + public DirectionalLight(Vector3f direction, ColorRGBA color) { + super(color); + setDirection(direction); + } + @Override public void computeLastDistance(Spatial owner) { lastDistance = 0; // directional lights are always closest to their owner @@ -77,7 +102,7 @@ public class DirectionalLight extends Light { * * @param dir the direction of the light. */ - public void setDirection(Vector3f dir){ + public final void setDirection(Vector3f dir){ direction.set(dir); if (!direction.isUnitVector()) { direction.normalizeLocal(); diff --git a/jme3-core/src/main/java/com/jme3/light/Light.java b/jme3-core/src/main/java/com/jme3/light/Light.java index ef4eae127..c0fc039a3 100644 --- a/jme3-core/src/main/java/com/jme3/light/Light.java +++ b/jme3-core/src/main/java/com/jme3/light/Light.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012 jMonkeyEngine + * Copyright (c) 2009-2012, 2015 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -101,7 +101,7 @@ public abstract class Light implements Savable, Cloneable { } } - protected ColorRGBA color = new ColorRGBA(1f,1f,1f,1f); + protected ColorRGBA color = new ColorRGBA(ColorRGBA.White); /** * Used in LightList for caching the distance @@ -122,6 +122,13 @@ public abstract class Light implements Savable, Cloneable { boolean frustumCheckNeeded = true; boolean intersectsFrustum = false; + protected Light() { + } + + protected Light(ColorRGBA color) { + setColor(color); + } + /** * Returns the color of the light. * diff --git a/jme3-core/src/main/java/com/jme3/light/PointLight.java b/jme3-core/src/main/java/com/jme3/light/PointLight.java index 55a129275..ff3b3295f 100644 --- a/jme3-core/src/main/java/com/jme3/light/PointLight.java +++ b/jme3-core/src/main/java/com/jme3/light/PointLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012 jMonkeyEngine + * Copyright (c) 2009-2012, 2015 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -32,14 +32,13 @@ package com.jme3.light; import com.jme3.bounding.BoundingBox; -import com.jme3.bounding.BoundingSphere; import com.jme3.bounding.BoundingVolume; import com.jme3.export.InputCapsule; import com.jme3.export.JmeExporter; import com.jme3.export.JmeImporter; import com.jme3.export.OutputCapsule; +import com.jme3.math.ColorRGBA; import com.jme3.math.FastMath; -import com.jme3.math.Plane; import com.jme3.math.Vector3f; import com.jme3.renderer.Camera; import com.jme3.scene.Spatial; @@ -62,6 +61,52 @@ public class PointLight extends Light { protected float radius = 0; protected float invRadius = 0; + /** + * Creates a PointLight + */ + public PointLight() { + } + + /** + * Creates a PointLight at the given position + * @param position the position in world space + */ + public PointLight(Vector3f position) { + setPosition(position); + } + + /** + * Creates a PointLight at the given position and with the given color + * @param position the position in world space + * @param color the light color + */ + public PointLight(Vector3f position, ColorRGBA color) { + super(color); + setPosition(position); + } + + /** + * Creates a PointLight at the given position, with the given color and the + * given radius + * @param position the position in world space + * @param color the light color + * @param radius the light radius + */ + public PointLight(Vector3f position, ColorRGBA color, float radius) { + this(position, color); + setRadius(radius); + } + + /** + * Creates a PointLight at the given position, with the given radius + * @param position the position in world space + * @param radius the light radius + */ + public PointLight(Vector3f position, float radius) { + this(position); + setRadius(radius); + } + @Override public void computeLastDistance(Spatial owner) { if (owner.getWorldBound() != null) { @@ -88,7 +133,7 @@ public class PointLight extends Light { * * @param position the world space position of the light. */ - public void setPosition(Vector3f position) { + public final void setPosition(Vector3f position) { this.position.set(position); } @@ -115,13 +160,13 @@ public class PointLight extends Light { * * @throws IllegalArgumentException If radius is negative */ - public void setRadius(float radius) { + public final void setRadius(float radius) { if (radius < 0) { throw new IllegalArgumentException("Light radius cannot be negative"); } this.radius = radius; - if (radius != 0) { - this.invRadius = 1 / radius; + if (radius != 0f) { + this.invRadius = 1f / radius; } else { this.invRadius = 0; } diff --git a/jme3-core/src/main/java/com/jme3/light/SpotLight.java b/jme3-core/src/main/java/com/jme3/light/SpotLight.java index e6443df7c..9b551d3d8 100644 --- a/jme3-core/src/main/java/com/jme3/light/SpotLight.java +++ b/jme3-core/src/main/java/com/jme3/light/SpotLight.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009-2012 jMonkeyEngine + * Copyright (c) 2009-2012, 2015 jMonkeyEngine * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,7 @@ package com.jme3.light; import com.jme3.bounding.BoundingBox; import com.jme3.bounding.BoundingVolume; import com.jme3.export.*; +import com.jme3.math.ColorRGBA; import com.jme3.math.FastMath; import com.jme3.math.Plane; import com.jme3.math.Vector3f; @@ -44,36 +45,121 @@ import java.io.IOException; /** * Represents a spot light. - * A spot light emmit a cone of light from a position and in a direction. - * It can be used to fake torch lights or car's lights. + * A spot light emits a cone of light from a position and in a direction. + * It can be used to fake torch lights or cars' lights. *

* In addition to a position and a direction, spot lights also have a range which * can be used to attenuate the influence of the light depending on the - * distance between the light and the effected object. + * distance between the light and the affected object. * Also the angle of the cone can be tweaked by changing the spot inner angle and the spot outer angle. - * the spot inner angle determin the cone of light where light has full influence. - * the spot outer angle determin the cone global cone of light of the spot light. - * the light intensity slowly decrease between the inner cone and the outer cone. + * the spot inner angle determines the cone of light where light has full influence. + * the spot outer angle determines the cone global cone of light of the spot light. + * the light intensity slowly decreases between the inner cone and the outer cone. * @author Nehon */ public class SpotLight extends Light { protected Vector3f position = new Vector3f(); - protected Vector3f direction = new Vector3f(0,-1,0); + protected Vector3f direction = new Vector3f(0, -1, 0); protected float spotInnerAngle = FastMath.QUARTER_PI / 8; protected float spotOuterAngle = FastMath.QUARTER_PI / 6; protected float spotRange = 100; protected float invSpotRange = 1f / 100; - protected float packedAngleCos=0; + protected float packedAngleCos = 0; protected float outerAngleCosSqr, outerAngleSinSqr; protected float outerAngleSinRcp, outerAngleSin, outerAngleCos; + /** + * Creates a SpotLight. + */ public SpotLight() { super(); computeAngleParameters(); } + /** + * Creates a SpotLight at the given position and with the given direction. + * @param position the position in world space. + * @param direction the direction of the light. + */ + public SpotLight(Vector3f position, Vector3f direction) { + this(); + setPosition(position); + setDirection(direction); + } + + /** + * Creates a SpotLight at the given position, with the given direction, and the + * given range. + * @param position the position in world space. + * @param direction the direction of the light. + * @param range the spot light range + */ + public SpotLight(Vector3f position, Vector3f direction, float range) { + this(); + setPosition(position); + setDirection(direction); + this.spotRange = range; + } + + /** + * Creates a SpotLight at the given position, with the given direction and + * the given color. + * @param position the position in world space. + * @param direction the direction of the light. + * @param color the light's color. + */ + public SpotLight(Vector3f position, Vector3f direction, ColorRGBA color) { + super(color); + computeAngleParameters(); + setPosition(position); + setDirection(direction); + } + + + /** + * Creates a SpotLight at the given position, with the given direction, + * the given range and the given color. + * @param position the position in world space. + * @param direction the direction of the light. + * @param range the spot light range + * @param color the light's color. + */ + public SpotLight(Vector3f position, Vector3f direction, float range, ColorRGBA color) { + super(color); + computeAngleParameters(); + setPosition(position); + setDirection(direction); + this.spotRange = range; + } + + /** + * Creates a SpotLight at the given position, with the given direction, + * the given color and the given inner and outer angles + * (controls the falloff of the light) + * + * @param position the position in world space. + * @param direction the direction of the light. + * @param range the spot light range + * @param color the light's color. + * @param innerAngle the inner angle of the spot light. + * @param outerAngle the outer angle of the spot light. + * + * @see SpotLight#setSpotInnerAngle(float) + * @see SpotLight#setSpotOuterAngle(float) + */ + public SpotLight(Vector3f position, Vector3f direction, float range, ColorRGBA color, float innerAngle, float outerAngle) { + super(color); + this.spotInnerAngle = innerAngle; + this.spotOuterAngle = outerAngle; + computeAngleParameters(); + setPosition(position); + setDirection(direction); + this.spotRange = range; + } + + private void computeAngleParameters() { float innerCos = FastMath.cos(spotInnerAngle); outerAngleCos = FastMath.cos(spotOuterAngle); @@ -189,7 +275,7 @@ public class SpotLight extends Light { return direction; } - public void setDirection(Vector3f direction) { + public final void setDirection(Vector3f direction) { this.direction.set(direction); } @@ -197,7 +283,7 @@ public class SpotLight extends Light { return position; } - public void setPosition(Vector3f position) { + public final void setPosition(Vector3f position) { this.position.set(position); } diff --git a/jme3-core/src/main/java/com/jme3/math/Matrix4f.java b/jme3-core/src/main/java/com/jme3/math/Matrix4f.java index c8dd3ef4a..159e39932 100644 --- a/jme3-core/src/main/java/com/jme3/math/Matrix4f.java +++ b/jme3-core/src/main/java/com/jme3/math/Matrix4f.java @@ -154,53 +154,34 @@ public final class Matrix4f implements Savable, Cloneable, java.io.Serializable } public void fromFrame(Vector3f location, Vector3f direction, Vector3f up, Vector3f left) { - loadIdentity(); - TempVars vars = TempVars.get(); - - Vector3f f = vars.vect1.set(direction); - Vector3f s = vars.vect2.set(f).crossLocal(up); - Vector3f u = vars.vect3.set(s).crossLocal(f); -// s.normalizeLocal(); -// u.normalizeLocal(); - - m00 = s.x; - m01 = s.y; - m02 = s.z; - - m10 = u.x; - m11 = u.y; - m12 = u.z; - - m20 = -f.x; - m21 = -f.y; - m22 = -f.z; - -// m00 = -left.x; -// m10 = -left.y; -// m20 = -left.z; -// -// m01 = up.x; -// m11 = up.y; -// m21 = up.z; -// -// m02 = -direction.x; -// m12 = -direction.y; -// m22 = -direction.z; -// - - Matrix4f transMatrix = vars.tempMat4; - transMatrix.loadIdentity(); - transMatrix.m03 = -location.x; - transMatrix.m13 = -location.y; - transMatrix.m23 = -location.z; - this.multLocal(transMatrix); - - vars.release(); - -// transMatrix.multLocal(this); - -// set(transMatrix); + try { + Vector3f fwdVector = vars.vect1.set(direction); + Vector3f leftVector = vars.vect2.set(fwdVector).crossLocal(up); + Vector3f upVector = vars.vect3.set(leftVector).crossLocal(fwdVector); + + m00 = leftVector.x; + m01 = leftVector.y; + m02 = leftVector.z; + m03 = -leftVector.dot(location); + + m10 = upVector.x; + m11 = upVector.y; + m12 = upVector.z; + m13 = -upVector.dot(location); + + m20 = -fwdVector.x; + m21 = -fwdVector.y; + m22 = -fwdVector.z; + m23 = fwdVector.dot(location); + + m30 = 0f; + m31 = 0f; + m32 = 0f; + m33 = 1f; + } finally { + vars.release(); + } } /** diff --git a/jme3-core/src/main/java/com/jme3/math/Transform.java b/jme3-core/src/main/java/com/jme3/math/Transform.java index ac7a324d0..9d8a72a1e 100644 --- a/jme3-core/src/main/java/com/jme3/math/Transform.java +++ b/jme3-core/src/main/java/com/jme3/math/Transform.java @@ -49,7 +49,7 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable private Quaternion rot = new Quaternion(); private Vector3f translation = new Vector3f(); - private Vector3f scale = new Vector3f(1,1,1); + private Vector3f scale = new Vector3f(1, 1, 1); public Transform(Vector3f translation, Quaternion rot){ this.translation.set(translation); @@ -283,9 +283,32 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable * Loads the identity. Equal to translation=0,0,0 scale=1,1,1 rot=0,0,0,1. */ public void loadIdentity() { - translation.set(0,0,0); - scale.set(1,1,1); - rot.set(0,0,0,1); + translation.set(0, 0, 0); + scale.set(1, 1, 1); + rot.set(0, 0, 0, 1); + } + + @Override + public int hashCode() { + int hash = 7; + hash = 89 * hash + rot.hashCode(); + hash = 89 * hash + translation.hashCode(); + hash = 89 * hash + scale.hashCode(); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final Transform other = (Transform) obj; + return this.translation.equals(other.translation) + && this.scale.equals(other.scale) + && this.rot.equals(other.rot); } @Override @@ -307,22 +330,21 @@ public final class Transform implements Savable, Cloneable, java.io.Serializable return this; } + @Override public void write(JmeExporter e) throws IOException { OutputCapsule capsule = e.getCapsule(this); - capsule.write(rot, "rot", new Quaternion()); + capsule.write(rot, "rot", Quaternion.IDENTITY); capsule.write(translation, "translation", Vector3f.ZERO); capsule.write(scale, "scale", Vector3f.UNIT_XYZ); } + @Override public void read(JmeImporter e) throws IOException { InputCapsule capsule = e.getCapsule(this); - rot = (Quaternion)capsule.readSavable("rot", new Quaternion()); - translation = (Vector3f)capsule.readSavable("translation", null); - if( translation == null ) { - translation = new Vector3f(); - } - scale = (Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ); + rot.set((Quaternion)capsule.readSavable("rot", Quaternion.IDENTITY)); + translation.set((Vector3f)capsule.readSavable("translation", Vector3f.ZERO)); + scale.set((Vector3f)capsule.readSavable("scale", Vector3f.UNIT_XYZ)); } @Override diff --git a/jme3-core/src/main/java/com/jme3/system/AppSettings.java b/jme3-core/src/main/java/com/jme3/system/AppSettings.java index 73b036f2f..484458929 100644 --- a/jme3-core/src/main/java/com/jme3/system/AppSettings.java +++ b/jme3-core/src/main/java/com/jme3/system/AppSettings.java @@ -54,6 +54,8 @@ import java.util.prefs.Preferences; */ public final class AppSettings extends HashMap { + private static final long serialVersionUID = 1L; + private static final AppSettings defaults = new AppSettings(false); /** 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 84c6f6743..6fc0c50f0 100644 --- a/jme3-core/src/main/java/com/jme3/util/BufferUtils.java +++ b/jme3-core/src/main/java/com/jme3/util/BufferUtils.java @@ -36,6 +36,7 @@ import com.jme3.math.Quaternion; import com.jme3.math.Vector2f; import com.jme3.math.Vector3f; import com.jme3.math.Vector4f; +import java.io.UnsupportedEncodingException; import java.lang.ref.PhantomReference; import java.lang.ref.Reference; import java.lang.ref.ReferenceQueue; @@ -1010,11 +1011,15 @@ public final class BufferUtils { } public static ByteBuffer createByteBuffer(String data) { - byte[] bytes = data.getBytes(); - ByteBuffer bb = createByteBuffer(bytes.length); - bb.put(bytes); - bb.flip(); - return bb; + try { + byte[] bytes = data.getBytes("UTF-8"); + ByteBuffer bb = createByteBuffer(bytes.length); + bb.put(bytes); + bb.flip(); + return bb; + } catch (UnsupportedEncodingException ex) { + throw new UnsupportedOperationException(ex); + } } /** diff --git a/jme3-core/src/main/java/com/jme3/util/LittleEndien.java b/jme3-core/src/main/java/com/jme3/util/LittleEndien.java index 092f77018..6b15a7d45 100644 --- a/jme3-core/src/main/java/com/jme3/util/LittleEndien.java +++ b/jme3-core/src/main/java/com/jme3/util/LittleEndien.java @@ -42,7 +42,6 @@ import java.io.*; public class LittleEndien extends InputStream implements DataInput { protected BufferedInputStream in; - protected BufferedReader inRead; /** * Creates a new LittleEndien reader from the given input stream. The @@ -51,7 +50,6 @@ public class LittleEndien extends InputStream implements DataInput { */ public LittleEndien(InputStream in) { this.in = new BufferedInputStream(in); - inRead = new BufferedReader(new InputStreamReader(in)); } public int read() throws IOException { @@ -141,7 +139,7 @@ public class LittleEndien extends InputStream implements DataInput { } public String readLine() throws IOException { - return inRead.readLine(); + throw new IOException("Unsupported operation"); } public String readUTF() throws IOException { diff --git a/jme3-examples/build.gradle b/jme3-examples/build.gradle index de1c3931c..9ddb9cf78 100644 --- a/jme3-examples/build.gradle +++ b/jme3-examples/build.gradle @@ -21,7 +21,6 @@ dependencies { // compile project(':jme3-bullet-native') compile project(':jme3-jbullet') compile project(':jme3-jogg') -// compile project(':jme3-jogl') compile project(':jme3-lwjgl') compile project(':jme3-networking') compile project(':jme3-niftygui') @@ -51,7 +50,9 @@ jar.doFirst{ } } -task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar']) << { +task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar', \ + ':jme3-android-native:jar', ':jme3-bullet-native-android:jar', \ + ':jme3-bullet-native:jar']) << { // Copy all dependencies to ../dist/lib, remove versions from jar files configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact -> copy { @@ -97,23 +98,23 @@ task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-and copy { from project(':jme3-bullet-native').jar.archivePath into '../dist/opt/native-bullet' - rename {"jme3-bullet-natives.jar"} + rename {project(':jme3-bullet-native').name+".jar"} } // Copy android packages, remove version copy { from project(':jme3-android').jar.archivePath into '../dist/opt/android' - rename { project(':jme3-android').name + ".jar" } + rename {project(':jme3-android').name+".jar"} } copy { from project(':jme3-android-native').jar.archivePath into '../dist/opt/android' - rename { project(':jme3-android-native').name + ".jar" } + rename {project(':jme3-android-native').name+".jar"} } copy { from project(':jme3-bullet-native-android').jar.archivePath into '../dist/opt/native-bullet' - rename {"jme3-bullet-native-android.jar"} + rename {project(':jme3-bullet-native-android').name+".jar"} } } diff --git a/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglAbstractDisplay.java b/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglAbstractDisplay.java index a7f7fbfd7..2248e4b22 100644 --- a/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglAbstractDisplay.java +++ b/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglAbstractDisplay.java @@ -41,10 +41,12 @@ import com.jme3.renderer.jogl.JoglRenderer; import com.jogamp.opengl.util.Animator; import com.jogamp.opengl.util.AnimatorBase; import com.jogamp.opengl.util.FPSAnimator; + import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Logger; + import com.jogamp.opengl.DebugGL2; import com.jogamp.opengl.DebugGL3; import com.jogamp.opengl.DebugGL3bc; @@ -52,6 +54,7 @@ import com.jogamp.opengl.DebugGL4; import com.jogamp.opengl.DebugGL4bc; import com.jogamp.opengl.DebugGLES1; import com.jogamp.opengl.DebugGLES2; +import com.jogamp.opengl.DebugGLES3; import com.jogamp.opengl.GL; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLCapabilities; @@ -136,7 +139,9 @@ public abstract class JoglAbstractDisplay extends JoglContext implements GLEvent if (gl.isGLES2()) { glad.setGL(new DebugGLES2(gl.getGLES2())); } else { - // TODO ES3 + if (gl.isGLES3()) { + glad.setGL(new DebugGLES3(gl.getGLES3())); + } } } } else { @@ -167,7 +172,12 @@ public abstract class JoglAbstractDisplay extends JoglContext implements GLEvent renderer = new JoglRenderer(); - renderer.setMainFrameBufferSrgb(settings.getGammaCorrection()); + canvas.invoke(false, new GLRunnable() { + public boolean run(GLAutoDrawable glad) { + renderer.setMainFrameBufferSrgb(settings.getGammaCorrection()); + return true; + } + }); } protected void startGLCanvas() { diff --git a/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglNewtAbstractDisplay.java b/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglNewtAbstractDisplay.java index cb75d5d37..f05c92b95 100644 --- a/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglNewtAbstractDisplay.java +++ b/jme3-jogl/src/main/java/com/jme3/system/jogl/JoglNewtAbstractDisplay.java @@ -42,8 +42,10 @@ import com.jogamp.newt.opengl.GLWindow; import com.jogamp.opengl.util.Animator; import com.jogamp.opengl.util.AnimatorBase; import com.jogamp.opengl.util.FPSAnimator; + import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Logger; + import com.jogamp.opengl.DebugGL2; import com.jogamp.opengl.DebugGL3; import com.jogamp.opengl.DebugGL3bc; @@ -51,6 +53,7 @@ import com.jogamp.opengl.DebugGL4; import com.jogamp.opengl.DebugGL4bc; import com.jogamp.opengl.DebugGLES1; import com.jogamp.opengl.DebugGLES2; +import com.jogamp.opengl.DebugGLES3; import com.jogamp.opengl.GL; import com.jogamp.opengl.GLAutoDrawable; import com.jogamp.opengl.GLCapabilities; @@ -115,7 +118,9 @@ public abstract class JoglNewtAbstractDisplay extends JoglContext implements GLE if (gl.isGLES2()) { glad.setGL(new DebugGLES2(gl.getGLES2())); } else { - // TODO ES3 + if (gl.isGLES3()) { + glad.setGL(new DebugGLES3(gl.getGLES3())); + } } } } else { @@ -146,7 +151,12 @@ public abstract class JoglNewtAbstractDisplay extends JoglContext implements GLE renderer = new JoglRenderer(); - renderer.setMainFrameBufferSrgb(settings.getGammaCorrection()); + canvas.invoke(false, new GLRunnable() { + public boolean run(GLAutoDrawable glad) { + renderer.setMainFrameBufferSrgb(settings.getGammaCorrection()); + return true; + } + }); } protected void startGLCanvas() { diff --git a/private/known_hosts b/private/known_hosts new file mode 100644 index 000000000..fdc45836f --- /dev/null +++ b/private/known_hosts @@ -0,0 +1 @@ +updates.jmonkeyengine.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5bNOiZwU5dF62nBllxkjiSIfn0k6RVfprvO1aUypRmARD3/MKJKg7cGLezlLKaHZtVs84VpEqpmg5IzPAXWEmxUw1oke70uYMli7JV+4oPAeQRFwUdldP98I5h9VHwSjBqMycRLkxYaHF8edIPt1Zsa2dM3qrufy71ndQoFF6g7QxmT7gsTxwcNufDxymIgiAna/Qp2fr0YCLCiB8RQ7JTHfqA3dOWw0wz7AwfBTwwDCHkVxB5B4nz5iZxFr0scvqcae8vMncq8xKS7OMrLbn6asVaF6dDu+5Jc0mqxma5Qg7VC1xQXZsvlRISfrTFhQMhEx+j9w5snzihrlFnZ35 diff --git a/private/www-updater.key.enc b/private/www-updater.key.enc new file mode 100644 index 000000000..63dcb3723 Binary files /dev/null and b/private/www-updater.key.enc differ diff --git a/sdk/JME3TestsTemplate/build.xml b/sdk/JME3TestsTemplate/build.xml index c1f098b99..d39b505e6 100644 --- a/sdk/JME3TestsTemplate/build.xml +++ b/sdk/JME3TestsTemplate/build.xml @@ -51,8 +51,7 @@ -init-macrodef-junit: defines macro for junit execution -init-macrodef-debug: defines macro for class debugging -init-macrodef-java: defines macro for class execution - -do-jar-with-manifest: JAR building (if you are using a manifest) - -do-jar-without-manifest: JAR building (if you are not using a manifest) + -do-jar: JAR building run: execution of project -javadoc-build: Javadoc generation test-report: JUnit report generation diff --git a/sdk/JME3TestsTemplate/nbproject/genfiles.properties b/sdk/JME3TestsTemplate/nbproject/genfiles.properties index 6fb0f140e..eca6dafb7 100644 --- a/sdk/JME3TestsTemplate/nbproject/genfiles.properties +++ b/sdk/JME3TestsTemplate/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=0f706f4a -build.xml.script.CRC32=0b0b23c4 -build.xml.stylesheet.CRC32=28e38971@1.38.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=0f706f4a -nbproject/build-impl.xml.script.CRC32=46d1a69a -nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 +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 index b502a6417..489a9c7d9 100644 --- a/sdk/JME3TestsTemplate/nbproject/project.properties +++ b/sdk/JME3TestsTemplate/nbproject/project.properties @@ -25,9 +25,17 @@ excludes= includes=** jar.compress=false javac.classpath=\ - ${libs.jme3.classpath}:\ - ${libs.jme3-libraries.classpath}:\ - ${libs.jme3-libraries-blender.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= @@ -36,9 +44,7 @@ javac.source=1.6 javac.target=1.6 javac.test.classpath=\ ${javac.classpath}:\ - ${build.classes.dir}:\ - ${libs.junit.classpath}:\ - ${libs.junit_4.classpath} + ${build.classes.dir} javadoc.additionalparam= javadoc.author=false javadoc.encoding=${source.encoding} diff --git a/sdk/jme3-angelfont/nbproject/project.properties b/sdk/jme3-angelfont/nbproject/project.properties index 0411b6ff9..2cf7a410b 100644 --- a/sdk/jme3-angelfont/nbproject/project.properties +++ b/sdk/jme3-angelfont/nbproject/project.properties @@ -1,4 +1,6 @@ #Thu, 25 Aug 2011 20:26:50 +0200 javac.source=1.6 javac.compilerargs=-Xlint -Xlint\:-serial +nbm.homepage=http\://www.jmonkeyengine.org +nbm.module.author=Normen Hansen spec.version.base=3.1.0 diff --git a/sdk/jme3-blender/nbproject/project.properties b/sdk/jme3-blender/nbproject/project.properties index fa453f9a3..b47098087 100644 --- a/sdk/jme3-blender/nbproject/project.properties +++ b/sdk/jme3-blender/nbproject/project.properties @@ -1,6 +1,7 @@ #Thu, 25 Aug 2011 20:26:50 +0200 javac.source=1.6 javac.compilerargs=-Xlint -Xlint\:-serial +license.file=../license-jme.txt nbm.homepage=http\://www.jmonkeyengine.org nbm.module.author=Kaelthas nbm.needs.restart=true diff --git a/sdk/jme3-blender/src/com/jme3/gde/blender/BlenderTool.java b/sdk/jme3-blender/src/com/jme3/gde/blender/BlenderTool.java index 0211cae7a..1d55a6b35 100644 --- a/sdk/jme3-blender/src/com/jme3/gde/blender/BlenderTool.java +++ b/sdk/jme3-blender/src/com/jme3/gde/blender/BlenderTool.java @@ -164,6 +164,14 @@ public class BlenderTool { return "../blender"; } } + + private static String getBlenderOsSettingsPath() { + if (Utilities.isMac()) { + return "../blender/blender.app/Contents/Resources"; + } else { + return "../blender"; + } + } private static boolean checkBlenderFolders() { String jmpDir = Places.getUserDirectory().getAbsolutePath(); @@ -251,9 +259,9 @@ public class BlenderTool { } private static File getBlenderSettingsFolder() { - File blender = InstalledFileLocator.getDefault().locate(getBlenderOsPath() + "/2.69", null, false); + File blender = InstalledFileLocator.getDefault().locate(getBlenderOsSettingsPath() + "/2.75", null, false); if (blender == null) { - blender = InstalledFileLocator.getDefault().locate(getBlenderOsPath() + "/2.67", null, false); + blender = InstalledFileLocator.getDefault().locate(getBlenderOsSettingsPath() + "/2.69", null, false); } if (blender == null) { DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message("Error finding Blender settings")); diff --git a/sdk/jme3-code-check/nbproject/project.properties b/sdk/jme3-code-check/nbproject/project.properties index 0411b6ff9..6700898e0 100644 --- a/sdk/jme3-code-check/nbproject/project.properties +++ b/sdk/jme3-code-check/nbproject/project.properties @@ -1,4 +1,7 @@ #Thu, 25 Aug 2011 20:26:50 +0200 javac.source=1.6 javac.compilerargs=-Xlint -Xlint\:-serial +license.file=../license-jme.txt +nbm.homepage=http\://www.jmonkeyengine.org +nbm.module.author=Normen Hansen spec.version.base=3.1.0 diff --git a/sdk/jme3-core-baselibs/nbproject/genfiles.properties b/sdk/jme3-core-baselibs/nbproject/genfiles.properties index 1b1c32b3b..c9714ad4e 100644 --- a/sdk/jme3-core-baselibs/nbproject/genfiles.properties +++ b/sdk/jme3-core-baselibs/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=278ea45d +build.xml.data.CRC32=d43b0890 build.xml.script.CRC32=cdae6a36 build.xml.stylesheet.CRC32=a56c6a5b@2.67.1 # 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=278ea45d +nbproject/build-impl.xml.data.CRC32=d43b0890 nbproject/build-impl.xml.script.CRC32=246f9b81 nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1 diff --git a/sdk/jme3-core-baselibs/nbproject/project.xml b/sdk/jme3-core-baselibs/nbproject/project.xml index df81e68ff..be7a3e038 100644 --- a/sdk/jme3-core-baselibs/nbproject/project.xml +++ b/sdk/jme3-core-baselibs/nbproject/project.xml @@ -1,15 +1,15 @@ - - + + org.netbeans.modules.apisupport.project - + com.jme3.gde.core.baselibs - + com.jme3.gde.core.libraries - - + + 1 3.1.0 @@ -19,133 +19,142 @@ com.jme3.asset com.jme3.scene.plugins.blender - com.jme3.scene.plugins.blender.animations - com.jme3.scene.plugins.blender.cameras + com.jme3.scene.plugins.blender.math com.jme3.scene.plugins.blender.constraints com.jme3.scene.plugins.blender.constraints.definitions com.jme3.scene.plugins.blender.curves - com.jme3.scene.plugins.blender.file - com.jme3.scene.plugins.blender.landscape - com.jme3.scene.plugins.blender.lights - com.jme3.scene.plugins.blender.materials - com.jme3.scene.plugins.blender.math com.jme3.scene.plugins.blender.meshes - com.jme3.scene.plugins.blender.modifiers - com.jme3.scene.plugins.blender.objects com.jme3.scene.plugins.blender.particles + com.jme3.scene.plugins.blender.cameras + com.jme3.scene.plugins.blender.objects + com.jme3.scene.plugins.blender.landscape + com.jme3.scene.plugins.blender.modifiers com.jme3.scene.plugins.blender.textures + com.jme3.scene.plugins.blender.textures.io com.jme3.scene.plugins.blender.textures.blending com.jme3.scene.plugins.blender.textures.generating - com.jme3.scene.plugins.blender.textures.io - checkers.quals - com.jme3.animation - com.jme3.app - com.jme3.app.state - com.jme3.asset.cache - com.jme3.asset.plugins - com.jme3.audio - com.jme3.audio.openal - com.jme3.audio.plugins - com.jme3.bounding - com.jme3.cinematic - com.jme3.cinematic.events - com.jme3.collision - com.jme3.collision.bih - com.jme3.cursors.plugins - com.jme3.effect - com.jme3.effect.influencers - com.jme3.effect.shapes + com.jme3.scene.plugins.blender.animations + com.jme3.scene.plugins.blender.materials + com.jme3.scene.plugins.blender.file + com.jme3.scene.plugins.blender.lights + jme3tools.shader + jme3tools.savegame + jme3tools.shadercheck + jme3tools.optimize + jme3tools.converters + com.jme3.shader + com.jme3.shader.plugins com.jme3.export com.jme3.export.binary - com.jme3.font - com.jme3.font.plugins + com.jme3.cinematic + com.jme3.cinematic.events + com.jme3.math + com.jme3.util + com.jme3.util.blockparser + com.jme3.util.xml + com.jme3.post com.jme3.input - com.jme3.input.controls com.jme3.input.dummy + com.jme3.input.controls com.jme3.input.event - com.jme3.light + com.jme3.profile + com.jme3.ui + com.jme3.audio + com.jme3.audio.openal + com.jme3.audio.plugins + com.jme3.cursors.plugins + com.jme3.bounding + com.jme3.shadow + com.jme3.texture + com.jme3.texture.image + com.jme3.texture.plugins + com.jme3.system com.jme3.material com.jme3.material.plugins - com.jme3.math - com.jme3.post - com.jme3.profile com.jme3.renderer - com.jme3.renderer.opengl com.jme3.renderer.queue + com.jme3.renderer.opengl + com.jme3.effect + com.jme3.effect.shapes + com.jme3.effect.influencers + com.jme3.app + com.jme3.app.state + com.jme3.asset.plugins + com.jme3.asset.cache + com.jme3.light + com.jme3.animation + com.jme3.collision + com.jme3.collision.bih com.jme3.scene - com.jme3.scene.control + com.jme3.scene.shape + com.jme3.scene.plugins com.jme3.scene.debug com.jme3.scene.instancing + com.jme3.scene.control com.jme3.scene.mesh - com.jme3.scene.plugins - com.jme3.scene.shape - com.jme3.shader - com.jme3.shader.plugins - com.jme3.shadow - com.jme3.system - com.jme3.texture - com.jme3.texture.image - com.jme3.texture.plugins - com.jme3.ui - com.jme3.util - com.jme3.util.blockparser - com.jme3.util.xml - jme3tools.converters - jme3tools.converters.model - jme3tools.converters.model.strip - jme3tools.optimize - jme3tools.savegame - jme3tools.shader - jme3tools.shadercheck + com.jme3.font + com.jme3.font.plugins + checkers.quals + jme3tools.navigation com.jme3.input.awt com.jme3.system.awt - jme3tools.navigation - com.jme3.post.filters com.jme3.post.ssao + com.jme3.post.filters com.jme3.water com.jme3.bullet - com.jme3.bullet.collision - com.jme3.bullet.collision.shapes - com.jme3.bullet.collision.shapes.infos - com.jme3.bullet.control - com.jme3.bullet.control.ragdoll - com.jme3.bullet.debug + com.jme3.bullet.util com.jme3.bullet.joints com.jme3.bullet.joints.motors com.jme3.bullet.objects com.jme3.bullet.objects.infos - com.jme3.bullet.util - com.jme3.audio.lwjgl + com.jme3.bullet.debug + com.jme3.bullet.control + com.jme3.bullet.control.ragdoll + com.jme3.bullet.collision + com.jme3.bullet.collision.shapes + com.jme3.bullet.collision.shapes.infos com.jme3.input.lwjgl - com.jme3.renderer.lwjgl + com.jme3.audio.lwjgl com.jme3.system.lwjgl + com.jme3.renderer.lwjgl com.jme3.network - com.jme3.network.base com.jme3.network.kernel - com.jme3.network.kernel.tcp com.jme3.network.kernel.udp + com.jme3.network.kernel.tcp + com.jme3.network.util com.jme3.network.message com.jme3.network.rmi + com.jme3.network.base com.jme3.network.serializing com.jme3.network.serializing.serializers + com.jme3.network.service + com.jme3.network.service.rpc + com.jme3.network.service.rpc.msg + com.jme3.network.service.serializer com.jme3.niftygui com.jme3.export.xml com.jme3.scene.plugins.fbx + com.jme3.scene.plugins.fbx.obj + com.jme3.scene.plugins.fbx.anim + com.jme3.scene.plugins.fbx.node + com.jme3.scene.plugins.fbx.misc + com.jme3.scene.plugins.fbx.material com.jme3.scene.plugins.fbx.file + com.jme3.scene.plugins.fbx.mesh com.jme3.scene.plugins.ogre com.jme3.scene.plugins.ogre.matext com.jme3.terrain + com.jme3.terrain.heightmap com.jme3.terrain.geomipmap + com.jme3.terrain.geomipmap.picking com.jme3.terrain.geomipmap.grid com.jme3.terrain.geomipmap.lodcalc com.jme3.terrain.geomipmap.lodcalc.util - com.jme3.terrain.geomipmap.picking - com.jme3.terrain.heightmap com.jme3.terrain.noise - com.jme3.terrain.noise.basis com.jme3.terrain.noise.filter - com.jme3.terrain.noise.fractal com.jme3.terrain.noise.modulator + com.jme3.terrain.noise.fractal + com.jme3.terrain.noise.basis ext/jme3-blender-3.1.0-snapshot-github.jar @@ -193,4 +202,4 @@ - + \ No newline at end of file diff --git a/sdk/jme3-core-libraries/nbproject/project.xml b/sdk/jme3-core-libraries/nbproject/project.xml index 19469cf8a..c7b1f70f9 100644 --- a/sdk/jme3-core-libraries/nbproject/project.xml +++ b/sdk/jme3-core-libraries/nbproject/project.xml @@ -6,6 +6,44 @@ + org.ejml + org.ejml.interfaces.decomposition + org.ejml.interfaces.linsol + org.ejml.data + org.ejml.alg.dense.linsol + org.ejml.ops + org.ejml.factory + org.ejml.alg.fixed + org.ejml.alg.generic + org.ejml.alg.block + org.ejml.alg.block.decomposition.chol + org.ejml.alg.block.decomposition.qr + org.ejml.alg.block.decomposition.hessenberg + org.ejml.alg.block.decomposition.bidiagonal + org.ejml.alg.block.linsol.chol + org.ejml.alg.block.linsol.qr + org.ejml.alg.dense.decomposition + org.ejml.alg.dense.decomposition.chol + org.ejml.alg.dense.decomposition.lu + org.ejml.alg.dense.decomposition.qr + org.ejml.alg.dense.decomposition.hessenberg + org.ejml.alg.dense.decomposition.svd + org.ejml.alg.dense.decomposition.svd.implicitqr + org.ejml.alg.dense.decomposition.eig + org.ejml.alg.dense.decomposition.eig.watched + org.ejml.alg.dense.decomposition.eig.symm + org.ejml.alg.dense.decomposition.bidiagonal + org.ejml.alg.dense.mult + org.ejml.alg.dense.misc + org.ejml.alg.dense.linsol.chol + org.ejml.alg.dense.linsol.lu + org.ejml.alg.dense.linsol.qr + org.ejml.alg.dense.linsol.svd + org.ejml.simple + org.ejml.alg.dense.decompose + org.ejml.alg.dense.decompose.chol + org.ejml.alg.dense.decompose.lu + org.ejml.alg.dense.decompose.qr com.bulletphysics com.bulletphysics.collision.broadphase com.bulletphysics.collision.dispatch @@ -161,6 +199,22 @@ org.jglfont.impl.format.awt org.jglfont.impl + + ext/core-0.27.jar + release/modules/ext/core-0.27.jar + + + ext/dense64-0.27.jar + release/modules/ext/dense64-0.27.jar + + + ext/simple-0.27.jar + release/modules/ext/simple-0.27.jar + + + ext/denseC64-0.27.jar + release/modules/ext/denseC64-0.27.jar + ext/jbullet.jar release/modules/ext/jbullet.jar diff --git a/sdk/jme3-core-updatecenters/nbproject/genfiles.properties b/sdk/jme3-core-updatecenters/nbproject/genfiles.properties index 0dd897993..6b53da996 100644 --- a/sdk/jme3-core-updatecenters/nbproject/genfiles.properties +++ b/sdk/jme3-core-updatecenters/nbproject/genfiles.properties @@ -1,8 +1,8 @@ -build.xml.data.CRC32=08468784 +build.xml.data.CRC32=e145fa2a build.xml.script.CRC32=cfa8d5c5 build.xml.stylesheet.CRC32=a56c6a5b@2.67.1 # 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=08468784 +nbproject/build-impl.xml.data.CRC32=e145fa2a nbproject/build-impl.xml.script.CRC32=270846fb nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1 diff --git a/sdk/jme3-core-updatecenters/nbproject/project.xml b/sdk/jme3-core-updatecenters/nbproject/project.xml index 3979d8b02..abc894aed 100644 --- a/sdk/jme3-core-updatecenters/nbproject/project.xml +++ b/sdk/jme3-core-updatecenters/nbproject/project.xml @@ -8,6 +8,8 @@ org.netbeans.modules.autoupdate.services + + 1.47.2 diff --git a/sdk/jme3-core-updatecenters/src/META-INF/services/org.netbeans.spi.autoupdate.KeyStoreProvider b/sdk/jme3-core-updatecenters/src/META-INF/services/org.netbeans.spi.autoupdate.KeyStoreProvider new file mode 100644 index 000000000..1af1a906c --- /dev/null +++ b/sdk/jme3-core-updatecenters/src/META-INF/services/org.netbeans.spi.autoupdate.KeyStoreProvider @@ -0,0 +1 @@ +com.jme3.gde.core.updatecenters.keystore.JmeKeyStoreProvider diff --git a/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties index dd627e347..eb84743c9 100644 --- a/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties +++ b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties @@ -1,7 +1,7 @@ #jMP update centers com_jme3_gde_core_update_center_nightly=http://updates.jmonkeyengine.org/nightly/3.1/plugins/updates.xml com_jme3_gde_core_update_center_stable=http://updates.jmonkeyengine.org/stable/3.1/plugins/updates.xml -com_jme3_jmp_contributions_update_center=http://updates.jmonkeyengine.org/contributions/updates.xml +com_jme3_jmp_contributions_update_center=http://updates.jmonkeyengine.org/contrib/3.1/updates.xml #jMP update centers Services/AutoupdateType/com_jme3_gde_core_update_center_nightly.instance=jMonkeyEngine SDK Nightly (Breaks!) diff --git a/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/JmeKeyStoreProvider.java b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/JmeKeyStoreProvider.java new file mode 100644 index 000000000..d94e548bd --- /dev/null +++ b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/JmeKeyStoreProvider.java @@ -0,0 +1,47 @@ +package com.jme3.gde.core.updatecenters.keystore; + +import java.io.IOException; +import java.io.InputStream; +import java.security.KeyStore; +import java.security.KeyStoreException; +import java.security.NoSuchAlgorithmException; +import java.security.cert.CertificateException; +import org.netbeans.spi.autoupdate.KeyStoreProvider; +import org.openide.util.Exceptions; + +/** + * Loads the jMonkeyEngine SDK Plugins certificates into the AutoUpdate system. + * + * @author Kirill Vainer + */ +public class JmeKeyStoreProvider implements KeyStoreProvider { + + @Override + public KeyStore getKeyStore() { + InputStream in = null; + try { + in = JmeKeyStoreProvider.class.getResourceAsStream("trustedcerts.jks"); + KeyStore store = KeyStore.getInstance("JKS"); + store.load(in, "trustedcerts".toCharArray()); + return store; + } catch (KeyStoreException ex) { + Exceptions.printStackTrace(ex); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } catch (NoSuchAlgorithmException ex) { + Exceptions.printStackTrace(ex); + } catch (CertificateException ex) { + Exceptions.printStackTrace(ex); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + } + return null; + } + +} diff --git a/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/trustedcerts.jks b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/trustedcerts.jks new file mode 100644 index 000000000..fef5a315c Binary files /dev/null and b/sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/trustedcerts.jks differ diff --git a/sdk/jme3-obfuscate/nbproject/project.properties b/sdk/jme3-obfuscate/nbproject/project.properties index 93b5b7a4b..d16349a4f 100644 --- a/sdk/jme3-obfuscate/nbproject/project.properties +++ b/sdk/jme3-obfuscate/nbproject/project.properties @@ -1,6 +1,7 @@ #Thu, 25 Aug 2011 20:26:50 +0200 javac.source=1.6 javac.compilerargs=-Xlint -Xlint\:-serial +license.file=../license-jme.txt nbm.homepage=http\://proguard.sourceforge.net/ nbm.module.author=Normen Hansen nbm.needs.restart=true diff --git a/sdk/jme3-tests-template/src/com/jme3/gde/templates/tests/testsdesktop/Bundle.properties b/sdk/jme3-tests-template/src/com/jme3/gde/templates/tests/testsdesktop/Bundle.properties index 189077573..c5264da33 100644 --- a/sdk/jme3-tests-template/src/com/jme3/gde/templates/tests/testsdesktop/Bundle.properties +++ b/sdk/jme3-tests-template/src/com/jme3/gde/templates/tests/testsdesktop/Bundle.properties @@ -1,7 +1,7 @@ # To change this license header, choose License Headers in Project Properties. # To change this template file, choose Tools | Templates # and open the template in the editor. - +LBL_CreateProjectStep=Name and Location JmeTestsPanelVisual.projectNameLabel.text=Project &Name: JmeTestsPanelVisual.projectLocationLabel.text=Project &Location: JmeTestsPanelVisual.browseButton.actionCommand=BROWSE diff --git a/sdk/nbi/stub/ext/components/products/blender/nbproject/build-impl.xml b/sdk/nbi/stub/ext/components/products/blender/nbproject/build-impl.xml index 6b25635be..f15304e39 100644 --- a/sdk/nbi/stub/ext/components/products/blender/nbproject/build-impl.xml +++ b/sdk/nbi/stub/ext/components/products/blender/nbproject/build-impl.xml @@ -54,6 +54,7 @@ is divided into following sections: + @@ -71,16 +72,20 @@ is divided into following sections: - + - - + + + - - - + + + + + + @@ -91,12 +96,6 @@ is divided into following sections: - - - - - - @@ -115,24 +114,12 @@ is divided into following sections: - + - + - - - - - - - - - - - - @@ -186,7 +173,15 @@ is divided into following sections: - + + + + + + + + + @@ -275,6 +270,7 @@ is divided into following sections: + @@ -314,6 +310,7 @@ is divided into following sections: + @@ -370,6 +367,11 @@ is divided into following sections: + + + + + @@ -393,7 +395,7 @@ is divided into following sections: - + @@ -407,6 +409,9 @@ is divided into following sections: + + + @@ -438,7 +443,7 @@ is divided into following sections: - + @@ -534,7 +539,7 @@ is divided into following sections: - + @@ -548,6 +553,9 @@ is divided into following sections: + + + @@ -826,8 +834,8 @@ is divided into following sections: - - + + @@ -839,7 +847,7 @@ is divided into following sections: - + @@ -894,6 +902,7 @@ is divided into following sections: + @@ -927,7 +936,7 @@ is divided into following sections: - + @@ -962,41 +971,25 @@ is divided into following sections: - - - - - - - - - - - - - To run this application from the command line without Ant, try: - - - - - - - java -cp "${run.classpath.with.dist.jar}" ${main.class} - - + - + - + - + + + + + + @@ -1004,23 +997,41 @@ is divided into following sections: - + 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 -cp "${run.classpath.with.dist.jar}" ${main.class} - - + - + - + - + + + + + + @@ -1004,23 +997,41 @@ is divided into following sections: - + 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 -cp "${run.classpath.with.dist.jar}" ${main.class} - - + - + - + - + + + + + + @@ -1004,23 +997,41 @@ is divided into following sections: - + 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 -cp "${run.classpath.with.dist.jar}" ${main.class} - - + - + - + - + + + + + + @@ -1004,23 +997,41 @@ is divided into following sections: - + To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" - + + + + + + + + + + + + + + + + + - + + - + +