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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-05-14 17:30:36 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-05-14 17:30:36 +0400
commit7806a44134b64fe17bdd8bca53a836b59aad9f7e (patch)
tree88263bcb05b3c04386e405d6454e0a03c77c1c89 /source/blender/src/buttons_object.c
parentd1e1332e071edf346e85bb2c69c066458f6848c5 (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.c24
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);