[Bf-blender-cvs] [26132ea] master: Partly fix (unreported) particles not updating correctly when changing settings.
Bastien Montagne
noreply at git.blender.org
Wed Mar 30 17:33:46 CEST 2016
Commit: 26132eaf1f8058d66f39a5009fa3803935e091c4
Author: Bastien Montagne
Date: Wed Mar 30 17:10:54 2016 +0200
Branches: master
https://developer.blender.org/rB26132eaf1f8058d66f39a5009fa3803935e091c4
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!
===================================================================
M source/blender/blenkernel/intern/particle_system.c
===================================================================
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 10ca88c..1ca68f7 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -3880,8 +3880,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;
More information about the Bf-blender-cvs
mailing list