From e2f33871bee0c876f7dc418412b68f7316121d86 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Thu, 28 Oct 2004 17:22:10 +0000 Subject: [PATCH] Duplicator object which is being deformed now gives deformed duplicates too. Feat request & discovered by S68. :) --- source/blender/blenkernel/intern/anim.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c index 96d6a307ce7..13c5f45b107 100644 --- a/source/blender/blenkernel/intern/anim.c +++ b/source/blender/blenkernel/intern/anim.c @@ -344,7 +344,8 @@ void vertex_duplilist(Scene *sce, Object *par) Base *base; MVert *mvert; Mesh *me; - float vec[3], pvec[3], pmat[4][4], mat[3][3], tmat[4][4]; + DispList *dl; + float *extverts=NULL, vec[3], pvec[3], pmat[4][4], mat[3][3], tmat[4][4]; float *q2; int lay, totvert, a; @@ -354,6 +355,9 @@ void vertex_duplilist(Scene *sce, Object *par) lay= G.scene->lay; + dl= find_displist(&par->disp, DL_VERTS); + if(dl) extverts= dl->verts; + base= sce->base.first; while(base) { @@ -378,7 +382,13 @@ void vertex_duplilist(Scene *sce, Object *par) for(a=0; aco); + if(extverts) { + VECCOPY(vec, extverts+3*a); + } + else { + VECCOPY(vec, mvert->co); + } + Mat4MulVecfl(pmat, vec); VecSubf(vec, vec, pmat[3]); VecAddf(vec, vec, ob->obmat[3]);