Revision: 22483
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22483
Author:   nicholasbishop
Date:     2009-08-15 23:46:25 +0200 (Sat, 15 Aug 2009)

Log Message:
-----------
2.5/Paint:

* Weightpaint is now object-local like sculpt and vertexpaint.
* Fixed a bug spotted by DingTo, going from editmode to sculptmode didn't fully 
leave editmode

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
    branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
    branches/blender2.5/blender/source/blender/blenkernel/intern/paint.c
    
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c
    branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
    branches/blender2.5/blender/source/blender/editors/armature/poseobject.c
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_context.c
    
branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_vertex.c
    
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/drawarmature.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawmesh.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_buttons.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
    
branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
    
branches/blender2.5/blender/source/blender/editors/transform/transform_manipulator.c
    
branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_object_types.h

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h  
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_global.h  
2009-08-15 21:46:25 UTC (rev 22483)
@@ -115,7 +115,6 @@
 #define G_DEBUG                        (1 << 12)
 #define G_DOSCRIPTLINKS (1 << 13)
 
-#define G_WEIGHTPAINT  (1 << 15)       
 #define G_TEXTUREPAINT (1 << 16)
 /* #define G_NOFROZEN  (1 << 17) also removed */
 #define G_GREASEPENCIL         (1 << 17)

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c      
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c      
2009-08-15 21:46:25 UTC (rev 22483)
@@ -226,7 +226,7 @@
 
        G.main= NULL;
        
-       G.f &= ~(G_WEIGHTPAINT + G_FACESELECT + G_PARTICLEEDIT);
+       G.f &= ~(G_FACESELECT + G_PARTICLEEDIT);
 }
 
 /* make sure path names are correct for OS */

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c        
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c        
2009-08-15 21:46:25 UTC (rev 22483)
@@ -195,9 +195,9 @@
                        return &sce->toolsettings->sculpt->brush;
                else if(ob->mode & OB_MODE_VERTEX_PAINT)
                        return &sce->toolsettings->vpaint->brush;
+               else if(ob->mode & OB_MODE_WEIGHT_PAINT)
+                       return &sce->toolsettings->wpaint->brush;
        }
-       else if(G.f & G_WEIGHTPAINT)
-               return &sce->toolsettings->wpaint->brush;
        else if(G.f & G_TEXTUREPAINT)
                return &sce->toolsettings->imapaint.brush;
        return NULL;

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c      
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c      
2009-08-15 21:46:25 UTC (rev 22483)
@@ -688,7 +688,7 @@
                
                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 (ob && ob->mode & OB_MODE_WEIGHT_PAINT) return 
"weightpaint";
                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";

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/paint.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/paint.c        
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/paint.c        
2009-08-15 21:46:25 UTC (rev 22483)
@@ -32,6 +32,6 @@
 
 int paint_facesel_test(Object *ob)
 {
-       return (G.f&G_FACESELECT) && ((G.f & (G_WEIGHTPAINT|G_TEXTUREPAINT)) || 
(ob && (ob->mode & OB_MODE_VERTEX_PAINT)));
+       return (G.f&G_FACESELECT) && ((G.f & G_TEXTUREPAINT) || (ob && 
(ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT))));
 
 }

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c  
    2009-08-15 20:36:15 UTC (rev 22482)
+++ 
branches/blender2.5/blender/source/blender/blenkernel/intern/particle_system.c  
    2009-08-15 21:46:25 UTC (rev 22483)
@@ -3726,7 +3726,7 @@
        if((psys->part->childtype && psys->totchild != 
get_psys_tot_child(scene, psys)) || psys->recalc&PSYS_RECALC_RESET)
                alloc=1;
 
-       if(alloc || psys->recalc&PSYS_RECALC_CHILD || 
(psys->vgroup[PSYS_VG_DENSITY] && (G.f & G_WEIGHTPAINT)))
+       if(alloc || psys->recalc&PSYS_RECALC_CHILD || 
(psys->vgroup[PSYS_VG_DENSITY] && (ob && ob->mode & OB_MODE_WEIGHT_PAINT)))
                distr=1;
 
        if(distr){

Modified: 
branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-08-15 21:46:25 UTC (rev 22483)
@@ -4332,7 +4332,7 @@
                }
                
                /* in weightpaint we select the associated vertex group too */
