Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_ID.h12
-rw-r--r--source/blender/makesdna/DNA_action_types.h8
-rw-r--r--source/blender/makesdna/DNA_anim_types.h8
-rw-r--r--source/blender/makesdna/DNA_armature_types.h18
-rw-r--r--source/blender/makesdna/DNA_brush_types.h48
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h36
-rw-r--r--source/blender/makesdna/DNA_customdata_types.h4
-rw-r--r--source/blender/makesdna/DNA_defaults.h4
-rw-r--r--source/blender/makesdna/DNA_dynamicpaint_types.h2
-rw-r--r--source/blender/makesdna/DNA_gpencil_modifier_types.h116
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h26
-rw-r--r--source/blender/makesdna/DNA_layer_types.h7
-rw-r--r--source/blender/makesdna/DNA_lightprobe_types.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h20
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h40
-rw-r--r--source/blender/makesdna/DNA_movieclip_types.h8
-rw-r--r--source/blender/makesdna/DNA_node_types.h44
-rw-r--r--source/blender/makesdna/DNA_object_force_types.h7
-rw-r--r--source/blender/makesdna/DNA_object_types.h1
-rw-r--r--source/blender/makesdna/DNA_scene_types.h50
-rw-r--r--source/blender/makesdna/DNA_screen_types.h4
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h3
-rw-r--r--source/blender/makesdna/DNA_shader_fx_types.h1
-rw-r--r--source/blender/makesdna/DNA_simulation_defaults.h40
-rw-r--r--source/blender/makesdna/DNA_simulation_types.h41
-rw-r--r--source/blender/makesdna/DNA_space_types.h8
-rw-r--r--source/blender/makesdna/DNA_tracking_types.h4
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h11
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h2
-rw-r--r--source/blender/makesdna/DNA_volume_types.h6
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt1
-rw-r--r--source/blender/makesdna/intern/dna_defaults.c8
-rw-r--r--source/blender/makesdna/intern/makesdna.c6
33 files changed, 451 insertions, 145 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 5230cb050f4..39f22fb9555 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -25,14 +25,13 @@
#ifndef __DNA_ID_H__
#define __DNA_ID_H__
+#include "DNA_defs.h"
#include "DNA_listBase.h"
#ifdef __cplusplus
extern "C" {
#endif
-#include "DNA_defs.h"
-
struct FileData;
struct GHash;
struct GPUTexture;
@@ -436,6 +435,7 @@ typedef enum ID_Type {
ID_HA = MAKE_ID2('H', 'A'), /* Hair */
ID_PT = MAKE_ID2('P', 'T'), /* PointCloud */
ID_VO = MAKE_ID2('V', 'O'), /* Volume */
+ ID_SIM = MAKE_ID2('S', 'I'), /* Simulation */
} ID_Type;
/* Only used as 'placeholder' in .blend files for directly linked data-blocks. */
@@ -564,9 +564,9 @@ enum {
/* RESET_NEVER tag data-block as needing an auto-override execution, if enabled. */
LIB_TAG_OVERRIDE_LIBRARY_AUTOREFRESH = 1 << 17,
- /* tag data-block has having an extra user. */
+ /* tag data-block as having an extra user. */
LIB_TAG_EXTRAUSER = 1 << 2,
- /* tag data-block has having actually increased usercount for the extra virtual user. */
+ /* tag data-block as having actually increased usercount for the extra virtual user. */
LIB_TAG_EXTRAUSER_SET = 1 << 7,
/* RESET_AFTER_USE tag newly duplicated/copied IDs.
@@ -735,6 +735,7 @@ typedef enum IDRecalcFlag {
#define FILTER_ID_HA (1ULL << 32)
#define FILTER_ID_PT (1ULL << 33)
#define FILTER_ID_VO (1ULL << 34)
+#define FILTER_ID_SIM (1ULL << 35)
#define FILTER_ID_ALL \
(FILTER_ID_AC | FILTER_ID_AR | FILTER_ID_BR | FILTER_ID_CA | FILTER_ID_CU | FILTER_ID_GD | \
@@ -742,7 +743,7 @@ typedef enum IDRecalcFlag {
FILTER_ID_MB | FILTER_ID_MC | FILTER_ID_ME | FILTER_ID_MSK | FILTER_ID_NT | FILTER_ID_OB | \
FILTER_ID_PA | FILTER_ID_PAL | FILTER_ID_PC | FILTER_ID_SCE | FILTER_ID_SPK | FILTER_ID_SO | \
FILTER_ID_TE | FILTER_ID_TXT | FILTER_ID_VF | FILTER_ID_WO | FILTER_ID_CF | FILTER_ID_WS | \
- FILTER_ID_LP | FILTER_ID_HA | FILTER_ID_PT | FILTER_ID_VO)
+ FILTER_ID_LP | FILTER_ID_HA | FILTER_ID_PT | FILTER_ID_VO | FILTER_ID_SIM)
/* IMPORTANT: this enum matches the order currently use in set_listbasepointers,
* keep them in sync! */
@@ -786,6 +787,7 @@ enum {
INDEX_ID_WS,
INDEX_ID_WM,
INDEX_ID_MSK,
+ INDEX_ID_SIM,
INDEX_ID_NULL,
INDEX_ID_MAX,
};
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index 40c25d39cad..c95a701a78a 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -28,16 +28,16 @@
#ifndef __DNA_ACTION_TYPES_H__
#define __DNA_ACTION_TYPES_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "DNA_ID.h"
#include "DNA_listBase.h"
#include "DNA_userdef_types.h" /* ThemeWireColor */
#include "DNA_vec_types.h"
#include "DNA_view2d_types.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct Collection;
struct GHash;
struct Object;
diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h
index fbffa039ee9..6a024ec9e7e 100644
--- a/source/blender/makesdna/DNA_anim_types.h
+++ b/source/blender/makesdna/DNA_anim_types.h
@@ -24,15 +24,15 @@
#ifndef __DNA_ANIM_TYPES_H__
#define __DNA_ANIM_TYPES_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "DNA_ID.h"
#include "DNA_action_types.h"
#include "DNA_curve_types.h"
#include "DNA_listBase.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* ************************************************ */
/* F-Curve DataTypes */
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index b29816c735b..635c155dec6 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -261,23 +261,23 @@ typedef enum eBone_InheritScaleMode {
/* Inherit all scale and shear. */
BONE_INHERIT_SCALE_FULL = 0,
/* Inherit scale, but remove final shear. */
- BONE_INHERIT_SCALE_FIX_SHEAR,
+ BONE_INHERIT_SCALE_FIX_SHEAR = 1,
/* Inherit average scale. */
- BONE_INHERIT_SCALE_AVERAGE,
+ BONE_INHERIT_SCALE_AVERAGE = 2,
/* Inherit no scale or shear. */
- BONE_INHERIT_SCALE_NONE,
+ BONE_INHERIT_SCALE_NONE = 3,
/* Inherit effects of shear on parent (same as old disabled Inherit Scale). */
- BONE_INHERIT_SCALE_NONE_LEGACY,
+ BONE_INHERIT_SCALE_NONE_LEGACY = 4,
/* Inherit parent X scale as child X scale etc. */
- BONE_INHERIT_SCALE_ALIGNED,
+ BONE_INHERIT_SCALE_ALIGNED = 5,
} eBone_InheritScaleMode;
/* bone->bbone_prev_type, bbone_next_type */
typedef enum eBone_BBoneHandleType {
- BBONE_HANDLE_AUTO = 0, /* Default mode based on parents & children. */
- BBONE_HANDLE_ABSOLUTE, /* Custom handle in absolute position mode. */
- BBONE_HANDLE_RELATIVE, /* Custom handle in relative position mode. */
- BBONE_HANDLE_TANGENT, /* Custom handle in tangent mode (use direction, not location). */
+ BBONE_HANDLE_AUTO = 0, /* Default mode based on parents & children. */
+ BBONE_HANDLE_ABSOLUTE = 1, /* Custom handle in absolute position mode. */
+ BBONE_HANDLE_RELATIVE = 2, /* Custom handle in relative position mode. */
+ BBONE_HANDLE_TANGENT = 3, /* Custom handle in tangent mode (use direction, not location). */
} eBone_BBoneHandleType;
#define MAXBONENAME 64
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 041943bc5e4..c143c2a442a 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -75,7 +75,7 @@ typedef struct BrushGpencilSettings {
short fill_leak;
/** Fill zoom factor */
short fill_factor;
- char _pad1[4];
+ int flag2;
/** Number of simplify steps. */
int fill_simplylvl;
@@ -118,11 +118,24 @@ typedef struct BrushGpencilSettings {
int sculpt_mode_flag;
/** Preset type (used to reset brushes - internal). */
short preset_type;
- char _pad3[6];
+ char _pad3[2];
+
+ /** Randomness for Hue. */
+ float random_hue;
+ /** Randomness for Saturation. */
+ float random_saturation;
+ /** Randomness for Value. */
+ float random_value;
struct CurveMapping *curve_sensitivity;
struct CurveMapping *curve_strength;
struct CurveMapping *curve_jitter;
+ struct CurveMapping *curve_rand_pressure;
+ struct CurveMapping *curve_rand_strength;
+ struct CurveMapping *curve_rand_uv;
+ struct CurveMapping *curve_rand_hue;
+ struct CurveMapping *curve_rand_saturation;
+ struct CurveMapping *curve_rand_value;
/* optional link of material to replace default in context */
/** Material. */
@@ -204,6 +217,33 @@ typedef enum eGPDbrush_Flag {
GP_BRUSH_TRIM_STROKE = (1 << 16),
} eGPDbrush_Flag;
+typedef enum eGPDbrush_Flag2 {
+ /* Brush use random Hue at stroke level */
+ GP_BRUSH_USE_HUE_AT_STROKE = (1 << 0),
+ /* Brush use random Saturation at stroke level */
+ GP_BRUSH_USE_SAT_AT_STROKE = (1 << 1),
+ /* Brush use random Value at stroke level */
+ GP_BRUSH_USE_VAL_AT_STROKE = (1 << 2),
+ /* Brush use random Pressure at stroke level */
+ GP_BRUSH_USE_PRESS_AT_STROKE = (1 << 3),
+ /* Brush use random Strength at stroke level */
+ GP_BRUSH_USE_STRENGTH_AT_STROKE = (1 << 4),
+ /* Brush use random UV at stroke level */
+ GP_BRUSH_USE_UV_AT_STROKE = (1 << 5),
+ /* Brush use Hue random pressure */
+ GP_BRUSH_USE_HUE_RAND_PRESS = (1 << 6),
+ /* Brush use Saturation random pressure */
+ GP_BRUSH_USE_SAT_RAND_PRESS = (1 << 7),
+ /* Brush use Value random pressure */
+ GP_BRUSH_USE_VAL_RAND_PRESS = (1 << 8),
+ /* Brush use Pressure random pressure */
+ GP_BRUSH_USE_PRESSURE_RAND_PRESS = (1 << 9),
+ /* Brush use Strength random pressure */
+ GP_BRUSH_USE_STRENGTH_RAND_PRESS = (1 << 10),
+ /* Brush use UV random pressure */
+ GP_BRUSH_USE_UV_RAND_PRESS = (1 << 11),
+} eGPDbrush_Flag2;
+
/* BrushGpencilSettings->gp_fill_draw_mode */
typedef enum eGP_FillDrawModes {
GP_FILL_DMODE_BOTH = 0,
@@ -805,8 +845,8 @@ typedef enum {
/* blur kernel types, Brush.blur_mode */
typedef enum eBlurKernelType {
- KERNEL_GAUSSIAN,
- KERNEL_BOX,
+ KERNEL_GAUSSIAN = 0,
+ KERNEL_BOX = 1,
} eBlurKernelType;
/* Brush.falloff_shape */
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 9efd2116601..65087a6d459 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -735,11 +735,11 @@ typedef enum eConstraint_EulerOrder {
/** Explicit euler rotation modes - must sync with BLI_math_rotation.h defines. */
CONSTRAINT_EULER_XYZ = 1,
- CONSTRAINT_EULER_XZY,
- CONSTRAINT_EULER_YXZ,
- CONSTRAINT_EULER_YZX,
- CONSTRAINT_EULER_ZXY,
- CONSTRAINT_EULER_ZYX,
+ CONSTRAINT_EULER_XZY = 2,
+ CONSTRAINT_EULER_YXZ = 3,
+ CONSTRAINT_EULER_YZX = 4,
+ CONSTRAINT_EULER_ZXY = 5,
+ CONSTRAINT_EULER_ZYX = 6,
} eConstraint_EulerOrder;
/* -------------------------------------- */
@@ -762,13 +762,13 @@ typedef enum eCopyRotation_MixMode {
/* Replace rotation channel values. */
ROTLIKE_MIX_REPLACE = 0,
/* Legacy Offset mode - don't use. */
- ROTLIKE_MIX_OFFSET,
+ ROTLIKE_MIX_OFFSET = 1,
/* Add Euler components together. */
- ROTLIKE_MIX_ADD,
+ ROTLIKE_MIX_ADD = 2,
/* Multiply the copied rotation on the left. */
- ROTLIKE_MIX_BEFORE,
+ ROTLIKE_MIX_BEFORE = 3,
/* Multiply the copied rotation on the right. */
- ROTLIKE_MIX_AFTER,
+ ROTLIKE_MIX_AFTER = 4,
} eCopyRotation_MixMode;
/* bLocateLikeConstraint.flag */
@@ -799,9 +799,9 @@ typedef enum eCopyTransforms_MixMode {
/* Replace rotation channel values. */
TRANSLIKE_MIX_REPLACE = 0,
/* Multiply the copied transformation on the left, with anti-shear scale handling. */
- TRANSLIKE_MIX_BEFORE,
+ TRANSLIKE_MIX_BEFORE = 1,
/* Multiply the copied transformation on the right, with anti-shear scale handling. */
- TRANSLIKE_MIX_AFTER,
+ TRANSLIKE_MIX_AFTER = 2,
} eCopyTransforms_MixMode;
/* bTransformConstraint.to/from */
@@ -816,7 +816,7 @@ typedef enum eTransform_MixModeLoc {
/* Add component values together (default). */
TRANS_MIXLOC_ADD = 0,
/* Replace component values. */
- TRANS_MIXLOC_REPLACE,
+ TRANS_MIXLOC_REPLACE = 1,
} eTransform_MixModeLoc;
/* bTransformConstraint.mix_mode_rot */
@@ -824,11 +824,11 @@ typedef enum eTransform_MixModeRot {
/* Add component values together (default). */
TRANS_MIXROT_ADD = 0,
/* Replace component values. */
- TRANS_MIXROT_REPLACE,
+ TRANS_MIXROT_REPLACE = 1,
/* Multiply the generated rotation on the left. */
- TRANS_MIXROT_BEFORE,
+ TRANS_MIXROT_BEFORE = 2,
/* Multiply the generated rotation on the right. */
- TRANS_MIXROT_AFTER,
+ TRANS_MIXROT_AFTER = 3,
} eTransform_MixModeRot;
/* bTransformConstraint.mix_mode_scale */
@@ -836,7 +836,7 @@ typedef enum eTransform_MixModeScale {
/* Replace component values (default). */
TRANS_MIXSCALE_REPLACE = 0,
/* Multiply component values together. */
- TRANS_MIXSCALE_MULTIPLY,
+ TRANS_MIXSCALE_MULTIPLY = 1,
} eTransform_MixModeScale;
/* bSameVolumeConstraint.free_axis */
@@ -867,9 +867,9 @@ typedef enum eActionConstraint_MixMode {
/* Multiply the action transformation on the right. */
ACTCON_MIX_AFTER_FULL = 0,
/* Multiply the action transformation on the right, with anti-shear scale handling. */
- ACTCON_MIX_AFTER,
+ ACTCON_MIX_AFTER = 1,
/* Multiply the action transformation on the left, with anti-shear scale handling. */
- ACTCON_MIX_BEFORE,
+ ACTCON_MIX_BEFORE = 2,
} eActionConstraint_MixMode;
/* Locked-Axis Values (Locked Track) */
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h
index 5ee16c2631d..e99d7fd5609 100644
--- a/source/blender/makesdna/DNA_customdata_types.h
+++ b/source/blender/makesdna/DNA_customdata_types.h
@@ -26,12 +26,12 @@
#ifndef __DNA_CUSTOMDATA_TYPES_H__
#define __DNA_CUSTOMDATA_TYPES_H__
+#include "DNA_defs.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "DNA_defs.h"
-
/** Descriptor and storage for a custom data layer. */
typedef struct CustomDataLayer {
/** Type of data in layer. */
diff --git a/source/blender/makesdna/DNA_defaults.h b/source/blender/makesdna/DNA_defaults.h
index 9b4a05034df..ca5ac649e33 100644
--- a/source/blender/makesdna/DNA_defaults.h
+++ b/source/blender/makesdna/DNA_defaults.h
@@ -29,12 +29,12 @@
#include "BLI_utildefines.h"
+#include "dna_type_offsets.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "dna_type_offsets.h"
-
extern const void *DNA_default_table[SDNA_TYPE_MAX];
char *_DNA_struct_default_alloc_impl(const char *data_src, size_t size, const char *alloc_str);
diff --git a/source/blender/makesdna/DNA_dynamicpaint_types.h b/source/blender/makesdna/DNA_dynamicpaint_types.h
index d949b34cb57..c97e68a6a6b 100644
--- a/source/blender/makesdna/DNA_dynamicpaint_types.h
+++ b/source/blender/makesdna/DNA_dynamicpaint_types.h
@@ -10,7 +10,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
+ * along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index c3425826d36..125423cd061 100644
--- a/source/blender/makesdna/DNA_gpencil_modifier_types.h
+++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h
@@ -47,6 +47,8 @@ typedef enum GpencilModifierType {
eGpencilModifierType_Armature = 15,
eGpencilModifierType_Time = 16,
eGpencilModifierType_Multiply = 17,
+ eGpencilModifierType_Texture = 18,
+ /* Keep last. */
NUM_GREASEPENCIL_MODIFIER_TYPES,
} GpencilModifierType;
@@ -77,10 +79,12 @@ typedef struct GpencilModifierData {
typedef struct NoiseGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -120,10 +124,12 @@ typedef enum eNoiseGpencil_Flag {
typedef struct SubdivGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int pass_index;
/** Flags. */
@@ -151,10 +157,12 @@ typedef enum eSubdivGpencil_Type {
typedef struct ThickGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -225,10 +233,12 @@ typedef enum eOpacityModesGpencil_Flag {
typedef struct ColorGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int pass_index;
/** Flags. */
@@ -255,10 +265,12 @@ typedef enum eColorGpencil_Flag {
typedef struct OpacityGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -290,6 +302,8 @@ typedef enum eOpacityGpencil_Flag {
typedef struct ArrayGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
/** Number of elements in array. */
int count;
/** Several flags. */
@@ -313,7 +327,7 @@ typedef struct ArrayGpencilModifierData {
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Material replace (0 keep default). */
int mat_rpl;
/** Custom index for passes. */
@@ -332,13 +346,15 @@ typedef enum eArrayGpencil_Flag {
typedef struct BuildGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** If set, restrict modifier to operating on this layer. */
char layername[64];
int pass_index;
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int layer_pass;
@@ -368,6 +384,9 @@ typedef struct BuildGpencilModifierData {
* For the "Concurrent" mode, when should "shorter" strips start/end.
*/
short time_alignment;
+ /** Factor of the stroke (used instead of frame evaluation. */
+ float percentage_fac;
+ char _pad[4];
} BuildGpencilModifierData;
typedef enum eBuildGpencil_Mode {
@@ -403,15 +422,20 @@ typedef enum eBuildGpencil_Flag {
/* Restrict modifier to only operating between the nominated frames */
GP_BUILD_RESTRICT_TIME = (1 << 2),
GP_BUILD_INVERT_LAYERPASS = (1 << 3),
+
+ /* Use a percentage instead of frame number to evaluate strokes. */
+ GP_BUILD_PERCENTAGE = (1 << 4),
} eBuildGpencil_Flag;
typedef struct LatticeGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -436,10 +460,12 @@ typedef enum eLatticeGpencil_Flag {
typedef struct MirrorGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int pass_index;
/** Flags. */
@@ -464,12 +490,14 @@ typedef struct HookGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
/** Optional name of bone target, MAX_ID_NAME-2. */
char subtarget[64];
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -515,10 +543,12 @@ typedef enum eHookGpencil_Falloff {
typedef struct SimplifyGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int pass_index;
/** Flags. */
@@ -558,10 +588,12 @@ typedef enum eSimplifyGpencil_Mode {
typedef struct OffsetGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -585,10 +617,12 @@ typedef enum eOffsetGpencil_Flag {
typedef struct SmoothGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -634,10 +668,12 @@ typedef struct ArmatureGpencilModifierData {
typedef struct MultiplyGpencilModifierData {
GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Custom index for passes. */
int pass_index;
/** Flags. */
@@ -672,10 +708,12 @@ typedef struct TintGpencilModifierData {
GpencilModifierData modifier;
struct Object *object;
+ /** Material for filtering. */
+ struct Material *material;
/** Layer name. */
char layername[64];
/** Material name. */
- char materialname[64];
+ char materialname[64] DNA_DEPRECATED;
/** Optional vertexgroup name, MAX_VGROUP_NAME. */
char vgname[64];
/** Custom index for passes. */
@@ -713,4 +751,52 @@ typedef enum eTintGpencil_Flag {
GP_TINT_CUSTOM_CURVE = (1 << 6),
} eTintGpencil_Flag;
+typedef struct TextureGpencilModifierData {
+ GpencilModifierData modifier;
+ /** Material for filtering. */
+ struct Material *material;
+ /** Layer name. */
+ char layername[64];
+ /** Material name. */
+ char materialname[64] DNA_DEPRECATED;
+ /** Optional vertexgroup name, MAX_VGROUP_NAME. */
+ char vgname[64];
+ /** Custom index for passes. */
+ int pass_index;
+ /** Flags. */
+ int flag;
+ /** Offset value to add to uv_fac. */
+ float uv_offset;
+ float uv_scale;
+ float fill_rotation;
+ float fill_offset[2];
+ float fill_scale;
+ /** Custom index for passes. */
+ int layer_pass;
+ /** Texture fit options. */
+ short fit_method;
+ short mode;
+} TextureGpencilModifierData;
+
+typedef enum eTextureGpencil_Flag {
+ GP_TEX_INVERT_LAYER = (1 << 0),
+ GP_TEX_INVERT_PASS = (1 << 1),
+ GP_TEX_INVERT_VGROUP = (1 << 2),
+ GP_TEX_INVERT_LAYERPASS = (1 << 3),
+ GP_TEX_INVERT_MATERIAL = (1 << 4),
+} eTextureGpencil_Flag;
+
+/* Texture->fit_method */
+typedef enum eTextureGpencil_Fit {
+ GP_TEX_FIT_STROKE = 0,
+ GP_TEX_CONSTANT_LENGTH = 1,
+} eTextureGpencil_Fit;
+
+/* Texture->mode */
+typedef enum eTextureGpencil_Mode {
+ STROKE = 0,
+ FILL = 1,
+ STROKE_AND_FILL = 2,
+} eTextureGpencil_Mode;
+
#endif /* __DNA_GPENCIL_MODIFIER_TYPES_H__ */
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index d3d7ca1cc3b..c3180ae79db 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -264,6 +264,10 @@ typedef enum eGPDstroke_Flag {
/* Flag used to indicate that stroke is used for fill close and must use
* fill color for stroke and no fill area */
GP_STROKE_NOFILL = (1 << 8),
+ /* only for use with stroke-buffer (while drawing arrows) */
+ GP_STROKE_USE_ARROW_START = (1 << 12),
+ /* only for use with stroke-buffer (while drawing arrows) */
+ GP_STROKE_USE_ARROW_END = (1 << 13),
/* Tag for update geometry */
GP_STROKE_TAG = (1 << 14),
/* only for use with stroke-buffer (while drawing eraser) */
@@ -276,9 +280,21 @@ typedef enum eGPDstroke_Caps {
GP_STROKE_CAP_ROUND = 0,
GP_STROKE_CAP_FLAT = 1,
+ /* Keeo last. */
GP_STROKE_CAP_MAX,
} GPDstroke_Caps;
+/* Arrows ----------------------- */
+
+/* bGPDataRuntime.arrowstyle */
+typedef enum eGPDstroke_Arrowstyle {
+ GP_STROKE_ARROWSTYLE_NONE = 0,
+ GP_STROKE_ARROWSTYLE_SEGMENT = 2,
+ GP_STROKE_ARROWSTYLE_OPEN = 3,
+ GP_STROKE_ARROWSTYLE_CLOSED = 4,
+ GP_STROKE_ARROWSTYLE_SQUARE = 6,
+} eGPDstroke_Arrowstyle;
+
/* ***************************************** */
/* GP Frame */
@@ -504,12 +520,16 @@ typedef struct bGPdata_Runtime {
/** Number of total elements available in cache. */
int sbuffer_size;
- /** Vertex Color applied to point (while drawing). */
- float vert_color[4];
-
/** Vertex Color applied to Fill (while drawing). */
float vert_color_fill[4];
+ /** Arrow points for stroke corners **/
+ float arrow_start[8];
+ float arrow_end[8];
+ /* Arrow style for each corner */
+ int arrow_start_style;
+ int arrow_end_style;
+
/** Number of control-points for stroke. */
int tot_cp_points;
char _pad2[4];
diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h
index 4676e7fa313..6348dc5f03d 100644
--- a/source/blender/makesdna/DNA_layer_types.h
+++ b/source/blender/makesdna/DNA_layer_types.h
@@ -21,13 +21,13 @@
#ifndef __DNA_LAYER_TYPES_H__
#define __DNA_LAYER_TYPES_H__
+#include "DNA_freestyle_types.h"
+#include "DNA_listBase.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "DNA_freestyle_types.h"
-#include "DNA_listBase.h"
-
/**
* Render-passes for EEVEE.
* #ViewLayerEEVEE.render_passes
@@ -115,6 +115,7 @@ typedef struct ViewLayer {
ListBase object_bases;
/** Default allocated now. */
struct SceneStats *stats;
+ char footer_str[128];
struct Base *basact;
/** A view layer has one top level layer collection, because a scene has only one top level
diff --git a/source/blender/makesdna/DNA_lightprobe_types.h b/source/blender/makesdna/DNA_lightprobe_types.h
index 66d6e3f4868..5ddfedfed2d 100644
--- a/source/blender/makesdna/DNA_lightprobe_types.h
+++ b/source/blender/makesdna/DNA_lightprobe_types.h
@@ -10,7 +10,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
+ * along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 10a549edc17..357c3260121 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -324,35 +324,35 @@ enum {
/* blend_shadow */
enum {
MA_BS_NONE = 0,
- MA_BS_SOLID,
- MA_BS_CLIP,
- MA_BS_HASHED,
+ MA_BS_SOLID = 1,
+ MA_BS_CLIP = 2,
+ MA_BS_HASHED = 3,
};
/* Grease Pencil Stroke styles */
enum {
GP_MATERIAL_STROKE_STYLE_SOLID = 0,
- GP_MATERIAL_STROKE_STYLE_TEXTURE,
+ GP_MATERIAL_STROKE_STYLE_TEXTURE = 1,
};
/* Grease Pencil Fill styles */
enum {
GP_MATERIAL_FILL_STYLE_SOLID = 0,
- GP_MATERIAL_FILL_STYLE_GRADIENT,
- GP_MATERIAL_FILL_STYLE_CHECKER, /* DEPRECATED (only for convert old files) */
- GP_MATERIAL_FILL_STYLE_TEXTURE,
+ GP_MATERIAL_FILL_STYLE_GRADIENT = 1,
+ GP_MATERIAL_FILL_STYLE_CHECKER = 2, /* DEPRECATED (only for convert old files) */
+ GP_MATERIAL_FILL_STYLE_TEXTURE = 3,
};
/* Grease Pencil Gradient Types */
enum {
GP_MATERIAL_GRADIENT_LINEAR = 0,
- GP_MATERIAL_GRADIENT_RADIAL,
+ GP_MATERIAL_GRADIENT_RADIAL = 1,
};
/* Grease Pencil Follow Drawing Modes */
enum {
GP_MATERIAL_FOLLOW_PATH = 0,
- GP_MATERIAL_FOLLOW_OBJ,
- GP_MATERIAL_FOLLOW_FIXED,
+ GP_MATERIAL_FOLLOW_OBJ = 1,
+ GP_MATERIAL_FOLLOW_FIXED = 2,
};
#endif
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 24e5aa496b9..972ef197954 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -94,6 +94,7 @@ typedef enum ModifierType {
eModifierType_WeightedNormal = 54,
eModifierType_Weld = 55,
eModifierType_Fluid = 56,
+ eModifierType_Simulation = 57,
NUM_MODIFIER_TYPES,
} ModifierType;
@@ -453,23 +454,23 @@ enum {
/* BevelModifierData->face_str_mode */
enum {
- MOD_BEVEL_FACE_STRENGTH_NONE,
- MOD_BEVEL_FACE_STRENGTH_NEW,
- MOD_BEVEL_FACE_STRENGTH_AFFECTED,
- MOD_BEVEL_FACE_STRENGTH_ALL,
+ MOD_BEVEL_FACE_STRENGTH_NONE = 0,
+ MOD_BEVEL_FACE_STRENGTH_NEW = 1,
+ MOD_BEVEL_FACE_STRENGTH_AFFECTED = 2,
+ MOD_BEVEL_FACE_STRENGTH_ALL = 3,
};
/* BevelModifier->miter_inner and ->miter_outer */
enum {
- MOD_BEVEL_MITER_SHARP,
- MOD_BEVEL_MITER_PATCH,
- MOD_BEVEL_MITER_ARC,
+ MOD_BEVEL_MITER_SHARP = 0,
+ MOD_BEVEL_MITER_PATCH = 1,
+ MOD_BEVEL_MITER_ARC = 2,
};
/* BevelModifier->vmesh_method */
enum {
- MOD_BEVEL_VMESH_ADJ,
- MOD_BEVEL_VMESH_CUTOFF,
+ MOD_BEVEL_VMESH_ADJ = 0,
+ MOD_BEVEL_VMESH_CUTOFF = 1,
};
typedef struct FluidModifierData {
@@ -595,10 +596,10 @@ enum {
};
enum {
- MOD_DECIM_MODE_COLLAPSE,
- MOD_DECIM_MODE_UNSUBDIV,
+ MOD_DECIM_MODE_COLLAPSE = 0,
+ MOD_DECIM_MODE_UNSUBDIV = 1,
/** called planar in the UI */
- MOD_DECIM_MODE_DISSOLVE,
+ MOD_DECIM_MODE_DISSOLVE = 2,
};
typedef struct SmoothModifierData {
@@ -1695,15 +1696,15 @@ enum {
/* Triangulate methods - NGons */
enum {
MOD_TRIANGULATE_NGON_BEAUTY = 0,
- MOD_TRIANGULATE_NGON_EARCLIP,
+ MOD_TRIANGULATE_NGON_EARCLIP = 1,
};
/* Triangulate methods - Quads */
enum {
MOD_TRIANGULATE_QUAD_BEAUTY = 0,
- MOD_TRIANGULATE_QUAD_FIXED,
- MOD_TRIANGULATE_QUAD_ALTERNATE,
- MOD_TRIANGULATE_QUAD_SHORTEDGE,
+ MOD_TRIANGULATE_QUAD_FIXED = 1,
+ MOD_TRIANGULATE_QUAD_ALTERNATE = 2,
+ MOD_TRIANGULATE_QUAD_SHORTEDGE = 3,
};
typedef struct LaplacianSmoothModifierData {
@@ -2118,6 +2119,13 @@ enum {
#define MOD_MESHSEQ_READ_ALL \
(MOD_MESHSEQ_READ_VERT | MOD_MESHSEQ_READ_POLY | MOD_MESHSEQ_READ_UV | MOD_MESHSEQ_READ_COLOR)
+typedef struct SimulationModifierData {
+ ModifierData modifier;
+
+ struct Simulation *simulation;
+ char data_path[64];
+} SimulationModifierData;
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/makesdna/DNA_movieclip_types.h b/source/blender/makesdna/DNA_movieclip_types.h
index 557e069a4a6..94d11095108 100644
--- a/source/blender/makesdna/DNA_movieclip_types.h
+++ b/source/blender/makesdna/DNA_movieclip_types.h
@@ -24,14 +24,14 @@
#ifndef __DNA_MOVIECLIP_TYPES_H__
#define __DNA_MOVIECLIP_TYPES_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "DNA_ID.h"
#include "DNA_color_types.h" /* for color management */
#include "DNA_tracking_types.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct AnimData;
struct ImBuf;
struct MovieClipProxy;
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 8029e8ebc13..4ff0e531168 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -154,6 +154,12 @@ typedef enum eNodeSocketDatatype {
__SOCK_MESH = 5, /* deprecated */
SOCK_INT = 6,
SOCK_STRING = 7,
+ SOCK_OBJECT = 8,
+ SOCK_IMAGE = 9,
+ SOCK_EMITTERS = 10,
+ SOCK_EVENTS = 11,
+ SOCK_FORCES = 12,
+ SOCK_CONTROL_FLOW = 13,
} eNodeSocketDatatype;
/* socket shape */
@@ -498,6 +504,7 @@ typedef struct bNodeTree {
#define NTREE_SHADER 0
#define NTREE_COMPOSIT 1
#define NTREE_TEXTURE 2
+#define NTREE_SIMULATION 3
/* ntree->init, flag */
#define NTREE_TYPE_INIT 1
@@ -565,6 +572,14 @@ typedef struct bNodeSocketValueString {
char value[1024];
} bNodeSocketValueString;
+typedef struct bNodeSocketValueObject {
+ struct Object *value;
+} bNodeSocketValueObject;
+
+typedef struct bNodeSocketValueImage {
+ struct Image *value;
+} bNodeSocketValueImage;
+
/* data structs, for node->storage */
enum {
CMP_NODE_MASKTYPE_ADD = 0,
@@ -1293,6 +1308,23 @@ enum {
NODE_VECTOR_MATH_TANGENT = 23,
};
+/* Boolean math node operations. */
+enum {
+ NODE_BOOLEAN_MATH_AND = 0,
+ NODE_BOOLEAN_MATH_OR = 1,
+ NODE_BOOLEAN_MATH_NOT = 2,
+};
+
+/* Float compare node operations. */
+enum {
+ NODE_FLOAT_COMPARE_LESS_THAN = 0,
+ NODE_FLOAT_COMPARE_LESS_EQUAL = 1,
+ NODE_FLOAT_COMPARE_GREATER_THAN = 2,
+ NODE_FLOAT_COMPARE_GREATER_EQUAL = 3,
+ NODE_FLOAT_COMPARE_EQUAL = 4,
+ NODE_FLOAT_COMPARE_NOT_EQUAL = 5,
+};
+
/* Clamp node types. */
enum {
NODE_CLAMP_MINMAX = 0,
@@ -1385,4 +1417,16 @@ typedef enum NodeShaderOutputTarget {
SHD_OUTPUT_CYCLES = 2,
} NodeShaderOutputTarget;
+/* Particle Time Step Event node */
+typedef enum NodeSimParticleTimeStepEventType {
+ NODE_PARTICLE_TIME_STEP_EVENT_BEGIN = 0,
+ NODE_PARTICLE_TIME_STEP_EVENT_END = 1,
+} NodeSimParticleTimeStepEventType;
+
+/* Simulation Time node */
+typedef enum NodeSimInputTimeType {
+ NODE_SIM_INPUT_SIMULATION_TIME = 0,
+ NODE_SIM_INPUT_SCENE_TIME = 1,
+} NodeSimInputTimeType;
+
#endif
diff --git a/source/blender/makesdna/DNA_object_force_types.h b/source/blender/makesdna/DNA_object_force_types.h
index 88c712b5b28..73cfcddf984 100644
--- a/source/blender/makesdna/DNA_object_force_types.h
+++ b/source/blender/makesdna/DNA_object_force_types.h
@@ -24,13 +24,13 @@
#ifndef __DNA_OBJECT_FORCE_TYPES_H__
#define __DNA_OBJECT_FORCE_TYPES_H__
+#include "DNA_defs.h"
+#include "DNA_listBase.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "DNA_defs.h"
-#include "DNA_listBase.h"
-
/* pd->forcefield: Effector Fields types */
typedef enum ePFieldType {
/** (this is used for general effector weight). */
@@ -62,6 +62,7 @@ typedef enum ePFieldType {
/** Force based on smoke simulation air flow. */
PFIELD_SMOKEFLOW = 13,
+ /* Keep last. */
NUM_PFIELD_TYPES,
} ePFieldType;
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 1a76d32dc2c..47e6db835c9 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -462,6 +462,7 @@ enum {
OB_VOLUME = 29,
+ /* Keep last. */
OB_TYPE_MAX,
};
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 2c931e68875..1533b82ad4e 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -29,10 +29,6 @@
/* XXX, temp feature - campbell */
#define DURIAN_CAMERA_SWITCH
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "DNA_ID.h"
#include "DNA_collection_types.h"
#include "DNA_color_types.h" /* color management */
@@ -46,6 +42,10 @@ extern "C" {
#include "DNA_vec_types.h"
#include "DNA_view3d_types.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct AnimData;
struct Brush;
struct Collection;
@@ -99,19 +99,19 @@ typedef struct AviCodecData {
} AviCodecData;
typedef enum eFFMpegPreset {
- FFM_PRESET_NONE,
+ FFM_PRESET_NONE = 0,
#ifdef DNA_DEPRECATED_ALLOW
/* Previously used by h.264 to control encoding speed vs. file size. */
- FFM_PRESET_ULTRAFAST, /* DEPRECATED */
- FFM_PRESET_SUPERFAST, /* DEPRECATED */
- FFM_PRESET_VERYFAST, /* DEPRECATED */
- FFM_PRESET_FASTER, /* DEPRECATED */
- FFM_PRESET_FAST, /* DEPRECATED */
- FFM_PRESET_MEDIUM, /* DEPRECATED */
- FFM_PRESET_SLOW, /* DEPRECATED */
- FFM_PRESET_SLOWER, /* DEPRECATED */
- FFM_PRESET_VERYSLOW, /* DEPRECATED */
+ FFM_PRESET_ULTRAFAST = 1, /* DEPRECATED */
+ FFM_PRESET_SUPERFAST = 2, /* DEPRECATED */
+ FFM_PRESET_VERYFAST = 3, /* DEPRECATED */
+ FFM_PRESET_FASTER = 4, /* DEPRECATED */
+ FFM_PRESET_FAST = 5, /* DEPRECATED */
+ FFM_PRESET_MEDIUM = 6, /* DEPRECATED */
+ FFM_PRESET_SLOW = 7, /* DEPRECATED */
+ FFM_PRESET_SLOWER = 8, /* DEPRECATED */
+ FFM_PRESET_VERYSLOW = 9, /* DEPRECATED */
#endif
/* Used by WEBM/VP9 and h.264 to control encoding speed vs. file size.
@@ -121,9 +121,9 @@ typedef enum eFFMpegPreset {
/** the default and recommended for most applications */
FFM_PRESET_GOOD = 10,
/** recommended if you have lots of time and want the best compression efficiency */
- FFM_PRESET_BEST,
+ FFM_PRESET_BEST = 11,
/** recommended for live / fast encoding */
- FFM_PRESET_REALTIME,
+ FFM_PRESET_REALTIME = 12,
} eFFMpegPreset;
/* Mapping from easily-understandable descriptions to CRF values.
@@ -2200,14 +2200,14 @@ typedef enum eSculptFlags {
/* ImagePaintSettings.mode */
typedef enum eImagePaintMode {
- IMAGEPAINT_MODE_MATERIAL, /* detect texture paint slots from the material */
- IMAGEPAINT_MODE_IMAGE, /* select texture paint image directly */
+ IMAGEPAINT_MODE_MATERIAL = 0, /* detect texture paint slots from the material */
+ IMAGEPAINT_MODE_IMAGE = 1, /* select texture paint image directly */
} eImagePaintMode;
/* ImagePaintSettings.interp */
enum {
IMAGEPAINT_INTERP_LINEAR = 0,
- IMAGEPAINT_INTERP_CLOSEST,
+ IMAGEPAINT_INTERP_CLOSEST = 1,
};
/* ImagePaintSettings.flag */
@@ -2307,17 +2307,17 @@ typedef enum eGPencil_Selectmode_types {
/* ToolSettings.gpencil_guide_types */
typedef enum eGPencil_GuideTypes {
GP_GUIDE_CIRCULAR = 0,
- GP_GUIDE_RADIAL,
- GP_GUIDE_PARALLEL,
- GP_GUIDE_GRID,
- GP_GUIDE_ISO,
+ GP_GUIDE_RADIAL = 1,
+ GP_GUIDE_PARALLEL = 2,
+ GP_GUIDE_GRID = 3,
+ GP_GUIDE_ISO = 4,
} eGPencil_GuideTypes;
/* ToolSettings.gpencil_guide_references */
typedef enum eGPencil_Guide_Reference {
GP_GUIDE_REF_CURSOR = 0,
- GP_GUIDE_REF_CUSTOM,
- GP_GUIDE_REF_OBJECT,
+ GP_GUIDE_REF_CUSTOM = 1,
+ GP_GUIDE_REF_OBJECT = 2,
} eGPencil_Guide_Reference;
/* ToolSettings.particle flag */
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 9a59b69604d..8497d363179 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -306,8 +306,8 @@ enum GlobalAreaFlag {
};
typedef enum GlobalAreaAlign {
- GLOBAL_AREA_ALIGN_TOP,
- GLOBAL_AREA_ALIGN_BOTTOM,
+ GLOBAL_AREA_ALIGN_TOP = 0,
+ GLOBAL_AREA_ALIGN_BOTTOM = 1,
} GlobalAreaAlign;
typedef struct ScrArea_Runtime {
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 17b3528aadf..9fee839f979 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -468,6 +468,7 @@ typedef struct SequencerScopes {
#define SEQ_SPEED_INTEGRATE (1 << 0)
#define SEQ_SPEED_UNUSED_1 (1 << 1) /* cleared */
#define SEQ_SPEED_COMPRESS_IPO_Y (1 << 2)
+#define SEQ_SPEED_USE_INTERPOLATION (1 << 3)
/* ***************** SEQUENCE ****************** */
#define SEQ_NAME_MAXSTR 64
@@ -634,7 +635,7 @@ enum {
seqModifierType_Mask = 5,
seqModifierType_WhiteBalance = 6,
seqModifierType_Tonemap = 7,
-
+ /* Keep last. */
NUM_SEQUENCE_MODIFIER_TYPES,
};
diff --git a/source/blender/makesdna/DNA_shader_fx_types.h b/source/blender/makesdna/DNA_shader_fx_types.h
index e0931d8cac3..18a4e8655a3 100644
--- a/source/blender/makesdna/DNA_shader_fx_types.h
+++ b/source/blender/makesdna/DNA_shader_fx_types.h
@@ -42,6 +42,7 @@ typedef enum ShaderFxType {
eShaderFxType_Colorize = 8,
eShaderFxType_Shadow = 9,
eShaderFxType_Glow = 10,
+ /* Keep last. */
NUM_SHADER_FX_TYPES,
} ShaderFxType;
diff --git a/source/blender/makesdna/DNA_simulation_defaults.h b/source/blender/makesdna/DNA_simulation_defaults.h
new file mode 100644
index 00000000000..b4cecd861a9
--- /dev/null
+++ b/source/blender/makesdna/DNA_simulation_defaults.h
@@ -0,0 +1,40 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup DNA
+ */
+
+#ifndef __DNA_SIMULATION_DEFAULTS_H__
+#define __DNA_SIMULATION_DEFAULTS_H__
+
+/* Struct members on own line. */
+/* clang-format off */
+
+/* -------------------------------------------------------------------- */
+/** \name Simulation Struct
+ * \{ */
+
+#define _DNA_DEFAULT_Simulation \
+ { \
+ .flag = 0, \
+ }
+
+/** \} */
+
+/* clang-format on */
+
+#endif /* __DNA_SIMULATION_DEFAULTS_H__ */
diff --git a/source/blender/makesdna/DNA_simulation_types.h b/source/blender/makesdna/DNA_simulation_types.h
new file mode 100644
index 00000000000..113c301bb9e
--- /dev/null
+++ b/source/blender/makesdna/DNA_simulation_types.h
@@ -0,0 +1,41 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/** \file
+ * \ingroup DNA
+ */
+
+#ifndef __DNA_SIMULATION_TYPES_H__
+#define __DNA_SIMULATION_TYPES_H__
+
+#include "DNA_ID.h"
+
+typedef struct Simulation {
+ ID id;
+ struct AnimData *adt; /* animation data (must be immediately after id) */
+
+ struct bNodeTree *nodetree;
+
+ int flag;
+ int _pad1[1];
+} Simulation;
+
+/* Simulation.flag */
+enum {
+ SIM_DS_EXPAND = (1 << 0),
+};
+
+#endif /* __DNA_SIMULATION_TYPES_H__ */
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 648d35c9a2d..8f4f066efbb 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -212,7 +212,7 @@ typedef enum eSpaceButtons_Context {
BCONTEXT_SHADERFX = 15,
BCONTEXT_OUTPUT = 16,
- /* always as last... */
+ /* Keep last. */
BCONTEXT_TOT,
} eSpaceButtons_Context;
@@ -1075,7 +1075,9 @@ typedef struct SpaceImage {
int flag;
char pixel_snap_mode;
- char _pad2[3];
+ char _pad2[7];
+
+ float uv_opacity;
int tile_grid_shape[2];
@@ -1718,7 +1720,7 @@ typedef enum eSpace_Type {
SPACE_TOPBAR = 21,
SPACE_STATUSBAR = 22,
- SPACE_TYPE_LAST = SPACE_STATUSBAR,
+#define SPACE_TYPE_LAST SPACE_STATUSBAR
} eSpace_Type;
/* use for function args */
diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h
index ab9f3d07849..32a00cc25d1 100644
--- a/source/blender/makesdna/DNA_tracking_types.h
+++ b/source/blender/makesdna/DNA_tracking_types.h
@@ -70,6 +70,9 @@ typedef struct MovieTrackingCamera {
/* Division distortion model coefficients */
float division_k1, division_k2;
+
+ /* Nuke distortion model coefficients */
+ float nuke_k1, nuke_k2;
} MovieTrackingCamera;
typedef struct MovieTrackingMarker {
@@ -455,6 +458,7 @@ typedef struct MovieTracking {
enum {
TRACKING_DISTORTION_MODEL_POLYNOMIAL = 0,
TRACKING_DISTORTION_MODEL_DIVISION = 1,
+ TRACKING_DISTORTION_MODEL_NUKE = 2,
};
/* MovieTrackingCamera->units */
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 7a09059e344..019e4c9ea9e 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -619,9 +619,8 @@ typedef struct UserDef_FileSpaceData {
typedef struct UserDef_Experimental {
char use_undo_legacy;
- char use_menu_search;
/** `makesdna` does not allow empty structs. */
- char _pad0[6];
+ char _pad0[7];
} UserDef_Experimental;
#define USER_EXPERIMENTAL_TEST(userdef, member) \
@@ -874,9 +873,11 @@ typedef struct UserDef {
int sequencer_disk_cache_compression; /* eUserpref_DiskCacheCompression */
int sequencer_disk_cache_size_limit;
short sequencer_disk_cache_flag;
-
char _pad5[2];
+ float collection_instance_empty_size;
+ char _pad10[4];
+
struct WalkNavigation walk_navigation;
/** The UI for the user preferences. */
@@ -1290,8 +1291,8 @@ typedef enum eUserpref_RenderDisplayType {
} eUserpref_RenderDisplayType;
typedef enum eUserpref_TempSpaceDisplayType {
- USER_TEMP_SPACE_DISPLAY_FULLSCREEN,
- USER_TEMP_SPACE_DISPLAY_WINDOW,
+ USER_TEMP_SPACE_DISPLAY_FULLSCREEN = 0,
+ USER_TEMP_SPACE_DISPLAY_WINDOW = 1,
} eUserpref_TempSpaceDisplayType;
typedef enum eUserpref_EmulateMMBMod {
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 21def800e4a..76962281612 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -450,6 +450,7 @@ enum {
#define V3D_GP_FADE_NOACTIVE_GPENCIL (1 << 6) /* Fade other GPencil objects */
#define V3D_GP_SHOW_STROKE_DIRECTION (1 << 7) /* Show Strokes Directions */
#define V3D_GP_SHOW_MATERIAL_NAME (1 << 8) /* Show Material names */
+#define V3D_GP_SHOW_GRID_XRAY (1 << 9) /* Show Canvas Grid on Top */
/** #View3DShading.flag */
enum {
@@ -489,6 +490,7 @@ enum {
V3D_OVERLAY_HIDE_BONES = (1 << 8),
V3D_OVERLAY_HIDE_OBJECT_XTRAS = (1 << 9),
V3D_OVERLAY_HIDE_OBJECT_ORIGINS = (1 << 10),
+ V3D_OVERLAY_STATS = (1 << 11),
};
/** #View3DOverlay.edit_flag */
diff --git a/source/blender/makesdna/DNA_volume_types.h b/source/blender/makesdna/DNA_volume_types.h
index 1a49df86761..b3615e87a50 100644
--- a/source/blender/makesdna/DNA_volume_types.h
+++ b/source/blender/makesdna/DNA_volume_types.h
@@ -95,9 +95,9 @@ enum {
/* Volume.sequence_mode */
typedef enum VolumeSequenceMode {
VOLUME_SEQUENCE_CLIP = 0,
- VOLUME_SEQUENCE_EXTEND,
- VOLUME_SEQUENCE_REPEAT,
- VOLUME_SEQUENCE_PING_PONG,
+ VOLUME_SEQUENCE_EXTEND = 1,
+ VOLUME_SEQUENCE_REPEAT = 2,
+ VOLUME_SEQUENCE_PING_PONG = 3,
} VolumeSequenceMode;
/* VolumeDisplay.wireframe_type */
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index a101e96e958..1b0bf086269 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -146,6 +146,7 @@ set(SRC
../DNA_object_defaults.h
../DNA_pointcloud_defaults.h
../DNA_scene_defaults.h
+ ../DNA_simulation_defaults.h
../DNA_speaker_defaults.h
../DNA_texture_defaults.h
../DNA_vec_defaults.h
diff --git a/source/blender/makesdna/intern/dna_defaults.c b/source/blender/makesdna/intern/dna_defaults.c
index dadd2fd9d7d..2d86e97debf 100644
--- a/source/blender/makesdna/intern/dna_defaults.c
+++ b/source/blender/makesdna/intern/dna_defaults.c
@@ -71,6 +71,7 @@
#include "DNA_object_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_scene_types.h"
+#include "DNA_simulation_types.h"
#include "DNA_space_types.h"
#include "DNA_speaker_types.h"
#include "DNA_texture_types.h"
@@ -93,6 +94,7 @@
#include "DNA_object_defaults.h"
#include "DNA_pointcloud_defaults.h"
#include "DNA_scene_defaults.h"
+#include "DNA_simulation_defaults.h"
#include "DNA_speaker_defaults.h"
#include "DNA_texture_defaults.h"
#include "DNA_volume_defaults.h"
@@ -150,6 +152,9 @@ SDNA_DEFAULT_DECL_STRUCT(PointCloud);
SDNA_DEFAULT_DECL_STRUCT(Scene);
SDNA_DEFAULT_DECL_STRUCT(ToolSettings);
+/* DNA_simulation_defaults.h */
+SDNA_DEFAULT_DECL_STRUCT(Simulation);
+
/* DNA_speaker_defaults.h */
SDNA_DEFAULT_DECL_STRUCT(Speaker);
@@ -260,6 +265,9 @@ const void *DNA_default_table[SDNA_TYPE_MAX] = {
SDNA_DEFAULT_DECL_EX(GP_Sculpt_Settings, ToolSettings.gp_sculpt),
SDNA_DEFAULT_DECL_EX(GP_Sculpt_Guide, ToolSettings.gp_sculpt.guide),
+ /* DNA_simulation_defaults.h */
+ SDNA_DEFAULT_DECL(Simulation),
+
/* DNA_speaker_defaults.h */
SDNA_DEFAULT_DECL(Speaker),
diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c
index 39b26fef176..09cfe54e94d 100644
--- a/source/blender/makesdna/intern/makesdna.c
+++ b/source/blender/makesdna/intern/makesdna.c
@@ -136,6 +136,7 @@ static const char *includefiles[] = {
"DNA_hair_types.h",
"DNA_pointcloud_types.h",
"DNA_volume_types.h",
+ "DNA_simulation_types.h",
/* see comment above before editing! */
@@ -1073,8 +1074,8 @@ static int calculate_struct_sizes(int firststruct, FILE *file_verify, const char
types_size_native[structtype] = size_native;
types_size_32[structtype] = size_32;
types_size_64[structtype] = size_64;
- /* two ways to detect if a struct contains a pointer:
- * has_pointer is set or size_native doesn't match any of 32/64bit lengths*/
+ /* Two ways to detect if a struct contains a pointer:
+ * has_pointer is set or size_native doesn't match any of 32/64bit lengths. */
if (has_pointer || size_64 != size_native || size_32 != size_native) {
if (size_64 % 8) {
fprintf(stderr,
@@ -1590,6 +1591,7 @@ int main(int argc, char **argv)
#include "DNA_sdna_types.h"
#include "DNA_sequence_types.h"
#include "DNA_shader_fx_types.h"
+#include "DNA_simulation_types.h"
#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_speaker_types.h"