Blob Blame History Raw
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;
-}