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;
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs