[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32944] trunk/blender/source/blender: Fix for [#24597] Option External in Smoke cache affects settings of start and end frame of simulation
Janne Karhu
jhkarh at gmail.com
Mon Nov 8 12:19:54 CET 2010
Revision: 32944
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32944
Author: jhk
Date: 2010-11-08 12:19:53 +0100 (Mon, 08 Nov 2010)
Log Message:
-----------
Fix for [#24597] Option External in Smoke cache affects settings of start and end frame of simulation
* Don't change anything in the pointcache unless a valid external cache is found.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/pointcache.c
trunk/blender/source/blender/makesrna/intern/rna_object_force.c
Modified: trunk/blender/source/blender/blenkernel/intern/pointcache.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/pointcache.c 2010-11-08 11:13:46 UTC (rev 32943)
+++ trunk/blender/source/blender/blenkernel/intern/pointcache.c 2010-11-08 11:19:53 UTC (rev 32944)
@@ -2847,6 +2847,8 @@
PointCache *cache = pid->cache;
int len; /* store the length of the string */
int info = 0;
+ int start = MAXFRAME;
+ int end = -1;
/* mode is same as fopen's modes */
DIR *dir;
@@ -2858,10 +2860,6 @@
if(!cache)
return;
- cache->startframe = MAXFRAME;
- cache->endframe = -1;
- cache->totpoint = 0;
-
ptcache_path(pid, path);
len = BKE_ptcache_id_filename(pid, filename, 1, 0, 0); /* no path */
@@ -2887,8 +2885,8 @@
frame = atoi(num);
if(frame) {
- cache->startframe = MIN2(cache->startframe, frame);
- cache->endframe = MAX2(cache->endframe, frame);
+ start = MIN2(start, frame);
+ end = MAX2(end, frame);
}
else
info = 1;
@@ -2898,9 +2896,13 @@
}
closedir(dir);
- if(cache->startframe != MAXFRAME) {
+ if(start != MAXFRAME) {
PTCacheFile *pf;
+ cache->startframe = start;
+ cache->endframe = end;
+ cache->totpoint = 0;
+
/* read totpoint from info file (frame 0) */
if(info) {
pf= ptcache_file_open(pid, PTCACHE_FILE_READ, 0);
@@ -2931,10 +2933,10 @@
ptcache_file_close(pf);
}
}
+ cache->flag |= (PTCACHE_BAKED|PTCACHE_DISK_CACHE|PTCACHE_SIMULATION_VALID);
+ cache->flag &= ~(PTCACHE_OUTDATED|PTCACHE_FRAMES_SKIPPED);
}
- cache->flag &= ~(PTCACHE_OUTDATED|PTCACHE_FRAMES_SKIPPED);
-
BKE_ptcache_update_info(pid);
}
Modified: trunk/blender/source/blender/makesrna/intern/rna_object_force.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object_force.c 2010-11-08 11:13:46 UTC (rev 32943)
+++ trunk/blender/source/blender/makesrna/intern/rna_object_force.c 2010-11-08 11:19:53 UTC (rev 32944)
@@ -171,10 +171,8 @@
if(!pid)
return;
- cache->flag |= (PTCACHE_BAKED|PTCACHE_DISK_CACHE|PTCACHE_SIMULATION_VALID);
- cache->flag &= ~(PTCACHE_OUTDATED|PTCACHE_FRAMES_SKIPPED);
-
BKE_ptcache_load_external(pid);
+
DAG_id_flush_update(&ob->id, OB_RECALC_DATA);
}
else {
More information about the Bf-blender-cvs
mailing list