Merge remote-tracking branch 'upstream/master'

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

14
.gitignore vendored

@ -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/

@ -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

@ -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

@ -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,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

@ -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 {

@ -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 {
}

@ -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));
}

@ -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;
}

@ -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();
}
}
/**

@ -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

@ -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);

@ -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");

@ -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);
/**

@ -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)");
}

@ -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);
}
}
/**

@ -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 {

@ -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

@ -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"}
}
}

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

Binary file not shown.

@ -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}

@ -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

@ -1,8 +1,8 @@
build.xml.data.CRC32=0f706f4a
build.xml.script.CRC32=0b0b23c4
build.xml.stylesheet.CRC32=28e38971@1.38.1.45
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=0f706f4a
nbproject/build-impl.xml.script.CRC32=46d1a69a
nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45
build.xml.data.CRC32=0f706f4a
build.xml.script.CRC32=82b8b23d
build.xml.stylesheet.CRC32=8064a381@1.75.2.48
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=0f706f4a
nbproject/build-impl.xml.script.CRC32=46d1a69a
nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45

@ -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}

@ -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}

@ -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}

@ -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")
}

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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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"));

@ -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

@ -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

@ -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

@ -1,8 +1,8 @@
build.xml.data.CRC32=278ea45d
build.xml.data.CRC32=d43b0890
build.xml.script.CRC32=cdae6a36
build.xml.stylesheet.CRC32=a56c6a5b@2.67.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=278ea45d
nbproject/build-impl.xml.data.CRC32=d43b0890
nbproject/build-impl.xml.script.CRC32=246f9b81
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1

@ -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

@ -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>

@ -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

@ -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>

@ -1,8 +1,8 @@
build.xml.data.CRC32=08468784
build.xml.data.CRC32=e145fa2a
build.xml.script.CRC32=cfa8d5c5
build.xml.stylesheet.CRC32=a56c6a5b@2.67.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=08468784
nbproject/build-impl.xml.data.CRC32=e145fa2a
nbproject/build-impl.xml.script.CRC32=270846fb
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1

@ -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

@ -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>

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

@ -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!)

@ -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;
}
}

@ -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

@ -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.

@ -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>

@ -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

@ -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>

@ -0,0 +1,8 @@
build.xml.data.CRC32=8f3042a8
build.xml.script.CRC32=c15f5ee0
build.xml.stylesheet.CRC32=a56c6a5b@2.67.1
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=8f3042a8
nbproject/build-impl.xml.script.CRC32=4524e469
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1

@ -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

@ -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>

@ -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>

@ -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);
}
}

@ -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

@ -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;
}
}
}

@ -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() + "]");
}
*/
}
}

@ -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");
}
}

@ -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);
}
}

@ -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" -->

@ -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.

@ -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>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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>

@ -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>

@ -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>

@ -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>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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>

@ -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>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

@ -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"/>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save