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
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!
-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;