diff options
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_brush_types.h | 5 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_genfile.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 14 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_texture_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 5 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_view3d_types.h | 5 | ||||
-rw-r--r-- | source/blender/makesdna/intern/dna_genfile.c | 16 | ||||
-rw-r--r-- | source/blender/makesdna/intern/makesdna.c | 8 |
10 files changed, 52 insertions, 13 deletions
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index 62d696ec255..147791b4835 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -71,6 +71,8 @@ typedef struct Brush { int size; /* brush diameter */ int flag; /* general purpose flag */ float jitter; /* jitter the position of the brush */ + int jitter_absolute; /* absolute jitter in pixels */ + int pad; int spacing; /* spacing of paint operations */ int smooth_stroke_radius; /* turning radius (in pixels) for smooth stroke */ float smooth_stroke_factor; /* higher values limit fast changes in the stroke direction */ @@ -137,7 +139,8 @@ typedef enum BrushFlags { /* temporary flag which sets up automatically for correct brush * drawing when inverted modal operator is running */ - BRUSH_INVERTED = (1 << 29) + BRUSH_INVERTED = (1 << 29), + BRUSH_ABSOLUTE_JITTER = (1 << 30) } BrushFlags; /* Brush.sculpt_tool */ diff --git a/source/blender/makesdna/DNA_genfile.h b/source/blender/makesdna/DNA_genfile.h index ac75b03c742..96d71288c62 100644 --- a/source/blender/makesdna/DNA_genfile.h +++ b/source/blender/makesdna/DNA_genfile.h @@ -71,6 +71,8 @@ void *DNA_struct_reconstruct(struct SDNA *newsdna, struct SDNA *oldsdna, char *c int DNA_elem_array_size(const char *astr, int len); int DNA_elem_offset(struct SDNA *sdna, const char *stype, const char *vartype, const char *name); +bool DNA_struct_elem_find(struct SDNA *sdna, const char *stype, const char *vartype, const char *name); + int DNA_elem_type_size(const eSDNA_Type elem_nr); diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 117eac0e42b..66685c131d4 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -744,6 +744,8 @@ typedef struct SolidifyModifierData { float offset; /* new surface offset level*/ float offset_fac; /* midpoint of the offset */ float offset_fac_vg; /* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */ + float offset_clamp; /* clamp offset based on surrounding geometry */ + float pad; float crease_inner; float crease_outer; float crease_rim; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 62c997b72c6..2e24b6ed78d 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -279,6 +279,8 @@ typedef struct bNodeTree { short render_quality; /* Quality setting when rendering */ int chunksize; /* tile size for compositor engine */ + rctf viewer_border; + ListBase inputs, outputs; /* external sockets for group nodes */ /* execution data */ @@ -313,6 +315,7 @@ typedef struct bNodeTree { #define NTREE_COM_OPENCL 2 /* use opencl */ #define NTREE_TWO_PASS 4 /* two pass */ #define NTREE_COM_GROUPNODE_BUFFER 8 /* use groupnode buffers */ +#define NTREE_VIEWER_BORDER 16 /* use a border for viewer nodes */ /* XXX not nice, but needed as a temporary flags * for group updates after library linking. @@ -857,4 +860,7 @@ typedef struct NodeShaderNormalMap { /* image */ #define CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT 1 +/* viewer and cmposite output */ +#define CMP_NODE_OUTPUT_IGNORE_ALPHA 1 + #endif diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index aa395dd0493..702df31f832 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -904,20 +904,25 @@ typedef struct UnifiedPaintSettings { /* rake rotation */ /* record movement of mouse so that rake can start at an intuitive angle */ - float last_x, last_y; - float last_angle; + float last_rake[2]; + int pad; - float special_rotation; + float brush_rotation; // all this below is used to communicate with the cursor drawing routine int draw_anchored; int anchored_size; - float anchored_location[3]; float anchored_initial_mouse[2]; /* drawing pressure */ int draw_pressure; float pressure_value; + + /* position of mouse, used to sample the texture */ + float tex_mouse[2]; + /* radius of brush, premultiplied with pressure. + * In case of anchored brushes contains that radius */ + float pixel_radius; } UnifiedPaintSettings; typedef enum { @@ -1534,7 +1539,6 @@ typedef enum SculptFlags { // #define IMAGEPAINT_DRAW_TOOL_DRAWING 4 // deprecated /* projection painting only */ -#define IMAGEPAINT_PROJECT_DISABLE 8 /* Non projection 3D painting */ #define IMAGEPAINT_PROJECT_XRAY 16 #define IMAGEPAINT_PROJECT_BACKFACE 32 #define IMAGEPAINT_PROJECT_FLAT 64 diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index ea4f281efd6..dd63e6aad59 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -340,7 +340,7 @@ typedef struct ColorMapping { /* imaflag */ #define TEX_INTERPOL 1 -#define TEX_USEALPHA 2 /* deprecated, used for versioning only */ +#define TEX_USEALPHA 2 #define TEX_MIPMAP 4 #define TEX_IMAROT 16 #define TEX_CALCALPHA 32 diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 0e5f0aea401..950483ba3ff 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -229,7 +229,7 @@ typedef struct ThemeSpace { char wire[4], select[4]; char lamp[4], speaker[4], empty[4], camera[4], pad[8]; char active[4], group[4], group_active[4], transform[4]; - char vertex[4], vertex_select[4]; + char vertex[4], vertex_select[4], vertex_unreferenced[4]; char edge[4], edge_select[4]; char edge_seam[4], edge_sharp[4], edge_facesel[4], edge_crease[4]; char face[4], face_select[4]; /* solid faces */ @@ -270,6 +270,7 @@ typedef struct ThemeSpace { char handle_vertex[4]; char handle_vertex_select[4]; + char pad2[4]; char handle_vertex_size; @@ -453,7 +454,7 @@ typedef struct UserDef { short ogl_multisamples; /* amount of samples for OpenGL FSA, if zero no FSA */ - short pad4; + short image_gpubuffer_limit; /* If set, amount of mega-pixels to use for texture drawing of images */ float glalphaclip; diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index d9d6db5ff91..294c47aa9db 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -107,6 +107,7 @@ typedef struct RegionView3D { struct RenderInfo *ri; struct RenderEngine *render_engine; struct ViewDepths *depths; + void *gpuoffscreen; /* animated smooth view */ struct SmoothView3DStore *sms; @@ -118,7 +119,6 @@ typedef struct RegionView3D { float viewquat[4]; /* view rotation, must be kept normalized */ float dist; /* distance from 'ofs' along -viewinv[2] vector, where result is negative as is 'ofs' */ - float zfac; /* initgrabz() result */ float camdx, camdy; /* camera view offsets, 1.0 = viewplane moves entire width/height */ float pixsize; /* runtime only */ float ofs[3]; /* view center & orbit pivot, negative of worldspace location, @@ -129,10 +129,11 @@ typedef struct RegionView3D { char persp; char view; char viewlock; + char pad[4]; short twdrawflag; short rflag; - + /* last view (use when switching out of camera view) */ float lviewquat[4]; diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c index 86014c4e80e..1225821102a 100644 --- a/source/blender/makesdna/intern/dna_genfile.c +++ b/source/blender/makesdna/intern/dna_genfile.c @@ -1314,6 +1314,22 @@ int DNA_elem_offset(SDNA *sdna, const char *stype, const char *vartype, const ch return (int)((intptr_t)cp); } +bool DNA_struct_elem_find(SDNA *sdna, const char *stype, const char *vartype, const char *name) +{ + + const int SDNAnr = DNA_struct_find_nr(sdna, stype); + + if (SDNAnr >= 0) { + const short * const spo = sdna->structs[SDNAnr]; + char * const cp = find_elem(sdna, vartype, name, spo, NULL, NULL); + + if (cp) return true; + return (int)((intptr_t)cp); + } + return false; +} + + /** * Returns the size in bytes of a primitive type. */ diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c index dd65ce53b92..acc6597d2c7 100644 --- a/source/blender/makesdna/intern/makesdna.c +++ b/source/blender/makesdna/intern/makesdna.c @@ -255,7 +255,9 @@ static int add_type(const char *str, int len) } /* append new type */ - if (nr_types == 0) cp = typedata; + if (nr_types == 0) { + cp = typedata; + } else { cp = types[nr_types - 1] + strlen(types[nr_types - 1]) + 1; } @@ -401,7 +403,9 @@ static int add_name(const char *str) } /* append new type */ - if (nr_names == 0) cp = namedata; + if (nr_names == 0) { + cp = namedata; + } else { cp = names[nr_names - 1] + strlen(names[nr_names - 1]) + 1; } |