Jelajahi Sumber

Merge remote-tracking branch 'upstream/master'

Daniel Johansson 10 tahun lalu
induk
melakukan
bf7643f06a
100 mengubah file dengan 1648 tambahan dan 481 penghapusan
  1. 13 1
      .gitignore
  2. 11 1
      .travis.yml
  3. 25 33
      build.gradle
  4. 39 34
      common.gradle
  5. 3 1
      gradle.properties
  6. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java
  7. 15 47
      jme3-core/build.gradle
  8. 0 1
      jme3-core/src/main/java/com/jme3/animation/Bone.java
  9. 2 2
      jme3-core/src/main/java/com/jme3/light/PointLight.java
  10. 27 46
      jme3-core/src/main/java/com/jme3/math/Matrix4f.java
  11. 33 11
      jme3-core/src/main/java/com/jme3/math/Transform.java
  12. 3 3
      jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java
  13. 3 0
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java
  14. 2 0
      jme3-core/src/main/java/com/jme3/system/AppSettings.java
  15. 66 0
      jme3-core/src/main/java/com/jme3/system/JmeVersion.java
  16. 10 5
      jme3-core/src/main/java/com/jme3/util/BufferUtils.java
  17. 1 3
      jme3-core/src/main/java/com/jme3/util/LittleEndien.java
  18. 11 0
      jme3-core/src/main/resources/com/jme3/system/version.properties
  19. 7 6
      jme3-examples/build.gradle
  20. 1 0
      private/known_hosts
  21. TEMPAT SAMPAH
      private/www-updater.key.enc
  22. 2 2
      sdk/BasicGameTemplate/nbproject/project.properties
  23. 1 2
      sdk/JME3TestsTemplate/build.xml
  24. 8 8
      sdk/JME3TestsTemplate/nbproject/genfiles.properties
  25. 14 8
      sdk/JME3TestsTemplate/nbproject/project.properties
  26. 2 2
      sdk/JME3TestsTemplateAndroid/nbproject/project.properties
  27. 2 2
      sdk/ant-jme/nbproject/project.properties
  28. 5 3
      sdk/build.gradle
  29. 11 152
      sdk/build.xml
  30. 1 1
      sdk/jdks/build-osx-zip.sh
  31. 1 1
      sdk/jdks/build-package.sh
  32. 1 1
      sdk/jme3-android/nbproject/project.properties
  33. 3 1
      sdk/jme3-angelfont/nbproject/project.properties
  34. 2 2
      sdk/jme3-assetpack-support/nbproject/project.properties
  35. 3 2
      sdk/jme3-blender/nbproject/project.properties
  36. 10 2
      sdk/jme3-blender/src/com/jme3/gde/blender/BlenderTool.java
  37. 2 2
      sdk/jme3-cinematics/nbproject/project.properties
  38. 3 0
      sdk/jme3-code-check/nbproject/project.properties
  39. 2 2
      sdk/jme3-codepalette/nbproject/project.properties
  40. 2 2
      sdk/jme3-core-baselibs/nbproject/genfiles.properties
  41. 2 2
      sdk/jme3-core-baselibs/nbproject/project.properties
  42. 90 81
      sdk/jme3-core-baselibs/nbproject/project.xml
  43. 2 2
      sdk/jme3-core-libraries/nbproject/project.properties
  44. 54 0
      sdk/jme3-core-libraries/nbproject/project.xml
  45. 2 2
      sdk/jme3-core-updatecenters/nbproject/genfiles.properties
  46. 1 1
      sdk/jme3-core-updatecenters/nbproject/project.properties
  47. 2 0
      sdk/jme3-core-updatecenters/nbproject/project.xml
  48. 1 0
      sdk/jme3-core-updatecenters/src/META-INF/services/org.netbeans.spi.autoupdate.KeyStoreProvider
  49. 1 1
      sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties
  50. 47 0
      sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/JmeKeyStoreProvider.java
  51. TEMPAT SAMPAH
      sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/trustedcerts.jks
  52. 2 2
      sdk/jme3-core/nbproject/project.properties
  53. 10 0
      sdk/jme3-dark-laf/README.md
  54. 8 0
      sdk/jme3-dark-laf/build.xml
  55. 7 0
      sdk/jme3-dark-laf/manifest.mf
  56. 45 0
      sdk/jme3-dark-laf/nbproject/build-impl.xml
  57. 8 0
      sdk/jme3-dark-laf/nbproject/genfiles.properties
  58. 8 0
      sdk/jme3-dark-laf/nbproject/project.properties
  59. 49 0
      sdk/jme3-dark-laf/nbproject/project.xml
  60. 1 0
      sdk/jme3-dark-laf/nbproject/suite.properties
  61. TEMPAT SAMPAH
      sdk/jme3-dark-laf/release/modules/ext/nimrodlf.jar
  62. 10 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/Bundle.properties
  63. 288 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DMUtils.java
  64. 11 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkey.theme
  65. 153 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyIconFactory.java
  66. 111 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyLookAndFeel.java
  67. 29 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyValidator.java
  68. 40 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/Installer.java
  69. 144 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/JunkSnippet.txt
  70. 42 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/README.txt
  71. 13 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/.nbattrs
  72. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint.xml
  73. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint_broken.xml
  74. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint_stroke.xml
  75. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CallSite.xml
  76. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/ClassBreakpoint.xml
  77. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/ClassBreakpoint_stroke.xml
  78. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint.xml
  79. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint_broken.xml
  80. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint_stroke.xml
  81. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpression.xml
  82. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine.xml
  83. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_BP.xml
  84. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_CBP.xml
  85. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_DBP.xml
  86. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_DCBP.xml
  87. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC.xml
  88. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2.xml
  89. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2LinePart.xml
  90. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2_BP.xml
  91. 8 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2_DBP.xml
  92. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPCLinePart.xml
  93. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledBreakpoint.xml
  94. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledBreakpoint_stroke.xml
  95. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledClassBreakpoint.xml
  96. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledClassBreakpoint_stroke.xml
  97. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledCondBreakpoint.xml
  98. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledCondBreakpoint_stroke.xml
  99. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledFieldBreakpoint.xml
  100. 3 0
      sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledFieldBreakpoint_stroke.xml

+ 13 - 1
.gitignore

@@ -5,8 +5,9 @@
 /dist/
 /build/
 /netbeans/
+/sdk/jdks/local/
 /jme3-core/build/
-/jme3-core/src/main/java/com/jme3/system/JmeVersion.java
+/jme3-core/src/main/resources/com/jme3/system/version.properties
 /jme3-plugins/build/
 /jme3-desktop/build/
 /jme3-android-native/build/
@@ -81,6 +82,7 @@
 /sdk/jme3-vehicle-creator/build/
 /sdk/jme3-welcome-screen/build/
 /sdk/jme3-glsl-support/build/
+/sdk/jme3-dark-laf/build/
 /sdk/nbproject/private/
 /sdk/jme3-scenecomposer/nbproject/private/
 /sdk/jme3-core/nbproject/private/
@@ -134,3 +136,13 @@
 !/jme3-bullet-native/libs/native/osx/x86_64/libbulletjme.dylib
 !/jme3-bullet-native/libs/native/linux/x86/libbulletjme.so
 !/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/
+/sdk/jme3-dark-laf/nbproject/private/

+ 11 - 1
.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

+ 25 - 33
build.gradle

@@ -1,15 +1,17 @@
 import org.gradle.api.artifacts.*
 
 buildscript {
-	repositories {
-		mavenCentral()
-	}
-	dependencies {
-		classpath 'com.android.tools.build:gradle:1.1.0'
-	}
+    repositories {
+        mavenCentral()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:1.1.0'
+    }
 }
 
 apply plugin: 'base'
+apply from: file('version.gradle')
+apply from: file('upload.gradle')
 
 // This is applied to all sub projects
 subprojects {
@@ -58,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){
@@ -114,7 +115,12 @@ task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper
     gradleVersion = '2.2.1'
 }
 
-String findNDK() {
+ext {
+    ndkCommandPath  = ""
+    ndkExists       = false
+}
+
+task configureAndroidNDK {
     def ndkBuildFile = "ndk-build"
     // if windows, use ndk-build.cmd instead
     if (System.properties['os.name'].toLowerCase().contains('windows')) {
@@ -127,27 +133,13 @@ String findNDK() {
     if (System.env.ANDROID_NDK != null) {
         ndkBuildPath = System.env.ANDROID_NDK + File.separator + ndkBuildFile
     }
+    
     if (new File(ndkBuildPath).exists()) {
-        return ndkBuildPath
-    } else {
-        return null
-    }
-}
-
-boolean checkNdkExists(String ndkCommandPath) {
-//    String ndkCommandPath = findNDK()
-    if (ndkCommandPath != null && new File(ndkCommandPath).exists()) {
-        return true
-    } else {
-        return false
+        ndkExists = true
+        ndkCommandPath = ndkBuildPath
     }
 }
 
-ext {
-    ndkCommandPath = findNDK()
-    ndkExists = checkNdkExists(ndkCommandPath)
-}
-
 //class IncrementalReverseTask extends DefaultTask {
 //    @InputDirectory
 //    def File inputDir

+ 39 - 34
common.gradle

@@ -4,10 +4,9 @@
 
 apply plugin: 'java'
 apply plugin: 'maven'
-apply plugin: 'maven-publish'
 
-group   = 'com.jme3'
-version = jmeVersion + '-' + jmeVersionTag
+group = 'com.jme3'
+version = jmePomVersion
 
 sourceCompatibility = '1.6'
 [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
@@ -19,9 +18,21 @@ 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': jmeFullVersion
+    }
 }
 
 javadoc {
@@ -56,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 {

+ 3 - 1
gradle.properties

@@ -3,7 +3,9 @@ jmeVersion = 3.1.0
 # Version used for application and settings folder, no spaces!
 jmeMainVersion = 3.1
 # Version addition pre-alpha-svn, Stable, Beta
-jmeVersionTag = snapshot-github
+jmeVersionTag = SNAPSHOT
+# Increment this each time jmeVersionTag changes but jmeVersion stays the same
+jmeVersionTagID = 0
 
 # specify if JavaDoc should be built
 buildJavaDoc = true

+ 3 - 1
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 {

+ 15 - 47
jme3-core/build.gradle

@@ -12,55 +12,23 @@ sourceSets {
     }
 }
 
-buildscript {
-    repositories {
-        mavenCentral()
-    }
-    dependencies {
-        classpath 'org.ajoberstar:gradle-git:1.0.0-rc.1'
-    }
-}
-
-import java.text.SimpleDateFormat
-import org.ajoberstar.grgit.*
-
-task updateVersion << {
-    
-    def verfile = file('src/main/java/com/jme3/system/JmeVersion.java')
-    def jmeGitHash
-    def jmeShortGitHash
-    def jmeBuildDate
-    def jmeBranchName
-    
-    try {
-        def grgit = Grgit.open(project.file('.').parent)
-        jmeGitHash = grgit.head().id
-        jmeShortGitHash = grgit.head().abbreviatedId
-        jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
-        jmeBranchName = grgit.branch.current.name
-    } catch (ex) {
-        // Failed to get repo info
-        logger.warn("Failed to get repository info: " + ex.message + ". " + \
-                    "Only partial build info will be generated.")
-        
-        jmeGitHash = ""
-        jmeShortGitHash = ""
-        jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
-        jmeBranchName = "unknown"
-    }
-    
-    verfile.text = "\npackage com.jme3.system;\n\n" +
-                   "/**\n * THIS IS AN AUTO-GENERATED FILE..\n * DO NOT MODIFY!\n */\n" + 
-                   "public class JmeVersion {\n" + 
-                   "    public static final String BUILD_DATE = \"${jmeBuildDate}\";\n" + 
-                   "    public static final String BRANCH_NAME = \"${jmeBranchName}\";\n" + 
-                   "    public static final String GIT_HASH = \"${jmeGitHash}\";\n" + 
-                   "    public static final String GIT_SHORT_HASH = \"${jmeShortGitHash}\";\n" + 
-                   "    public static final String FULL_NAME = \"jMonkeyEngine ${jmeVersion} (${jmeVersionTag})\";\n" + 
-                   "}\n"
+task updateVersionPropertiesFile << {
+    def verfile = file('src/main/resources/com/jme3/system/version.properties')
+    verfile.text = "# THIS IS AN AUTO-GENERATED FILE..\n" +
+                   "# DO NOT MODIFY!\n" + 
+                   "build.date=${jmeBuildDate}\n" +
+                   "git.revision=${jmeRevision}\n" +
+                   "git.branch=${jmeBranchName}\n" + 
+                   "git.hash=${jmeGitHash}\n" + 
+                   "git.hash.short=${jmeShortGitHash}\n" + 
+                   "git.tag=${jmeGitTag}\n" + 
+                   "name.full=jMonkeyEngine ${jmeFullVersion}\n" +
+                   "version.full=${jmeFullVersion}\n" +
+                   "version.number=${jmeVersion}\n" + 
+                   "version.tag=${jmeVersionTag}"
 }
 
-compileJava.dependsOn(updateVersion)
+compileJava.dependsOn(updateVersionPropertiesFile)
 
 dependencies {
 }

+ 0 - 1
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));
     }
 

+ 2 - 2
jme3-core/src/main/java/com/jme3/light/PointLight.java

@@ -156,8 +156,8 @@ public class PointLight extends Light {
             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;
         }

+ 27 - 46
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();
+        }
     }
 
     /**

+ 33 - 11
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

+ 3 - 3
jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java

@@ -300,7 +300,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
     public void postFrame(FrameBuffer out) {
 
         FrameBuffer sceneBuffer = renderFrameBuffer;
-        if (renderFrameBufferMS != null && !renderer.getCaps().contains(Caps.OpenGL31)) {
+        if (renderFrameBufferMS != null && !renderer.getCaps().contains(Caps.OpenGL32)) {
             renderer.copyFrameBuffer(renderFrameBufferMS, renderFrameBuffer, true);
         } else if (renderFrameBufferMS != null) {
             sceneBuffer = renderFrameBufferMS;
@@ -443,7 +443,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
         //antialiasing on filters only supported in opengl 3 due to depth read problem
         if (numSamples > 1 && caps.contains(Caps.FrameBufferMultisample)) {
             renderFrameBufferMS = new FrameBuffer(width, height, numSamples);
-            if (caps.contains(Caps.OpenGL31)) {
+            if (caps.contains(Caps.OpenGL32)) {
                 Texture2D msColor = new Texture2D(width, height, numSamples, fbFormat);
                 Texture2D msDepth = new Texture2D(width, height, numSamples, Format.Depth);
                 renderFrameBufferMS.setDepthTexture(msDepth);
@@ -456,7 +456,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable {
             }
         }
 
-        if (numSamples <= 1 || !caps.contains(Caps.OpenGL31)) {
+        if (numSamples <= 1 || !caps.contains(Caps.OpenGL32)) {
             renderFrameBuffer = new FrameBuffer(width, height, 1);
             renderFrameBuffer.setDepthBuffer(Format.Depth);
             filterTexture = new Texture2D(width, height, fbFormat);

+ 3 - 0
jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java

@@ -1066,6 +1066,9 @@ public class GLRenderer implements Renderer {
                 stringBuf.append("\n");
             } else {
                 if (gles2) {
+                    // request GLSL ES (1.00) when compiling under GLES2.
+                    stringBuf.append("#version 100\n");
+                    
                     if (source.getType() == ShaderType.Fragment) {
                         // GLES2 requires precision qualifier.
                         stringBuf.append("precision mediump float;\n");

+ 2 - 0
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<String, Object> {
 
+    private static final long serialVersionUID = 1L;
+    
     private static final AppSettings defaults = new AppSettings(false);
 
     /**

+ 66 - 0
jme3-core/src/main/java/com/jme3/system/JmeVersion.java

@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2009-2015 jMonkeyEngine
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *   may be used to endorse or promote products derived from this software
+ *   without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.system;
+
+import java.io.IOException;
+import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Pulls in version info from the version.properties file.
+ * 
+ * @author Kirill Vainer
+ */
+public class JmeVersion {
+    
+    private static final Logger logger = Logger.getLogger(JmeVersion.class.getName());
+    private static final Properties props = new Properties();
+    
+    static {
+        try {
+            props.load(JmeVersion.class.getResourceAsStream("version.properties"));
+        } catch (IOException ex) {
+            logger.log(Level.WARNING, "Unable to read version info!", ex);
+        }
+    }
+    
+    public static final String BUILD_DATE       = props.getProperty("build.date", "1900-01-01");
+    public static final String BRANCH_NAME      = props.getProperty("git.branch", "unknown");
+    public static final String GIT_HASH         = props.getProperty("git.hash", "");
+    public static final String GIT_SHORT_HASH   = props.getProperty("git.hash.short", "");
+    public static final String GIT_TAG          = props.getProperty("git.tag", "");
+    public static final String VERSION_NUMBER   = props.getProperty("version.number", "");
+    public static final String VERSION_TAG      = props.getProperty("version.tag", "");
+    public static final String VERSION_FULL     = props.getProperty("version.full", "");
+    public static final String FULL_NAME        = props.getProperty("name.full", "jMonkeyEngine (unknown version)");
+}

