[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38105] trunk/blender/source/blender/ blenkernel/intern/pointcache.c: Fix for [#27579] Particles Cache Problem

Janne Karhu jhkarh at gmail.com
Tue Jul 5 04:19:01 CEST 2011


Revision: 38105
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38105
Author:   jhk
Date:     2011-07-05 02:18:55 +0000 (Tue, 05 Jul 2011)
Log Message:
-----------
Fix for [#27579] Particles Cache Problem
* Horrors from the ancient world of deprecated code: object animation offset can't really work correctly with particles unless point cache takes full control of particle system timing.
* Disabled the non-working offset control from effecting particles so that for now particles will work consistently and the offset is only applied to the object.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/pointcache.c

Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c	2011-07-05 01:55:03 UTC (rev 38104)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c	2011-07-05 02:18:55 UTC (rev 38105)
@@ -2124,7 +2124,8 @@
 {
 	Object *ob;
 	PointCache *cache;
-	float offset, time, nexttime;
+	/* float offset; unused for now */
+	float time, nexttime;
 
 	/* TODO: this has to be sorter out once bsystem_time gets redone, */
 	/*       now caches can handle interpolating etc. too - jahka */
@@ -2152,13 +2153,18 @@
 		*startframe= cache->startframe;
 		*endframe= cache->endframe;
 
-		// XXX ipoflag is depreceated - old animation system stuff
-		if (/*(ob->ipoflag & OB_OFFS_PARENT) &&*/ (ob->partype & PARSLOW)==0) {
+		/* TODO: time handling with object offsets and simulated vs. cached
+		 * particles isn't particularly easy, so for now what you see is what
+		 * you get. In the future point cache could handle the whole particle
+		 * system timing. */
+#if 0
+		if ((ob->partype & PARSLOW)==0) {
 			offset= give_timeoffset(ob);
 
 			*startframe += (int)(offset+0.5f);
 			*endframe += (int)(offset+0.5f);
 		}
+#endif
 	}
 
 	/* verify cached_frames array is up to date */




More information about the Bf-blender-cvs mailing list