[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27932] trunk/blender/source/blender/ blenkernel/intern/smoke.c: Smoke:

Daniel Genrich daniel.genrich at gmx.net
Thu Apr 1 16:44:32 CEST 2010


Revision: 27932
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27932
Author:   genscher
Date:     2010-04-01 16:44:31 +0200 (Thu, 01 Apr 2010)

Log Message:
-----------
Smoke:
* Bugfix for missing high res calculation when low res cache was already there
* Bugfix for loading file with smoke but tfor the first "round" of alt-a nothing happened. Now the smoke gets calculated on file load, too.

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

Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c	2010-04-01 14:32:08 UTC (rev 27931)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c	2010-04-01 14:44:31 UTC (rev 27932)
@@ -1156,11 +1156,8 @@
 
 		framenr = scene->r.cfra;
 
-		// printf("time: %d\n", scene->r.cfra);
+		printf("time: %d\n", scene->r.cfra);
 
-		if(framenr == smd->time)
-			return;
-
 		cache = sds->point_cache[0];
 		BKE_ptcache_id_from_smoke(&pid, ob, smd);
 		BKE_ptcache_id_time(&pid, scene, framenr, &startframe, &endframe, &timescale);
@@ -1206,11 +1203,23 @@
 				if(cache_result_wt == PTCACHE_READ_EXACT) 
 				{
 					BKE_ptcache_validate(cache_wt, framenr);
+
+					return;
 				}
+				else
+				{
+					; /* don't return in the case we only got low res cache but no high res cache */
+					/* we still need to calculate the high res cache */
+				}
 			}
-			return;
+			else
+				return;
 		}
 
+		/* only calculate something when we advanced a frame */
+		if(framenr == smd->time)
+			return;
+
 		tstart();
 
 		smoke_calc_domain(scene, ob, smd);





More information about the Bf-blender-cvs mailing list