+ 10 - 5
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);
+        }
     }
 
     /**

+ 1 - 3
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 {

+ 11 - 0
jme3-core/src/main/resources/com/jme3/system/version.properties

@@ -0,0 +1,11 @@
+# THIS IS AN AUTO-GENERATED FILE..
+# DO NOT MODIFY!
+build.date=1900-01-01
+git.revision=0
+git.branch=unknown
+git.hash=
+git.hash.short=
+git.tag=
+name.full=jMonkeyEngine 3.1.0-UNKNOWN
+version.number=3.1.0
+version.tag=SNAPSHOT

+ 7 - 6
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"}
     }
 }

+ 1 - 0
private/known_hosts

@@ -0,0 +1 @@
+updates.jmonkeyengine.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5bNOiZwU5dF62nBllxkjiSIfn0k6RVfprvO1aUypRmARD3/MKJKg7cGLezlLKaHZtVs84VpEqpmg5IzPAXWEmxUw1oke70uYMli7JV+4oPAeQRFwUdldP98I5h9VHwSjBqMycRLkxYaHF8edIPt1Zsa2dM3qrufy71ndQoFF6g7QxmT7gsTxwcNufDxymIgiAna/Qp2fr0YCLCiB8RQ7JTHfqA3dOWw0wz7AwfBTwwDCHkVxB5B4nz5iZxFr0scvqcae8vMncq8xKS7OMrLbn6asVaF6dDu+5Jc0mqxma5Qg7VC1xQXZsvlRISfrTFhQMhEx+j9w5snzihrlFnZ35

TEMPAT SAMPAH
private/www-updater.key.enc


+ 2 - 2
sdk/BasicGameTemplate/nbproject/project.properties

@@ -50,8 +50,8 @@ javac.compilerargs=
 javac.deprecation=false
 javac.processorpath=\
     ${javac.classpath}
-javac.source=1.5
-javac.target=1.5
+javac.source=1.6
+javac.target=1.6
 javac.test.classpath=\
     ${javac.classpath}:\
     ${build.classes.dir}

+ 1 - 2
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

+ 8 - 8
sdk/JME3TestsTemplate/nbproject/genfiles.properties

@@ -1,8 +1,8 @@
-build.xml.data.CRC32=0f706f4a
-build.xml.script.CRC32=0b0b23c4
-build.xml.stylesheet.CRC32=[email protected]
-# 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/[email protected]
+build.xml.data.CRC32=0f706f4a
+build.xml.script.CRC32=82b8b23d
+build.xml.stylesheet.CRC32=[email protected]
+# 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/[email protected]

+ 14 - 8
sdk/JME3TestsTemplate/nbproject/project.properties

@@ -25,20 +25,26 @@ 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=
 javac.deprecation=false
-javac.source=1.5
-javac.target=1.5
+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}

+ 2 - 2
sdk/JME3TestsTemplateAndroid/nbproject/project.properties

@@ -47,8 +47,8 @@ javac.compilerargs=
 javac.deprecation=false
 javac.processorpath=\
     ${javac.classpath}
-javac.source=1.5
-javac.target=1.5
+javac.source=1.6
+javac.target=1.6
 javac.test.classpath=\
     ${javac.classpath}:\
     ${build.classes.dir}

+ 2 - 2
sdk/ant-jme/nbproject/project.properties

@@ -36,8 +36,8 @@ javac.compilerargs=
 javac.deprecation=false
 javac.processorpath=\
     ${javac.classpath}
-javac.source=1.5
-javac.target=1.5
+javac.source=1.6
+javac.target=1.6
 javac.test.classpath=\
     ${javac.classpath}:\
     ${build.classes.dir}

+ 5 - 3
sdk/build.gradle

@@ -165,7 +165,7 @@ task createBaseXml(dependsOn: configurations.corelibs) <<{
                         "compile-dependency"{}
                         "run-dependency"{
                             "release-version" "1"
-                            "specification-version" "3.0.0"
+                            "specification-version" jmeVersion
                         }
                     }
                 }
@@ -388,12 +388,14 @@ copyTestSources.outputs.dir "JME3TestsTemplate/src/"
 copyTestSources.outputs.dir "JME3TestsTemplateAndroid/src/"
 
 ant.properties['plugins.version'] = jmeVersion
-ant.properties['app.version']= jmeMainVersion + "-" + jmeVersionTag
+ant.properties['app.version']= jmeFullVersion
+ant.properties['nbm.revision']= jmeNbmRevision
 
 task buildSdk(dependsOn: [copyBaseLibs, copyProjectLibs, createProjectXml, createBaseXml, copyTestSources]) <<{
     ant.propertyfile(file: "nbproject/project.properties") {
         entry( key: "plugins.version", value: "${jmeVersion}")
-        entry( key: "app.version", value: "${jmeMainVersion + "-" + jmeVersionTag}")
+        entry( key: "app.version", value: "${jmeFullVersion}")
+        entry( key: "nbm.revision", value: "${jmeNbmRevision}")
     }
     ant.ant(dir: ".", antfile: "build.xml", target: "build")
 }

+ 11 - 152
sdk/build.xml

@@ -12,7 +12,6 @@
     <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="ant-import.classpath"/>
     <taskdef resource="com/jme/ant/ant-jme.properties" classpathref="ant-import.classpath"/>
     <taskdef name="deb" classname="com.googlecode.ant_deb_task.Deb" classpathref="ant-import.classpath"/>
-    <taskdef name="gcupload" classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpathref="ant-import.classpath"/>
     <taskdef name="desktopentry" classname="com.googlecode.ant_deb_task.DesktopEntry" classpathref="ant-import.classpath"/>
 
     <!--override branding target to include netbeans config file creation, using this target makes sure init was called-->
@@ -157,7 +156,7 @@
                                replace="OpenIDE-Module-Specification-Version: ${plugins.version}"
                                byline="true"/>
                 <replaceregexp file="${module_dir}/nbproject/project.properties"
-                               match="spec.version.base"
+                               match="#*spec\.version\.base"
                                replace="#spec.version.base"
                                byline="true"/>
             </then>
@@ -167,7 +166,7 @@
                                replace="OpenIDE-Module-Implementation-Version: 0"
                                byline="true"/>
                 <replaceregexp file="${module_dir}/nbproject/project.properties"
-                               match="#spec.version.base"
+                               match="#*spec\.version\.base"
                                replace="spec.version.base"
                                byline="true"/>
             </else>
@@ -176,9 +175,6 @@
 
     <target name="set-impl-version">
         <property file="nbproject/project.properties"/>
-        <antcall target="-create-jme3-svn-properties" inheritall="true">
-            <param name="jme3_dir" value="../engine/"/>
-        </antcall>
         <foreach target="-do-impl-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true">
             <param name="set_impl_version" value="true"/>
         </foreach>
@@ -191,105 +187,19 @@
         </foreach>
     </target>
 
-    <!--sets/unsets implementation version to svn revision for plugins-->
+    <!--sets/unsets implementation version to GIT revision for plugins-->
     <target name="-do-impl-version">
-        <!--jme3 libraries-->
-        <if>
-            <or>
-                <equals arg1="${module_dir}" arg2="jme3-core-libraries"/>
-                <equals arg1="${module_dir}" arg2="jme3-project-libraries"/>
-            </or>
-            <then>
-                <!--set jme3 libraries svn revision-->
-                <property prefix="svn" file="build/jme3-lib-svn.properties"/>
-            </then>
-            <else>
-                <!--jme3 core-->
-                <if>
-                    <or>
-                        <equals arg1="${module_dir}" arg2="jme3-core-baselibs"/>
-                        <equals arg1="${module_dir}" arg2="jme3-project-baselibs"/>
-                    </or>
-                    <then>
-                        <!--set jme3 svn revision-->
-                        <property prefix="svn" file="build/jme3-svn.properties"/>
-                    </then>
-                    <else>
-                        <!--jme3 test data-->
-                        <if>
-                            <equals arg1="${module_dir}" arg2="jme3-project-testdata"/>
-                            <then>
-                                <!--set jme3 testdata svn revision-->
-                                <property prefix="svn" file="build/jme3-testdata-svn.properties"/>
-                            </then>
-                            <else>
-                                <!--jme3 tests-->
-                                <if>
-                                    <equals arg1="${module_dir}" arg2="jme3-tests-template"/>
-                                    <then>
-                                        <!--set jme3 tests svn revision-->
-                                        <property prefix="svn" file="build/jme3-tests-svn.properties"/>
-                                    </then>
-                                    <!--"normal" module-->
-                                    <else>
-                                        <!--load svn revision of this modules folder if we are setting the value-->
-                                        <if>
-                                            <equals arg1="${set_impl_version}" arg2="true"/>
-                                            <then>
-                                                <exec executable="svn" output="build/${module_dir}-svn.properties" dir="${module_dir}">
-                                                    <arg value="info" />
-                                                </exec>
-                                                <replace file="build/${module_dir}-svn.properties" token=" " value=""/>
-                                            </then>
-                                        </if>
-                                        <!--set svn revision of module-->
-                                        <property prefix="svn" file="build/${module_dir}-svn.properties"/>
-                                    </else>
-                                </if>
-                            </else>
-                        </if>
-                    </else>
-                </if>
-            </else>
-        </if>
-
         <if>
             <equals arg1="${set_impl_version}" arg2="true"/>
             <then>
-                <echo>Setting implementation version for ${module_dir} to revision: ${svn.LastChangedRev}</echo>
-                <replace  file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}"/>
+                <echo>Setting implementation version for ${module_dir} to revision: ${nbm.revision}</echo>
+                <replace  file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${nbm.revision}"/>
             </then>
             <else>
-                <echo>Removing implementation version for ${module_dir} from revision: ${svn.LastChangedRev}</echo>
-                <replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}" value="OpenIDE-Module-Implementation-Version: 0"/>
+                <echo>Removing implementation version for ${module_dir} from revision: ${nbm.revision}</echo>
+                <replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${nbm.revision}" value="OpenIDE-Module-Implementation-Version: 0"/>
             </else>
         </if>
-
-    </target>
-
-    <!--creates properties files containing svn info for the jme3 folders-->
-    <target name="-create-jme3-svn-properties">
-        <mkdir dir="build"/>
-        <!--jme3 svn properties-->
-        <exec executable="svn" dir="${jme3_dir}/src/" output="build/jme3-svn.properties">
-            <arg value="info" />
-        </exec>
-        <replace file="build/jme3-svn.properties" token=" " value=""/>
-        <!--jme3 test data svn properties-->
-        <exec executable="svn" dir="${jme3_dir}/test-data/" output="build/jme3-testdata-svn.properties">
-            <arg value="info" />
-        </exec>
-        <replace file="build/jme3-testdata-svn.properties" token=" " value=""/>
-        <!--jme3 libraries svn properties-->
-        <exec executable="svn" dir="${jme3_dir}/lib/" output="build/jme3-lib-svn.properties">
-            <arg value="info" />
-        </exec>
-        <replace file="build/jme3-lib-svn.properties" token=" " value=""/>
-        <!--jme3 tests svn properties-->
-        <exec executable="svn" dir="${jme3_dir}/src/test/" output="build/jme3-tests-svn.properties">
-            <arg value="info" />
-        </exec>
-        <replace file="build/jme3-tests-svn.properties" token=" " value=""/>
     </target>
 
     <target name="build-installers">
@@ -298,7 +208,7 @@
             <property name="suite.location" value="${basedir}"/>
             <property name="suite.nbi.product.uid" value="${app.name}"/>
             <!--TODO: this is .0.2 because of the pre-release static 3.0.0, else the RCs could not be installed next to a beta-->
-            <property name="suite.nbi.product.version" value="${plugins.version}.0.4"/>
+            <property name="suite.nbi.product.version" value="${plugins.version}.0.${nbm.revision}"/>
             <property name="nbi.stub.location" value="${basedir}/nbi/stub"/>
             <property name="nbi.stub.common.location" value="${basedir}/nbi/.common"/>
             <property name="nbi.ant.tasks.jar" value="${basedir}/nbi/antlib/nbi-ant-tasks.jar"/>
@@ -311,6 +221,8 @@
             <property name="pack200.enabled" value="true"/>
             <property name="nbi.icon.file" value="${basedir}/jmonkeyplatform.png"/>
             <property name="nbi.dock.icon.file" value="${basedir}/jmonkeyplatform.icns"/>
+            <property name="product.description" value="${app.description}"/>
+            <property name="product.categories" value="${app.categories}"/>
         </ant>
     </target>
 
@@ -339,7 +251,7 @@
              section="devel"
              depends="sun-java6-jdk"
              maintainer="jMonkeyEngine"
-             homepage="http://www.jmonkeyengine.com"
+             homepage="http://www.jmonkeyengine.org"
              postrm="debscripts/postrm"
         >
             <tarfileset dir="dist/${app.name}/" prefix="opt/${app.name}">
@@ -360,57 +272,4 @@
         </deb>
     </target>
 
-    <target name="-upload-googlecode" depends="-check-googlecode" if="googlecode.credentials.present">
-        <property file="nbproject/project.properties"/>
-        <property file="../../../googlecode.properties" prefix="googlecode"/>
-        <echo>Upload windows installers to googlecode..</echo>
-        <gcupload projectname="jmonkeyengine"
-                  labels="Type-Installer, OpSys-Windows, jMonkeyEngine3, Featured"
-                  summary="jMonkeyEngine3 SDK ${app.version} for Windows32"
-                  filename="${basedir}/dist/${app.name}-windows-x86.exe"
-                  targetfilename="jME3_SDK_${app.version}-windows-x86.exe"
-                  username="${googlecode.username}"
-                  password="${googlecode.password}"
-                  />
-        <gcupload projectname="jmonkeyengine"
-                  labels="Type-Installer, OpSys-Windows, jMonkeyEngine3, Featured"
-                  summary="jMonkeyEngine3 SDK ${app.version} for Windows64"
-                  filename="${basedir}/dist/${app.name}-windows-x64.exe"
-                  targetfilename="jME3_SDK_${app.version}-windows-x64.exe"
-                  username="${googlecode.username}"
-                  password="${googlecode.password}"
-                  />
-        <echo>Upload linux installers to googlecode..</echo>
-        <gcupload projectname="jmonkeyengine"
-                  labels="Type-Installer, OpSys-Linux, jMonkeyEngine3, Featured"
-                  summary="jMonkeyEngine3 SDK ${app.version} for Linux32"
-                  filename="${basedir}/dist/${app.name}-linux-x86.sh"
-                  targetfilename="jME3_SDK_${app.version}-linux-x86.sh"
-                  username="${googlecode.username}"
-                  password="${googlecode.password}"
-                  />
-        <gcupload projectname="jmonkeyengine"
-                  labels="Type-Installer, OpSys-Linux, jMonkeyEngine3, Featured"
-                  summary="jMonkeyEngine3 SDK ${app.version} for Linux64"
-                  filename="${basedir}/dist/${app.name}-linux-x64.sh"
-                  targetfilename="jME3_SDK_${app.version}-linux-x64.sh"
-                  username="${googlecode.username}"
-                  password="${googlecode.password}"
-                  />
-        <echo>Upload mac installer to googlecode..</echo>
-        <gcupload projectname="jmonkeyengine"
-                  labels="Type-Installer, OpSys-OSX, jMonkeyEngine3, Featured"
-                  summary="jMonkeyEngine3 SDK ${app.version} for MacOS X"
-                  filename="${basedir}/dist/${app.name}-macosx.tgz"
-                  targetfilename="jME3_SDK_${app.version}-macosx.tgz"
-                  username="${googlecode.username}"
-                  password="${googlecode.password}"
-                  />
-    </target>
-
-    <target name="-check-googlecode">
-        <available file="../../../googlecode.properties" property="googlecode.credentials.present"/>
-    </target>
-
-
 </project>

+ 1 - 1
sdk/jdks/build-osx-zip.sh

@@ -1,5 +1,5 @@
 #!/bin/sh
-#(c) jMonkeyEngine.com
+#(c) jmonkeyengine.org
 #Author Normen Hansen
 set -e
 rm -rf jdk-macosx.zip

+ 1 - 1
sdk/jdks/build-package.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 set -e
-#(c) jMonkeyEngine.com
+#(c) jmonkeyengine.org
 #This script creates SFX binaries of the JDK for the specified platform
 #Author Normen Hansen
 

+ 1 - 1
sdk/jme3-android/nbproject/project.properties

@@ -3,7 +3,7 @@
 javac.source=1.6
 javac.compilerargs=-Xlint -Xlint:-serial
 license.file=../license-jme.txt
-nbm.homepage=http://www.jmonkeyengine.com
+nbm.homepage=http://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 3 - 1
sdk/jme3-angelfont/nbproject/project.properties

@@ -1,4 +1,6 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
-javac.source=1.5
+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

+ 2 - 2
sdk/jme3-assetpack-support/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 3 - 2
sdk/jme3-blender/nbproject/project.properties

@@ -1,7 +1,8 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
-nbm.homepage=http\://www.jmonkeyengine.com
+license.file=../license-jme.txt
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Kaelthas
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 10 - 2
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"));

+ 2 - 2
sdk/jme3-cinematics/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:50 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=R\u00e9my Bouquet
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 3 - 0
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

+ 2 - 2
sdk/jme3-codepalette/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 2 - 2
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
 [email protected]
 # 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/[email protected]

+ 2 - 2
sdk/jme3-core-baselibs/nbproject/project.properties

@@ -1,7 +1,7 @@
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 90 - 81
sdk/jme3-core-baselibs/nbproject/project.xml

@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
+<?xml version='1.0'?>
+<project xmlns='http://www.netbeans.org/ns/project/1'>
   <type>org.netbeans.modules.apisupport.project</type>
   <configuration>
-    <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+    <data xmlns='http://www.netbeans.org/ns/nb-module-project/3'>
       <code-name-base>com.jme3.gde.core.baselibs</code-name-base>
-      <suite-component/>
+      <suite-component />
       <module-dependencies>
         <dependency>
           <code-name-base>com.jme3.gde.core.libraries</code-name-base>
-          <build-prerequisite/>
-          <compile-dependency/>
+          <build-prerequisite />
+          <compile-dependency />
           <run-dependency>
             <release-version>1</release-version>
             <specification-version>3.1.0</specification-version>
@@ -19,133 +19,142 @@
       <public-packages>
         <package>com.jme3.asset</package>
         <package>com.jme3.scene.plugins.blender</package>
-        <package>com.jme3.scene.plugins.blender.animations</package>
-        <package>com.jme3.scene.plugins.blender.cameras</package>
+        <package>com.jme3.scene.plugins.blender.math</package>
         <package>com.jme3.scene.plugins.blender.constraints</package>
         <package>com.jme3.scene.plugins.blender.constraints.definitions</package>
         <package>com.jme3.scene.plugins.blender.curves</package>
-        <package>com.jme3.scene.plugins.blender.file</package>
-        <package>com.jme3.scene.plugins.blender.landscape</package>
-        <package>com.jme3.scene.plugins.blender.lights</package>
-        <package>com.jme3.scene.plugins.blender.materials</package>
-        <package>com.jme3.scene.plugins.blender.math</package>
         <package>com.jme3.scene.plugins.blender.meshes</package>
-        <package>com.jme3.scene.plugins.blender.modifiers</package>
-        <package>com.jme3.scene.plugins.blender.objects</package>
         <package>com.jme3.scene.plugins.blender.particles</package>
+        <package>com.jme3.scene.plugins.blender.cameras</package>
+        <package>com.jme3.scene.plugins.blender.objects</package>
+        <package>com.jme3.scene.plugins.blender.landscape</package>
+        <package>com.jme3.scene.plugins.blender.modifiers</package>
         <package>com.jme3.scene.plugins.blender.textures</package>
+        <package>com.jme3.scene.plugins.blender.textures.io</package>
         <package>com.jme3.scene.plugins.blender.textures.blending</package>
         <package>com.jme3.scene.plugins.blender.textures.generating</package>
-        <package>com.jme3.scene.plugins.blender.textures.io</package>
-        <package>checkers.quals</package>
-        <package>com.jme3.animation</package>
-        <package>com.jme3.app</package>
-        <package>com.jme3.app.state</package>
-        <package>com.jme3.asset.cache</package>
-        <package>com.jme3.asset.plugins</package>
-        <package>com.jme3.audio</package>
-        <package>com.jme3.audio.openal</package>
-        <package>com.jme3.audio.plugins</package>
-        <package>com.jme3.bounding</package>
-        <package>com.jme3.cinematic</package>
-        <package>com.jme3.cinematic.events</package>
-        <package>com.jme3.collision</package>
-        <package>com.jme3.collision.bih</package>
-        <package>com.jme3.cursors.plugins</package>
-        <package>com.jme3.effect</package>
-        <package>com.jme3.effect.influencers</package>
-        <package>com.jme3.effect.shapes</package>
+        <package>com.jme3.scene.plugins.blender.animations</package>
+        <package>com.jme3.scene.plugins.blender.materials</package>
+        <package>com.jme3.scene.plugins.blender.file</package>
+        <package>com.jme3.scene.plugins.blender.lights</package>
+        <package>jme3tools.shader</package>
+        <package>jme3tools.savegame</package>
+        <package>jme3tools.shadercheck</package>
+        <package>jme3tools.optimize</package>
+        <package>jme3tools.converters</package>
+        <package>com.jme3.shader</package>
+        <package>com.jme3.shader.plugins</package>
         <package>com.jme3.export</package>
         <package>com.jme3.export.binary</package>
-        <package>com.jme3.font</package>
-        <package>com.jme3.font.plugins</package>
+        <package>com.jme3.cinematic</package>
+        <package>com.jme3.cinematic.events</package>
+        <package>com.jme3.math</package>
+        <package>com.jme3.util</package>
+        <package>com.jme3.util.blockparser</package>
+        <package>com.jme3.util.xml</package>
+        <package>com.jme3.post</package>
         <package>com.jme3.input</package>
-        <package>com.jme3.input.controls</package>
         <package>com.jme3.input.dummy</package>
+        <package>com.jme3.input.controls</package>
         <package>com.jme3.input.event</package>
-        <package>com.jme3.light</package>
+        <package>com.jme3.profile</package>
+        <package>com.jme3.ui</package>
+        <package>com.jme3.audio</package>
+        <package>com.jme3.audio.openal</package>
+        <package>com.jme3.audio.plugins</package>
+        <package>com.jme3.cursors.plugins</package>
+        <package>com.jme3.bounding</package>
+        <package>com.jme3.shadow</package>
+        <package>com.jme3.texture</package>
+        <package>com.jme3.texture.image</package>
+        <package>com.jme3.texture.plugins</package>
+        <package>com.jme3.system</package>
         <package>com.jme3.material</package>
         <package>com.jme3.material.plugins</package>
-        <package>com.jme3.math</package>
-        <package>com.jme3.post</package>
-        <package>com.jme3.profile</package>
         <package>com.jme3.renderer</package>
-        <package>com.jme3.renderer.opengl</package>
         <package>com.jme3.renderer.queue</package>
+        <package>com.jme3.renderer.opengl</package>
+        <package>com.jme3.effect</package>
+        <package>com.jme3.effect.shapes</package>
+        <package>com.jme3.effect.influencers</package>
+        <package>com.jme3.app</package>
+        <package>com.jme3.app.state</package>
+        <package>com.jme3.asset.plugins</package>
+        <package>com.jme3.asset.cache</package>
+        <package>com.jme3.light</package>
+        <package>com.jme3.animation</package>
+        <package>com.jme3.collision</package>
+        <package>com.jme3.collision.bih</package>
         <package>com.jme3.scene</package>
-        <package>com.jme3.scene.control</package>
+        <package>com.jme3.scene.shape</package>
+        <package>com.jme3.scene.plugins</package>
         <package>com.jme3.scene.debug</package>
         <package>com.jme3.scene.instancing</package>
+        <package>com.jme3.scene.control</package>
         <package>com.jme3.scene.mesh</package>
-        <package>com.jme3.scene.plugins</package>
-        <package>com.jme3.scene.shape</package>
-        <package>com.jme3.shader</package>
-        <package>com.jme3.shader.plugins</package>
-        <package>com.jme3.shadow</package>
-        <package>com.jme3.system</package>
-        <package>com.jme3.texture</package>
-        <package>com.jme3.texture.image</package>
-        <package>com.jme3.texture.plugins</package>
-        <package>com.jme3.ui</package>
-        <package>com.jme3.util</package>
-        <package>com.jme3.util.blockparser</package>
-        <package>com.jme3.util.xml</package>
-        <package>jme3tools.converters</package>
-        <package>jme3tools.converters.model</package>
-        <package>jme3tools.converters.model.strip</package>
-        <package>jme3tools.optimize</package>
-        <package>jme3tools.savegame</package>
-        <package>jme3tools.shader</package>
-        <package>jme3tools.shadercheck</package>
+        <package>com.jme3.font</package>
+        <package>com.jme3.font.plugins</package>
+        <package>checkers.quals</package>
+        <package>jme3tools.navigation</package>
         <package>com.jme3.input.awt</package>
         <package>com.jme3.system.awt</package>
-        <package>jme3tools.navigation</package>
-        <package>com.jme3.post.filters</package>
         <package>com.jme3.post.ssao</package>
+        <package>com.jme3.post.filters</package>
         <package>com.jme3.water</package>
         <package>com.jme3.bullet</package>
-        <package>com.jme3.bullet.collision</package>
-        <package>com.jme3.bullet.collision.shapes</package>
-        <package>com.jme3.bullet.collision.shapes.infos</package>
-        <package>com.jme3.bullet.control</package>
-        <package>com.jme3.bullet.control.ragdoll</package>
-        <package>com.jme3.bullet.debug</package>
+        <package>com.jme3.bullet.util</package>
         <package>com.jme3.bullet.joints</package>
         <package>com.jme3.bullet.joints.motors</package>
         <package>com.jme3.bullet.objects</package>
         <package>com.jme3.bullet.objects.infos</package>
-        <package>com.jme3.bullet.util</package>
-        <package>com.jme3.audio.lwjgl</package>
+        <package>com.jme3.bullet.debug</package>
+        <package>com.jme3.bullet.control</package>
+        <package>com.jme3.bullet.control.ragdoll</package>
+        <package>com.jme3.bullet.collision</package>
+        <package>com.jme3.bullet.collision.shapes</package>
+        <package>com.jme3.bullet.collision.shapes.infos</package>
         <package>com.jme3.input.lwjgl</package>
-        <package>com.jme3.renderer.lwjgl</package>
+        <package>com.jme3.audio.lwjgl</package>
         <package>com.jme3.system.lwjgl</package>
+        <package>com.jme3.renderer.lwjgl</package>
         <package>com.jme3.network</package>
-        <package>com.jme3.network.base</package>
         <package>com.jme3.network.kernel</package>
-        <package>com.jme3.network.kernel.tcp</package>
         <package>com.jme3.network.kernel.udp</package>
+        <package>com.jme3.network.kernel.tcp</package>
+        <package>com.jme3.network.util</package>
         <package>com.jme3.network.message</package>
         <package>com.jme3.network.rmi</package>
+        <package>com.jme3.network.base</package>
         <package>com.jme3.network.serializing</package>
         <package>com.jme3.network.serializing.serializers</package>
+        <package>com.jme3.network.service</package>
+        <package>com.jme3.network.service.rpc</package>
+        <package>com.jme3.network.service.rpc.msg</package>
+        <package>com.jme3.network.service.serializer</package>
         <package>com.jme3.niftygui</package>
         <package>com.jme3.export.xml</package>
         <package>com.jme3.scene.plugins.fbx</package>
+        <package>com.jme3.scene.plugins.fbx.obj</package>
+        <package>com.jme3.scene.plugins.fbx.anim</package>
+        <package>com.jme3.scene.plugins.fbx.node</package>
+        <package>com.jme3.scene.plugins.fbx.misc</package>
+        <package>com.jme3.scene.plugins.fbx.material</package>
         <package>com.jme3.scene.plugins.fbx.file</package>
+        <package>com.jme3.scene.plugins.fbx.mesh</package>
         <package>com.jme3.scene.plugins.ogre</package>
         <package>com.jme3.scene.plugins.ogre.matext</package>
         <package>com.jme3.terrain</package>
+        <package>com.jme3.terrain.heightmap</package>
         <package>com.jme3.terrain.geomipmap</package>
+        <package>com.jme3.terrain.geomipmap.picking</package>
         <package>com.jme3.terrain.geomipmap.grid</package>
         <package>com.jme3.terrain.geomipmap.lodcalc</package>
         <package>com.jme3.terrain.geomipmap.lodcalc.util</package>
-        <package>com.jme3.terrain.geomipmap.picking</package>
-        <package>com.jme3.terrain.heightmap</package>
         <package>com.jme3.terrain.noise</package>
-        <package>com.jme3.terrain.noise.basis</package>
         <package>com.jme3.terrain.noise.filter</package>
-        <package>com.jme3.terrain.noise.fractal</package>
         <package>com.jme3.terrain.noise.modulator</package>
+        <package>com.jme3.terrain.noise.fractal</package>
+        <package>com.jme3.terrain.noise.basis</package>
       </public-packages>
       <class-path-extension>
         <runtime-relative-path>ext/jme3-blender-3.1.0-snapshot-github.jar</runtime-relative-path>
@@ -193,4 +202,4 @@
       </class-path-extension>
     </data>
   </configuration>
-</project>
+</project>

+ 2 - 2
sdk/jme3-core-libraries/nbproject/project.properties

@@ -1,8 +1,8 @@
 #Thu, 25 Aug 2011 20:26:48 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=jMonkeyEngine
 nbm.needs.restart=true
 spec.version.base=3.1.0

+ 54 - 0
sdk/jme3-core-libraries/nbproject/project.xml

@@ -6,6 +6,44 @@
       <suite-component />
       <module-dependencies />
       <public-packages>
+        <package>org.ejml</package>
+        <package>org.ejml.interfaces.decomposition</package>
+        <package>org.ejml.interfaces.linsol</package>
+        <package>org.ejml.data</package>
+        <package>org.ejml.alg.dense.linsol</package>
+        <package>org.ejml.ops</package>
+        <package>org.ejml.factory</package>
+        <package>org.ejml.alg.fixed</package>
+        <package>org.ejml.alg.generic</package>
+        <package>org.ejml.alg.block</package>
+        <package>org.ejml.alg.block.decomposition.chol</package>
+        <package>org.ejml.alg.block.decomposition.qr</package>
+        <package>org.ejml.alg.block.decomposition.hessenberg</package>
+        <package>org.ejml.alg.block.decomposition.bidiagonal</package>
+        <package>org.ejml.alg.block.linsol.chol</package>
+        <package>org.ejml.alg.block.linsol.qr</package>
+        <package>org.ejml.alg.dense.decomposition</package>
+        <package>org.ejml.alg.dense.decomposition.chol</package>
+        <package>org.ejml.alg.dense.decomposition.lu</package>
+        <package>org.ejml.alg.dense.decomposition.qr</package>
+        <package>org.ejml.alg.dense.decomposition.hessenberg</package>
+        <package>org.ejml.alg.dense.decomposition.svd</package>
+        <package>org.ejml.alg.dense.decomposition.svd.implicitqr</package>
+        <package>org.ejml.alg.dense.decomposition.eig</package>
+        <package>org.ejml.alg.dense.decomposition.eig.watched</package>
+        <package>org.ejml.alg.dense.decomposition.eig.symm</package>
+        <package>org.ejml.alg.dense.decomposition.bidiagonal</package>
+        <package>org.ejml.alg.dense.mult</package>
+        <package>org.ejml.alg.dense.misc</package>
+        <package>org.ejml.alg.dense.linsol.chol</package>
+        <package>org.ejml.alg.dense.linsol.lu</package>
+        <package>org.ejml.alg.dense.linsol.qr</package>
+        <package>org.ejml.alg.dense.linsol.svd</package>
+        <package>org.ejml.simple</package>
+        <package>org.ejml.alg.dense.decompose</package>
+        <package>org.ejml.alg.dense.decompose.chol</package>
+        <package>org.ejml.alg.dense.decompose.lu</package>
+        <package>org.ejml.alg.dense.decompose.qr</package>
         <package>com.bulletphysics</package>
         <package>com.bulletphysics.collision.broadphase</package>
         <package>com.bulletphysics.collision.dispatch</package>
@@ -161,6 +199,22 @@
         <package>org.jglfont.impl.format.awt</package>
         <package>org.jglfont.impl</package>
       </public-packages>
+      <class-path-extension>
+        <runtime-relative-path>ext/core-0.27.jar</runtime-relative-path>
+        <binary-origin>release/modules/ext/core-0.27.jar</binary-origin>
+      </class-path-extension>
+      <class-path-extension>
+        <runtime-relative-path>ext/dense64-0.27.jar</runtime-relative-path>
+        <binary-origin>release/modules/ext/dense64-0.27.jar</binary-origin>
+      </class-path-extension>
+      <class-path-extension>
+        <runtime-relative-path>ext/simple-0.27.jar</runtime-relative-path>
+        <binary-origin>release/modules/ext/simple-0.27.jar</binary-origin>
+      </class-path-extension>
+      <class-path-extension>
+        <runtime-relative-path>ext/denseC64-0.27.jar</runtime-relative-path>
+        <binary-origin>release/modules/ext/denseC64-0.27.jar</binary-origin>
+      </class-path-extension>
       <class-path-extension>
         <runtime-relative-path>ext/jbullet.jar</runtime-relative-path>
         <binary-origin>release/modules/ext/jbullet.jar</binary-origin>

+ 2 - 2
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
 [email protected]
 # 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/[email protected]

+ 1 - 1
sdk/jme3-core-updatecenters/nbproject/project.properties

@@ -1,4 +1,4 @@
 #Thu, 25 Aug 2011 20:26:49 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 spec.version.base=3.1.0

+ 2 - 0
sdk/jme3-core-updatecenters/nbproject/project.xml

@@ -8,6 +8,8 @@
             <module-dependencies>
                 <dependency>
                     <code-name-base>org.netbeans.modules.autoupdate.services</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
                     <run-dependency>
                         <specification-version>1.47.2</specification-version>
                     </run-dependency>

+ 1 - 0
sdk/jme3-core-updatecenters/src/META-INF/services/org.netbeans.spi.autoupdate.KeyStoreProvider

@@ -0,0 +1 @@
+com.jme3.gde.core.updatecenters.keystore.JmeKeyStoreProvider

+ 1 - 1
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!)

+ 47 - 0
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;
+    }
+
+}

TEMPAT SAMPAH
sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/keystore/trustedcerts.jks


+ 2 - 2
sdk/jme3-core/nbproject/project.properties

@@ -1,10 +1,10 @@
 #Thu, 25 Aug 2011 20:26:48 +0200
 file.reference.DDSUtils.jar=release/modules/ext/DDSUtils.jar
 #Thu, 25 Aug 2011 19:32:54 +0200
-javac.source=1.5
+javac.source=1.6
 javac.compilerargs=-Xlint -Xlint\:-serial
 license.file=../license-jme.txt
-nbm.homepage=http\://www.jmonkeyengine.com
+nbm.homepage=http\://www.jmonkeyengine.org
 nbm.module.author=Normen Hansen
 nbm.needs.restart=true
 project.license=jme

+ 10 - 0
sdk/jme3-dark-laf/README.md

@@ -0,0 +1,10 @@
+# DarkMonkey
+Netbeans LAF and FAC combo - uses NimROD and Obsidian
+
+This is a plug-in for for Netbeans 8+ (well, the version it was developed for is 8.0.2). We wanted a dark theme variant for the jMonkeyEngine 3.1 sdk, so we made one. Enjoy! 
+
+![DarkMonkey Screenshot](http://jme-hub-cdn.jmonkeyengineor.netdna-cdn.com/uploads/default/_optimized/fdd/136/87eb8a1efd_690x387.png)
+
+## Features
+- Adds the DarkMonkey LaF to the Netbeans 8 environment under appearance - It's NimROD with a couple of tweaks. We've just adapted Nilo's wonderful project for the look we were going for.
+- Adds the DarkMonkey FaC to the editor profile listing - It's Obsidian with some tweaks. DejaVu Sans Mono brings some sophistication to an otherwise courier world.

+ 8 - 0
sdk/jme3-dark-laf/build.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See harness/README in the NetBeans platform -->
+<!-- for some information on what you could do (e.g. targets to override). -->
+<!-- If you delete this file and reopen the project it will be recreated. -->
+<project name="org.jme3.netbeans.plaf.darkmonkey" default="netbeans" basedir=".">
+    <description>Builds, tests, and runs the project org.jme3.netbeans.plaf.darkmonkey.</description>
+    <import file="nbproject/build-impl.xml"/>
+</project>

+ 7 - 0
sdk/jme3-dark-laf/manifest.mf

@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+OpenIDE-Module: org.jme3.netbeans.plaf.darkmonkey/1
+OpenIDE-Module-Implementation-Version: 0
+OpenIDE-Module-Install: org/jme3/netbeans/plaf/darkmonkey/Installer.class
+OpenIDE-Module-Layer: org/jme3/netbeans/plaf/darkmonkey/layer.xml
+OpenIDE-Module-Localizing-Bundle: org/jme3/netbeans/plaf/darkmonkey/Bundle.properties
+

+ 45 - 0
sdk/jme3-dark-laf/nbproject/build-impl.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+-->
+<project name="org.jme3.netbeans.plaf.darkmonkey-impl" basedir="..">
+    <fail message="Please build using Ant 1.7.1 or higher.">
+        <condition>
+            <not>
+                <antversion atleast="1.7.1"/>
+            </not>
+        </condition>
+    </fail>
+    <property file="nbproject/private/suite-private.properties"/>
+    <property file="nbproject/suite.properties"/>
+    <fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail>
+    <property file="${suite.dir}/nbproject/private/platform-private.properties"/>
+    <property file="${suite.dir}/nbproject/platform.properties"/>
+    <macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="name"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{name}" value="${@{value}}"/>
+        </sequential>
+    </macrodef>
+    <macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2">
+        <attribute name="property"/>
+        <attribute name="value"/>
+        <sequential>
+            <property name="@{property}" value="@{value}"/>
+        </sequential>
+    </macrodef>
+    <property file="${user.properties.file}"/>
+    <nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/>
+    <fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness).">
+        <condition>
+            <not>
+                <contains string="${cluster.path.evaluated}" substring="platform"/>
+            </not>
+        </condition>
+    </fail>
+    <import file="${harness.dir}/build.xml"/>
+</project>

+ 8 - 0
sdk/jme3-dark-laf/nbproject/genfiles.properties

@@ -0,0 +1,8 @@
+build.xml.data.CRC32=8f3042a8
+build.xml.script.CRC32=c15f5ee0
[email protected]
+# 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=8f3042a8
+nbproject/build-impl.xml.script.CRC32=4524e469
+nbproject/[email protected]

+ 8 - 0
sdk/jme3-dark-laf/nbproject/project.properties

@@ -0,0 +1,8 @@
+file.reference.nimrodlf.jar=release/modules/ext/nimrodlf.jar
+javac.source=1.7
+javac.compilerargs=-Xlint -Xlint:-serial
+license.file=../license-jme.txt
+nbm.homepage=http://www.jmonkeyengine.org
+nbm.module.author=Charles Anderson, R\u00e9my Bouquet
+nbm.needs.restart=true
+spec.version.base=3.1.0

+ 49 - 0
sdk/jme3-dark-laf/nbproject/project.xml

@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.apisupport.project</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
+            <code-name-base>org.jme3.netbeans.plaf.darkmonkey</code-name-base>
+            <suite-component/>
+            <module-dependencies>
+                <dependency>
+                    <code-name-base>org.openide.awt</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.62.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.modules</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>7.43.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.util</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>8.39.1</specification-version>
+                    </run-dependency>
+                </dependency>
+                <dependency>
+                    <code-name-base>org.openide.windows</code-name-base>
+                    <build-prerequisite/>
+                    <compile-dependency/>
+                    <run-dependency>
+                        <specification-version>6.71.1</specification-version>
+                    </run-dependency>
+                </dependency>
+            </module-dependencies>
+            <public-packages/>
+            <class-path-extension>
+                <runtime-relative-path>ext/nimrodlf.jar</runtime-relative-path>
+                <binary-origin>release/modules/ext/nimrodlf.jar</binary-origin>
+            </class-path-extension>
+        </data>
+    </configuration>
+</project>

+ 1 - 0
sdk/jme3-dark-laf/nbproject/suite.properties

@@ -0,0 +1 @@
+suite.dir=${basedir}/..

TEMPAT SAMPAH
sdk/jme3-dark-laf/release/modules/ext/nimrodlf.jar


+ 10 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/Bundle.properties

@@ -0,0 +1,10 @@
+OpenIDE-Module-Name=DarkMonkey
+OpenIDE-Module-Display-Category=Appearance
+OpenIDE-Module-Short-Description=Contains DarkMonkey theme for the JME3.1 stable release
+OpenIDE-Module-Long-Description=\
+    <div style="background:#333333;color:#995500; font-family:'Kreon',serif;margin: 3px, #777777;"/> <img src="http://hub.jmonkeyengine.org/uploads/default/1252/91fcc91347189c84.png" style="margin-left:auto;margin-right:auto"/><br/><h1 style="font-weight:bold;text-align:center;">DarkMonkey Theme</h1> <p style="color:#aaaaaa;">This is a Fonts/Colors and LookAndFeel combo that utilizes <a style="color:#999900" href="http://jamesmcfadden.co.uk/netbeans-obsidian-theme/" target="new">James McFadden's Obsidian Fonts/Colors</a>and <a style="color:#999900" href="http://nilogonzalez.es/nimrodlf/download-en.html" target="new">Nilo Gonzalez's Nimrod LookAndFeel</a> which isbased on the Metal LookAndFeel.  \
+    This module just checks and sees if the user already has the components, and if not, installs the theme and activates a few options:\n</p><UL> <LI> under Tools - Options - Appearance - LookAndFeel it will have "DarkMonkey" , available.\
+    </LI><LI> It also adds a Fonts/Colors Profile called "Dark Monkey".\
+    </LI></UL> <p style="color:#aaaaaa;"> We hope you like it!\
+    </p> For More Information visit: <a style="color:#999900" href="http://hub.jmonkeyengine.org/t/darkmonkey-dev-blog/31566" target="new"> DarkMonkey Development Thread </a>  </div>
+

+ 288 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DMUtils.java

@@ -0,0 +1,288 @@
+/*
+ * 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.
+ */
+package org.jme3.netbeans.plaf.darkmonkey;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.FontFormatException;
+import java.awt.GraphicsEnvironment;
+import java.awt.image.BandedSampleModel;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBuffer;
+import java.awt.image.DataBufferFloat;
+import java.awt.image.Raster;
+import java.awt.image.WritableRaster;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import javax.imageio.ImageIO;
+
+/**
+ * I figured it would be best to have a Utilities type class to store the
+ * Methods I commonly use. Resources, registering stuff, resolving, transforming
+ * and so on...
+ *
+ * @author charles
+ */
+public class DMUtils {
+
+    /**
+     * <p>
+     * This method loads a picture from a relative path string. The relative
+     * path's root directory is understood to be inside of a jar... and in
+     * relation to the package of the referring Object instance.
+     * </p>
+     * <p>
+     * For example: if the object is an instance of
+     * org.jme3.netbeans.plaf.darkmonkey.DarkMonkeyIconFactory.class, and the
+     * string is "icons/MyCloseIcon.png", it will attempt to load
+     * org/jme3/netbeans/plaf/darkmonkey/icons/MyCloseIcon.png from
+     * DarkMonkeyIconFactory's jar file.
+     * </p>
+     * It will print a stack trace if you get the relative path wrong.
+     *
+     * @param refObj - Reference Object(Object) - meant for a standard 'this'
+     * call, though any Instantiated class can be used. This is part of a
+     * workaround for Netbean's multiple class loader system.
+     * @param fileName - File Name(String) - the path to an image relative to
+     * the Reference Object's location in a jar file.
+     * @return BufferedImage - Freshly converted from the image file found at
+     * the location.
+     */
+    public static BufferedImage loadImagefromJar(Object refObj, String fileName) {
+        BufferedImage bi = null;
+        try {
+            bi = ImageIO.read(refObj.getClass().getResourceAsStream(fileName));
+        } catch (IOException e) {
+            // File is probably referenced wrong or "mispleled"... lol.
+            e.printStackTrace();
+        }
+        return bi;
+    }
+
+    /**<p>
+     * This utility method is designed to Load OpenType/TrueType fonts into the 
+     * current Runtime Environment without installing them to the OS.  It takes 
+     * the base path of the refObj and loads font files located relative to it.
+     * It checks to make sure that the fonts are not already installed in the system
+     * OS, first.  If they are already installed, it does nothing more.
+     * </p><p>
+     * Typical Usage - DMUtils.loadFontsFromJar(this, someFontFiles);<br/>
+     * and then someFontFiles[0] would contain something like "myfonts/DisFontPlain.ttf"
+     * </p>
+     * @param refObj - Object - Usually just a *this*, but useful for a multiClassLoader
+     * type situation.
+     * @param fileNames - String[] - an array of {relative path + filename} strings for loading
+     *  TrueType or OpenType fonts
+     */
+    public static void loadFontsFromJar(Object refObj, String[] fileNames) {
+        //first, we grab ahold of what all fonts are in the JRE's system
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        Font[] fontsListing = ge.getAllFonts();
+
+        /* // this can be uncommented if you want to see all the fonts in the JRE
+         for (Font fontInListing : fontsListing) {
+         System.out.println(fontInListing.getFontName() + " : " + fontInListing.getFamily());
+         }
+         */
+
+        // Then we go and process the incoming streams
+        InputStream inStream;
+        Font checkFont;
+        try {
+            toNextFileName:
+            for (String fileName : fileNames) {// load up the fileName to process...
+                checkFont = Font.createFont(Font.TRUETYPE_FONT, refObj.getClass().getResourceAsStream(fileName));
+                for (Font fontInListing : fontsListing) {// check if it's already on the list
+                    if (fontInListing.getFontName().equals(checkFont.getFontName())) {
+                        continue toNextFileName; //head to the next file if we find it...
+                    }
+                }
+                ge.registerFont(checkFont);// and register it if we don't....
+            }
+        } catch (FontFormatException | IOException e) {
+            // a File is probably referenced wrong or "mispleled"... lol.
+            // you can alternativly send a single String for debugging purposes
+            e.printStackTrace();
+        }
+        
+    }
+
+    /**
+     * This method transforms the inputed BufferedImage by the supplied Color[].
+     * The behavior treats the Color[] as Ordered Passes A, R, G, B for .length
+     * 4 or more. It treats it as Ordered Passes R, G, B only for .length 3 or
+     * less.
+     *
+     * @param colorSet Color[] - that processes [1..4] up to four palette
+     * colors. 3 or less uses R,G,B passes only. 4 uses A,R,G,B and ignores
+     * anything more.
+     * @param clearToColorRequested - Color - A color to Blend with the First
+     * Translucent Pass - Optional
+     * @param argbMappedBufferedImage - BufferedImage - The image containing
+     * Channels as Alpha for the Palette
+     * @return BufferedImage - a new BufferedImage() transformed by the palette.
+     */
+    public static BufferedImage paletteSwapARGB8(Color[] colorSet, Color clearToColorRequested, BufferedImage argbMappedBufferedImage) {
+        if (argbMappedBufferedImage == null) {
+            return null; //S.E.P.
+        }
+        final Color BLACK_NO_ALPHA = new Color(0x00000000);
+        final Color WHITE_NO_ALPHA = new Color(0x00FFFFFF);
+        final int ALPHA = 3; // this is some static mapping for...
+        final int RED = 0; // readability in the following...
+        final int GREEN = 1; // Magic code section of band processing.
+        final int BLUE = 2;
+        final int[] orderedBands = {ALPHA, RED, GREEN, BLUE};
+        //first we prep a cmap with blank passes and 
+        Color[] cMap = {BLACK_NO_ALPHA, BLACK_NO_ALPHA, BLACK_NO_ALPHA, BLACK_NO_ALPHA};
+        boolean clearColorFound = false;
+        Color clearToColor = BLACK_NO_ALPHA;
+        if (colorSet != null) {  //if we get a null colorSet... it's all mapped to clear.
+            if (colorSet.length > cMap.length) { // if colorSet is more than 4, we only proces  up to 4
+                for (int i = 0; i < cMap.length; i++) {
+                    if (colorSet[i] != null) {
+                        if (!clearColorFound) {
+                            clearColorFound = true;
+                            clearToColor = colorSet[i];
+                        }
+                        cMap[orderedBands[i]] = colorSet[i]; // and finally, if any of the Colors are null... invisible pass...
+                    }
+                }
+            } else {
+                int startOffset = 0;
+                if (colorSet.length < 4) // if less than standard size, assume RGB model
+                {
+                    startOffset++; // and "blank" the alpha color pass.
+                }
+                for (int i = 0; i < colorSet.length; i++) {
+                    if (colorSet[i] != null) {
+                        if (!clearColorFound) {
+                            clearColorFound = true;
+                            clearToColor = colorSet[i];
+                        }
+                        cMap[orderedBands[i + startOffset]] = colorSet[i];
+                    }
+                }
+            }
+        }
+
+        // finally adjust the clearToColor if one was requested
+        if (clearToColorRequested != null) {
+            clearToColor = clearToColorRequested;
+        }
+        //Next we'll switch to Rasters to easily handle floating point precision
+        // operations upon the individual channels.
+
+        WritableRaster outRaster, inRaster;
+        int w = argbMappedBufferedImage.getWidth();
+        int h = argbMappedBufferedImage.getHeight();
+        BandedSampleModel inSM = new BandedSampleModel(DataBuffer.TYPE_FLOAT, w, h, 4);
+        DataBufferFloat inDBF = new DataBufferFloat((w * h), 4);//4 banks, and total size 
+        inRaster = Raster.createWritableRaster(inSM, inDBF, null); // that null just means point 0, 0 (top/left)
+        outRaster = inRaster.createCompatibleWritableRaster(w, h);
+        float[] cMaptoFlArray, outColortoFlArray, clearColortoFlArray;
+        float inBandAsAlpha;
+        Color paletteColor;
+        // now we convert from W/E the argbMappedBufferedImage's format to 
+        // our normalized [0f..1f] RGBA raster
+        outColortoFlArray = new float[]{0f, 0f, 0f, 0f}; // or new float[4]... w/e
+        clearColortoFlArray = clearToColor.getRGBComponents(new float[4]);
+        clearColortoFlArray[ALPHA] = 0f;
+        for (int y = 0; y < h; y++) {
+            for (int x = 0; x < w; x++) {
+                int packedPixel = argbMappedBufferedImage.getRGB(x, y);
+                int testing;
+                float ftesting;
+                //outColortoFlArray[ALPHA] = (((packedPixel >> 24) & 0xFF) / 255);
+                testing = packedPixel;
+                testing = testing >> 24;
+                testing = testing & 0xFF;
+                ftesting = testing;
+                ftesting = ftesting / 255;
+                outColortoFlArray[ALPHA] = ftesting;
+
+                //outColortoFlArray[RED]   = (((packedPixel >> 16) & 0xFF) / 255);
+                testing = packedPixel;
+                testing = testing >> 16;
+                testing = testing & 0xFF;
+                ftesting = testing;
+                ftesting = ftesting / 255;
+                outColortoFlArray[RED] = ftesting;
+
+                //outColortoFlArray[GREEN] = (((packedPixel >>  8) & 0xFF) / 255);
+                testing = packedPixel;
+                testing = testing >> 8;
+                testing = testing & 0xFF;
+                ftesting = testing;
+                ftesting = ftesting / 255;
+                outColortoFlArray[GREEN] = ftesting;
+
+                //outColortoFlArray[BLUE]  = ( (packedPixel & 0xFF)        / 255);
+                testing = packedPixel;
+                testing = testing & 0xFF;
+                ftesting = testing;
+                ftesting = ftesting / 255;
+                outColortoFlArray[BLUE] = ftesting;
+
+                inRaster.setPixel(x, y, outColortoFlArray);
+                outRaster.setPixel(x, y, clearColortoFlArray);
+            }
+        }
+        // next, we process all bands in order - a "band" being one channel of A,R,G,B.
+        // as each band is processed the outRaster keeps getting "resampled" to apply
+        // the next band properly. all values are considered normalized [0f..1f]
+        for (int band : orderedBands) {
+            paletteColor = cMap[band];
+            cMaptoFlArray = paletteColor.getRGBComponents(new float[4]);// this nullifies translucency
+            if (paletteColor != BLACK_NO_ALPHA) {
+                for (int y = 0; y < h; y++) {
+                    for (int x = 0; x < w; x++) {
+                        //inBandAsAlpha = inRaster.getSample(x, y, band);
+                        inBandAsAlpha = inRaster.getSampleFloat(x, y, band);
+                        outColortoFlArray = outRaster.getPixel(x, y, new float[4]);
+                        outColortoFlArray[RED] = (outColortoFlArray[RED]
+                                * (1f - (inBandAsAlpha * cMaptoFlArray[ALPHA])))
+                                + (cMaptoFlArray[RED] * (inBandAsAlpha * cMaptoFlArray[ALPHA]));
+                        outColortoFlArray[GREEN] = (outColortoFlArray[GREEN]
+                                * (1f - (inBandAsAlpha * cMaptoFlArray[ALPHA])))
+                                + (cMaptoFlArray[GREEN] * (inBandAsAlpha * cMaptoFlArray[ALPHA]));
+                        outColortoFlArray[BLUE] = (outColortoFlArray[BLUE]
+                                * (1f - (inBandAsAlpha * cMaptoFlArray[ALPHA])))
+                                + (cMaptoFlArray[BLUE] * (inBandAsAlpha * cMaptoFlArray[ALPHA]));
+
+                        outColortoFlArray[ALPHA] = (outColortoFlArray[ALPHA]
+                                * (1f - (inBandAsAlpha * cMaptoFlArray[ALPHA])))
+                                + (cMaptoFlArray[ALPHA] * (inBandAsAlpha * cMaptoFlArray[ALPHA]));
+
+                        outRaster.setPixel(x, y, outColortoFlArray);
+                    }
+                }
+            }
+        }
+
+        //then we convert n' ship
+        BufferedImage returnBI = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
+        for (int y = 0; y < h; y++) {
+            for (int x = 0; x < w; x++) {
+                outColortoFlArray = outRaster.getPixel(x, y, new float[4]);
+                int packedColor = ((int) (outColortoFlArray[ALPHA] * 255f) << 24)
+                        | ((int) (outColortoFlArray[RED] * 255f) << 16)
+                        | ((int) (outColortoFlArray[GREEN] * 255f) << 8)
+                        | ((int) (outColortoFlArray[BLUE] * 255f));
+                returnBI.setRGB(x, y, packedColor);
+            }
+        }
+
+        return returnBI;
+    }
+
+    public static BufferedImage paletteSwapARGB8(Color[] colorSet, BufferedImage argbMappedBufferedImage) {
+
+        return paletteSwapARGB8(colorSet, null, argbMappedBufferedImage);
+    }
+
+}

