diff options
-rw-r--r-- | source/blender/blenkernel/BKE_displist.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/BKE_modifier.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/displist.c | 6 | ||||
-rw-r--r-- | source/blender/src/vpaint.c | 13 |
4 files changed, 11 insertions, 10 deletions
diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h index 42e1576d137..0bb74ca94b5 100644 --- a/source/blender/blenkernel/BKE_displist.h +++ b/source/blender/blenkernel/BKE_displist.h @@ -146,6 +146,7 @@ extern void makeDispListSurf(struct Object *ob, struct ListBase *dispbase, int f extern void makeDispListCurveTypes(struct Object *ob, int forOrco); extern void makeDispListMBall(struct Object *ob); extern void shadeDispList(struct Base *base); +extern void shadeMeshMCol(struct Object *ob, struct Mesh *me); void imagestodisplist(void); void reshadeall_displist(void); diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h index ecbfeed157a..9afefbfc5a9 100644 --- a/source/blender/blenkernel/BKE_modifier.h +++ b/source/blender/blenkernel/BKE_modifier.h @@ -38,6 +38,7 @@ struct DagForest; struct DagNode; struct Object; struct ListBase; +struct bArmature; typedef enum { /* Should not be used, only for None modifier type */ diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index cc5012aa83c..2930203e0da 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -627,6 +627,12 @@ static void mesh_create_shadedColors(Render *re, Object *ob, int onlyForMesh, un end_fastshade_for_ob(ob); } +void shadeMeshMCol(Object *ob, Mesh *me) +{ + Render *re= fastshade_get_render(); + mesh_create_shadedColors(re, ob, 1, (unsigned int**)&me->mcol, NULL); +} + /* has base pointer, to check for layer */ /* called from drawobject.c */ void shadeDispList(Base *base) diff --git a/source/blender/src/vpaint.c b/source/blender/src/vpaint.c index 22ad81ee0e3..6d04fc9104e 100644 --- a/source/blender/src/vpaint.c +++ b/source/blender/src/vpaint.c @@ -217,7 +217,6 @@ void make_vertexcol() /* single ob */ { Object *ob; Mesh *me; - int i; /* * Always copies from shadedisplist to mcol. @@ -235,13 +234,8 @@ void make_vertexcol() /* single ob */ if(me==0) return; if(me->mcol) MEM_freeN(me->mcol); - me->mcol = MEM_callocN(sizeof(int)*me->totface*4, "me->mcol"); - // mesh_create_shadedColors(ob, 1, (unsigned int**) &me->mcol, NULL); - - for (i=0; i<me->totface*4; i++) { - me->mcol[i].a = 255; - } - + shadeMeshMCol(ob, me); + if(me->tface) mcol_to_tface(me, 1); DAG_object_flush_update(G.scene, ob, OB_RECALC_DATA); @@ -251,7 +245,6 @@ void make_vertexcol() /* single ob */ } - void copy_vpaint_undo(unsigned int *mcol, int tot) { if(vpaintundobuf) MEM_freeN(vpaintundobuf); @@ -374,7 +367,7 @@ void clear_wpaint_selectedfaces() Object *ob; int index, vgroup; MDeformWeight *dw, *uw; - unsigned int faceverts[5]={NULL,NULL,NULL,NULL,NULL}; + unsigned int faceverts[5]={0,0,0,0,0}; unsigned char i; int vgroup_mirror= -1; |