[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37326] trunk/blender/source/blender: add foreachIDLink function for cloth, remove cloth specific newlibadr calls in readfile.

Campbell Barton ideasman42 at gmail.com
Thu Jun 9 04:47:23 CEST 2011


Revision: 37326
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37326
Author:   campbellbarton
Date:     2011-06-09 02:47:22 +0000 (Thu, 09 Jun 2011)
Log Message:
-----------
add foreachIDLink function for cloth, remove cloth specific newlibadr calls in readfile.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/modifiers/intern/MOD_cloth.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2011-06-08 23:36:56 UTC (rev 37325)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2011-06-09 02:47:22 UTC (rev 37326)
@@ -3847,16 +3847,6 @@
 				}
 			}
 
-			{
-				ClothModifierData *clmd = (ClothModifierData *)modifiers_findByType(ob, eModifierType_Cloth);
-				
-				if(clmd) 
-				{
-					clmd->sim_parms->effector_weights->group = newlibadr(fd, ob->id.lib, clmd->sim_parms->effector_weights->group);
-					clmd->coll_parms->group= newlibadr(fd, ob->id.lib, clmd->coll_parms->group);
-				}
-			}
-			
 			/* texture field */
 			if(ob->pd)
 				lib_link_partdeflect(fd, &ob->id, ob->pd);

Modified: trunk/blender/source/blender/modifiers/intern/MOD_cloth.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_cloth.c	2011-06-08 23:36:56 UTC (rev 37325)
+++ trunk/blender/source/blender/modifiers/intern/MOD_cloth.c	2011-06-09 02:47:22 UTC (rev 37326)
@@ -190,7 +190,20 @@
 	}
 }
 
+static void foreachIDLink(ModifierData *md, Object *ob,
+					   IDWalkFunc walk, void *userData)
+{
+	ClothModifierData *clmd = (ClothModifierData*) md;
 
+	if(clmd->coll_parms) {
+		walk(userData, ob, (ID **)&clmd->coll_parms->group);
+	}
+
+	if(clmd->sim_parms && clmd->sim_parms->effector_weights) {
+		walk(userData, ob, (ID **)&clmd->sim_parms->effector_weights->group);
+	}
+}
+
 ModifierTypeInfo modifierType_Cloth = {
 	/* name */              "Cloth",
 	/* structName */        "ClothModifierData",
@@ -215,5 +228,5 @@
 	/* dependsOnTime */     dependsOnTime,
 	/* dependsOnNormals */	NULL,
 	/* foreachObjectLink */ NULL,
-	/* foreachIDLink */     NULL,
+	/* foreachIDLink */     foreachIDLink,
 };




More information about the Bf-blender-cvs mailing list