+ 11 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkey.theme

@@ -0,0 +1,11 @@
+nimrodlf.p1=#77411D
+nimrodlf.p2=#9E5F28
+nimrodlf.p3=#948519
+nimrodlf.s1=#303030
+nimrodlf.s2=#3A3A3A
+nimrodlf.s3=#515151
+nimrodlf.w=#262626
+nimrodlf.b=#E8EAE0
+nimrodlf.menuOpacity=219
+nimrodlf.frameOpacity=180
+nimrodlf.font=DejaVu Sans Condensed-BOLD-12

+ 153 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyIconFactory.java

@@ -0,0 +1,153 @@
+/*
+ * 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.
+ */
+package org.jme3.netbeans.plaf.darkmonkey;
+
+import com.nilo.plaf.nimrod.NimRODIconFactory;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.image.BandedSampleModel;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBuffer;
+import java.awt.image.DataBufferFloat;
+import java.awt.image.Raster;
+import java.awt.image.WritableRaster;
+import java.io.Serializable;
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.plaf.UIResource;
+
+/**
+ * This class provides for overrides on the system Icons from the
+ * NimROD look and feel
+ * @author charles
+ */
+public class DarkMonkeyIconFactory extends NimRODIconFactory{
+    private static Icon treeCollapsedIcon;
+    private static Icon treeExpandedIcon;
+    
+    public static Icon getTreeCollapsedIcon(){
+        if(treeCollapsedIcon == null){
+            treeCollapsedIcon = new TreeCollapsedIcon();
+        }
+        
+        return treeCollapsedIcon;
+    }
+    public static Icon getTreeExpandedIcon(){
+        if(treeExpandedIcon == null){
+            treeExpandedIcon = new TreeExpandedIcon();
+        }
+        
+        return treeExpandedIcon;
+    }
+
+   
+    private static class TreeCollapsedIcon implements Icon, UIResource, Serializable{
+        private int w, h;
+        ImageIcon preProcessed;
+        {
+            w = 18;
+            h = 18;
+            preProcessed = null;
+        } 
+        
+        public TreeCollapsedIcon(){ //maybe THIS is all I need, eh?
+            w = 18;
+            h = 18;
+            preProcessed = null;
+        }
+        
+        @Override
+        public void paintIcon(Component c, Graphics g, int x, int y) {
+            if(preProcessed != null){
+                preProcessed.paintIcon(c, g, x, y);
+                return;
+            }       
+
+            //process for first time, unless this gets "uninitialized" by
+            // UIResource calls;
+            BufferedImage bi = DMUtils.loadImagefromJar(this, "icons/nehonC2.png");
+            // start the experiments!
+            
+            Color[] normColorSet = {null, DarkMonkeyLookAndFeel.getWhite(), 
+                null, DarkMonkeyLookAndFeel.getPrimaryControl()};
+            bi = DMUtils.paletteSwapARGB8(normColorSet, bi);
+            // end experiment, back to old code
+            ImageIcon ii = new ImageIcon(bi);
+            Image scaled = ii.getImage();
+            ImageIcon preProcess = new ImageIcon(scaled.getScaledInstance(w, h, Image.SCALE_SMOOTH));
+            preProcess.paintIcon(c, g, x, y);
+            preProcessed = preProcess;
+        }
+
+        @Override
+        public int getIconWidth() {
+            return w; 
+        }
+
+        @Override
+        public int getIconHeight() {
+            return h; 
+        }
+        
+    }
+    
+    private static class TreeExpandedIcon implements Icon, UIResource, Serializable{
+        private int w, h;
+        ImageIcon preProcessed;
+        {
+            w = 18;
+            h = 18;
+            preProcessed = null;
+        } 
+
+         
+        public TreeExpandedIcon(){ //maybe THIS is all I need, eh?
+            w = 18;
+            h = 18;
+            preProcessed = null;
+        }
+        
+        @Override
+        public void paintIcon(Component c, Graphics g, int x, int y) {
+            if(preProcessed != null){
+                preProcessed.paintIcon(c, g, x, y);
+                return;
+            }       
+
+            //process for first time, unless this gets "uninitialized" by
+            // UIResource calls;
+            
+            BufferedImage bi = DMUtils.loadImagefromJar(this, "icons/nehonE2.png");
+            Color[] normColorSet = { DarkMonkeyLookAndFeel.getWhite(), 
+                null, DarkMonkeyLookAndFeel.getPrimaryControl()};
+            bi = DMUtils.paletteSwapARGB8(normColorSet, bi);
+            
+            ImageIcon ii = new ImageIcon(bi);
+            Image scaled = ii.getImage();
+            
+            ImageIcon preProcess = new ImageIcon(scaled.getScaledInstance(w, h, Image.SCALE_DEFAULT));
+            
+            preProcess.paintIcon(c, g, x, y);
+            preProcessed = preProcess;
+        }
+        
+        @Override
+        public int getIconWidth() {
+            return w; 
+        }
+
+        @Override
+        public int getIconHeight() {
+            return h; 
+        }
+        
+    }
+    
+ 
+
+}

