diff -up 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h.orig 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h
--- 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h.orig 2020-03-30 16:28:20.011982827 -0300
+++ 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FArchiveXML.h 2020-03-31 11:43:27.669098382 -0300
@@ -553,7 +553,16 @@ public:
static void WritePhysicsRigidBodyParameters(FCDPhysicsRigidBodyParameters* physicsRigidBodyParameters, xmlNode* techniqueNode);
template <class TYPE, int QUAL>
- static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value);
+ static xmlNode* AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value) {
+ xmlNode* paramNode = AddChild(parentNode, name);
+ AddContent(paramNode, FUStringConversion::ToString((TYPE&) value));
+ if (value.IsAnimated())
+ {
+ const FCDAnimated* animated = value.GetAnimated();
+ FArchiveXML::WriteAnimatedValue(animated, paramNode, name);
+ }
+ return paramNode;
+ }
//
diff -up 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXInstanceExport.cpp.orig 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXInstanceExport.cpp
--- 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXInstanceExport.cpp.orig 2020-03-31 10:12:21.966450794 -0300
+++ 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXInstanceExport.cpp 2020-03-31 10:39:01.336673159 -0300
@@ -255,8 +255,9 @@ xmlNode* FArchiveXML::WritePhysicsRigidB
xmlNode* techniqueNode = AddChild(instanceNode, DAE_TECHNIQUE_COMMON_ELEMENT);
// almost same as FCDPhysicsRigidBody
- FArchiveXML::AddPhysicsParameter(techniqueNode, DAE_ANGULAR_VELOCITY_ELEMENT, physicsRigidBodyInstance->GetAngularVelocity());
- FArchiveXML::AddPhysicsParameter(techniqueNode, DAE_VELOCITY_ELEMENT, physicsRigidBodyInstance->GetVelocity());
+ static FArchiveXML archive;
+ archive.AddPhysicsParameter(techniqueNode, DAE_ANGULAR_VELOCITY_ELEMENT, physicsRigidBodyInstance->GetAngularVelocity());
+ archive.AddPhysicsParameter(techniqueNode, DAE_VELOCITY_ELEMENT, physicsRigidBodyInstance->GetVelocity());
FArchiveXML::WritePhysicsRigidBodyParameters(physicsRigidBodyInstance->GetParameters(), techniqueNode);
FArchiveXML::WriteEntityInstanceExtra(physicsRigidBodyInstance, instanceNode);
diff -up 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp.orig 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp
--- 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp.orig 2008-09-07 19:13:25.000000000 -0300
+++ 0ad-0.0.23b-alpha/libraries/source/fcollada/src/FColladaPlugins/FArchiveXML/FAXPhysicsExport.cpp 2020-03-31 11:43:24.577115067 -0300
@@ -329,16 +329,3 @@ void FArchiveXML::WritePhysicsRigidBodyP
FArchiveXML::LetWriteObject(physicsRigidBodyParameters->GetPhysicsShape(i), techniqueNode);
}
}
-
-template <class TYPE, int QUAL>
-xmlNode* FArchiveXML::AddPhysicsParameter(xmlNode* parentNode, const char* name, FCDParameterAnimatableT<TYPE,QUAL>& value)
-{
- xmlNode* paramNode = AddChild(parentNode, name);
- AddContent(paramNode, FUStringConversion::ToString((TYPE&) value));
- if (value.IsAnimated())
- {
- const FCDAnimated* animated = value.GetAnimated();
- FArchiveXML::WriteAnimatedValue(animated, paramNode, name);
- }
- return paramNode;
-}