diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2009-08-16 00:36:15 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2009-08-16 00:36:15 +0400 |
commit | e182d653709a9abd664deaa874f0727ebba83832 (patch) | |
tree | a91df79e87cc7d7d919a7f4bc8d0e4fc6d78c24d /source/blender/blenkernel/intern | |
parent | 2b3d2b72ea157a218e1a6e49759e64de77f99850 (diff) |
2.5/Vertex paint:
* Made vertex paint local to object, like sculpt mode.
* New test for vertex paint is (ob->mode & OB_MODE_VERTEX_PAINT)
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/blender.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/brush.c | 12 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/paint.c | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 2e4e5596450..3f20d379748 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -226,7 +226,7 @@ static void clear_global(void) G.main= NULL; - G.f &= ~(G_WEIGHTPAINT + G_VERTEXPAINT + G_FACESELECT + G_PARTICLEEDIT); + G.f &= ~(G_WEIGHTPAINT + G_FACESELECT + G_PARTICLEEDIT); } /* make sure path names are correct for OS */ diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index eddca8d0073..392872dafd1 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -188,10 +188,14 @@ void make_local_brush(Brush *brush) Brush **current_brush_source(Scene *sce) { - if(sce->basact && sce->basact->object->mode & OB_MODE_SCULPT) - return &sce->toolsettings->sculpt->brush; - else if(G.f & G_VERTEXPAINT) - return &sce->toolsettings->vpaint->brush; + Object *ob = sce->basact ? sce->basact->object : NULL; + + if(ob) { + if(ob->mode & OB_MODE_SCULPT) + return &sce->toolsettings->sculpt->brush; + else if(ob->mode & OB_MODE_VERTEX_PAINT) + return &sce->toolsettings->vpaint->brush; + } else if(G.f & G_WEIGHTPAINT) return &sce->toolsettings->wpaint->brush; else if(G.f & G_TEXTUREPAINT) diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 280ea6eca53..ba06768b12a 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -689,7 +689,7 @@ char *CTX_data_mode_string(const bContext *C) if(ob && (ob->flag & OB_POSEMODE)) return "posemode"; else if (ob && ob->mode & OB_MODE_SCULPT) return "sculpt_mode"; else if (G.f & G_WEIGHTPAINT) return "weightpaint"; - else if (G.f & G_VERTEXPAINT) return "vertexpaint"; + else if (ob && ob->mode & OB_MODE_VERTEX_PAINT) return "vertexpaint"; else if (G.f & G_TEXTUREPAINT) return "texturepaint"; else if(G.f & G_PARTICLEEDIT) return "particlemode"; } diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c index a42581f3a76..e945c218217 100644 --- a/source/blender/blenkernel/intern/paint.c +++ b/source/blender/blenkernel/intern/paint.c @@ -32,6 +32,6 @@ int paint_facesel_test(Object *ob) { - return (G.f&G_FACESELECT) && (G.f & (G_VERTEXPAINT|G_WEIGHTPAINT|G_TEXTUREPAINT)); + return (G.f&G_FACESELECT) && ((G.f & (G_WEIGHTPAINT|G_TEXTUREPAINT)) || (ob && (ob->mode & OB_MODE_VERTEX_PAINT))); } |