Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2016-03-30 18:10:54 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-04-05 11:36:11 +0300
commit96b9f45d7a104cce093da174a4b9d076250f326d (patch)
tree7134db9405f119ab382c374ba4ce370b15ea7792 /source/blender
parent4fc9178af994765470836a3ee359250a33e63482 (diff)
Partly fix (unreported) particles not updating correctly when changing settings.
Point-cached particles (those using simulations) would not update at all outside of first frame, due to PSYS_RECALC_RESET flag being ingnored in `system_step()`... For some mysterious reasons, udate is still non-fully functional outside of startframe (e.g. changing face distribution between random and jittered), but at least when choosing 'Vertices' you get particles from verts and not faces!
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/particle_system.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index e9ce5329ad0..87f39f283b4 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3878,8 +3878,8 @@ static void system_step(ParticleSimulationData *sim, float cfra)
BKE_ptcache_id_time(pid, sim->scene, 0.0f, &startframe, &endframe, NULL);
- /* clear everythin on start frame */
- if (cfra == startframe) {
+ /* clear everything on start frame, or when psys needs full reset! */
+ if ((cfra == startframe) || (psys->recalc & PSYS_RECALC_RESET)) {
BKE_ptcache_id_reset(sim->scene, pid, PTCACHE_RESET_OUTDATED);
BKE_ptcache_validate(cache, startframe);
cache->flag &= ~PTCACHE_REDO_NEEDED;