diff options
author | Hans Goudey <h.goudey@me.com> | 2020-05-22 02:25:53 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2020-05-22 02:25:53 +0300 |
commit | 8eca2b4a1bf38d16ad38448e1ba99b26b2a21abe (patch) | |
tree | 926d761f5254e7daeae35c3419d7e63f9b68dd65 /source/blender/makesdna | |
parent | e8d028c0af2fac1f751ab883290bfe53e2ac3b04 (diff) | |
parent | 686eaad84c35701edc411737e55a7d7e8586b379 (diff) |
Merge branch 'panel-list-patch-3' into modifier-panels-ui-local
Diffstat (limited to 'source/blender/makesdna')
23 files changed, 240 insertions, 99 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 289f8c7a7b9..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; 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_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index 0e16abf76f7..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, 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_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h index 6583aa2eeee..7da33a369f3 100644 --- a/source/blender/makesdna/DNA_fluid_types.h +++ b/source/blender/makesdna/DNA_fluid_types.h @@ -215,39 +215,54 @@ enum { #define FLUID_DOMAIN_SMOKE_SCRIPT "smoke_script.py" #define FLUID_DOMAIN_LIQUID_SCRIPT "liquid_script.py" -#define FLUID_DOMAIN_FILE_CONFIG "config_####" - -#define FLUID_DOMAIN_FILE_DENSITY "density_####" -#define FLUID_DOMAIN_FILE_SHADOW "shadow_####" -#define FLUID_DOMAIN_FILE_VEL "vel_####" -#define FLUID_DOMAIN_FILE_HEAT "heat_####" -#define FLUID_DOMAIN_FILE_COLORR "color_r_####" -#define FLUID_DOMAIN_FILE_COLORG "color_g_####" -#define FLUID_DOMAIN_FILE_COLORB "color_b_####" -#define FLUID_DOMAIN_FILE_FLAME "flame_####" -#define FLUID_DOMAIN_FILE_FUEL "fuel_####" -#define FLUID_DOMAIN_FILE_REACT "react_####" - -#define FLUID_DOMAIN_FILE_PHI "phi_####" -#define FLUID_DOMAIN_FILE_PP "pp_####" -#define FLUID_DOMAIN_FILE_PVEL "pVel_####" - -#define FLUID_DOMAIN_FILE_DENSITYNOISE "density_noise_####" -#define FLUID_DOMAIN_FILE_COLORRNOISE "color_r_noise_####" -#define FLUID_DOMAIN_FILE_COLORGNOISE "color_g_noise_####" -#define FLUID_DOMAIN_FILE_COLORBNOISE "color_b_noise_####" -#define FLUID_DOMAIN_FILE_FLAMENOISE "flame_noise_####" -#define FLUID_DOMAIN_FILE_FUELNOISE "fuel_noise_####" -#define FLUID_DOMAIN_FILE_REACTNOISE "react_noise_####" - -#define FLUID_DOMAIN_FILE_MESH "lMesh_####" -#define FLUID_DOMAIN_FILE_MESHVEL "lVelMesh_####" - -#define FLUID_DOMAIN_FILE_PPSND "ppSnd_####" -#define FLUID_DOMAIN_FILE_PVELSND "pVelSnd_####" -#define FLUID_DOMAIN_FILE_PLIFESND "pLifeSnd_####" - -#define FLUID_DOMAIN_FILE_GUIDEVEL "guidevel_####" +#define FLUID_FILENAME_CONFIG "config_####" + +#define FLUID_FILENAME_DATA "fluid_data_####" +#define FLUID_FILENAME_NOISE "fluid_noise_####" +#define FLUID_FILENAME_DENSITY "density_####" +#define FLUID_FILENAME_SHADOW "shadow_####" +#define FLUID_FILENAME_VELOCITY "vel_####" +#define FLUID_FILENAME_HEAT "heat_####" +#define FLUID_FILENAME_COLORR "color_r_####" +#define FLUID_FILENAME_COLORG "color_g_####" +#define FLUID_FILENAME_COLORB "color_b_####" +#define FLUID_FILENAME_FLAME "flame_####" +#define FLUID_FILENAME_FUEL "fuel_####" +#define FLUID_FILENAME_REACT "react_####" +#define FLUID_FILENAME_PHI "phi_####" +#define FLUID_FILENAME_PP "pp_####" +#define FLUID_FILENAME_PVEL "pVel_####" +#define FLUID_FILENAME_DENSITYNOISE "density_noise_####" +#define FLUID_FILENAME_COLORRNOISE "color_r_noise_####" +#define FLUID_FILENAME_COLORGNOISE "color_g_noise_####" +#define FLUID_FILENAME_COLORBNOISE "color_b_noise_####" +#define FLUID_FILENAME_FLAMENOISE "flame_noise_####" +#define FLUID_FILENAME_FUELNOISE "fuel_noise_####" +#define FLUID_FILENAME_REACTNOISE "react_noise_####" +#define FLUID_FILENAME_MESH "lMesh_####" +#define FLUID_FILENAME_MESHVEL "lVelMesh_####" +#define FLUID_FILENAME_PPSND "ppSnd_####" +#define FLUID_FILENAME_PVELSND "pVelSnd_####" +#define FLUID_FILENAME_PLIFESND "pLifeSnd_####" +#define FLUID_FILENAME_GUIDEVEL "guidevel_####" + +#define FLUID_GRIDNAME_DENSITY "density" +#define FLUID_GRIDNAME_SHADOW "shadow" +#define FLUID_GRIDNAME_VELOCITY "velocity" +#define FLUID_GRIDNAME_HEAT "heat" +#define FLUID_GRIDNAME_COLORR "color_r" +#define FLUID_GRIDNAME_COLORG "color_g" +#define FLUID_GRIDNAME_COLORB "color_b" +#define FLUID_GRIDNAME_FLAME "flame" +#define FLUID_GRIDNAME_FUEL "fuel" +#define FLUID_GRIDNAME_REACT "react" +#define FLUID_GRIDNAME_DENSITYNOISE "density_noise" +#define FLUID_GRIDNAME_COLORRNOISE "color_r_noise" +#define FLUID_GRIDNAME_COLORGNOISE "color_g_noise" +#define FLUID_GRIDNAME_COLORBNOISE "color_b_noise" +#define FLUID_GRIDNAME_FLAMENOISE "flame_noise" +#define FLUID_GRIDNAME_FUELNOISE "fuel_noise" +#define FLUID_GRIDNAME_REACTNOISE "react_noise" #define FLUID_DOMAIN_EXTENSION_UNI ".uni" #define FLUID_DOMAIN_EXTENSION_OPENVDB ".vdb" @@ -256,6 +271,17 @@ enum { #define FLUID_DOMAIN_EXTENSION_BINOBJ ".bobj.gz" enum { + FLUID_DOMAIN_GRID_FLOAT = 0, + FLUID_DOMAIN_GRID_INT = 1, + FLUID_DOMAIN_GRID_VEC3F = 2, +}; + +enum { + FLUID_DOMAIN_CACHE_FILES_SINGLE = 0, + FLUID_DOMAIN_CACHE_FILES_COMBINED = 1, +}; + +enum { FLUID_DOMAIN_CACHE_REPLAY = 0, FLUID_DOMAIN_CACHE_MODULAR = 1, FLUID_DOMAIN_CACHE_FINAL = 2, diff --git a/source/blender/makesdna/DNA_gpencil_modifier_types.h b/source/blender/makesdna/DNA_gpencil_modifier_types.h index dc1370c175a..4d0f1da9b38 100644 --- a/source/blender/makesdna/DNA_gpencil_modifier_types.h +++ b/source/blender/makesdna/DNA_gpencil_modifier_types.h @@ -79,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. */ @@ -122,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. */ @@ -153,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. */ @@ -227,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. */ @@ -257,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. */ @@ -292,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. */ @@ -315,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. */ @@ -334,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; @@ -370,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 { @@ -405,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. */ @@ -438,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. */ @@ -466,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. */ @@ -517,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. */ @@ -560,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. */ @@ -587,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. */ @@ -636,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. */ @@ -674,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. */ @@ -717,10 +753,12 @@ typedef enum eTintGpencil_Flag { typedef struct TextureGpencilModifierData { 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. */ diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index bf9f228b53f..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) */ @@ -280,6 +284,17 @@ typedef enum eGPDstroke_Caps { 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 */ @@ -505,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 ef129a92699..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 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_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index cd5365cbfae..609d3782997 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; @@ -365,6 +366,7 @@ enum { MOD_MIR_BISECT_FLIP_AXIS_X = (1 << 11), MOD_MIR_BISECT_FLIP_AXIS_Y = (1 << 12), MOD_MIR_BISECT_FLIP_AXIS_Z = (1 << 13), + MOD_MIR_MIRROR_UDIM = (1 << 14), }; typedef struct EdgeSplitModifierData { @@ -2119,6 +2121,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_object_force_types.h b/source/blender/makesdna/DNA_object_force_types.h index daa3a629d27..85520f5a930 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). */ @@ -59,8 +59,8 @@ typedef enum ePFieldType { PFIELD_TURBULENCE = 11, /** Linear & quadratic drag. */ PFIELD_DRAG = 12, - /** Force based on smoke simulation air flow. */ - PFIELD_SMOKEFLOW = 13, + /** Force based on fluid simulation velocities. */ + PFIELD_FLUIDFLOW = 13, /* Keep last. */ NUM_PFIELD_TYPES, diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 357c1158b47..8c34a7cb0a1 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; @@ -555,13 +555,14 @@ typedef struct BakeData { short margin, flag; float cage_extrusion; + float max_ray_distance; int pass_filter; char normal_swizzle[3]; char normal_space; char save_mode; - char _pad[3]; + char _pad[7]; struct Object *cage_object; } BakeData; @@ -1644,6 +1645,11 @@ typedef struct SceneEEVEE { float light_threshold; } SceneEEVEE; +typedef struct SceneGpencil { + float smaa_threshold; + char _pad[4]; +} SceneGpencil; + /* *************************************************************** */ /* Scene ID-Block */ @@ -1775,6 +1781,7 @@ typedef struct Scene { struct SceneDisplay display; struct SceneEEVEE eevee; + struct SceneGpencil grease_pencil_settings; } Scene; /* **************** RENDERDATA ********************* */ diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index 7306ff1a9e1..07cba2bad1c 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -555,12 +555,8 @@ enum { PNL_LAYOUT_VERT_BAR = (1 << 3), /** This panel type represents data external to the UI. */ PNL_INSTANCED = (1 << 4), - /* Convenience flag to avoid searching through parents to tell if it belongs to a list panel. */ - PNL_INSTANCED_SUBPANEL = (1 << 5), - /** This panel marks the start of a list panel sequence. Not recreated on list change. */ - PNL_INSTANCED_LIST_START = (1 << 6), - /** Draw panel with a theme corresponding to box widgets. */ - PNL_DRAW_BOX = (1 << 7), + /** Draw panel like a box widget. */ + PNL_DRAW_BOX = (1 << 6), }; /* Fallback panel category (only for old scripts which need updating) */ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index c1bfbe8a8b2..8f4f066efbb 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -1720,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_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index d40f07c1fff..019e4c9ea9e 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -873,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. */ diff --git a/source/blender/makesdna/DNA_view3d_defaults.h b/source/blender/makesdna/DNA_view3d_defaults.h index afade37d0c8..20b491c47f2 100644 --- a/source/blender/makesdna/DNA_view3d_defaults.h +++ b/source/blender/makesdna/DNA_view3d_defaults.h @@ -65,7 +65,7 @@ V3D_OVERLAY_EDIT_SHARP | V3D_OVERLAY_EDIT_FREESTYLE_EDGE | \ V3D_OVERLAY_EDIT_FREESTYLE_FACE | V3D_OVERLAY_EDIT_EDGES | \ V3D_OVERLAY_EDIT_CREASES | V3D_OVERLAY_EDIT_BWEIGHTS | \ - V3D_OVERLAY_EDIT_CU_HANDLES | V3D_OVERLAY_EDIT_CU_NORMALS, \ + V3D_OVERLAY_EDIT_CU_HANDLES, \ \ .gpencil_paper_opacity = 0.5f, \ .gpencil_grid_opacity = 0.9f, \ diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index e486730ebcf..6d8d16c4313 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 { @@ -549,7 +550,7 @@ enum { V3D_AROUND_ACTIVE = 4, }; -/** #View3d.gridflag */ +/** #View3D.gridflag */ #define V3D_SHOW_FLOOR (1 << 0) #define V3D_SHOW_X (1 << 1) #define V3D_SHOW_Y (1 << 2) diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt index 1b0bf086269..01e3971a216 100644 --- a/source/blender/makesdna/intern/CMakeLists.txt +++ b/source/blender/makesdna/intern/CMakeLists.txt @@ -58,6 +58,10 @@ setup_platform_linker_flags() add_executable(makesdna ${SRC} ${SRC_DNA_INC}) +if(WIN32 AND NOT UNIX) + target_link_libraries(makesdna ${PTHREADS_LIBRARIES}) +endif() + # Output dna.c add_custom_command( OUTPUT diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c index 49f778f2eb1..09cfe54e94d 100644 --- a/source/blender/makesdna/intern/makesdna.c +++ b/source/blender/makesdna/intern/makesdna.c @@ -1074,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, |