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>2006-06-21 19:14:44 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2006-06-21 19:14:44 +0400
commit503f7ec2485fe54181125c4000999511798d9f1a (patch)
tree19c7d72d8e010c81cc09dd0aa624f7d17490e2bb
parentc435b0f5d72d9c3a93d635a6ecead0084e4d35f5 (diff)
Fix for bug #4393: initial vertex colors were not created from shaded
mode colors anymore, which also affected python scripts that depend on this feature. Restored that now.
-rw-r--r--source/blender/blenkernel/BKE_displist.h1
-rw-r--r--source/blender/blenkernel/BKE_modifier.h1
-rw-r--r--source/blender/blenkernel/intern/displist.c6
-rw-r--r--source/blender/src/vpaint.c13
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;