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;


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to