diff options
author | Hans Goudey <h.goudey@me.com> | 2020-10-15 17:44:39 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-10-15 17:44:39 +0300 |
commit | d1b3439b80fd6e9a0caa653cd55c7a5def18b122 (patch) | |
tree | c9d70e6ce66126d436bdb4e1d9307d7f487d064c /source/blender/gpencil_modifiers | |
parent | bac91956ae9755722b81da4b6a0a394f9f77b2e1 (diff) |
Cleanup: Use DNA defaults for grease pencil modifiers
This will make "Reset to Default Value" work properly for grease
pencil modifiers. See T80164 for more information.
Diffstat (limited to 'source/blender/gpencil_modifiers')
19 files changed, 109 insertions, 129 deletions
diff --git a/source/blender/gpencil_modifiers/CMakeLists.txt b/source/blender/gpencil_modifiers/CMakeLists.txt index 22f8f01be4b..2cedc5675f7 100644 --- a/source/blender/gpencil_modifiers/CMakeLists.txt +++ b/source/blender/gpencil_modifiers/CMakeLists.txt @@ -35,6 +35,9 @@ set(INC ../windowmanager ../../../intern/eigen ../../../intern/guardedalloc + + # dna_type_offsets.h in BLO_read_write.h + ${CMAKE_BINARY_DIR}/source/blender/makesdna/intern ) set(INC_SYS diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c index 7035908605a..aee345757c6 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c @@ -31,6 +31,7 @@ #include "BLT_translation.h" #include "DNA_armature_types.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -68,8 +69,10 @@ static void initData(GpencilModifierData *md) { ArmatureGpencilModifierData *gpmd = (ArmatureGpencilModifierData *)md; - gpmd->object = NULL; - gpmd->deformflag = ARM_DEF_VGROUP; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(ArmatureGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c index 2f6faf5ee6a..dec6ef63ffb 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c @@ -37,6 +37,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_object_types.h" @@ -79,16 +80,10 @@ typedef struct tmpStrokes { static void initData(GpencilModifierData *md) { ArrayGpencilModifierData *gpmd = (ArrayGpencilModifierData *)md; - gpmd->count = 2; - gpmd->shift[0] = 1.0f; - gpmd->shift[1] = 0.0f; - gpmd->shift[2] = 0.0f; - zero_v3(gpmd->offset); - zero_v3(gpmd->rnd_scale); - gpmd->object = NULL; - gpmd->flag |= GP_ARRAY_USE_RELATIVE; - gpmd->seed = 1; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(ArrayGpencilModifierData), modifier); /* Open the first subpanel too, because it's activated by default. */ md->ui_expand_flag = (1 << 0) | (1 << 1); diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c index 7995381ac71..5b5cc61bedc 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c @@ -32,6 +32,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -61,15 +62,9 @@ static void initData(GpencilModifierData *md) { BuildGpencilModifierData *gpmd = (BuildGpencilModifierData *)md; - /* We deliberately set this range to the half the default - * frame-range to have an immediate effect to suggest use-cases - */ - gpmd->start_frame = 1; - gpmd->end_frame = 125; + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); - /* Init default length of each build effect - Nothing special */ - gpmd->start_delay = 0.0f; - gpmd->length = 100.0f; + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(BuildGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c index 71354ddb18e..4e569099461 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c @@ -31,6 +31,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_object_types.h" @@ -61,16 +62,13 @@ static void initData(GpencilModifierData *md) { ColorGpencilModifierData *gpmd = (ColorGpencilModifierData *)md; - gpmd->pass_index = 0; - ARRAY_SET_ITEMS(gpmd->hsv, 0.5f, 1.0f, 1.0f); - gpmd->material = NULL; - gpmd->modify_color = GP_MODIFY_COLOR_BOTH; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(ColorGpencilModifierData), modifier); gpmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_intensity) { - CurveMapping *curve = gpmd->curve_intensity; - BKE_curvemapping_init(curve); - } + BKE_curvemapping_init(gpmd->curve_intensity); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c index 450c23c7144..f0838e4522d 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c @@ -30,6 +30,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -87,15 +88,13 @@ struct GPHookData_cb { static void initData(GpencilModifierData *md) { HookGpencilModifierData *gpmd = (HookGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->material = NULL; - gpmd->object = NULL; - gpmd->force = 0.5f; - gpmd->falloff_type = eGPHook_Falloff_Smooth; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(HookGpencilModifierData), modifier); + gpmd->curfalloff = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curfalloff) { - BKE_curvemapping_init(gpmd->curfalloff); - } + BKE_curvemapping_init(gpmd->curfalloff); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c index 6aa64a97112..098a2edf04a 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c @@ -22,12 +22,14 @@ */ #include <stdio.h> +#include <string.h> /* For #MEMCPY_STRUCT_AFTER. */ #include "BLI_listbase.h" #include "BLI_utildefines.h" #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -65,11 +67,10 @@ static void initData(GpencilModifierData *md) { LatticeGpencilModifierData *gpmd = (LatticeGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->material = NULL; - gpmd->object = NULL; - gpmd->cache_data = NULL; - gpmd->strength = 1.0f; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(LatticeGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c index 4de85c52d33..a5457c86ec0 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c @@ -30,6 +30,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -67,10 +68,10 @@ static void initData(GpencilModifierData *md) { MirrorGpencilModifierData *gpmd = (MirrorGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->material = NULL; - gpmd->object = NULL; - gpmd->flag |= GP_MIRROR_AXIS_X; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(MirrorGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c index 1ae258032eb..7d0e3ce53fe 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c @@ -25,6 +25,7 @@ #include "MEM_guardedalloc.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_object_types.h" @@ -74,14 +75,11 @@ static void initData(GpencilModifierData *md) { - MultiplyGpencilModifierData *mmd = (MultiplyGpencilModifierData *)md; - mmd->duplications = 3; - mmd->distance = 0.1f; - mmd->split_angle = DEG2RADF(1.0f); - mmd->fading_center = 0.5f; - mmd->fading_thickness = 0.5f; - mmd->fading_opacity = 0.5f; - mmd->material = NULL; + MultiplyGpencilModifierData *gpmd = (MultiplyGpencilModifierData *)md; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(MultiplyGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c index 93e7eb43c86..e2f4d34ff40 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c @@ -35,6 +35,7 @@ #include "MEM_guardedalloc.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -68,19 +69,15 @@ static void initData(GpencilModifierData *md) { NoiseGpencilModifierData *gpmd = (NoiseGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->flag |= GP_NOISE_FULL_STROKE; - gpmd->flag |= GP_NOISE_USE_RANDOM; - gpmd->factor = 0.5f; - gpmd->material = NULL; - gpmd->step = 4; - gpmd->seed = 1; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(NoiseGpencilModifierData), modifier); + gpmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_intensity) { - CurveMapping *curve = gpmd->curve_intensity; - BKE_curvemap_reset(curve->cm, &curve->clipr, CURVE_PRESET_BELL, CURVEMAP_SLOPE_POSITIVE); - BKE_curvemapping_init(curve); - } + CurveMapping *curve = gpmd->curve_intensity; + BKE_curvemap_reset(curve->cm, &curve->clipr, CURVE_PRESET_BELL, CURVEMAP_SLOPE_POSITIVE); + BKE_curvemapping_init(curve); } static void freeData(GpencilModifierData *md) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c index 03616ca2548..634aac00777 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c @@ -30,6 +30,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -60,11 +61,10 @@ static void initData(GpencilModifierData *md) { OffsetGpencilModifierData *gpmd = (OffsetGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->material = NULL; - ARRAY_SET_ITEMS(gpmd->loc, 0.0f, 0.0f, 0.0f); - ARRAY_SET_ITEMS(gpmd->rot, 0.0f, 0.0f, 0.0f); - ARRAY_SET_ITEMS(gpmd->scale, 0.0f, 0.0f, 0.0f); + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(OffsetGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c index 9268b7ac8d5..e62bfef21ee 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c @@ -30,6 +30,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -62,16 +63,13 @@ static void initData(GpencilModifierData *md) { OpacityGpencilModifierData *gpmd = (OpacityGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->factor = 1.0f; - gpmd->hardeness = 1.0f; - gpmd->material = NULL; - gpmd->modify_color = GP_MODIFY_COLOR_BOTH; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(OpacityGpencilModifierData), modifier); + gpmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_intensity) { - CurveMapping *curve = gpmd->curve_intensity; - BKE_curvemapping_init(curve); - } + BKE_curvemapping_init(gpmd->curve_intensity); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c index c8a90ea58ec..7052c59ae40 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c @@ -22,12 +22,14 @@ */ #include <stdio.h> +#include <string.h> /* For #MEMCPY_STRUCT_AFTER. */ #include "BLI_listbase.h" #include "BLI_utildefines.h" #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_object_types.h" @@ -56,12 +58,10 @@ static void initData(GpencilModifierData *md) { SimplifyGpencilModifierData *gpmd = (SimplifyGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->step = 1; - gpmd->factor = 0.0f; - gpmd->length = 0.1f; - gpmd->distance = 0.1f; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(SimplifyGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c index 166811d847f..df2c838140e 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c @@ -22,12 +22,14 @@ */ #include <stdio.h> +#include <string.h> /* For #MEMCPY_STRUCT_AFTER. */ #include "BLI_listbase.h" #include "BLI_utildefines.h" #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -57,17 +59,13 @@ static void initData(GpencilModifierData *md) { SmoothGpencilModifierData *gpmd = (SmoothGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->flag |= GP_SMOOTH_MOD_LOCATION; - gpmd->factor = 0.5f; - gpmd->material = NULL; - gpmd->step = 1; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(SmoothGpencilModifierData), modifier); gpmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_intensity) { - CurveMapping *curve = gpmd->curve_intensity; - BKE_curvemapping_init(curve); - } + BKE_curvemapping_init(gpmd->curve_intensity); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c index e8a7d83d7a9..6eb12974408 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c @@ -22,6 +22,7 @@ */ #include <stdio.h> +#include <string.h> /* For #MEMCPY_STRUCT_AFTER. */ #include "MEM_guardedalloc.h" @@ -30,6 +31,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -58,9 +60,10 @@ static void initData(GpencilModifierData *md) { SubdivGpencilModifierData *gpmd = (SubdivGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->level = 1; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(SubdivGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c index 08542cacfcd..d29351646b9 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c @@ -29,6 +29,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -60,15 +61,10 @@ static void initData(GpencilModifierData *md) { TextureGpencilModifierData *gpmd = (TextureGpencilModifierData *)md; - gpmd->fit_method = GP_TEX_CONSTANT_LENGTH; - gpmd->fill_rotation = 0.0f; - gpmd->fill_scale = 1.0f; - gpmd->fill_offset[0] = 0.0f; - gpmd->fill_offset[1] = 0.0f; - gpmd->uv_offset = 0.0f; - gpmd->uv_scale = 1.0f; - gpmd->pass_index = 0; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(TextureGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c index bf23dd0d78a..5cfd805b1de 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c @@ -29,6 +29,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -59,14 +60,13 @@ static void initData(GpencilModifierData *md) { ThickGpencilModifierData *gpmd = (ThickGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->thickness_fac = 1.0f; - gpmd->thickness = 30; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(ThickGpencilModifierData), modifier); + gpmd->curve_thickness = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_thickness) { - BKE_curvemapping_init(gpmd->curve_thickness); - } + BKE_curvemapping_init(gpmd->curve_thickness); } static void freeData(GpencilModifierData *md) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c index 7587d6a53e6..b1c35452733 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c @@ -29,6 +29,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -57,11 +58,10 @@ static void initData(GpencilModifierData *md) { TimeGpencilModifierData *gpmd = (TimeGpencilModifierData *)md; - gpmd->offset = 1; - gpmd->frame_scale = 1.0f; - gpmd->flag |= GP_TIME_KEEP_LOOP; - gpmd->sfra = 1; - gpmd->efra = 250; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(TimeGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c index a5a77095114..2ee148837cd 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c @@ -30,6 +30,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -71,13 +72,10 @@ static void initData(GpencilModifierData *md) { TintGpencilModifierData *gpmd = (TintGpencilModifierData *)md; - gpmd->pass_index = 0; - gpmd->material = NULL; - gpmd->object = NULL; - gpmd->radius = 1.0f; - gpmd->factor = 0.5f; - ARRAY_SET_ITEMS(gpmd->rgb, 1.0f, 1.0f, 1.0f); - gpmd->mode = GPPAINT_MODE_BOTH; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(TintGpencilModifierData), modifier); /* Add default color ramp. */ gpmd->colorband = BKE_colorband_add(false); @@ -94,10 +92,7 @@ static void initData(GpencilModifierData *md) } gpmd->curve_intensity = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); - if (gpmd->curve_intensity) { - CurveMapping *curve = gpmd->curve_intensity; - BKE_curvemapping_init(curve); - } + BKE_curvemapping_init(gpmd->curve_intensity); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) |