diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-05-14 17:30:36 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2008-05-14 17:30:36 +0400 |
commit | 7806a44134b64fe17bdd8bca53a836b59aad9f7e (patch) | |
tree | 88263bcb05b3c04386e405d6454e0a03c77c1c89 /source/blender/src/buttons_object.c | |
parent | d1e1332e071edf346e85bb2c69c066458f6848c5 (diff) |
Minor particle system fixes:
- Changed some tooltips.
- Refresh with reactors and shared particle settings.
- Copying of child particles.
Diffstat (limited to 'source/blender/src/buttons_object.c')
-rw-r--r-- | source/blender/src/buttons_object.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/source/blender/src/buttons_object.c b/source/blender/src/buttons_object.c index 8fcd55fd6f9..13b4bf01850 100644 --- a/source/blender/src/buttons_object.c +++ b/source/blender/src/buttons_object.c @@ -3013,9 +3013,14 @@ void do_effects_panels(unsigned short event) case B_PART_INIT_CHILD: case B_PART_RECALC_CHILD: if(psys) { + Base *base; + Object *bob; + ParticleSystem *bpsys; + int flush; + nr=0; - for(psys=ob->particlesystem.first; psys; psys=psys->next){ - if(ELEM(psys->part->draw_as,PART_DRAW_OB,PART_DRAW_GR)) + for(bpsys=ob->particlesystem.first; bpsys; bpsys=bpsys->next){ + if(ELEM(bpsys->part->draw_as,PART_DRAW_OB,PART_DRAW_GR)) nr++; } if(nr) @@ -3023,6 +3028,21 @@ void do_effects_panels(unsigned short event) else ob->transflag &= ~OB_DUPLIPARTS; + if(psys->part->type==PART_REACTOR) + if(psys->target_ob) + DAG_object_flush_update(G.scene, psys->target_ob, OB_RECALC_DATA); + + for(base = G.scene->base.first; base; base= base->next) { + bob= base->object; + flush= 0; + for(bpsys=bob->particlesystem.first; bpsys; bpsys=bpsys->next) + if(bpsys->part==psys->part) + flush= 1; + + if(flush) + DAG_object_flush_update(G.scene, bob, OB_RECALC_DATA); + } + DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); allqueue(REDRAWVIEW3D, 0); allqueue(REDRAWBUTSOBJECT, 0); |