+ 111 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyLookAndFeel.java

@@ -0,0 +1,111 @@
+/*
+ * 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.
+ */
+package org.jme3.netbeans.plaf.darkmonkey;
+
+import com.nilo.plaf.nimrod.NimRODTheme;
+import java.awt.Color;
+import java.awt.Font;
+import java.util.Enumeration;
+import javax.swing.ImageIcon;
+import javax.swing.UIDefaults;
+
+/**
+ * The DarkMonkey look and feel class Extends the Nimrod LAF, which in turn,
+ * extends Metal.  The version of Nimrod used is 1.2b obtained from: <br/>
+ * <a src="http://nilogonzalez.es/nimrodlf/download-en.html">
+ * http://nilogonzalez.es/nimrodlf/download-en.html</a>
+ * <p> A copy of the jar and source used for this project is in the ext/ folder.
+ * </p>
+ * 
+ * @author Charles Anderson
+ */
+public class DarkMonkeyLookAndFeel extends com.nilo.plaf.nimrod.NimRODLookAndFeel{
+    
+    public static final String dmLAFDefault = "DarkMonkey.theme";
+    protected static NimRODTheme nrTheme = new NimRODTheme();
+    
+    public DarkMonkeyLookAndFeel(){
+        super();
+        // Todo: replace following code with proper loading
+        //  From DarkMonkey.theme
+        NimRODTheme nt = new NimRODTheme();
+            
+        nt.setBlack(Color.decode("#E8EAE0"));
+        nt.setWhite(Color.decode("#262626"));
+        nt.setPrimary1(Color.decode("#77411D"));
+        nt.setPrimary2(Color.decode("#9E5F28"));
+        nt.setPrimary3(Color.decode("#948519"));
+        nt.setSecondary1(Color.decode("#303030"));
+        nt.setSecondary2(Color.decode("#3A3A3A"));
+        nt.setSecondary3(Color.decode("#515151"));
+        nt.setFrameOpacity(180);
+        nt.setMenuOpacity(219);
+        nt.setFont(Font.decode("DejaVu Sans Condensed-PLAIN-12"));
+        
+        setCurrentTheme(nt);
+        
+    }
+    
+    /**
+     * This method override, getID() returns the String "DarkMonkey" for 
+     * registering this Look And Feel with the UImanager.
+     * @return String "DarkMonkey"
+     */
+    @Override
+    public String getID() {
+        return "DarkMonkey";
+    }
+
+    /**
+     * This method override, getName() returns the String "DarkMonkey" for 
+     * its Look and Feel Name. I don't know that this is important, but is
+     * overridden anyway, for completion.
+     * @return String "DarkMonkey"
+     */
+    @Override
+    public String getName() {
+        return "DarkMonkey";
+    }
+
+    /**
+     * This method override, getDescription() returns the String 
+     * "Look and Feel DarkMonkey - 2015, based on NimROD 2007" for 
+     * instances of future programming that might use it as a tool tip or 
+     * small descriptor in their Look and Feel modules.
+     * @return String "Look and Feel DarkMonkey - 2015, based on NimROD 2007"
+     */
+    @Override
+    public String getDescription() {
+        return "Look and Feel DarkMonkey - 2015, based on NimROD 2007";
+    }
+    
+       
+    @Override
+    protected void initClassDefaults( UIDefaults table) {
+        super.initClassDefaults( table);
+        /*
+        for( Enumeration en = table.keys(); en.hasMoreElements(); ) {
+            System.out.println( "[" + en.nextElement() + "]");
+        }
+        */
+    }
+    
+    @Override
+    protected void initComponentDefaults( UIDefaults table) {
+        super.initComponentDefaults( table);
+        
+        table.put("Tree.collapsedIcon", DarkMonkeyIconFactory.getTreeCollapsedIcon());
+        table.put("Tree.expandedIcon", DarkMonkeyIconFactory.getTreeExpandedIcon());
+        // 
+        /*
+        for( Enumeration en = table.keys(); en.hasMoreElements(); ) {
+            System.out.println( "[" + en.nextElement() + "]");
+        }
+        */
+             
+    }
+
+}

