diff options
Diffstat (limited to 'source/blender/blenkernel/intern/brush.cc')
-rw-r--r-- | source/blender/blenkernel/intern/brush.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/brush.cc b/source/blender/blenkernel/intern/brush.cc index 3708090f8ed..fb8a6785f64 100644 --- a/source/blender/blenkernel/intern/brush.cc +++ b/source/blender/blenkernel/intern/brush.cc @@ -72,6 +72,8 @@ static void brush_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, c } brush_dst->curve = BKE_curvemapping_copy(brush_src->curve); + brush_dst->automasking_cavity_curve = BKE_curvemapping_copy(brush_src->automasking_cavity_curve); + if (brush_src->gpencil_settings != nullptr) { brush_dst->gpencil_settings = MEM_cnew(__func__, *(brush_src->gpencil_settings)); brush_dst->gpencil_settings->curve_sensitivity = BKE_curvemapping_copy( @@ -109,6 +111,7 @@ static void brush_free_data(ID *id) IMB_freeImBuf(brush->icon_imbuf); } BKE_curvemapping_free(brush->curve); + BKE_curvemapping_free(brush->automasking_cavity_curve); if (brush->gpencil_settings != nullptr) { BKE_curvemapping_free(brush->gpencil_settings->curve_sensitivity); @@ -212,6 +215,10 @@ static void brush_blend_write(BlendWriter *writer, ID *id, const void *id_addres BKE_curvemapping_blend_write(writer, brush->curve); } + if (brush->automasking_cavity_curve) { + BKE_curvemapping_blend_write(writer, brush->automasking_cavity_curve); + } + if (brush->gpencil_settings) { BLO_write_struct(writer, BrushGpencilSettings, brush->gpencil_settings); @@ -267,6 +274,14 @@ static void brush_blend_read_data(BlendDataReader *reader, ID *id) BKE_brush_curve_preset(brush, CURVE_PRESET_SHARP); } + BLO_read_data_address(reader, &brush->automasking_cavity_curve); + if (brush->automasking_cavity_curve) { + BKE_curvemapping_blend_read(reader, brush->automasking_cavity_curve); + } + else { + brush->automasking_cavity_curve = BKE_sculpt_default_cavity_curve(); + } + /* grease pencil */ BLO_read_data_address(reader, &brush->gpencil_settings); if (brush->gpencil_settings != nullptr) { |