-               if (G.f & G_WEIGHTPAINT) {
+               if (ob->mode & OB_MODE_WEIGHT_PAINT) {
                        if (nearBone->flag & BONE_ACTIVE) {
                                vertexgroup_select_by_name(OBACT, 
nearBone->name);
                                DAG_object_flush_update(scene, OBACT, 
OB_RECALC_DATA);
@@ -4424,7 +4424,7 @@
        int a, segments;
        struct { Object *armob; void *list; int heat; } *data = datap;
 
-       if(!(G.f & G_WEIGHTPAINT) || !(bone->flag & BONE_HIDDEN_P)) {
+       if(!(ob->mode & OB_MODE_WEIGHT_PAINT) || !(bone->flag & BONE_HIDDEN_P)) 
{
                if (!(bone->flag & BONE_NO_DEFORM)) {
                        if (data->heat && data->armob->pose && 
get_pose_channel(data->armob->pose, bone->name))
                                segments = bone->segments;
@@ -4489,7 +4489,7 @@
        int a, segments;
        struct { Object *armob; void *list; int heat; } *data= datap;
 
-       if (!(G.f & G_WEIGHTPAINT) || !(bone->flag & BONE_HIDDEN_P)) {
+       if (!(ob->mode & OB_MODE_WEIGHT_PAINT) || !(bone->flag & 
BONE_HIDDEN_P)) {
           if (!(bone->flag & BONE_NO_DEFORM)) {
                        if (data->heat && data->armob->pose && 
get_pose_channel(data->armob->pose, bone->name))
                                segments = bone->segments;
@@ -4588,7 +4588,7 @@
        float (*root)[3], (*tip)[3], (*verts)[3];
        int *selected;
        int numbones, vertsfilled = 0, i, j, segments = 0;
-       int wpmode = (G.f & G_WEIGHTPAINT);
+       int wpmode = (ob->mode & OB_MODE_WEIGHT_PAINT);
        struct { Object *armob; void *list; int heat; } looper_data;
 
        looper_data.armob = par;

Modified: 
branches/blender2.5/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/poseobject.c    
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/editors/armature/poseobject.c    
2009-08-15 21:46:25 UTC (rev 22483)
@@ -1647,7 +1647,7 @@
        
        if(ob==NULL) return;
 
-       if(G.f & G_WEIGHTPAINT) {
+       if(ob->mode && OB_MODE_WEIGHT_PAINT) {
                ob= modifiers_isDeformedByArmature(ob);
        }
        if(ob && (ob->flag & OB_POSEMODE)) {
@@ -1671,7 +1671,7 @@
                                pchanf->bone->flag |= 
(BONE_SELECTED|BONE_ACTIVE);
                        
                                /* in weightpaint we select the associated 
vertex group too */
-                               if(G.f & G_WEIGHTPAINT) {
+                               if(ob->mode & OB_MODE_WEIGHT_PAINT) {
                                        vertexgroup_select_by_name(OBACT, name);
                                        DAG_object_flush_update(scene, OBACT, 
OB_RECALC_DATA);
                                }

Modified: 
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c     
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c     
2009-08-15 21:46:25 UTC (rev 22483)
@@ -2247,7 +2247,7 @@
        int armature_clear= 0;
 
        CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects) {
-               if((G.f & G_WEIGHTPAINT)==0) {
+               if(!(ob->mode & OB_MODE_WEIGHT_PAINT)) {
                        if ((ob->protectflag & OB_LOCK_LOCX)==0)
                                ob->loc[0]= ob->dloc[0]= 0.0f;
                        if ((ob->protectflag & OB_LOCK_LOCY)==0)
@@ -2290,7 +2290,7 @@
        int armature_clear= 0;
 
        CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects) {
-               if((G.f & G_WEIGHTPAINT)==0) {
+               if(!(ob->mode & OB_MODE_WEIGHT_PAINT)) {
                        /* eulers can only get cleared if they are not 
protected */
                        if ((ob->protectflag & OB_LOCK_ROTX)==0)
                                ob->rot[0]= ob->drot[0]= 0.0f;
@@ -2334,7 +2334,7 @@
        int armature_clear= 0;
 
        CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects) {
-               if((G.f & G_WEIGHTPAINT)==0) {
+               if(!(ob->mode & OB_MODE_WEIGHT_PAINT)) {
                        if ((ob->protectflag & OB_LOCK_SCALEX)==0) {
                                ob->dsize[0]= 0.0f;
                                ob->size[0]= 1.0f;
@@ -3701,7 +3701,7 @@
                        me->edit_mesh= NULL;
                }
                
-               if(G.f & G_WEIGHTPAINT)
+               if(obedit->restore_mode & OB_MODE_WEIGHT_PAINT)
                        mesh_octree_table(obedit, NULL, NULL, 'e');
        }
        else if (obedit->type==OB_ARMATURE) {   
@@ -4178,7 +4178,7 @@
                                DAG_object_flush_update(scene, ob, 
OB_RECALC_DATA);
                        }
                }
-               else if(G.f & G_WEIGHTPAINT) {
+               else if(ob->mode & OB_MODE_WEIGHT_PAINT) {
                        Object *par= modifiers_isDeformedByArmature(ob);
 
                        if(par && (par->flag & OB_POSEMODE)) {
@@ -7043,5 +7043,7 @@
        if(mode & OB_MODE_SCULPT)
                WM_operator_name_call(C, "SCULPT_OT_sculptmode_toggle", 
WM_OP_EXEC_REGION_WIN, NULL);
        if(mode & OB_MODE_VERTEX_PAINT)
-               WM_operator_name_call(C, "SCULPT_OT_vertex_paint_toggle", 
WM_OP_EXEC_REGION_WIN, NULL);
+               WM_operator_name_call(C, "PAINT_OT_vertex_paint_toggle", 
WM_OP_EXEC_REGION_WIN, NULL);
+       if(mode & OB_MODE_WEIGHT_PAINT)
+               WM_operator_name_call(C, "PAINT_OT_weight_paint_toggle", 
WM_OP_EXEC_REGION_WIN, NULL);
 }

Modified: 
branches/blender2.5/blender/source/blender/editors/screen/screen_context.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_context.c  
2009-08-15 20:36:15 UTC (rev 22482)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_context.c  
2009-08-15 21:46:25 UTC (rev 22483)
@@ -128,7 +128,7 @@
                return 1;
        }
        else if(CTX_data_equals(member, "weight_paint_object")) {
-               if(G.f & G_WEIGHTPAINT && scene->basact)
+               if(ob && (ob->mode & OB_MODE_WEIGHT_PAINT))
                        CTX_data_id_pointer_set(result, 
&scene->basact->object->id);
 
                return 1;

Modified: 
branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_vertex.c  
    2009-08-15 20:36:15 UTC (rev 22482)
+++ 
branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_vertex.c  
    2009-08-15 21:46:25 UTC (rev 22483)
@@ -123,7 +123,9 @@
 
 static int wp_poll(bContext *C)
 {
-       if(G.f & G_WEIGHTPAINT) {

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to