+ 29 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/DarkMonkeyValidator.java

@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+package org.jme3.netbeans.plaf.darkmonkey;
+
+import java.awt.EventQueue;
+import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+import org.openide.modules.OnStart;
+import org.openide.windows.OnShowing;
+
+/**
+ * This is something that would be used once the nbm format is no longer
+ * needed and is absorbed by SDK downloadable.
+ * @author charles
+ */
+@OnStart
+public class DarkMonkeyValidator implements Runnable{
+
+    @Override
+    public void run() {
+        
+        //assert EventQueue.isDispatchThread(); // this is for @OnShowing
+        //JOptionPane.showMessageDialog(null,"Hello from the Validator");
+    }
+    
+}

+ 40 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/Installer.java

@@ -0,0 +1,40 @@
+/*
+ * 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.
+ */
+package org.jme3.netbeans.plaf.darkmonkey;
+
+import java.awt.Font;
+import java.awt.GraphicsEnvironment;
+import java.io.File;
+import javax.swing.UIManager;
+import org.openide.modules.ModuleInstall;
+
+public class Installer extends ModuleInstall {
+
+    @Override
+    public void restored() {
+        UIManager.installLookAndFeel(new UIManager.LookAndFeelInfo(
+                new DarkMonkeyLookAndFeel().getName(),
+                DarkMonkeyLookAndFeel.class.getName()));
+        // TODO
+        
+        String[] fontsToLoad = { 
+            "fonts/DejaVuSans.ttf",
+            "fonts/DejaVuSans-Bold.ttf",
+            "fonts/DejaVuSans-Oblique.ttf",
+            "fonts/DejaVuSans-BoldOblique.ttf",
+            "fonts/DejaVuSansCondensed.ttf",
+            "fonts/DejaVuSansCondensed-Bold.ttf",
+            "fonts/DejaVuSansCondensed-Oblique.ttf",
+            "fonts/DejaVuSansCondensed-BoldOblique.ttf",
+            "fonts/DejaVuSansMono.ttf",
+            "fonts/DejaVuSansMono-Bold.ttf",
+            "fonts/DejaVuSansMono-Oblique.ttf",
+            "fonts/DejaVuSansMono-BoldOblique.ttf"
+        };
+        DMUtils.loadFontsFromJar(this, fontsToLoad);
+    }
+
+}

