[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