[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30795] trunk/blender/source/blender/ blenloader/intern: Bugfix #23000: AnimData on Meshes not saved (and loaded)

Joshua Leung aligorith at gmail.com
Tue Jul 27 08:06:38 CEST 2010


Revision: 30795
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30795
Author:   aligorith
Date:     2010-07-27 08:06:36 +0200 (Tue, 27 Jul 2010)

Log Message:
-----------
Bugfix #23000: AnimData on Meshes not saved (and loaded)

* Animation data for meshes wasn't getting saved at all (the linked actions were, but that doesn't really count)
* Lib-linked actions from other files may not load correctly too

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

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-27 05:53:29 UTC (rev 30794)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2010-07-27 06:06:36 UTC (rev 30795)
@@ -3298,6 +3298,7 @@
 	mesh->msticky= newdataadr(fd, mesh->msticky);
 	mesh->dvert= newdataadr(fd, mesh->dvert);
 	
+	/* animdata */
 	mesh->adt= newdataadr(fd, mesh->adt);
 	direct_link_animdata(fd, mesh->adt);
 
@@ -11681,6 +11682,9 @@
 	TFace *tf;
 	int a, i;
 	
+	if(me->adt)
+		expand_animdata(fd, mainvar, me->adt);
+		
 	for(a=0; a<me->totcol; a++) {
 		expand_doit(fd, mainvar, me->mat[a]);
 	}

Modified: trunk/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/writefile.c	2010-07-27 05:53:29 UTC (rev 30794)
+++ trunk/blender/source/blender/blenloader/intern/writefile.c	2010-07-27 06:06:36 UTC (rev 30795)
@@ -1538,6 +1538,7 @@
 
 			/* direct data */
 			if (mesh->id.properties) IDP_WriteProperty(mesh->id.properties, wd);
+			if (mesh->adt) write_animdata(wd, mesh->adt);
 
 			writedata(wd, DATA, sizeof(void *)*mesh->totcol, mesh->mat);
 





More information about the Bf-blender-cvs mailing list