+ 144 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/JunkSnippet.txt

@@ -0,0 +1,144 @@
+    public static void loadFontsFromJar(Object refObj, String relPath) {
+        //first, we grab ahold of what all fonts are in the JRE's system
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        String[] fontFamilies = ge.getAvailableFontFamilyNames();
+        //Next we get a listing of all of the fonts in the refObj's jar at relPath
+        ZipFile zipFile = new ZipFile("C:/test.zip");
+        InputStream stream;
+        Enumeration<? extends ZipEntry> entries = zipFile.entries();
+        try {
+            bi = ImageIO.read(refObj.getClass().getResourceAsStream(fileName));
+        } catch (IOException e) {
+            // File is probably referenced wrong or "mispleled"... lol.
+            e.printStackTrace();
+        }
+
+        while (entries.hasMoreElements()) {
+            ZipEntry entry = entries.nextElement();
+            stream = zipFile.getInputStream(entry);
+            stream.close();
+        }
+
+        ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf")));
+
+    }
+
+    /**
+     * Note from Charles: DO NOT USE - Retain it though :) this method correctly
+     * does get the path... of Netbeans.. lol... ... Todo: adjust this to work
+     * with concepts from the LoadImagefromJar... ... and we can make it work
+     * for custom defined themes dynamically in conjunction with the
+     * functionality available from Nilo's NimROD base. END NOTE...
+     *
+     * @param relativePath
+     * @return
+     * @throws NoSuchFileException
+     */
+    public static String relpath(String relativePath) {
+        //TODO fix the following statement and we can start having dynamic LaF adjustment - Charles
+        final File f = new File(DMUtils.class.getProtectionDomain().getCodeSource().getLocation().getPath());
+        //END TODO - Charles
+        String returnString;
+        int i;
+        returnString = f.getPath();
+        i = returnString.indexOf("org-jme3-netbeans"); // This would have to be adjusted as well - Charles
+        returnString = returnString.substring(0, i);
+        returnString = returnString.replace(File.separatorChar, '/') + relativePath;
+        File check = new File(returnString);
+
+        return returnString;
+
+    }
+
+This next bit is from the AnnotationType overrides in the layer.xml.....
+       <!-- and finally wrap it up with the AnnotationTypes -->
+        <folder name="AnnotationTypes">
+            <file name="Breakpoint.xml" url="fac/AnnotationTypes/Breakpoint.xml" />
+            <file name="Breakpoint_broken.xml" url="fac/AnnotationTypes/Breakpoint_broken.xml" />
+            <file name="Breakpoint_stroke.xml" url="fac/AnnotationTypes/Breakpoint_stroke.xml" />
+            <file name="CallSite.xml" url="fac/AnnotationTypes/CallSite.xml" />
+            <file name="ClassBreakpoint.xml" url="fac/AnnotationTypes/ClassBreakpoint.xml" />
+            <file name="ClassBreakpoint_stroke.xml" url="fac/AnnotationTypes/ClassBreakpoint_stroke.xml" />
+            <file name="CondBreakpoint.xml" url="fac/AnnotationTypes/CondBreakpoint.xml" />
+            <file name="CondBreakpoint_broken.xml" url="fac/AnnotationTypes/CondBreakpoint_broken.xml" />
+            <file name="CondBreakpoint_stroke.xml" url="fac/AnnotationTypes/CondBreakpoint_stroke.xml" />
+            <file name="CurrentExpression.xml" url="fac/AnnotationTypes/CurrentExpression.xml" />
+            <file name="CurrentExpressionLine.xml" url="fac/AnnotationTypes/CurrentExpressionLine.xml" />
+            <file name="CurrentExpressionLine_BP.xml" url="fac/AnnotationTypes/CurrentExpressionLine_BP.xml" />
+            <file name="CurrentExpressionLine_CBP.xml" url="fac/AnnotationTypes/CurrentExpressionLine_CBP.xml" />
+            <file name="CurrentExpressionLine_DBP.xml" url="fac/AnnotationTypes/CurrentExpressionLine_DBP.xml" />
+            <file name="CurrentExpressionLine_DCBP.xml" url="fac/AnnotationTypes/CurrentExpressionLine_DCBP.xml" />
+            <file name="CurrentPC.xml" url="fac/AnnotationTypes/CurrentPC.xml" />
+            <file name="CurrentPC2.xml" url="fac/AnnotationTypes/CurrentPC2.xml" />
+            <file name="CurrentPC2LinePart.xml" url="fac/AnnotationTypes/CurrentPC2LinePart.xml" />
+            <file name="CurrentPC2_BP.xml" url="fac/AnnotationTypes/CurrentPC2_BP.xml" />
+            <file name="CurrentPC2_DBP.xml" url="fac/AnnotationTypes/CurrentPC2_DBP.xml" />
+            <file name="CurrentPCLinePart.xml" url="fac/AnnotationTypes/CurrentPCLinePart.xml" />
+            <file name="DisabledBreakpoint.xml" url="fac/AnnotationTypes/DisabledBreakpoint.xml" />
+            <file name="DisabledBreakpoint_stroke.xml" url="fac/AnnotationTypes/DisabledBreakpoint_stroke.xml" />
+            <file name="DisabledClassBreakpoint.xml" url="fac/AnnotationTypes/DisabledClassBreakpoint.xml" />
+            <file name="DisabledClassBreakpoint_stroke.xml" url="fac/AnnotationTypes/DisabledClassBreakpoint_stroke.xml" />
+            <file name="DisabledCondBreakpoint.xml" url="fac/AnnotationTypes/DisabledCondBreakpoint.xml" />
+            <file name="DisabledCondBreakpoint_stroke.xml" url="fac/AnnotationTypes/DisabledCondBreakpoint_stroke.xml" />
+            <file name="DisabledFieldBreakpoint.xml" url="fac/AnnotationTypes/DisabledFieldBreakpoint.xml" />
+            <file name="DisabledFieldBreakpoint_stroke.xml" url="fac/AnnotationTypes/DisabledFieldBreakpoint_stroke.xml" />
+            <file name="DisabledMethodBreakpoint.xml" url="fac/AnnotationTypes/DisabledMethodBreakpoint.xml" />
+            <file name="DisabledMethodBreakpoint_stroke.xml" url="fac/AnnotationTypes/DisabledMethodBreakpoint_stroke.xml" />
+            <file name="FieldBreakpoint.xml" url="fac/AnnotationTypes/FieldBreakpoint.xml" />
+            <file name="FieldBreakpoint_stroke.xml" url="fac/AnnotationTypes/FieldBreakpoint_stroke.xml" />
+            <file name="MethodBreakpoint.xml" url="fac/AnnotationTypes/MethodBreakpoint.xml" />
+            <file name="MethodBreakpoint_stroke.xml" url="fac/AnnotationTypes/MethodBreakpoint_stroke.xml" />
+            <file name="OtherThread.xml" url="fac/AnnotationTypes/OtherThread.xml" />
+            <file name="OtherThread_BP.xml" url="fac/AnnotationTypes/OtherThread_BP.xml" />
+            <file name="OtherThread_BP_broken.xml" url="fac/AnnotationTypes/OtherThread_BP_broken.xml" />
+            <file name="OtherThread_DBP.xml" url="fac/AnnotationTypes/OtherThread_DBP.xml" />
+            <file name="OtherThread_PC.xml" url="fac/AnnotationTypes/OtherThread_PC.xml" />
+            <file name="OtherThread_PC_BP.xml" url="fac/AnnotationTypes/OtherThread_PC_BP.xml" />
+            <file name="OtherThreads.xml" url="fac/AnnotationTypes/OtherThreads.xml" />
+            <file name="OtherThreads_BP.xml" url="fac/AnnotationTypes/OtherThreads_BP.xml" />
+            <file name="OtherThreads_BP_broken.xml" url="fac/AnnotationTypes/OtherThreads_BP_broken.xml" />
+            <file name="OtherThreads_DBP.xml" url="fac/AnnotationTypes/OtherThreads_DBP.xml" />
+            <file name="OtherThreads_PC_BP.xml" url="fac/AnnotationTypes/OtherThreads_PC_BP.xml" />
+            <file name="PC_BP.xml" url="fac/AnnotationTypes/PC_BP.xml" />
+            <file name="PC_BP_broken.xml" url="fac/AnnotationTypes/PC_BP_broken.xml" />
+            <file name="PC_BP_stroke.xml" url="fac/AnnotationTypes/PC_BP_stroke.xml" />
+            <file name="PC_CBP.xml" url="fac/AnnotationTypes/PC_CBP.xml" />
+            <file name="PC_CBP_broken.xml" url="fac/AnnotationTypes/PC_CBP_broken.xml" />
+            <file name="PC_CBP_stroke.xml" url="fac/AnnotationTypes/PC_CBP_stroke.xml" />
+            <file name="PC_DBP.xml" url="fac/AnnotationTypes/PC_DBP.xml" />
+            <file name="PC_DBP_stroke.xml" url="fac/AnnotationTypes/PC_DBP_stroke.xml" />
+            <file name="PC_DCBP.xml" url="fac/AnnotationTypes/PC_DCBP.xml" />
+            <file name="PC_DCBP_stroke.xml" url="fac/AnnotationTypes/PC_DCBP_stroke.xml" />
+            <file name="PC_mixedBP.xml" url="fac/AnnotationTypes/PC_mixedBP.xml" />
+            <file name="PC_mixedBP_broken.xml" url="fac/AnnotationTypes/PC_mixedBP_broken.xml" />
+            <file name="PC_multi_BPCBP.xml" url="fac/AnnotationTypes/PC_multi_BPCBP.xml" />
+            <file name="PC_multi_BPCBP_broken.xml" url="fac/AnnotationTypes/PC_multi_BPCBP_broken.xml" />
+            <file name="PC_multi_DBPCBP.xml" url="fac/AnnotationTypes/PC_multi_DBPCBP.xml" />
+            <file name="bookmark.xml" url="fac/AnnotationTypes/bookmark.xml" />
+            <file name="implements-has-implementations-combined.xml" url="fac/AnnotationTypes/implements-has-implementations-combined.xml" />
+            <file name="implements-is-overridden-combined.xml" url="fac/AnnotationTypes/implements-is-overridden-combined.xml" />
+            <file name="mixed_BP.xml" url="fac/AnnotationTypes/mixed_BP.xml" />
+            <file name="mixed_BP_broken.xml" url="fac/AnnotationTypes/mixed_BP_broken.xml" />
+            <file name="multi_BPCBP.xml" url="fac/AnnotationTypes/multi_BPCBP.xml" />
+            <file name="multi_BPCBP_broken.xml" url="fac/AnnotationTypes/multi_BPCBP_broken.xml" />
+            <file name="multi_DBPCBP.xml" url="fac/AnnotationTypes/multi_DBPCBP.xml" />
+            <file name="org-netbeans-modules-editor-annotations-has_implementations.xml" url="fac/AnnotationTypes/org-netbeans-modules-editor-annotations-has_implementations.xml" />
+            <file name="org-netbeans-modules-editor-annotations-implements.xml" url="fac/AnnotationTypes/org-netbeans-modules-editor-annotations-implements.xml" />
+            <file name="org-netbeans-modules-editor-annotations-implements.xml" url="fac/AnnotationTypes/org-netbeans-modules-editor-annotations-implements.xml" />
+            <file name="org-netbeans-modules-editor-annotations-is_overridden.xml" url="fac/AnnotationTypes/org-netbeans-modules-editor-annotations-is_overridden.xml" />
+            <file name="org-netbeans-modules-editor-annotations-overrides.xml" url="fac/AnnotationTypes/org-netbeans-modules-editor-annotations-overrides.xml" />
+            <file name="org-netbeans-modules-git-Annotation.xml" url="fac/AnnotationTypes/org-netbeans-modules-git-Annotation.xml" />
+            <file name="org-netbeans-modules-subversion-Annotation.xml" url="fac/AnnotationTypes/org-netbeans-modules-subversion-Annotation.xml" />
+            <file name="org-netbeans-modules-versioning-annotate-Annotation.xml" url="fac/AnnotationTypes/org-netbeans-modules-versioning-annotate-Annotation.xml" />
+            <file name="org-netbeans-modules-xml-error.xml" url="fac/AnnotationTypes/org-netbeans-modules-xml-error.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_err.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_err.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_err_fixable.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_err_fixable.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_hint.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_hint.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_hint_fixable.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_hint_fixable.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_todo.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_todo.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_todo_fixable.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_todo_fixable.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_verifier.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_verifier.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_verifier_fixable.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_verifier_fixable.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_warn.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_warn.xml" />
+            <file name="org-netbeans-spi-java-parser_annotation_warn_fixable.xml" url="fac/AnnotationTypes/org-netbeans-spi-java-parser_annotation_warn_fixable.xml" />
+        </folder> <!-- AnnotationTypes" -->

