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.h9
-rw-r--r--source/blender/makesdna/DNA_armature_types.h18
-rw-r--r--source/blender/makesdna/DNA_brush_types.h4
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h36
-rw-r--r--source/blender/makesdna/DNA_gpencil_modifier_types.h48
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h1
-rw-r--r--source/blender/makesdna/DNA_layer_types.h1
-rw-r--r--source/blender/makesdna/DNA_material_types.h20
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h32
-rw-r--r--source/blender/makesdna/DNA_node_types.h44
-rw-r--r--source/blender/makesdna/DNA_object_force_types.h1
-rw-r--r--source/blender/makesdna/DNA_object_types.h1
-rw-r--r--source/blender/makesdna/DNA_scene_types.h42
-rw-r--r--source/blender/makesdna/DNA_screen_types.h4
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h2
-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.h6
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h7
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h1
-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.c2
25 files changed, 285 insertions, 91 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 5230cb050f4..289f8c7a7b9 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -436,6 +436,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 +565,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 +736,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 +744,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 +788,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_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..0e16abf76f7 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -805,8 +805,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_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h
index c3425826d36..deb955f5551 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;
@@ -713,4 +715,50 @@ typedef enum eTintGpencil_Flag {
GP_TINT_CUSTOM_CURVE = (1 << 6),
} eTintGpencil_Flag;
+typedef struct TextureGpencilModifierData {
+ GpencilModifierData modifier;
+ /** Layer name. */
+ char layername[64];
+ /** Material name. */
+ char materialname[64];
+ /** 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..bf9f228b53f 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -276,6 +276,7 @@ typedef enum eGPDstroke_Caps {
GP_STROKE_CAP_ROUND = 0,
GP_STROKE_CAP_FLAT = 1,
+ /* Keeo last. */
GP_STROKE_CAP_MAX,
} GPDstroke_Caps;
diff --git a/source/blender/makesdna/DNA_layer_types.h b/source/blender/makesdna/DNA_layer_types.h
index 4676e7fa313..ef129a92699 100644
--- a/source/blender/makesdna/DNA_layer_types.h
+++ b/source/blender/makesdna/DNA_layer_types.h
@@ -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_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 9e58d7df042..8e7dc1fa266 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -452,23 +452,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 {
@@ -594,10 +594,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 {
@@ -1694,15 +1694,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 {
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..daa3a629d27 100644
--- a/source/blender/makesdna/DNA_object_force_types.h
+++ b/source/blender/makesdna/DNA_object_force_types.h
@@ -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 f4834355223..357c1158b47 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -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.
@@ -2194,14 +2194,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 */
@@ -2301,17 +2301,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..1714ec8b498 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -634,7 +634,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..c1bfbe8a8b2 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];
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 7a09059e344..d40f07c1fff 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) \
@@ -1290,8 +1289,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..e486730ebcf 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -489,6 +489,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..49f778f2eb1 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! */
@@ -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"