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 _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs