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:
authorTon Roosendaal <ton@blender.org>2004-12-14 21:12:30 +0300
committerTon Roosendaal <ton@blender.org>2004-12-14 21:12:30 +0300
commitf3106212e86476fcbd417d3d2d8876625b6e029a (patch)
treefb25a5672f973891b47531551c09518b56e17d79
parent65d5d124d0d2a255db68dcb89e1e3c3893cb195f (diff)
Bug fix #2016
Particles added to mesh being deformed with Armature crashes. Bug introduced with 2.33, particle collisions... leon added some fancy updates for actions and armature displists there, which are highly disputable. I left it in, because I didn't see it was actually new. Note: particles added while updating mesh with armatures is not supported, it will shoot particles from original location. What does work, is static particles.
-rw-r--r--source/blender/blenkernel/intern/effect.c21
1 files changed, 0 insertions, 21 deletions
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c
index ed2936af034..988d9abfd9b 100644
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@ -1131,7 +1131,6 @@ void build_particle_system(Object *ob)
MVert *mvert;
MTex *mtexmove=0;
Material *ma;
- int armature_parent;
float framelenont, ftime, dtime, force[3], imat[3][3], vec[3];
float fac, prevobmat[4][4], sfraont, co[3];
int deform=0, a, cur, cfraont, cfralast, totpart;
@@ -1199,16 +1198,9 @@ void build_particle_system(Object *ob)
/* set it all at first frame */
G.scene->r.cfra= cfralast= (int)floor(ftime);
par= ob;
- armature_parent = 0;
while(par) {
/* do_ob_ipo(par); */
do_ob_key(par);
- /* Just checking whether theres an armature in the */
- /* parent chain of the emitter, so we know whether */
- /* to recalculate the armatures */
- if(par->type==OB_ARMATURE) {
- armature_parent = 1;
- }
par= par->parent;
}
@@ -1274,12 +1266,6 @@ void build_particle_system(Object *ob)
/* added later: blur? */
bsystem_time(ob, ob->parent, (float)G.scene->r.cfra, 0.0);
-
- /* Update the armatures */
- if (armature_parent) {
- do_all_actions();
- rebuild_all_armature_displists();
- }
par= ob;
while(par) {
@@ -1355,13 +1341,6 @@ void build_particle_system(Object *ob)
G.scene->r.framelen= framelenont;
give_mesh_mvert(0, 0, 0, 0,paf->seed);
- /*Restore armature settings*/
- if((paf->flag & PAF_STATIC)==0) {
- if (armature_parent) {
- do_all_actions();
- rebuild_all_armature_displists();
- }
- }
/* put hierarchy back */
par= ob;
while(par) {