[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