[Bf-blender-cvs] [d1b3439b80f] master: Cleanup: Use DNA defaults for grease pencil modifiers
Hans Goudey
noreply at git.blender.org
Thu Oct 15 16:45:06 CEST 2020
Commit: d1b3439b80fd6e9a0caa653cd55c7a5def18b122
Author: Hans Goudey
Date: Thu Oct 15 09:44:39 2020 -0500
Branches: master
https://developer.blender.org/rBd1b3439b80fd6e9a0caa653cd55c7a5def18b122
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.
===================================================================
M source/blender/gpencil_modifiers/CMakeLists.txt
M source/blender/gpencil_modifiers/intern/MOD_gpencilarmature.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilarray.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilbuild.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilcolor.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilhook.c
M source/blender/gpencil_modifiers/intern/MOD_gpencillattice.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilmirror.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilmultiply.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilnoise.c
M source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilsimplify.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilsmooth.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilsubdiv.c
M source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
M source/blender/gpencil_modifiers/intern/MOD_gpenciltime.c
M source/blender/gpencil_modifiers/intern/MOD_gpenciltint.c
A source/blender/makesdna/DNA_gpencil_modifier_defaults.h
M source/blender/makesdna/intern/CMakeLists.txt
M source/blender/makesdna/intern/dna_defaults.c
M source/blender/makesrna/intern/rna_gpencil_modifier.c
===================================================================
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 =
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list