[Bf-blender-cvs] [6ca2f388e1c] temp-sculpt-colors: temp-sculpt-colors: more changes

Joseph Eagar noreply at git.blender.org
Tue Feb 15 00:55:23 CET 2022


Commit: 6ca2f388e1cb2c8f943d7db01987b15319ce742b
Author: Joseph Eagar
Date:   Mon Feb 14 15:54:48 2022 -0800
Branches: temp-sculpt-colors
https://developer.blender.org/rB6ca2f388e1cb2c8f943d7db01987b15319ce742b

temp-sculpt-colors: more changes

Also, part of the wm_toolsystem bugfix was
missing, include it.

===================================================================

M	release/datafiles/locale
M	release/scripts/addons
M	source/blender/blenkernel/BKE_attribute.h
M	source/blender/blenkernel/intern/attribute.c
M	source/blender/blenloader/intern/versioning_300.c
M	source/blender/windowmanager/intern/wm_toolsystem.c
M	source/tools

===================================================================

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 93612eddc7c..2d12637a69d 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 93612eddc7cdfa82d1e7c31c362df0988388629b
+Subproject commit 2d12637a69df7643484a8a3655b7eeb6faa170a7
diff --git a/release/scripts/addons b/release/scripts/addons
index 9207696bbfa..e1d44bf3750 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 9207696bbfac648c299f29f031ab5f18d8fa0077
+Subproject commit e1d44bf37501eb19a057777bd0b0ba4484773531
diff --git a/source/blender/blenkernel/BKE_attribute.h b/source/blender/blenkernel/BKE_attribute.h
index f7e2dc1b816..bf383c8a82b 100644
--- a/source/blender/blenkernel/BKE_attribute.h
+++ b/source/blender/blenkernel/BKE_attribute.h
@@ -81,7 +81,7 @@ void BKE_id_attributes_active_set(struct ID *id, struct CustomDataLayer *layer);
 int *BKE_id_attributes_active_index_p(struct ID *id);
 
 CustomData *BKE_id_attributes_iterator_next_domain(struct ID *id, struct CustomDataLayer *layers);
-CustomDataLayer *BKE_id_attribute_from_index(const struct ID *id,
+CustomDataLayer *BKE_id_attribute_from_index(struct ID *id,
                                              int lookup_index,
                                              AttributeDomainMask domain_mask,
                                              CustomDataMask layer_mask);
diff --git a/source/blender/blenkernel/intern/attribute.c b/source/blender/blenkernel/intern/attribute.c
index 00fad8d2f5a..0bbb4d6d1b2 100644
--- a/source/blender/blenkernel/intern/attribute.c
+++ b/source/blender/blenkernel/intern/attribute.c
@@ -432,7 +432,7 @@ CustomData *BKE_id_attributes_iterator_next_domain(ID *id, CustomDataLayer *laye
   return NULL;
 }
 
-CustomDataLayer *BKE_id_attribute_from_index(const ID *id,
+CustomDataLayer *BKE_id_attribute_from_index(ID *id,
                                              int lookup_index,
                                              AttributeDomainMask domain_mask,
                                              CustomDataMask layer_mask)
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index 36910f9df5e..c88288aabc6 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -1959,20 +1959,6 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
     }
   }
 
-  if (!MAIN_VERSION_ATLEAST(bmain, 302, 0)) {
-    LISTBASE_FOREACH (Brush *, br, &bmain->brushes) {
-      /* buggy code in wm_toolsystem broke smear in old files,
-         reset to defaults*/
-      if (br->sculpt_tool == SCULPT_TOOL_SMEAR) {
-        br->alpha = 1.0f;
-        br->spacing = 5;
-        br->flag &= ~BRUSH_ALPHA_PRESSURE;
-        br->flag &= ~BRUSH_SPACE_ATTEN;
-        br->curve_preset = BRUSH_CURVE_SPHERE;
-      }
-    }
-  }
-
   if (!MAIN_VERSION_ATLEAST(bmain, 300, 23)) {
     for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
       LISTBASE_FOREACH (ScrArea *, area, &screen->areabase) {
@@ -2370,42 +2356,6 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
     }
   }
 