+ 42 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/README.txt

@@ -0,0 +1,42 @@
+- Note from Charles -
+Ok, I think I have everything covered for community involvement:
+If you contribute make sure to toss your name into the AUTHORS.txt file
+for the proper directory. Make sure to toss in commenting and supply JavaDoc
+for Methods / Classes. Otherwise, have fun with it!
+
+Structure:
+-layer.xml contains the FAC side of this project.
+-DarkMonkeyLookAndFeel contains the LAF side of this project.
+-Installer is responsible for making sure LAF side and unregistered fonts are
+    available for each instance of netbeans.
+-DMUtils contains resource/file methods for base IO or resource transformations
+-DarkMonkeyValidator is a placeholder launchpoint snippet for conversion from
+    nbm format to a form that would integrate with an SDK downloadable build
+    (it is unnecessary as-is. Would replace Installer, functionally)
+-DarkMonkey.theme is the desired way to use nimrodlf (unimplemented at current time)
+-DarkMonkeyIconFactory produces images/icons for the small/fixed size level
+    -Tree.expandedIcon is overridden
+    -Tree.collapsedIcon is overridden
+    - more can be added
+-Bundle.properties contains one of the cooler module description pages, ever*.
+    -* COOLEST. DESCRIPTION. EVER. (I'm cereal! / lol! /omg!)
+
+Directory Structure:
+org.jme3.netbeans.plaf.darkmonkey is considered root for the relative path calls
+that you will see in code. *Especially* if DMUtils is involved.
+    -ext/ or external, currently contains nimrodlf.jar and nimrodlf_src.zip
+    -fac/ or FontsColors, contains the FontsColors.xml files for layer.xml to
+        place into netbean's xmlfilesytem.
+    -fac/AnnotationTypes/ contains the Annotation.xml files for layer.xml to
+        place into netbean's xmlfilesytem. *Unimplemented* Only if the sidebar
+        icons for breakpoints and such should be replaced.
+    -fac/AnnotationTypes/icons *Unimplemented* *Does not exist yet* see above.
+    -fonts/ *unimplented* contains the physical .ttf fonts used by the LAF and FAC sides.
+    -icons/ contains image resources for LAF side.
+
+
+Current Todo List:
+-fix bug in src for nimrodlf.jar rebuild in ext/
+    - Bug has to do with GridBagLayout and other such stuff where preferredSize
+      is derived.
+-add font check/load code for fonts/. see JunkSnippet.txt for some proto work.

+ 13 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/.nbattrs

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE attributes PUBLIC "-//NetBeans//DTD DefaultAttributes 1.0//EN" "http://www.netbeans.org/dtds/attributes-1_0.dtd">
+<attributes version="1.0">
+    <fileobject name="org-netbeans-modules-editor-settings-CustomFontsColors-annotations.xml">
+        <attr name="nbeditor-settings-ColoringType" stringvalue="annotation"/>
+    </fileobject>
+    <fileobject name="org-netbeans-modules-editor-settings-CustomFontsColors-highlights.xml">
+        <attr name="nbeditor-settings-ColoringType" stringvalue="highlight"/>
+    </fileobject>
+    <fileobject name="org-netbeans-modules-editor-settings-CustomFontsColors-tokenColorings.xml">
+        <attr name="nbeditor-settings-ColoringType" stringvalue="token"/>
+    </fileobject>
+</attributes>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActionsWithToggleNew" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint.png" highlight="0x6e494a" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="Breakpoint" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint_broken.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_BREAKPOINT_BROKEN" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint_broken.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="Breakpoint_broken" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/Breakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint_stroke.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="Breakpoint_stroke" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CallSite.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CALLSITE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/CallSite.png" highlight="0xe7e1ef" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CallSite" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/ClassBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_CLASS_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/breakpointsView/NonLineBreakpoint.gif" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="ClassBreakpoint" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/ClassBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_CLASS_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint_nonline_stroke.png" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="ClassBreakpoint_stroke" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_CONDITIONAL_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/ConditionalBreakpoint.png" highlight="0xfc9d9f" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CondBreakpoint" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint_broken.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_CONDITIONAL_BREAKPOINT_BROKEN" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/ConditionalBreakpoint_broken.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CondBreakpoint_broken" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CondBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/ConditionalBreakpoint_stroke.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CondBreakpoint_stroke" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpression.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP" foreground="0xffffff" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpression" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP_LINE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/PC.gif" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpressionLine" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_BP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP_LINE_BP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint+PC.png" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpressionLine_BP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="600" tiptext_key="">
+        <combine absorb_all="false" annotationtype="Breakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentExpressionLine" optional="false"/>
+    </combination>
+</type>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_CBP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP_LINE_CBP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/ConditionalBreakpoint+PC.png" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpressionLine_CBP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="600" tiptext_key="">
+        <combine absorb_all="false" annotationtype="CondBreakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentExpressionLine" optional="false"/>
+    </combination>
+</type>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_DBP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP_LINE_DBP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint+PC.png" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpressionLine_DBP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="600" tiptext_key="">
+        <combine absorb_all="false" annotationtype="DisabledBreakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentExpressionLine" optional="false"/>
+    </combination>
+</type>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentExpressionLine_DCBP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_EXP_LINE_DCBP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledConditionalBreakpoint+PC.png" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentExpressionLine_DCBP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="600" tiptext_key="">
+        <combine absorb_all="false" annotationtype="DisabledCondBreakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentExpressionLine" optional="false"/>
+    </combination>
+</type>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" custom_sidebar_color="0xbde6aa" description_key="HINT_CURRENT_PC" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/PC.gif" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="CurrentPC" priority="1000" severity="none" type="line" use_custom_sidebar_color="true" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_PC2" foreground="0xffffff" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.ant.debugger.resources.Bundle" name="CurrentPC2" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2LinePart.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_PC2Part" foreground="0xffffff" highlight="0x8b9989" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.ant.debugger.resources.Bundle" name="CurrentPC2LinePart" priority="0" severity="none" type="linepart" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2_BP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_PC2_BP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/Breakpoint.png" highlight="0xc0c0c0" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.ant.debugger.resources.Bundle" name="CurrentPC2_BP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="600" tiptext_key="">
+        <combine absorb_all="false" annotationtype="Breakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentPC2" optional="false"/>
+    </combination>
+</type>

+ 8 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPC2_DBP.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_PC2_DBP" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.ant.debugger.resources.Bundle" name="CurrentPC2_DBP" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true">
+    <combination order="700" tiptext_key="">
+        <combine absorb_all="false" annotationtype="DisabledBreakpoint" optional="false"/>
+        <combine absorb_all="false" annotationtype="CurrentPC2" optional="false"/>
+    </combination>
+</type>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/CurrentPCLinePart.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type browseable="false" description_key="HINT_CURRENT_PCPart" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/PC.gif" highlight="0x89998b" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.ant.debugger.resources.Bundle" name="CurrentPCLinePart" priority="0" severity="none" type="linepart" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" description_key="HINT_DISABLED_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="DisabledBreakpoint" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" description_key="HINT_DISABLED_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint_stroke.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="DisabledBreakpoint_stroke" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledClassBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_DISABLED_CLASS_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/breakpointsView/DisabledNonLineBreakpoint.gif" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="DisabledClassBreakpoint" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledClassBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_DISABLED_CLASS_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint_nonline_stroke.png" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="DisabledClassBreakpoint_stroke" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledCondBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" description_key="HINT_DISABLED_CONDITIONAL_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledConditionalBreakpoint.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="DisabledCondBreakpoint" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledCondBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" description_key="HINT_DISABLED_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledConditionalBreakpoint_stroke.png" highlight="0xdcdcd8" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.resources.Bundle" name="DisabledCondBreakpoint_stroke" priority="0" severity="none" type="line" use_custom_sidebar_color="false" use_highlight_color="true" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledFieldBreakpoint.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_DISABLED_FIELD_BREAKPOINT" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/breakpointsView/DisabledNonLineBreakpoint.gif" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="DisabledFieldBreakpoint" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

+ 3 - 0
sdk/jme3-dark-laf/src/org/jme3/netbeans/plaf/darkmonkey/fac/AnnotationTypes/DisabledFieldBreakpoint_stroke.xml

@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE type PUBLIC "-//NetBeans//DTD annotation type 1.0//EN" "http://www.netbeans.org/dtds/annotation-type-1_0.dtd">
+<type actions="BreakpointActions" browseable="false" custom_sidebar_color="0xff8fd5" description_key="HINT_DISABLED_FIELD_BREAKPOINT_STROKE" foreground="0xffffff" glyph="nbresloc:/org/netbeans/modules/debugger/resources/editor/DisabledBreakpoint_nonline_stroke.png" inherit_foreground_color="false" localizing_bundle="org.netbeans.modules.debugger.jpda.resources.Bundle" name="DisabledFieldBreakpoint_stroke" priority="100" severity="ok" type="line" use_custom_sidebar_color="true" use_highlight_color="false" use_wave_underline_color="false" visible="true"/>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini