diff options
Diffstat (limited to 'source/blender/editors/sculpt_paint/sculpt.c')
-rw-r--r-- | source/blender/editors/sculpt_paint/sculpt.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 12e14ce4480..9a2293709d6 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -8846,7 +8846,7 @@ ATTR_NO_OPT static void SCULPT_run_command_list( /* With these options enabled not all required nodes are inside the original brush radius, so * the brush can produce artifacts in some situations. */ if (cmd->tool == SCULPT_TOOL_DRAW && - BKE_brush_channelset_get_int(cmd->params_final, "ORIGINAL_NORMAL")) { + BKE_brush_channelset_get_int(cmd->params_final, "original_normal")) { radius_scale = MAX2(radius_scale, 2.0f); } @@ -8862,13 +8862,13 @@ ATTR_NO_OPT static void SCULPT_run_command_list( } float radius = BKE_brush_channelset_get_float( - ss->cache->channels_final, "RADIUS", &ss->cache->input_mapping); + ss->cache->channels_final, "radius", &ss->cache->input_mapping); radius_max = max_ff(radius_max, radius); } float ratio = radius_max / BKE_brush_channelset_get_float( - ss->cache->channels_final, "RADIUS", &ss->cache->input_mapping); + ss->cache->channels_final, "radius", &ss->cache->input_mapping); ss->cache->radius = start_radius * ratio; ss->cache->radius_squared = start_radius * start_radius * ratio * ratio; @@ -9011,7 +9011,7 @@ ATTR_NO_OPT static void SCULPT_run_command_list( ss->cache->brush = brush2; ss->cache->bstrength = BKE_brush_channelset_get_float( - cmd->params_final, "STRENGTH", &ss->cache->input_mapping); + cmd->params_final, "strength", &ss->cache->input_mapping); // Load parameters into brush2 for compatibility with old code BKE_brush_channelset_compat_load(cmd->params_final, brush2, false); @@ -11239,6 +11239,16 @@ void sculpt_stroke_update_step(bContext *C, struct PaintStroke *stroke, PointerR BKE_brush_channelset_compat_load(ss->cache->channels_final, brush, false); BKE_brush_channelset_to_unified_settings(ss->cache->channels_final, ups); + ss->cache->bstrength = BKE_brush_channelset_get_float( + ss->cache->channels_final, "strength", &ss->cache->input_mapping); + + if (ss->cache->invert) { + brush->alpha = -brush->alpha; + ss->cache->bstrength = -ss->cache->bstrength; + + BKE_brush_channelset_set_float(ss->cache->channels_final, "strength", ss->cache->bstrength); + } + ss->cache->stroke_distance = stroke->stroke_distance; ss->cache->stroke_distance_t = stroke->stroke_distance_t; ss->cache->stroke = stroke; |