Revision: 37456
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37456
Author:   jason_hays22
Date:     2011-06-13 17:16:44 +0000 (Mon, 13 Jun 2011)
Log Message:
-----------
Made a var that determines if the color can be black (so it knows if it should 
use CLAMP or not)

Modified Paths:
--------------
    branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c

Modified: 
branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c     
2011-06-13 17:08:33 UTC (rev 37455)
+++ branches/soc-2011-radish/source/blender/blenkernel/intern/DerivedMesh.c     
2011-06-13 17:16:44 UTC (rev 37456)
@@ -1612,8 +1612,10 @@
        Mesh *me = ob->data;
        float colf[4], input = 0.0f, unsel_sum = 0.0f;// Jason
        int i;
-       //Jason, a dw might be absent from dvert
+       //Jason, a dw might be absent from dvert, so count the dw's you find
+       // to see if it should be disabled in multipaint
        int cnt = 0;
+       char make_black = FALSE;
 
        if (me->dvert) {
                for (i=0; i<me->dvert[vert].totweight; i++) {
@@ -1621,8 +1623,7 @@
                        if(multipaint && selected > 1) {
                                if(dg_flags[me->dvert[vert].dw[i].def_nr]) {
                                        if(!me->dvert[vert].dw[i].weight) {
-                                               input = -1;
-                                               unsel_sum = 0;
+                                               make_black = TRUE;
                                                break;
                                        }
                                        input+=me->dvert[vert].dw[i].weight;
@@ -1637,16 +1638,18 @@
                        }
                }
                // Jason was here
-               if(multipaint && selected > 1) {
+               if(multipaint && selected > 1 && !make_black) {
                        if(cnt!=selected || input == 1.0f && auto_normalize && 
!unsel_sum) {
-                               input = -1;
+                               make_black = TRUE;
                        } else {
                                input/=selected;
                        }
                }
        }
        
-       if(!multipaint || selected <= 1) {
+       if(make_black) {
+               input = -1;
+       }else {
                CLAMP(input, 0.0f, 1.0f);
        }
        

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

Reply via email to