[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19918] trunk/blender/source: BGE: removed support for time dependent modifiers, they don' t make sense in the GE.

Benoit Bolsee benoit.bolsee at online.be
Fri Apr 24 21:49:15 CEST 2009


Revision: 19918
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19918
Author:   ben2610
Date:     2009-04-24 21:49:15 +0200 (Fri, 24 Apr 2009)

Log Message:
-----------
BGE: removed support for time dependent modifiers, they don't make sense in the GE. Disable modifiers when Bullet soft body is used: bullet needs the original vertex array.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
    trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-04-24 11:36:48 UTC (rev 19917)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-04-24 19:49:15 UTC (rev 19918)
@@ -2158,6 +2158,7 @@
 
 			if((md->mode & required_mode) != required_mode) continue;
 			if(mti->isDisabled && mti->isDisabled(md)) continue;
+			if(useDeform < 0 && mti->dependsOnTime && mti->dependsOnTime(md)) continue;
 
 			if(mti->type == eModifierTypeType_OnlyDeform) {
 				if(!deformedVerts)
@@ -2228,6 +2229,7 @@
 		}
 		if(mti->isDisabled && mti->isDisabled(md)) continue;
 		if(needMapping && !modifier_supportsMapping(md)) continue;
+		if(useDeform < 0 && mti->dependsOnTime && mti->dependsOnTime(md)) continue;
 
 		/* add an orco layer if needed by this modifier */
 		if(dm && mti->requiredDataMask) {

Modified: trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp	2009-04-24 11:36:48 UTC (rev 19917)
+++ trunk/blender/source/gameengine/Converter/BL_ModifierDeformer.cpp	2009-04-24 19:49:15 UTC (rev 19918)
@@ -97,10 +97,16 @@
 {
 	if (!ob->modifiers.first)
 		return false;
+	// soft body cannot use mesh modifiers
+	if ((ob->gameflag & OB_SOFT_BODY) != 0)
+		return false;
 	ModifierData* md;
 	for (md = (ModifierData*)ob->modifiers.first; md; md = (ModifierData*)md->next) {
-		if (md->mode & eModifierMode_Realtime)
-			return true;
+		if (modifier_dependsOnTime(md))
+			continue;
+		if (!(md->mode & eModifierMode_Realtime))
+			continue;
+		return true;
 	}
 	return false;
 }





More information about the Bf-blender-cvs mailing list