-  /* rebuild active/render color attribute references*/
-  if (!MAIN_VERSION_ATLEAST(bmain, 302, 3)) {
-    LISTBASE_FOREACH (Mesh *, me, &bmain->meshes) {
-      for (int step = 0; step < 2; step++) {
-        CustomDataLayer *actlayer = NULL;
-
-        int vact1, vact2;
-
-        if (step) {
-          vact1 = CustomData_get_render_layer_index(&me->vdata, CD_PROP_COLOR);
-          vact2 = CustomData_get_render_layer_index(&me->ldata, CD_MLOOPCOL);
-        }
-        else {
-          vact1 = CustomData_get_active_layer_index(&me->vdata, CD_PROP_COLOR);
-          vact2 = CustomData_get_active_layer_index(&me->ldata, CD_MLOOPCOL);
-        }
-
-        if (vact1 != -1) {
-          actlayer = me->vdata.layers + vact1;
-        }
-        else if (vact2 != -1) {
-          actlayer = me->ldata.layers + vact2;
-        }
-
-        if (actlayer) {
-          if (step) {
-            BKE_id_attributes_render_color_set(&me->id, actlayer);
-          }
-          else {
-            BKE_id_attributes_active_color_set(&me->id, actlayer);
-          }
-        }
-      }
-    }
-  }
-
   if (!MAIN_VERSION_ATLEAST(bmain, 300, 42)) {
     /* Use consistent socket identifiers for the math node.
      * The code to make unique identifiers from the names was inconsistent. */
@@ -2604,6 +2554,54 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
     }
   }
 
+  /* rebuild active/render color attribute references*/
+  if (!MAIN_VERSION_ATLEAST(bmain, 302, 3)) {
+    LISTBASE_FOREACH (Brush *, br, &bmain->brushes) {
+      /* buggy code in wm_toolsystem broke smear in old files,
+         reset to defaults */
+      if (br->sculpt_tool == SCULPT_TOOL_SMEAR) {
+        br->alpha = 1.0f;
+        br->spacing = 5;
+        br->flag &= ~BRUSH_ALPHA_PRESSURE;
+        br->flag &= ~BRUSH_SPACE_ATTEN;
+        br->curve_preset = BRUSH_CURVE_SPHERE;
+      }
+    }
+
+    LISTBASE_FOREACH (Mesh *, me, &bmain->meshes) {
+      for (int step = 0; step < 2; step++) {
+        CustomDataLayer *actlayer = NULL;
+
+        int vact1, vact2;
+
+        if (step) {
+          vact1 = CustomData_get_render_layer_index(&me->vdata, CD_PROP_COLOR);
+          vact2 = CustomData_get_render_layer_index(&me->ldata, CD_MLOOPCOL);
+        }
+        else {
+          vact1 = CustomData_get_active_layer_index(&me->vdata, CD_PROP_COLOR);
+          vact2 = CustomData_get_active_layer_index(&me->ldata, CD_MLOOPCOL);
+        }
+
+        if (vact1 != -1) {
+          actlayer = me->vdata.layers + vact1;
+        }
+        else if (vact2 != -1) {
+          actlayer = me->ldata.layers + vact2;
+        }
+
+        if (actlayer) {
+          if (step) {
+            BKE_id_attributes_render_color_set(&me->id, actlayer);
+          }
+          else {
+            BKE_id_attributes_active_color_set(&me->id, actlayer);
+          }
+        }
+      }
+    }
+  }
+
   /**
    * Versioning code until next subversion bump goes here.
    *
diff --git a/source/blender/windowmanager/intern/wm_toolsystem.c b/source/blender/windowmanager/intern/wm_toolsystem.c
index 0104f448868..b3a3dd71b80 100644
--- a/source/blender/windowmanager/intern/wm_toolsystem.c
+++ b/source/blender/windowmanager/intern/wm_toolsystem.c
@@ -199,6 +199,10 @@ static void toolsystem_ref_link(bContext *C, WorkSpace *workspace, bToolRef *tre
                 brush = BKE_brush_add(bmain, items[i].name, paint->runtime.ob_mode);
 
                 BKE_brush_tool_set(brush, paint, slot_index);
+
+                if (paint_mode == PAINT_MODE_SCULPT) {
+                  BKE_brush_sculpt_reset(brush);
+                }
               }
               BKE_paint_brush_set(paint, brush);
             }
diff --git a/source/tools b/source/tools
index 7fd2ed908b4..515e67c1932 160000
--- a/source/tools
+++ b/source/tools
@@ -1 +1 @@
-Subproject commit 7fd2ed908b4f50140670caf6786e5ed245b79137
+Subproject commit 515e67c1932bc06f24cb50b621265c2a6e8a25a9



More information about the Bf-blender-cvs mailing list