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:
authorJanne Karhu <jhkarh@gmail.com>2010-07-25 18:40:18 +0400
committerJanne Karhu <jhkarh@gmail.com>2010-07-25 18:40:18 +0400
commit6ec87e60955cfa2e2737cdf9c1cc902c73f37d08 (patch)
tree07c0ea127b133064e485114195542cbc6761809b /source/blender/blenkernel
parent1e7f96343efd1472b9f827e5f5d3fd7f984b8612 (diff)
Fix for [#22128] particle sizes and physics
* size wasn't updated at all for particles with keyed or no physics
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/particle_system.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 181d8fee4ba..a38fc921bea 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -4038,12 +4038,21 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
case PART_PHYS_NO:
case PART_PHYS_KEYED:
{
+ PARTICLE_P;
+
if(emit_particles(&sim, NULL, cfra)) {
free_keyed_keys(psys);
distribute_particles(&sim, part->from);
initialize_all_particles(&sim);
}
- reset_all_particles(&sim, 0.0, cfra, 0);
+
+ LOOP_EXISTING_PARTICLES {
+ pa->size = part->size;
+ if(part->randsize > 0.0)
+ pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1);
+
+ reset_particle(&sim, pa, 0.0, cfra);
+ }
if(part->phystype == PART_PHYS_KEYED) {
psys_count_keyed_targets(&sim);