I had some problems in my project, here some stuff I had to change (where no diff is provided I have far more changes)
Perhaps this might prove useful to someone.
nbproject/build-impl.xml, had to change copylibs, perhaps an eclipse issue here (Helios 2)
[patch]
<!-- error copylibs does not support attributeindexMetaInf="${jar.index.metainf}" -->
<copylibs compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifest="@{manifest}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
[/patch]
build.xml when not building the optional packages, the build wil fail because the directory for dist/opt is missing
[patch]
<target name="-post-jar" > <!-- depends="-create-optional-packages"> -->
<mkdir dir="dist/opt" />
</target>
[/patch]
build.xml will report problem about target all not found…
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/bullet/native/build.xml
===================================================================
— src/bullet/native/build.xml (revision 7554)
+++ src/bullet/native/build.xml (working copy)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project name="build bullet natives" default="all" basedir="…/…/…/">
+<project name="build bullet natives" default="build-bullet-natives" basedir="…/…/…/">
<!-- load cpp compiler ant task -->
<taskdef resource="cpptasks.tasks" classpath="lib/antlibs/cpptasks.jar"/>
<!-- load properties -->
[/patch]
A suggestion, AssetConfig could use a case for comments in the cfg files.
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/core/com/jme3/asset/AssetKey.java
===================================================================
— src/core/com/jme3/asset/AssetKey.java (revision 7554)
+++ src/core/com/jme3/asset/AssetKey.java (working copy)
@@ -61,7 +61,7 @@
protected static String getExtension(String name){
int idx = name.lastIndexOf(’.’);
//workaround for filenames ending with xml and another dot ending before that (my.mesh.xml)
-
if(name.toLowerCase().indexOf(".xml")==name.length()-4){<br />
-
if(name.toLowerCase().endsWith(".xml")){<br />
idx = name.substring(0, idx).lastIndexOf(’.’);
if(idx==-1){
idx=name.lastIndexOf(’.’);
[/patch]
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/blender/com/jme3/scene/plugins/blender/helpers/v249/ModifierHelper.java
===================================================================
— src/blender/com/jme3/scene/plugins/blender/helpers/v249/ModifierHelper.java (revision 7853)
+++ src/blender/com/jme3/scene/plugins/blender/helpers/v249/ModifierHelper.java (working copy)
@@ -488,7 +488,7 @@
protected Node applyObjectAnimationModifier(Node node, Modifier modifier, DataRepository dataRepository) {
AnimData ad = (AnimData) modifier.getJmeModifierRepresentation();
-
ad.skeleton.getBone(0).setAttachNode(node);<br />
-
ad.skeleton.getBone(0).setAttachmentsNode(node);<br />
return this.applyArmatureModifierData(node, modifier, dataRepository);
}
[/patch]
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/blender/com/jme3/scene/plugins/blender/structures/Modifier.java
===================================================================
— src/blender/com/jme3/scene/plugins/blender/structures/Modifier.java (revision 7846)
+++ src/blender/com/jme3/scene/plugins/blender/structures/Modifier.java (working copy)
@@ -11,6 +11,7 @@
public static final String ARMATURE_MODIFIER_DATA = "ArmatureModifierData";
public static final String PARTICLE_MODIFIER_DATA = "ParticleSystemModifierData";
public static final String MIRROR_MODIFIER_DATA = "MirrorModifierData";
- public static final String OBJECT_ANIMATION_MODIFIER_DATA = “ObjectAnimationModifierData”;
/** Blender’s type of modifier. */
private String type;
[/patch]
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/core/com/jme3/animation/Bone.java
===================================================================
— src/core/com/jme3/animation/Bone.java (revision 7692)
+++ src/core/com/jme3/animation/Bone.java (working copy)
@@ -493,7 +493,7 @@
- Used internally after model cloning.
-
@param attachNode
*/
- void setAttachmentsNode(Node attachNode) {
- public void setAttachmentsNode(Node attachNode) {
this.attachNode = attachNode;
}
[/patch]
Perhaps someone might need this change on BoneTrack too: (no diff)
[java]
/**
- BoneTracks without a bone index but a bone name can be
- bound to the specified bone index. This can be used for
- loading animation tracks only and being able to play them
- on any bone or any skeleton, as long as the bone name does
- match
*/
public void rewireBoneTracks(Skeleton skeleton) {
if(tracks != null){
for(BoneTrack tr : tracks){
if(tr.getTargetBoneIndex() < 0)
tr.setTargetBoneIndex(skeleton.getBoneIndex(tr.getTargetBoneName()));
else
return;
}
}
}
[/java]
this one is usefull if you want to load just an animations file without any bones or skeleton info in it
[patch]
Eclipse Workspace Patch 1.0
#P jme3
Index: src/ogre/com/jme3/scene/plugins/ogre/SkeletonLoader.java
===================================================================
— src/ogre/com/jme3/scene/plugins/ogre/SkeletonLoader.java (revision 7847)
+++ src/ogre/com/jme3/scene/plugins/ogre/SkeletonLoader.java (working copy)
@@ -107,8 +107,11 @@
assert elementStack.peek().equals("tracks");
String boneName = SAXUtil.parseString(attribs.getValue("bone"));
Bone bone = nameToBone.get(boneName);
-
int index = skeleton.getBoneIndex(bone);<br />
-
track = new BoneTrack(index);<br />
-
if(skeleton != null){<br />
-
int index = skeleton.getBoneIndex(bone);<br />
-
track = new BoneTrack(index);<br />
-
}else<br />
-
track = new BoneTrack(boneName);<br />
} else if (qName.equals("boneparent")) {
assert elementStack.peek().equals("bonehierarchy");
String boneName = attribs.getValue("bone");
@@ -171,6 +174,8 @@
indexToBone.clear();
skeleton = new Skeleton(bones);
} else if (qName.equals("animation")) {
-
if(animations == null)<br />
-
animations = new ArrayList<BoneAnimation>();<br />
animations.add(animation);
animation = null;
} else if (qName.equals("track")) {
[/patch]