[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20163] trunk/blender/source/gameengine/ Converter: BGE #18724: Modifier cause crash in 2.49RC2.

Benoit Bolsee benoit.bolsee at online.be
Tue May 12 00:07:30 CEST 2009


Revision: 20163
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20163
Author:   ben2610
Date:     2009-05-12 00:07:30 +0200 (Tue, 12 May 2009)

Log Message:
-----------
BGE #18724: Modifier cause crash in 2.49RC2. My bad, I was too quick to fix the soft body problem in revision 20119. This time I tested against modifiers, soft body, armatures and replace mesh.

Revision Links:
--------------
    http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20119

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
    trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.cpp
    trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h

Modified: trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-05-11 21:35:38 UTC (rev 20162)
+++ trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-05-11 22:07:30 UTC (rev 20163)
@@ -2121,8 +2121,7 @@
 				//tf.Add(gameobj->GetSGNode());
 				
 				gameobj->NodeUpdateGS(0);
-				//move to after finishing everything so that soft body deformer is included
-				//gameobj->AddMeshUser();
+				gameobj->AddMeshUser();
 		
 			}
 			else
@@ -2312,8 +2311,7 @@
 								//tf.Add(gameobj->GetSGNode());
 								
 								gameobj->NodeUpdateGS(0);
-								//move to after finishing everything so that soft body deformer is included
-								//gameobj->AddMeshUser();
+								gameobj->AddMeshUser();
 							}
 							else
 							{
@@ -2665,7 +2663,6 @@
 	{
 		KX_GameObject* gameobj = static_cast<KX_GameObject*>(objectlist->GetValue(i));
 		gameobj->ResetState();
-		gameobj->AddMeshUser();
 	}
 
 #endif //CONVERT_LOGIC

Modified: trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.cpp	2009-05-11 21:35:38 UTC (rev 20162)
+++ trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.cpp	2009-05-11 22:07:30 UTC (rev 20163)
@@ -30,7 +30,9 @@
 #include "BL_DeformableGameObject.h"
 #include "BL_ShapeDeformer.h"
 #include "BL_ShapeActionActuator.h"
+#include "RAS_MaterialBucket.h"
 
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -101,3 +103,14 @@
 	return !shape.empty();
 }
 
+void BL_DeformableGameObject::SetDeformer(class RAS_Deformer* deformer)
+{
+	m_pDeformer = deformer;
+
+	SG_QList::iterator<RAS_MeshSlot> mit(m_meshSlots);
+	for(mit.begin(); !mit.end(); ++mit)
+	{
+		(*mit)->SetDeformer(deformer);
+	}
+}
+

Modified: trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h	2009-05-11 21:35:38 UTC (rev 20162)
+++ trunk/blender/source/gameengine/Converter/BL_DeformableGameObject.h	2009-05-11 22:07:30 UTC (rev 20163)
@@ -83,10 +83,7 @@
 		return (m_pDeformer) ? ((BL_MeshDeformer*)m_pDeformer)->GetMesh()->key : NULL;
 	}
 	
-	virtual void	SetDeformer(class RAS_Deformer* deformer)
-	{
-		m_pDeformer = deformer;
-	}
+	virtual void	SetDeformer(class RAS_Deformer* deformer);
 	virtual class RAS_Deformer* GetDeformer()
 	{
 		return m_pDeformer;





More information about the Bf-blender-cvs mailing list