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:
authorDalai Felinto <dfelinto@gmail.com>2012-02-02 03:22:55 +0400
committerDalai Felinto <dfelinto@gmail.com>2012-02-02 03:22:55 +0400
commit28f1fdd39bbb11b1081594e2f41bebef77a31518 (patch)
tree3475d4f0b15d7ba8e59150fec25adc582ae62afb /source/blender/makesdna
parent6b39a476cbe83febfe67daa31be6fade83194c7a (diff)
parentd882f05b824f4111ef5c319c89a2f85b1773c579 (diff)
svn merge ^/trunk/blender -r43091:43824(HEAD)
Conflicted file manually update: =============================== readfile.c Note 1: ======= The Double Edge Mask is not in tile since it's not a simple convert. The author of this node is aware of it and should have it working there eventually. (I'm going to add it in COM_Converter.cpp in a next commit) Note 2: ======= In COM_compositor.cpp we are passing only "Compositing" instead of what we have in trunk "Compositing 1 Gamma" If we decide to go with trunk then we need to incorporate the 43283 and 43287 commits. Something like: COM_compositor.cpp:51 - editingtree->stats_draw(editingtree->sdh, (char*)"Compositing"); + char str[128]; + BLI_snprintf(str, sizeof(str), "Compositing %d %s", curnode, node->name) + editingtree->stats_draw(editingtree->sdh, str);
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_ID.h21
-rw-r--r--source/blender/makesdna/DNA_action_types.h6
-rw-r--r--source/blender/makesdna/DNA_actuator_types.h34
-rw-r--r--source/blender/makesdna/DNA_armature_types.h4
-rw-r--r--source/blender/makesdna/DNA_brush_types.h17
-rw-r--r--source/blender/makesdna/DNA_cloth_types.h3
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h48
-rw-r--r--source/blender/makesdna/DNA_controller_types.h2
-rw-r--r--source/blender/makesdna/DNA_customdata_types.h6
-rw-r--r--source/blender/makesdna/DNA_defs.h3
-rw-r--r--source/blender/makesdna/DNA_dynamicpaint_types.h24
-rw-r--r--source/blender/makesdna/DNA_effect_types.h2
-rw-r--r--source/blender/makesdna/DNA_fileglobal_types.h2
-rw-r--r--source/blender/makesdna/DNA_image_types.h3
-rw-r--r--source/blender/makesdna/DNA_key_types.h6
-rw-r--r--source/blender/makesdna/DNA_lattice_types.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h2
-rw-r--r--source/blender/makesdna/DNA_meta_types.h1
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h97
-rw-r--r--source/blender/makesdna/DNA_movieclip_types.h17
-rw-r--r--source/blender/makesdna/DNA_node_types.h34
-rw-r--r--source/blender/makesdna/DNA_object_fluidsim.h11
-rw-r--r--source/blender/makesdna/DNA_object_force.h12
-rw-r--r--source/blender/makesdna/DNA_object_types.h8
-rw-r--r--source/blender/makesdna/DNA_particle_types.h4
-rw-r--r--source/blender/makesdna/DNA_property_types.h2
-rw-r--r--source/blender/makesdna/DNA_scene_types.h243
-rw-r--r--source/blender/makesdna/DNA_sensor_types.h42
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h22
-rw-r--r--source/blender/makesdna/DNA_smoke_types.h3
-rw-r--r--source/blender/makesdna/DNA_sound_types.h2
-rw-r--r--source/blender/makesdna/DNA_space_types.h33
-rw-r--r--source/blender/makesdna/DNA_texture_types.h6
-rw-r--r--source/blender/makesdna/DNA_tracking_types.h18
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h47
-rw-r--r--source/blender/makesdna/DNA_vfont_types.h2
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h2
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h2
38 files changed, 488 insertions, 305 deletions
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index f0e126db813..cb7b8d15d52 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -53,7 +53,7 @@ typedef struct IDProperty {
struct IDProperty *next, *prev;
char type, subtype;
short flag;
- char name[32];
+ char name[64]; /* MAX_IDPROP_NAME */
int saved; /*saved is used to indicate if this struct has been saved yet.
seemed like a good idea as a pad var was needed anyway :)*/
IDPropertyData data; /* note, alignment for 64 bits */
@@ -65,7 +65,7 @@ typedef struct IDProperty {
saved.*/
} IDProperty;
-#define MAX_IDPROP_NAME 32
+#define MAX_IDPROP_NAME 64
#define DEFAULT_ALLOC_FOR_NULL_STRINGS 64
/*->type*/
@@ -86,6 +86,10 @@ typedef struct IDProperty {
/* IDP_STRING */
#define IDP_STRING_SUB_UTF8 0 /* default */
#define IDP_STRING_SUB_BYTE 1 /* arbitrary byte array, _not_ null terminated */
+/*->flag*/
+#define IDP_FLAG_GHOST (1<<7) /* this means the propery is set but RNA will return
+ * false when checking 'RNA_property_is_set',
+ * currently this is a runtime flag */
/* add any future new id property types here.*/
@@ -96,7 +100,8 @@ typedef struct IDProperty {
* provides a common handle to place all data in double-linked lists.
* */
-#define MAX_ID_NAME 24
+/* 2 characters for ID code and 64 for actual name */
+#define MAX_ID_NAME 66
/* There's a nasty circular dependency here.... void* to the rescue! I
* really wonder why this is needed. */
@@ -104,14 +109,14 @@ typedef struct ID {
void *next, *prev;
struct ID *newid;
struct Library *lib;
- char name[24];
- short us;
+ char name[66];
+ short pad, us;
/**
* LIB_... flags report on status of the datablock this ID belongs
* to.
*/
short flag;
- int icon_id;
+ int icon_id, pad2;
IDProperty *properties;
} ID;
@@ -123,8 +128,8 @@ typedef struct Library {
ID id;
ID *idblock;
struct FileData *filedata;
- char name[240]; /* path name used for reading, can be relative and edited in the outliner */
- char filepath[240]; /* absolute filepath, this is only for convenience,
+ char name[1024]; /* path name used for reading, can be relative and edited in the outliner */
+ char filepath[1024]; /* absolute filepath, this is only for convenience,
* 'name' is the real path used on file read but in
* some cases its useful to access the absolute one,
* This is set on file read.
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index 9cee4e188ff..e582d071319 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -184,7 +184,7 @@ typedef struct bPoseChannel {
IDProperty *prop; /* User-Defined Properties on this PoseChannel */
ListBase constraints;/* Constraints that act on this PoseChannel */
- char name[32]; /* Channels need longer names than normal blender objects */
+ char name[64]; /* need to match bone name length: MAXBONENAME */
short flag; /* dynamic, for detecting transform changes */
short ikflag; /* settings for IK bones */
@@ -345,7 +345,7 @@ typedef struct bPose {
void *ikparam; /* IK solver parameters, structure depends on iksolver */
bAnimVizSettings avs; /* settings for visualization of bone animation */
- char proxy_act_bone[32]; /* proxy active bone name*/
+ char proxy_act_bone[64]; /* proxy active bone name, MAXBONENAME */
} bPose;
@@ -669,7 +669,7 @@ typedef struct bActionChannel {
ListBase constraintChannels; /* Constraint Channels (when Action Channel represents an Object or Bone) */
int flag; /* settings accessed via bitmapping */
- char name[32]; /* channel name */
+ char name[64]; /* channel name, MAX_NAME */
int temp; /* temporary setting - may be used to indicate group that channel belongs to during syncing */
} bActionChannel;
diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h
index a4280a6e463..3be46538c22 100644
--- a/source/blender/makesdna/DNA_actuator_types.h
+++ b/source/blender/makesdna/DNA_actuator_types.h
@@ -50,8 +50,8 @@ typedef struct bActionActuator {
struct bAction *act; /* Pointer to action */
short type, flag; /* Playback type */ // not in use
float sta, end; /* Start & End frames */
- char name[32]; /* For property-driven playback */
- char frameProp[32]; /* Set this property to the actions current frame */
+ char name[64]; /* For property-driven playback, MAX_NAME */
+ char frameProp[64]; /* Set this property to the actions current frame, MAX_NAME */
short blendin; /* Number of frames of blending */
short priority; /* Execution priority */
short layer; /* Animation layer */
@@ -90,7 +90,7 @@ typedef struct bEditObjectActuator {
short type, flag;
struct Object *ob;
struct Mesh *me;
- char name[32];
+ char name[64]; /* MAX_NAME */
float linVelocity[3]; /* initial lin. velocity on creation */
float angVelocity[3]; /* initial ang. velocity on creation */
float mass;
@@ -107,7 +107,7 @@ typedef struct bSceneActuator {
typedef struct bPropertyActuator {
int pad, type;
- char name[32], value[32];
+ char name[64], value[64]; /* MAX_NAME */
struct Object *ob;
} bPropertyActuator;
@@ -125,8 +125,8 @@ typedef struct bObjectActuator {
typedef struct bIpoActuator {
short flag, type;
float sta, end;
- char name[32];
- char frameProp[32]; /* Set this property to the actions current frame */
+ char name[64]; /* MAX_NAME */
+ char frameProp[64]; /* Set this property to the actions current frame, MAX_NAME */
short pad1, pad2, pad3, pad4;
@@ -147,13 +147,13 @@ typedef struct bConstraintActuator {
int pad;
float minloc[3], maxloc[3];
float minrot[3], maxrot[3];
- char matprop[32];
+ char matprop[64]; /* MAX_NAME */
} bConstraintActuator;
typedef struct bGroupActuator {
short flag, type;
int sta, end;
- char name[32]; /* property or groupkey */
+ char name[64]; /* property or groupkey, MAX_NAME */
short pad[3], cur, butsta, butend;/* not referenced, can remove? */
/* struct Group *group; not used, remove */
@@ -168,16 +168,16 @@ typedef struct bRandomActuator {
int int_arg_2;
float float_arg_1;
float float_arg_2;
- char propname[32];
+ char propname[64]; /* MAX_NAME */
} bRandomActuator;
typedef struct bMessageActuator {
- char toPropName[32]; /* Send to all objects with this propertyname. Empty to broadcast. */
+ char toPropName[64]; /* Send to all objects with this propertyname. Empty to broadcast. MAX_NAME. */
struct Object *toObject;/* (Possible future use) pointer to a single destination object. */
- char subject[32]; /* Message Subject to send. */
+ char subject[64]; /* Message Subject to send. MAX_NAME. */
short bodyType, pad1; /* bodyType is either 'User defined text' or PropName */
int pad2;
- char body[32]; /* Either User Defined Text or our PropName to send value of */
+ char body[64]; /* Either User Defined Text or our PropName to send value of, MAX_NAME */
} bMessageActuator;
typedef struct bGameActuator {
@@ -220,8 +220,8 @@ typedef struct bStateActuator {
} bStateActuator;
typedef struct bArmatureActuator {
- char posechannel[32];
- char constraint[32];
+ char posechannel[64]; /* MAX_NAME */
+ char constraint[64]; /* MAX_NAME */
int type; /* 0=run, 1=enable, 2=disable, 3=set target, 4=set weight */
float weight;
struct Object *target;
@@ -250,7 +250,7 @@ typedef struct bActuator {
*/
short flag;
short otype, go;
- char name[32];
+ char name[64]; /* MAX_NAME */
/**
* data must point to an object actuator type struct.
@@ -520,10 +520,6 @@ typedef struct bActuator {
#define ACT_STATE_REMOVE 2
#define ACT_STATE_CHANGE 3
-/* cameraactuator->axis */
-#define ACT_CAMERA_X (float)'x'
-#define ACT_CAMERA_Y (float)'y'
-
/* steeringactuator->type */
#define ACT_STEERING_SEEK 0
#define ACT_STEERING_FLEE 1
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index 45c30315575..33f965663de 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -49,7 +49,7 @@ typedef struct Bone {
IDProperty *prop; /* User-Defined Properties on this Bone */
struct Bone *parent; /* Parent (ik parent if appropriate flag is set */
ListBase childbase; /* Children */
- char name[32]; /* Name of the bone - must be unique within the armature */
+ char name[64]; /* Name of the bone - must be unique within the armature, MAXBONENAME */
float roll; /* roll is input for editmode, length calculated */
float head[3];
@@ -200,6 +200,6 @@ typedef enum eBone_Flag {
BONE_NO_LOCAL_LOCATION = (1<<22) /* bone location is in armature space */
} eBone_Flag;
-#define MAXBONENAME 32
+#define MAXBONENAME 64
#endif
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index e5c500f1fea..690c3c95964 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -59,7 +59,7 @@ typedef struct Brush {
struct ImBuf *icon_imbuf;
PreviewImage *preview;
- char icon_filepath[240];
+ char icon_filepath[1024]; /* 1024 = FILE_MAX */
float normal_weight;
@@ -81,7 +81,7 @@ typedef struct Brush {
float plane_offset; /* offset for plane brushes (clay, flatten, fill, scrape) */
char sculpt_tool; /* active sculpt tool */
- char vertexpaint_tool; /* active vertex/weight paint tool/blend mode */
+ char vertexpaint_tool; /* active vertex/weight paint blend mode (poorly named) */
char imagepaint_tool; /* active image paint tool */
char pad3[5];
@@ -167,9 +167,20 @@ enum {
SCULPT_DISP_DIR_VIEW,
SCULPT_DISP_DIR_X,
SCULPT_DISP_DIR_Y,
- SCULPT_DISP_DIR_Z,
+ SCULPT_DISP_DIR_Z
};
+enum {
+ PAINT_BLEND_MIX,
+ PAINT_BLEND_ADD,
+ PAINT_BLEND_SUB,
+ PAINT_BLEND_MUL,
+ PAINT_BLEND_BLUR,
+ PAINT_BLEND_LIGHTEN,
+ PAINT_BLEND_DARKEN
+};
+
+
#define MAX_BRUSH_PIXEL_RADIUS 200
#endif
diff --git a/source/blender/makesdna/DNA_cloth_types.h b/source/blender/makesdna/DNA_cloth_types.h
index 5c333c3fc1f..1079f1db835 100644
--- a/source/blender/makesdna/DNA_cloth_types.h
+++ b/source/blender/makesdna/DNA_cloth_types.h
@@ -70,6 +70,7 @@ typedef struct ClothSimSettings
float goalfrict;
float velocity_smooth; /* smoothing of velocities for hair */
float collider_friction; /* friction with colliders */
+ float vel_damping; /* damp the velocity to speed up getting to the resting position */
int stepsPerFrame; /* Number of time steps per frame. */
int flags; /* flags, see CSIMSETT_FLAGS enum above. */
@@ -82,7 +83,7 @@ typedef struct ClothSimSettings
short shapekey_rest; /* vertex group for scaling structural stiffness */
short presets; /* used for presets on GUI */
short reset;
- short pad[3];
+ short pad;
struct EffectorWeights *effector_weights;
} ClothSimSettings;
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 8fdbde60bab..fdc493ddfd3 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -61,11 +61,12 @@ typedef struct bConstraint {
char ownspace; /* Space that owner should be evaluated in */
char tarspace; /* Space that target should be evaluated in (only used if 1 target) */
- char name[30]; /* Constraint name */
+ char name[64]; /* Constraint name, MAX_NAME */
+
+ short pad;
float enforce; /* Amount of influence exherted by constraint (0.0-1.0) */
float headtail; /* Point along subtarget bone where the actual target is. 0=head (default for all), 1=tail*/
- int pad;
struct Ipo *ipo DNA_DEPRECATED; /* local influence ipo or driver */ /* old animation system, deprecated for 2.5 */
@@ -85,7 +86,7 @@ typedef struct bConstraintTarget {
struct bConstraintTarget *next, *prev;
struct Object *tar; /* object to use as target */
- char subtarget[32]; /* subtarget - pchan or vgroup name */
+ char subtarget[64]; /* subtarget - pchan or vgroup name, MAX_ID_NAME-2 */
float matrix[4][4]; /* matrix used during constraint solving - should be cleared before each use */
@@ -121,7 +122,7 @@ typedef struct bPythonConstraint {
ListBase targets; /* a list of targets that this constraint has (bConstraintTarget-s) */
struct Object *tar; /* target from previous implementation (version-patch sets this to NULL on file-load) */
- char subtarget[32]; /* subtarger from previous implentation (version-patch sets this to "" on file-load) */
+ char subtarget[64]; /* subtarger from previous implentation (version-patch sets this to "" on file-load), MAX_ID_NAME-2 */
} bPythonConstraint;
@@ -137,9 +138,9 @@ typedef struct bKinematicConstraint {
short flag; /* All & CopyPose: some options Like CONSTRAINT_IK_TIP */
short rootbone; /* All: index to rootbone, if zero go all the way to mother bone */
short max_rootbone; /* CopyPose: for auto-ik, maximum length of chain */
- char subtarget[32]; /* All: String to specify sub-object target */
+ char subtarget[64]; /* All: String to specify sub-object target, MAX_ID_NAME-2 */
struct Object *poletar; /* All: Pole vector target */
- char polesubtarget[32]; /* All: Pole vector sub-object target */
+ char polesubtarget[64]; /* All: Pole vector sub-object target, MAX_ID_NAME-2 */
float poleangle; /* All: Pole vector rest angle */
float weight; /* All: Weight of constraint in IK tree */
float orientweight; /* CopyPose: Amount of rotation a target applies on chain */
@@ -187,7 +188,7 @@ typedef struct bTrackToConstraint {
int reserved2;
int flags;
int pad;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bTrackToConstraint;
/* Copy Rotation Constraint */
@@ -195,7 +196,7 @@ typedef struct bRotateLikeConstraint {
struct Object *tar;
int flag;
int reserved1;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bRotateLikeConstraint;
/* Copy Location Constraint */
@@ -203,7 +204,7 @@ typedef struct bLocateLikeConstraint {
struct Object *tar;
int flag;
int reserved1;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bLocateLikeConstraint;
/* Copy Scale Constraint */
@@ -211,7 +212,7 @@ typedef struct bSizeLikeConstraint {
struct Object *tar;
int flag;
int reserved1;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bSizeLikeConstraint;
/* Maintain Volume Constraint */
@@ -223,7 +224,7 @@ typedef struct bSameVolumeConstraint {
/* Copy Transform Constraint */
typedef struct bTransLikeConstraint {
struct Object *tar;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bTransLikeConstraint;
/* Floor Constraint */
@@ -234,7 +235,7 @@ typedef struct bMinMaxConstraint {
int flag;
short sticky, stuck, pad1, pad2; /* for backward compatibility */
float cache[3];
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bMinMaxConstraint;
/* Action Constraint */
@@ -248,7 +249,7 @@ typedef struct bActionConstraint {
float max;
int pad;
struct bAction *act;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bActionConstraint;
/* Locked Axis Tracking constraint */
@@ -256,7 +257,7 @@ typedef struct bLockTrackConstraint {
struct Object *tar;
int trackflag;
int lockflag;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bLockTrackConstraint;
/* Damped Tracking constraint */
@@ -264,7 +265,7 @@ typedef struct bDampTrackConstraint {
struct Object *tar;
int trackflag;
int pad;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bDampTrackConstraint;
/* Follow Path constraints */
@@ -287,7 +288,7 @@ typedef struct bStretchToConstraint {
int plane;
float orglength;
float bulge;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
} bStretchToConstraint;
/* Rigid Body constraint */
@@ -323,13 +324,13 @@ typedef struct bChildOfConstraint {
int flag; /* settings */
int pad;
float invmat[4][4]; /* parent-inverse matrix to use */
- char subtarget[32]; /* string to specify a subobject target */
+ char subtarget[64]; /* string to specify a subobject target, MAX_ID_NAME-2 */
} bChildOfConstraint;
/* Generic Transform->Transform Constraint */
typedef struct bTransformConstraint {
struct Object *tar; /* target (i.e. 'driver' object/bone) */
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
short from, to; /* can be loc(0) , rot(1), or size(2) */
char map[3]; /* defines which target-axis deform is copied by each owner-axis */
@@ -348,7 +349,7 @@ typedef struct bPivotConstraint {
* Either target object + offset, or just offset is used
*/
struct Object *tar; /* target object (optional) */
- char subtarget[32]; /* subtarget name (optional) */
+ char subtarget[64]; /* subtarget name (optional), MAX_ID_NAME-2 */
float offset[3]; /* offset from the target to use, regardless of whether it exists */
/* Rotation-driven activation:
@@ -391,7 +392,7 @@ typedef struct bSizeLimitConstraint {
/* Limit Distance Constraint */
typedef struct bDistLimitConstraint {
struct Object *tar;
- char subtarget[32];
+ char subtarget[64]; /* MAX_ID_NAME-2 */
float dist; /* distance (radius of clamping sphere) from target */
float soft; /* distance from clamping-sphere to start applying 'fade' */
@@ -413,10 +414,11 @@ typedef struct bShrinkwrapConstraint {
/* Follow Track constraints */
typedef struct bFollowTrackConstraint {
struct MovieClip *clip;
- char track[24];
+ char track[64]; /* MAX_NAME */
int flag, pad;
- char object[24];
+ char object[64]; /* MAX_NAME */
struct Object *camera;
+ struct Object *depth_ob;
} bFollowTrackConstraint;
/* Camera Solver constraints */
@@ -429,7 +431,7 @@ typedef struct bCameraSolverConstraint {
typedef struct bObjectSolverConstraint {
struct MovieClip *clip;
int flag, pad;
- char object[24];
+ char object[64]; /* MAX_NAME */
float invmat[4][4]; /* parent-inverse matrix to use */
struct Object *camera;
} bObjectSolverConstraint;
diff --git a/source/blender/makesdna/DNA_controller_types.h b/source/blender/makesdna/DNA_controller_types.h
index c8f4325d717..51ab29db7ae 100644
--- a/source/blender/makesdna/DNA_controller_types.h
+++ b/source/blender/makesdna/DNA_controller_types.h
@@ -54,7 +54,7 @@ typedef struct bController {
short type, flag, inputs, totlinks;
short otype, totslinks, pad2, pad3;
- char name[32];
+ char name[64];
void *data;
struct bActuator **links;
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h
index 8259eea42ce..a4bb5715174 100644
--- a/source/blender/makesdna/DNA_customdata_types.h
+++ b/source/blender/makesdna/DNA_customdata_types.h
@@ -48,12 +48,14 @@ typedef struct CustomDataLayer {
int active_clone; /* number of the layer to render*/
int active_mask; /* number of the layer to render*/
char pad[4];
- char name[32]; /* layer name */
+ char name[64]; /* layer name, MAX_CUSTOMDATA_LAYER_AAME */
void *data; /* layer data */
} CustomDataLayer;
+#define MAX_CUSTOMDATA_LAYER_NAME 64
+
typedef struct CustomDataExternal {
- char filename[240]; /* FILE_MAX */
+ char filename[1024]; /* FILE_MAX */
} CustomDataExternal;
/** structure which stores custom element data associated with mesh elements
diff --git a/source/blender/makesdna/DNA_defs.h b/source/blender/makesdna/DNA_defs.h
index 575938da653..46d7fc2b009 100644
--- a/source/blender/makesdna/DNA_defs.h
+++ b/source/blender/makesdna/DNA_defs.h
@@ -47,4 +47,7 @@
#define USE_BMESH_FORWARD_COMPAT
+/* non-id name variables should use this length */
+#define MAX_NAME 64
+
#endif /* DNA_DEFS_H */
diff --git a/source/blender/makesdna/DNA_dynamicpaint_types.h b/source/blender/makesdna/DNA_dynamicpaint_types.h
index d58e11d9640..2345b8dd1c0 100644
--- a/source/blender/makesdna/DNA_dynamicpaint_types.h
+++ b/source/blender/makesdna/DNA_dynamicpaint_types.h
@@ -55,6 +55,7 @@ struct PaintSurfaceData;
#define MOD_DPAINT_WAVE_OPEN_BORDERS (1<<7) /* passes waves through mesh edges */
#define MOD_DPAINT_DISP_INCREMENTAL (1<<8) /* builds displace on top of earlier values */
+#define MOD_DPAINT_USE_DRYING (1<<9) /* use drying */
#define MOD_DPAINT_OUT1 (1<<10) /* output primary surface */
#define MOD_DPAINT_OUT2 (1<<11) /* output secondary surface */
@@ -69,8 +70,8 @@ struct PaintSurfaceData;
/* effect */
#define MOD_DPAINT_EFFECT_DO_SPREAD (1<<0) /* do spread effect */
-#define MOD_DPAINT_EFFECT_DO_DRIP (1<<1) /* do spread effect */
-#define MOD_DPAINT_EFFECT_DO_SHRINK (1<<2) /* do spread effect */
+#define MOD_DPAINT_EFFECT_DO_DRIP (1<<1) /* do drip effect */
+#define MOD_DPAINT_EFFECT_DO_SHRINK (1<<2) /* do shrink effect */
/* preview_id */
#define MOD_DPAINT_SURFACE_PREV_PAINT 0
@@ -111,28 +112,33 @@ typedef struct DynamicPaintSurface {
/* initial color */
float init_color[4];
struct Tex *init_texture;
- char init_layername[40];
+ char init_layername[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
int dry_speed, diss_speed;
+ float color_dry_threshold;
float depth_clamp, disp_factor;
float spread_speed, color_spread_speed, shrink_speed;
float drip_vel, drip_acc;
+ /* per surface brush settings */
+ float influence_scale, radius_scale;
+
/* wave settings */
float wave_damping, wave_speed, wave_timescale, wave_spring;
- int pad_;
-
- char uvlayer_name[32];
- char image_output_path[240];
- char output_name[40];
- char output_name2[40]; /* some surfaces have 2 outputs */
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
+ char image_output_path[1024]; /* 1024 = FILE_MAX */
+ char output_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
+ char output_name2[64]; /* MAX_CUSTOMDATA_LAYER_NAME */ /* some surfaces have 2 outputs */
} DynamicPaintSurface;
/* canvas flags */
+#if 0 /* This should not be needed, having a valid WEIGHT_MCOL layer should be enough.
+ * And if not, should be a general flag. But seems unecessary for now... */
#define MOD_DPAINT_PREVIEW_READY (1<<0) /* if viewport preview is ready */
+#endif
#define MOD_DPAINT_BAKING (1<<1) /* surface is already baking, so it wont get updated (loop) */
/* Canvas settings */
diff --git a/source/blender/makesdna/DNA_effect_types.h b/source/blender/makesdna/DNA_effect_types.h
index b7437b5e973..ddff22aae37 100644
--- a/source/blender/makesdna/DNA_effect_types.h
+++ b/source/blender/makesdna/DNA_effect_types.h
@@ -118,7 +118,7 @@ typedef struct PartEff {
short staticstep, omat, timetex, speedtex, flag2, flag2neg;
short disp, vertgroup_v;
- char vgroupname[32], vgroupname_v[32];
+ char vgroupname[64], vgroupname_v[64]; /* MAX_VGROUP_NAME */
float imat[4][4]; /* inverse matrix of parent Object */
Particle *keys;
diff --git a/source/blender/makesdna/DNA_fileglobal_types.h b/source/blender/makesdna/DNA_fileglobal_types.h
index 31ad628d630..ed9f3cec987 100644
--- a/source/blender/makesdna/DNA_fileglobal_types.h
+++ b/source/blender/makesdna/DNA_fileglobal_types.h
@@ -51,7 +51,7 @@ typedef struct FileGlobal {
int revision; /* svn revision from buildinfo */
int pad;
/* file path where this was saved, for recover */
- char filename[240]; /* 240 = FILE_MAX */
+ char filename[1024]; /* 1024 = FILE_MAX */
} FileGlobal;
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index a1b0ab06ecd..8f6cc5bf354 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -69,7 +69,7 @@ typedef struct ImageUser {
typedef struct Image {
ID id;
- char name[240]; /* file path */
+ char name[1024]; /* file path, 1024 = FILE_MAX */
ListBase ibufs; /* not written in file */
struct GPUTexture *gputexture; /* not written in file */
@@ -120,6 +120,7 @@ typedef struct Image {
#define IMA_DEPRECATED 64
#define IMA_OLD_PREMUL 128
#define IMA_CM_PREDIVIDE 256
+#define IMA_USED_FOR_RENDER 512
/* Image.tpageflag */
#define IMA_TILES 1
diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h
index 12fb9b92602..b64389a365c 100644
--- a/source/blender/makesdna/DNA_key_types.h
+++ b/source/blender/makesdna/DNA_key_types.h
@@ -48,8 +48,8 @@ typedef struct KeyBlock {
void *data;
float *weights;
- char name[32];
- char vgroup[32];
+ char name[64]; /* MAX_NAME */
+ char vgroup[64]; /* MAX_VGROUP_NAME */
float slidermin;
float slidermax;
@@ -61,7 +61,7 @@ typedef struct Key {
struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
KeyBlock *refkey;
- char elemstr[32];
+ char elemstr[64]; /* MAX_NAME */
int elemsize;
float curval DNA_DEPRECATED;
diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h
index 2a67afb5708..0a73ed5b24f 100644
--- a/source/blender/makesdna/DNA_lattice_types.h
+++ b/source/blender/makesdna/DNA_lattice_types.h
@@ -66,7 +66,7 @@ typedef struct Lattice {
struct Key *key;
struct MDeformVert *dvert;
- char vgroup[32]; /* multiply the influence */
+ char vgroup[64]; /* multiply the influence, MAX_VGROUP_NAME */
/* used while deforming, always free and NULL after use */
float *latticedata;
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 55e9328a72a..eacc1b222e4 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -121,7 +121,7 @@ typedef struct Material {
float hasize, flaresize, subsize, flareboost;
float strand_sta, strand_end, strand_ease, strand_surfnor;
float strand_min, strand_widthfade;
- char strand_uvname[32];
+ char strand_uvname[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
float sbias; /* shadow bias to prevent terminator prob */
float lbias; /* factor to multiply lampbias with (0.0 = no mult) */
diff --git a/source/blender/makesdna/DNA_meta_types.h b/source/blender/makesdna/DNA_meta_types.h
index ae658cee8f5..863e2b2e6ed 100644
--- a/source/blender/makesdna/DNA_meta_types.h
+++ b/source/blender/makesdna/DNA_meta_types.h
@@ -45,7 +45,6 @@ typedef struct MetaElem {
struct MetaElem *next, *prev;
struct BoundBox *bb; /* Bound Box of MetaElem */
- int i1,j1,k1, i2,j2,k2; /* corners of Bounding Box in lattice */
short type, flag, selcol1, selcol2;
float x, y, z; /* Position of center of MetaElem */
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 5fe9851738a..dca401f12e8 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -96,7 +96,7 @@ typedef struct ModifierData {
int type, mode;
int stackindex, pad;
- char name[32];
+ char name[64]; /* MAX_NAME */
/* XXX for timing info set by caller... solve later? (ton) */
struct Scene *scene;
@@ -117,7 +117,7 @@ typedef struct MappingInfoModifierData {
struct Tex *texture;
struct Object *map_object;
- char uvlayer_name[32];
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
int uvlayer_tmp;
int texmapping;
} MappingInfoModifierData;
@@ -134,14 +134,14 @@ typedef struct LatticeModifierData {
ModifierData modifier;
struct Object *object;
- char name[32]; /* optional vertexgroup name */
+ char name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
} LatticeModifierData;
typedef struct CurveModifierData {
ModifierData modifier;
struct Object *object;
- char name[32]; /* optional vertexgroup name */
+ char name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
short defaxis; /* axis along which curve deforms */
char pad[6];
} CurveModifierData;
@@ -166,7 +166,7 @@ typedef struct MaskModifierData {
ModifierData modifier;
struct Object *ob_arm; /* armature to use to in place of hardcoded vgroup */
- char vgroup[32]; /* name of vertex group to use to mask */
+ char vgroup[64]; /* name of vertex group to use to mask, MAX_VGROUP_NAME */
int mode; /* using armature or hardcoded vgroup */
int flag; /* flags for various things */
@@ -278,7 +278,7 @@ typedef struct BevelModifierData {
short lim_flags; /* flags to tell the tool how to limit the bevel */
short e_flags; /* flags to direct how edge weights are applied to verts */
float bevel_angle; /* if the BME_BEVEL_ANGLE is set, this will be how "sharp" an edge must be before it gets beveled */
- char defgrp_name[32]; /* if the BME_BEVEL_VWEIGHT option is set, this will be the name of the vert group */
+ char defgrp_name[64]; /* if the BME_BEVEL_VWEIGHT option is set, this will be the name of the vert group, MAX_VGROUP_NAME */
} BevelModifierData;
typedef struct BMeshModifierData {
@@ -310,16 +310,16 @@ typedef struct DisplaceModifierData {
/* keep in sync with MappingInfoModifierData */
struct Tex *texture;
struct Object *map_object;
- char uvlayer_name[32];
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
int uvlayer_tmp;
int texmapping;
- int pad10;
/* end MappingInfoModifierData */
float strength;
int direction;
- char defgrp_name[32];
+ char defgrp_name[64]; /* MAX_VGROUP_NAME */
float midlevel;
+ int pad;
} DisplaceModifierData;
/* DisplaceModifierData->direction */
@@ -336,7 +336,7 @@ enum {
MOD_DISP_MAP_LOCAL,
MOD_DISP_MAP_GLOBAL,
MOD_DISP_MAP_OBJECT,
- MOD_DISP_MAP_UV,
+ MOD_DISP_MAP_UV
};
typedef struct UVProjectModifierData {
@@ -349,7 +349,7 @@ typedef struct UVProjectModifierData {
int num_projectors;
float aspectx, aspecty;
float scalex, scaley;
- char uvlayer_name[32];
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
int uvlayer_tmp, pad;
} UVProjectModifierData;
@@ -373,7 +373,7 @@ typedef struct DecimateModifierData {
typedef struct SmoothModifierData {
ModifierData modifier;
float fac;
- char defgrp_name[32];
+ char defgrp_name[64]; /* MAX_VGROUP_NAME */
short flag, repeat;
} SmoothModifierData;
@@ -397,17 +397,10 @@ typedef struct CastModifierData {
float fac;
float radius;
float size;
- char defgrp_name[32];
+ char defgrp_name[64]; /* MAX_VGROUP_NAME */
short flag, type;
} CastModifierData;
-enum {
- MOD_WAV_MAP_LOCAL,
- MOD_WAV_MAP_GLOBAL,
- MOD_WAV_MAP_OBJECT,
- MOD_WAV_MAP_UV,
-};
-
/* WaveModifierData.flag */
#define MOD_WAVE_X (1<<1)
#define MOD_WAVE_Y (1<<2)
@@ -420,20 +413,22 @@ enum {
typedef struct WaveModifierData {
ModifierData modifier;
- struct Object *objectcenter;
- char defgrp_name[32];
+ /* keep in sync with MappingInfoModifierData */
struct Tex *texture;
struct Object *map_object;
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
+ int uvlayer_tmp;
+ int texmapping;
+ /* end MappingInfoModifierData */
+
+ struct Object *objectcenter;
+ char defgrp_name[64]; /* MAX_VGROUP_NAME */
short flag, pad;
float startx, starty, height, width;
float narrow, speed, damp, falloff;
- int texmapping, uvlayer_tmp;
-
- char uvlayer_name[32];
-
float timeoffs, lifetime;
float pad1;
} WaveModifierData;
@@ -445,14 +440,14 @@ typedef struct ArmatureModifierData {
int pad2;
struct Object *object;
float *prevCos; /* stored input of previous modifier, for vertexgroup blending */
- char defgrp_name[32];
+ char defgrp_name[64]; /* MAX_VGROUP_NAME */
} ArmatureModifierData;
typedef struct HookModifierData {
ModifierData modifier;
struct Object *object;
- char subtarget[32]; /* optional name of bone target */
+ char subtarget[64]; /* optional name of bone target, MAX_ID_NAME-2 */
float parentinv[4][4]; /* matrix making current transform unmodified */
float cent[3]; /* visualization of hook */
@@ -461,7 +456,7 @@ typedef struct HookModifierData {
int *indexar; /* if NULL, it's using vertexgroup */
int totindex;
float force;
- char name[32]; /* optional vertexgroup name */
+ char name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
} HookModifierData;
typedef struct SoftbodyModifierData {
@@ -542,7 +537,7 @@ typedef struct MeshDeformModifierData {
ModifierData modifier;
struct Object *object; /* mesh object */
- char defgrp_name[32]; /* optional vertexgroup name */
+ char defgrp_name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
short gridsize, flag, mode, pad;
@@ -618,7 +613,7 @@ typedef struct ExplodeModifierData {
int *facepa;
short flag, vgroup;
float protect;
- char uvname[32];
+ char uvname[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
} ExplodeModifierData;
typedef struct MultiresModifierData {
@@ -645,7 +640,7 @@ typedef struct ShrinkwrapModifierData {
struct Object *target; /* shrink target */
struct Object *auxTarget; /* additional shrink target */
- char vgroup_name[32]; /* optional vertexgroup name */
+ char vgroup_name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
float keepDist; /* distance offset to keep from mesh/projection point */
short shrinkType; /* shrink type projection */
short shrinkOpts; /* shrink options */
@@ -685,7 +680,7 @@ typedef struct SimpleDeformModifierData {
ModifierData modifier;
struct Object *origin; /* object to control the origin of modifier space coordinates */
- char vgroup_name[32]; /* optional vertexgroup name */
+ char vgroup_name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
float factor; /* factors to control simple deforms */
float limit[2]; /* lower and upper limit */
@@ -717,7 +712,7 @@ typedef struct ShapeKeyModifierData {
typedef struct SolidifyModifierData {
ModifierData modifier;
- char defgrp_name[32]; /* name of vertex group to use */
+ char defgrp_name[64]; /* name of vertex group to use, MAX_VGROUP_NAME */
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 */
@@ -778,8 +773,8 @@ typedef struct OceanModifierData {
int bakestart;
int bakeend;
- char cachepath[240]; // FILE_MAX
- char foamlayername[32];
+ char cachepath[1024]; // FILE_MAX
+ char foamlayername[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
char cached;
char geometry_mode;
@@ -819,22 +814,20 @@ typedef struct WarpModifierData {
/* keep in sync with MappingInfoModifierData */
struct Tex *texture;
struct Object *map_object;
- char uvlayer_name[32];
+ char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
int uvlayer_tmp;
int texmapping;
- int pad10;
/* end MappingInfoModifierData */
- float strength;
-
struct Object *object_from;
struct Object *object_to;
struct CurveMapping *curfalloff;
- char defgrp_name[32]; /* optional vertexgroup name */
+ char defgrp_name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */
+ float strength;
float falloff_radius;
char flag; /* not used yet */
char falloff_type;
- char pad[2];
+ char pad[6];
} WarpModifierData;
#define MOD_WARP_VOLUME_PRESERVE 1
@@ -857,7 +850,7 @@ typedef struct WeightVGEditModifierData {
/* Note: I tried to keep everything logically ordered - provided the
* alignment constraints... */
- char defgrp_name[32]; /* Name of vertex group to edit. */
+ char defgrp_name[64]; /* Name of vertex group to edit. MAX_VGROUP_NAME. */
short edit_flags; /* Using MOD_WVG_EDIT_* flags. */
short falloff_type; /* Using MOD_WVG_MAPPING_* defines. */
@@ -872,7 +865,7 @@ typedef struct WeightVGEditModifierData {
/* Masking options. */
float mask_constant; /* The global "influence", if no vgroup nor tex is used as mask. */
/* Name of mask vertex group from which to get weight factors. */
- char mask_defgrp_name[32];
+ char mask_defgrp_name[64]; /* MAX_VGROUP_NAME */
/* Texture masking. */
int mask_tex_use_channel; /* Which channel to use as weightf. */
@@ -880,7 +873,7 @@ typedef struct WeightVGEditModifierData {
struct Object *mask_tex_map_obj; /* Name of the map object. */
/* How to map the texture (using MOD_DISP_MAP_* constants). */
int mask_tex_mapping;
- char mask_tex_uvlayer_name[32]; /* Name of the UV map. */
+ char mask_tex_uvlayer_name[64]; /* Name of the UV map. MAX_CUSTOMDATA_LAYER_NAME */
/* Padding... */
int pad_i1;
@@ -906,8 +899,8 @@ typedef struct WeightVGMixModifierData {
/* XXX Note: I tried to keep everything logically ordered – provided the
* alignment constraints... */
- char defgrp_name_a[32]; /* Name of vertex group to modify/weight. */
- char defgrp_name_b[32]; /* Name of other vertex group to mix in. */
+ char defgrp_name_a[64]; /* Name of vertex group to modify/weight. MAX_VGROUP_NAME. */
+ char defgrp_name_b[64]; /* Name of other vertex group to mix in. MAX_VGROUP_NAME. */
float default_weight_a; /* Default weight value for first vgroup. */
float default_weight_b; /* Default weight value to mix in. */
char mix_mode; /* How second vgroups weights affect first ones */
@@ -918,14 +911,14 @@ typedef struct WeightVGMixModifierData {
/* Masking options. */
float mask_constant; /* The global "influence", if no vgroup nor tex is used as mask. */
/* Name of mask vertex group from which to get weight factors. */
- char mask_defgrp_name[32];
+ char mask_defgrp_name[64]; /* MAX_VGROUP_NAME */
/* Texture masking. */
int mask_tex_use_channel; /* Which channel to use as weightf. */
struct Tex *mask_texture; /* The texture. */
struct Object *mask_tex_map_obj; /* Name of the map object. */
int mask_tex_mapping; /* How to map the texture! */
- char mask_tex_uvlayer_name[32]; /* Name of the UV map. */
+ char mask_tex_uvlayer_name[64]; /* Name of the UV map. MAX_CUSTOMDATA_LAYER_NAME. */
/* Padding... */
int pad_i1;
@@ -953,7 +946,7 @@ typedef struct WeightVGProximityModifierData {
/* Note: I tried to keep everything logically ordered - provided the
* alignment constraints... */
- char defgrp_name[32]; /* Name of vertex group to modify/weight. */
+ char defgrp_name[64]; /* Name of vertex group to modify/weight. MAX_VGROUP_NAME. */
/* Proximity modes. */
int proximity_mode;
@@ -965,14 +958,14 @@ typedef struct WeightVGProximityModifierData {
/* Masking options. */
float mask_constant; /* The global "influence", if no vgroup nor tex is used as mask. */
/* Name of mask vertex group from which to get weight factors. */
- char mask_defgrp_name[32];
+ char mask_defgrp_name[64]; /* MAX_VGROUP_NAME */
/* Texture masking. */
int mask_tex_use_channel; /* Which channel to use as weightf. */
struct Tex *mask_texture; /* The texture. */
struct Object *mask_tex_map_obj; /* Name of the map object. */
int mask_tex_mapping; /* How to map the texture! */
- char mask_tex_uvlayer_name[32]; /* Name of the UV Map. */
+ char mask_tex_uvlayer_name[64]; /* Name of the UV Map. MAX_CUSTOMDATA_LAYER_NAME. */
float min_dist, max_dist; /* Distances mapping to 0.0/1.0 weights. */
diff --git a/source/blender/makesdna/DNA_movieclip_types.h b/source/blender/makesdna/DNA_movieclip_types.h
index 5d2f2f5978f..e5c706d2a3a 100644
--- a/source/blender/makesdna/DNA_movieclip_types.h
+++ b/source/blender/makesdna/DNA_movieclip_types.h
@@ -51,20 +51,18 @@ typedef struct MovieClipUser {
} MovieClipUser;
typedef struct MovieClipProxy {
- char dir[160]; /* custom directory for index and proxy files (defaults to BL_proxy) */
+ char dir[768]; /* custom directory for index and proxy files (defaults to BL_proxy) */
short tc; /* time code in use */
short quality; /* proxy build quality */
short build_size_flag; /* size flags (see below) of all proxies to build */
short build_tc_flag; /* time code flags (see below) of all tc indices to build */
- short build_flag, pad; /* other build flags */
- char pad2[4];
} MovieClipProxy;
typedef struct MovieClip {
ID id;
- char name[240]; /* file path */
+ char name[1024]; /* file path, 1024 = FILE_MAX */
int source; /* sequence or movie */
int lastframe; /* last accessed frame number */
@@ -98,8 +96,15 @@ typedef struct MovieClipScopes {
float slide_scale[2]; /* scale used for sliding from previewe area */
} MovieClipScopes;
-/* MovieClipProxy->build_flag */
-#define MCLIP_PROXY_BUILD_UNDISTORT 1 /* build undistorted proxies as well */
+/* MovieClipProxy->build_size_flag */
+#define MCLIP_PROXY_SIZE_25 (1<<0)
+#define MCLIP_PROXY_SIZE_50 (1<<1)
+#define MCLIP_PROXY_SIZE_75 (1<<2)
+#define MCLIP_PROXY_SIZE_100 (1<<3)
+#define MCLIP_PROXY_UNDISTORTED_SIZE_25 (1<<4)
+#define MCLIP_PROXY_UNDISTORTED_SIZE_50 (1<<5)
+#define MCLIP_PROXY_UNDISTORTED_SIZE_75 (1<<6)
+#define MCLIP_PROXY_UNDISTORTED_SIZE_100 (1<<7)
/* MovieClip->source */
#define MCLIP_SRC_SEQUENCE 1
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 757a3268df4..501ed6a316d 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -49,7 +49,7 @@ struct bGPdata;
struct uiBlock;
struct Image;
-#define NODE_MAXSTR 32
+#define NODE_MAXSTR 64
typedef struct bNodeStack {
float vec[4];
@@ -82,7 +82,7 @@ typedef struct bNodeStack {
typedef struct bNodeSocket {
struct bNodeSocket *next, *prev, *new_sock;
- char name[32];
+ char name[64]; /* MAX_NAME */
void *storage; /* custom storage */
@@ -96,19 +96,21 @@ typedef struct bNodeSocket {
/* execution data */
short stack_index; /* local stack index */
- short stack_type; /* deprecated, kept for forward compatibility */
+ /* XXX deprecated, kept for forward compatibility */
+ short stack_type DNA_DEPRECATED;
int resizemode; /* compositor resize mode of the socket */
void *cache; /* cached data from execution */
/* internal data to retrieve relations and groups */
int own_index; /* group socket identifiers, to find matching pairs after reading files */
- int to_index DNA_DEPRECATED; /* XXX deprecated, only used for restoring old group node links */
+ /* XXX deprecated, only used for restoring old group node links */
+ int to_index DNA_DEPRECATED;
struct bNodeSocket *groupsock;
struct bNodeLink *link; /* a link pointer, set in ntreeUpdateTree */
- /* DEPRECATED only needed for do_versions */
- bNodeStack ns; /* custom data for inputs, only UI writes in this */
+ /* XXX deprecated, socket input values are stored in default_value now. kept for forward compatibility */
+ bNodeStack ns DNA_DEPRECATED; /* custom data for inputs, only UI writes in this */
} bNodeSocket;
/* sock->type */
@@ -140,6 +142,8 @@ typedef struct bNodeSocket {
#define SOCK_COLLAPSED 64
/* hide socket value, if it gets auto default */
#define SOCK_HIDE_VALUE 128
+ /* socket hidden automatically, to distinguish from manually hidden */
+#define SOCK_AUTO_HIDDEN 256
typedef struct bNodePreview {
unsigned char *rect;
@@ -151,7 +155,7 @@ typedef struct bNodePreview {
typedef struct bNode {
struct bNode *next, *prev, *new_node;
- char name[32];
+ char name[64]; /* MAX_NAME */
short type, flag;
short done, level; /* both for dependency and sorting */
short lasty, menunr; /* lasty: check preview render status, menunr: browse ID blocks */
@@ -169,7 +173,7 @@ typedef struct bNode {
int update; /* update flags */
- char label[32]; /* custom user-defined label */
+ char label[64]; /* custom user-defined label, MAX_NAME */
short custom1, custom2; /* to be abused for buttons */
float custom3, custom4;
@@ -430,7 +434,7 @@ typedef struct NodeHueSat {
} NodeHueSat;
typedef struct NodeImageFile {
- char name[256];
+ char name[1024]; /* 1024 = FILE_MAX */
struct ImageFormatData im_format;
int sfra, efra;
} NodeImageFile;
@@ -452,12 +456,12 @@ typedef struct NodeTwoFloats {
} NodeTwoFloats;
typedef struct NodeGeometry {
- char uvname[32];
- char colname[32];
+ char uvname[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
+ char colname[64];
} NodeGeometry;
typedef struct NodeVertexCol {
- char name[32];
+ char name[64];
} NodeVertexCol;
/* qdn: Defocus blur node */
@@ -531,6 +535,10 @@ typedef struct NodeTexImage {
int color_space, pad;
} NodeTexImage;
+typedef struct NodeTexChecker {
+ NodeTexBase base;
+} NodeTexChecker;
+
typedef struct NodeTexEnvironment {
NodeTexBase base;
int color_space, pad;
@@ -576,7 +584,7 @@ typedef struct NodeShaderAttribute {
/* TEX_output */
typedef struct TexNodeOutput {
- char name[32];
+ char name[64];
} TexNodeOutput;
/* comp channel matte */
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h
index 022dc53848f..0651f076096 100644
--- a/source/blender/makesdna/DNA_object_fluidsim.h
+++ b/source/blender/makesdna/DNA_object_fluidsim.h
@@ -74,6 +74,9 @@ typedef struct FluidsimSettings {
float animStart, animEnd;
/* bake start end time (in blender frames) */
int bakeStart, bakeEnd;
+ /* offset for baked frames */
+ int frameOffset;
+ int pad;
/* g star param (LBM compressibility) */
float gstar;
/* activate refinement? */
@@ -89,8 +92,8 @@ typedef struct FluidsimSettings {
struct Mesh *meshBB;
/* store output path, and file prefix for baked fluid surface */
- /* strlens; 80= FILE_MAXFILE, 160= FILE_MAXDIR */
- char surfdataPath[240];
+ /* strlens; 256= FILE_MAXFILE, 768= FILE_MAXDIR */
+ char surfdataPath[1024];
/* store start coords of axis aligned bounding box together with size */
/* values are inited during derived mesh display */
@@ -140,8 +143,8 @@ typedef struct FluidsimSettings {
int lastgoodframe;
- int pad;
-
+ /* Simulation/flow rate control (i.e. old "Fac-Time") */
+ float animRate;
} FluidsimSettings;
/* ob->fluidsimSettings defines */
diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h
index 5875ff30bcc..70aeaaacd44 100644
--- a/source/blender/makesdna/DNA_object_force.h
+++ b/source/blender/makesdna/DNA_object_force.h
@@ -186,6 +186,8 @@ typedef struct PointCache {
int endframe; /* simulation end frame */
int editframe; /* frame being edited (runtime only) */
int last_exact; /* last exact frame that's cached */
+ int last_valid; /* used for editing cache - what is the last baked frame */
+ int pad;
/* for external cache files */
int totpoint; /* number of cached points */
@@ -195,7 +197,7 @@ typedef struct PointCache {
char name[64];
char prev_name[64];
char info[64];
- char path[240]; /* file path */
+ char path[1024]; /* file path, 1024 = FILE_MAX */
char *cached_frames; /* array of length endframe-startframe+1 with flags to indicate cached frames */
/* can be later used for other per frame flags too if needed */
struct ListBase mem_cache;
@@ -274,7 +276,7 @@ typedef struct SoftBody {
/* general options */
float nodemass; /* softbody mass of *vertex* */
- char namedVG_Mass[32]; /* along with it introduce mass painting
+ char namedVG_Mass[64]; /* MAX_VGROUP_NAME */ /* along with it introduce mass painting
starting to fix old bug .. nastyness that VG are indexes
rather find them by name tag to find it -> jow20090613 */
float grav; /* softbody amount of gravitaion to apply */
@@ -289,7 +291,7 @@ typedef struct SoftBody {
float maxgoal;
float defgoal; /* default goal for vertices without vgroup */
short vertgroup; /* index starting at 1 */
- char namedVG_Softgoal[32]; /* starting to fix old bug .. nastyness that VG are indexes
+ char namedVG_Softgoal[64]; /* MAX_VGROUP_NAME */ /* starting to fix old bug .. nastyness that VG are indexes
rather find them by name tag to find it -> jow20090613 */
short fuzzyness; /* */
@@ -297,7 +299,7 @@ typedef struct SoftBody {
/* springs */
float inspring; /* softbody inner springs */
float infrict; /* softbody inner springs friction */
- char namedVG_Spring_K[32]; /* along with it introduce Spring_K painting
+ char namedVG_Spring_K[64]; /* MAX_VGROUP_NAME */ /* along with it introduce Spring_K painting
starting to fix old bug .. nastyness that VG are indexes
rather find them by name tag to find it -> jow20090613 */
@@ -337,8 +339,8 @@ typedef struct SoftBody {
float lcom[3];
float lrot[3][3];
float lscale[3][3];
- char pad4[4];
+ int last_frame;
} SoftBody;
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 7f1239195ec..b8580b47269 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -61,11 +61,11 @@ struct bGPdata;
/* Vertex Groups - Name Info */
typedef struct bDeformGroup {
struct bDeformGroup *next, *prev;
- char name[32];
+ char name[64]; /* MAX_VGROUP_NAME */
/* need this flag for locking weights */
char flag, pad[7];
} bDeformGroup;
-#define MAX_VGROUP_NAME 32
+#define MAX_VGROUP_NAME 64
/* bDeformGroup->flag */
#define DG_LOCK_WEIGHT 1
@@ -107,7 +107,7 @@ typedef struct Object {
short type, partype;
int par1, par2, par3; /* can be vertexnrs */
- char parsubstr[32]; /* String describing subobject info */
+ char parsubstr[64]; /* String describing subobject info, MAX_ID_NAME-2 */
struct Object *parent, *track;
/* if ob->proxy (or proxy_group), this object is proxy for object ob->proxy */
/* proxy_from is set in target back to the proxy. */
@@ -273,7 +273,7 @@ typedef struct ObHook {
float cent[3]; /* visualization of hook */
float falloff; /* if not zero, falloff is distance where influence zero */
- char name[32];
+ char name[64]; /* MAX_NAME */
int *indexar;
int totindex, curindex; /* curindex is cache for fast lookup */
diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h
index 07efd17df7f..4c3279c6527 100644
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@ -261,7 +261,7 @@ typedef struct ParticleSystem
struct ListBase targets; /* used for keyed and boid physics */
- char name[32]; /* particle system name */
+ char name[64]; /* particle system name, MAX_NAME */
float imat[4][4]; /* used for duplicators */
float cfra, tree_frame, bvhtree_frame;
@@ -269,7 +269,7 @@ typedef struct ParticleSystem
int flag, totpart, totunexist, totchild, totcached, totchildcache;
short recalc, target_psys, totkeyed, bakespace;
- char bb_uvname[3][32]; /* billboard uv name */
+ char bb_uvname[3][64]; /* billboard uv name, MAX_CUSTOMDATA_LAYER_NAME */
/* if you change these remember to update array lengths to PSYS_TOT_VG! */
short vgroup[12], vg_neg, rt3; /* vertex groups, 0==disable, 1==starting index */
diff --git a/source/blender/makesdna/DNA_property_types.h b/source/blender/makesdna/DNA_property_types.h
index e74ae41a421..a36e362632b 100644
--- a/source/blender/makesdna/DNA_property_types.h
+++ b/source/blender/makesdna/DNA_property_types.h
@@ -43,7 +43,7 @@
typedef struct bProperty {
struct bProperty *next, *prev;
- char name[32];
+ char name[64]; /* MAX_NAME */
short type, flag;
int data; /* data should be 4 bytes to store int,float stuff */
void *poin; /* references data unless its a string which is malloc'd */
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 9b49bc53ef3..1f42118dbc0 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -59,6 +59,10 @@ struct SceneStats;
struct bGPdata;
struct MovieClip;
+/* ************************************************************* */
+/* Scene Data */
+
+/* Base - Wrapper for referencing Objects in a Scene */
typedef struct Base {
struct Base *next, *prev;
unsigned int lay, selcol;
@@ -67,6 +71,9 @@ typedef struct Base {
struct Object *object;
} Base;
+/* ************************************************************* */
+/* Output Format Data */
+
typedef struct AviCodecData {
void *lpFormat; /* save format */
void *lpParms; /* compressor options */
@@ -142,6 +149,8 @@ typedef struct FFMpegCodecData {
IDProperty *properties;
} FFMpegCodecData;
+/* ************************************************************* */
+/* Audio */
typedef struct AudioData {
int mixrate; // 2.5: now in FFMpegCodecData: audio_mixrate
@@ -155,10 +164,14 @@ typedef struct AudioData {
float pad2;
} AudioData;
+/* *************************************************************** */
+/* Render Layers */
+
+/* Render Layer */
typedef struct SceneRenderLayer {
struct SceneRenderLayer *next, *prev;
- char name[32];
+ char name[64]; /* MAX_NAME */
struct Material *mat_override;
struct Group *light_override;
@@ -189,28 +202,38 @@ typedef struct SceneRenderLayer {
#define SCE_LAY_NEG_ZMASK 0x80000
/* srl->passflag */
-#define SCE_PASS_COMBINED (1<<0)
-#define SCE_PASS_Z (1<<1)
-#define SCE_PASS_RGBA (1<<2)
-#define SCE_PASS_DIFFUSE (1<<3)
-#define SCE_PASS_SPEC (1<<4)
-#define SCE_PASS_SHADOW (1<<5)
-#define SCE_PASS_AO (1<<6)
-#define SCE_PASS_REFLECT (1<<7)
-#define SCE_PASS_NORMAL (1<<8)
-#define SCE_PASS_VECTOR (1<<9)
-#define SCE_PASS_REFRACT (1<<10)
-#define SCE_PASS_INDEXOB (1<<11)
-#define SCE_PASS_UV (1<<12)
-#define SCE_PASS_INDIRECT (1<<13)
-#define SCE_PASS_MIST (1<<14)
-#define SCE_PASS_RAYHITS (1<<15)
-#define SCE_PASS_EMIT (1<<16)
-#define SCE_PASS_ENVIRONMENT (1<<17)
-#define SCE_PASS_INDEXMA (1<<18)
+#define SCE_PASS_COMBINED (1<<0)
+#define SCE_PASS_Z (1<<1)
+#define SCE_PASS_RGBA (1<<2)
+#define SCE_PASS_DIFFUSE (1<<3)
+#define SCE_PASS_SPEC (1<<4)
+#define SCE_PASS_SHADOW (1<<5)
+#define SCE_PASS_AO (1<<6)
+#define SCE_PASS_REFLECT (1<<7)
+#define SCE_PASS_NORMAL (1<<8)
+#define SCE_PASS_VECTOR (1<<9)
+#define SCE_PASS_REFRACT (1<<10)
+#define SCE_PASS_INDEXOB (1<<11)
+#define SCE_PASS_UV (1<<12)
+#define SCE_PASS_INDIRECT (1<<13)
+#define SCE_PASS_MIST (1<<14)
+#define SCE_PASS_RAYHITS (1<<15)
+#define SCE_PASS_EMIT (1<<16)
+#define SCE_PASS_ENVIRONMENT (1<<17)
+#define SCE_PASS_INDEXMA (1<<18)
+#define SCE_PASS_DIFFUSE_DIRECT (1<<19)
+#define SCE_PASS_DIFFUSE_INDIRECT (1<<20)
+#define SCE_PASS_DIFFUSE_COLOR (1<<21)
+#define SCE_PASS_GLOSSY_DIRECT (1<<22)
+#define SCE_PASS_GLOSSY_INDIRECT (1<<23)
+#define SCE_PASS_GLOSSY_COLOR (1<<24)
+#define SCE_PASS_TRANSM_DIRECT (1<<25)
+#define SCE_PASS_TRANSM_INDIRECT (1<<26)
+#define SCE_PASS_TRANSM_COLOR (1<<27)
/* note, srl->passflag is treestore element 'nr' in outliner, short still... */
+/* *************************************************************** */
/* Generic image format settings,
* this is used for NodeImageFile and IMAGE_OT_save_as operator too.
@@ -314,6 +337,9 @@ typedef struct ImageFormatData {
/* ImageFormatData.cineon_flag */
#define R_IMF_CINEON_FLAG_LOG (1<<0) /* was R_CINEON_LOG */
+/* *************************************************************** */
+/* Render Data */
+
typedef struct RenderData {
struct ImageFormatData im_format;
@@ -454,14 +480,14 @@ typedef struct RenderData {
float bake_maxdist, bake_biasdist, bake_pad;
/* path to render output */
- char pic[240];
+ char pic[1024]; /* 1024 = FILE_MAX */
/* stamps flags. */
int stamp;
short stamp_font_id, pad3; /* select one of blenders bitmap fonts */
/* stamp info user data. */
- char stamp_udata[160];
+ char stamp_udata[768];
/* foreground/background color. */
float fg_stamp[4];
@@ -499,6 +525,9 @@ typedef struct RenderData {
char engine[32];
} RenderData;
+/* *************************************************************** */
+/* Render Conversion/Simplfication Settings */
+
/* control render convert and shading engine */
typedef struct RenderProfile {
struct RenderProfile *next, *prev;
@@ -513,6 +542,9 @@ typedef struct RenderProfile {
} RenderProfile;
+/* *************************************************************** */
+/* Game Engine - Dome */
+
typedef struct GameDome {
short res, mode;
short angle, tilt;
@@ -527,6 +559,9 @@ typedef struct GameDome {
#define DOME_PANORAM_SPH 5
#define DOME_NUM_MODES 6
+/* *************************************************************** */
+/* Game Engine */
+
typedef struct GameFraming {
float col[3];
char type, pad1, pad2, pad3;
@@ -557,8 +592,9 @@ typedef struct GameData {
/* standalone player */
struct GameFraming framing;
- short fullscreen, xplay, yplay, freqplay;
+ short playerflag, xplay, yplay, freqplay;
short depth, attrib, rt1, rt2;
+ short aasamples, pad4[3];
/* stereo/dome mode */
struct GameDome dome;
@@ -635,12 +671,29 @@ typedef struct GameData {
#define GAME_SHOW_OBSTACLE_SIMULATION (1 << 16)
/* Note: GameData.flag is now an int (max 32 flags). A short could only take 16 flags */
+/* GameData.playerflag */
+#define GAME_PLAYER_FULLSCREEN (1 << 0)
+#define GAME_PLAYER_DESKTOP_RESOLUTION (1 << 1)
+
/* GameData.matmode */
#define GAME_MAT_TEXFACE 0
#define GAME_MAT_MULTITEX 1
#define GAME_MAT_GLSL 2
-typedef struct TimeMarker {
+/* UV Paint */
+#define UV_SCULPT_LOCK_BORDERS 1
+#define UV_SCULPT_ALL_ISLANDS 2
+
+#define UV_SCULPT_TOOL_PINCH 1
+#define UV_SCULPT_TOOL_RELAX 2
+#define UV_SCULPT_TOOL_GRAB 3
+
+#define UV_SCULPT_TOOL_RELAX_LAPLACIAN 1
+#define UV_SCULPT_TOOL_RELAX_HC 2
+
+/* Markers */
+
+typedef struct TimeMarker {
struct TimeMarker *next, *prev;
int frame;
char name[64];
@@ -648,6 +701,10 @@ typedef struct TimeMarker {
struct Object *camera;
} TimeMarker;
+/* *************************************************************** */
+/* Paint Mode/Tool Data */
+
+/* Paint Tool Base */
typedef struct Paint {
struct Brush *brush;
@@ -658,6 +715,10 @@ typedef struct Paint {
int flags;
} Paint;
+/* ------------------------------------------- */
+/* Image Paint */
+
+/* Texture/Image Editor */
typedef struct ImagePaintSettings {
Paint paint;
@@ -672,6 +733,10 @@ typedef struct ImagePaintSettings {
void *paintcursor; /* wm handle */
} ImagePaintSettings;
+/* ------------------------------------------- */
+/* Particle Edit */
+
+/* Settings for a Particle Editing Brush */
typedef struct ParticleBrushData {
short size; /* common setting */
short step, invert, count; /* for specific brushes only */
@@ -679,6 +744,7 @@ typedef struct ParticleBrushData {
float strength;
} ParticleBrushData;
+/* Particle Edit Mode Settings */
typedef struct ParticleEditSettings {
short flag;
short totrekey;
@@ -699,12 +765,10 @@ typedef struct ParticleEditSettings {
struct Object *object;
} ParticleEditSettings;
-typedef struct TransformOrientation {
- struct TransformOrientation *next, *prev;
- char name[36];
- float mat[3][3];
-} TransformOrientation;
+/* ------------------------------------------- */
+/* Sculpt */
+/* Sculpt */
typedef struct Sculpt {
Paint paint;
@@ -735,6 +799,13 @@ typedef struct Sculpt {
int pad;
} Sculpt;
+typedef struct UvSculpt {
+ Paint paint;
+} UvSculpt;
+/* ------------------------------------------- */
+/* Vertex Paint */
+
+/* Vertex Paint */
typedef struct VPaint {
Paint paint;
@@ -748,18 +819,65 @@ typedef struct VPaint {
/* VPaint flag */
#define VP_COLINDEX 1
-#define VP_AREA 2
+#define VP_AREA 2 /* vertex paint only */
#define VP_NORMALS 8
#define VP_SPRAY 16
// #define VP_MIRROR_X 32 // deprecated in 2.5x use (me->editflag & ME_EDIT_MIRROR_X)
-#define VP_ONLYVGROUP 128
+#define VP_ONLYVGROUP 128 /* weight paint only */
+
+/* *************************************************************** */
+/* Transform Orientations */
+
+typedef struct TransformOrientation {
+ struct TransformOrientation *next, *prev;
+ char name[64]; /* MAX_NAME */
+ float mat[3][3];
+ int pad;
+} TransformOrientation;
+
+/* *************************************************************** */
+/* Unified Paint Settings */
+
+/* These settings can override the equivalent fields in the active
+ Brush for any paint mode; the flag field controls whether these
+ values are used */
+typedef struct UnifiedPaintSettings {
+ /* unified radius of brush in pixels */
+ int size;
+
+ /* unified radius of brush in Blender units */
+ float unprojected_radius;
+
+ /* unified strength of brush */
+ float alpha;
+
+ /* user preferences for sculpt and paint */
+ int flag;
+} UnifiedPaintSettings;
+
+typedef enum {
+ UNIFIED_PAINT_SIZE = (1<<0),
+ UNIFIED_PAINT_ALPHA = (1<<1),
+
+ /* only used if unified size is enabled, mirros the brush flags
+ BRUSH_LOCK_SIZE and BRUSH_SIZE_PRESSURE */
+ UNIFIED_PAINT_BRUSH_LOCK_SIZE = (1<<2),
+ UNIFIED_PAINT_BRUSH_SIZE_PRESSURE = (1<<3),
+ /* only used if unified alpha is enabled, mirrors the brush flag
+ BRUSH_ALPHA_PRESSURE */
+ UNIFIED_PAINT_BRUSH_ALPHA_PRESSURE = (1<<4)
+} UnifiedPaintSettingsFlags;
+
+/* *************************************************************** */
+/* Tool Settings */
typedef struct ToolSettings {
VPaint *vpaint; /* vertex paint */
VPaint *wpaint; /* weight paint */
Sculpt *sculpt;
+ UvSculpt *uvsculpt; /* uv smooth */
/* Vertex groups */
float vgroup_weight;
@@ -799,7 +917,7 @@ typedef struct ToolSettings {
short uvcalc_mapalign;
short uvcalc_flag;
short uv_flag, uv_selectmode;
- short uv_pad;
+ short uv_subsurf_level;
/* Grease Pencil */
short gpencil_flags;
@@ -825,13 +943,9 @@ typedef struct ToolSettings {
/* Auto-Keying Mode */
short autokey_mode, autokey_flag; /* defines in DNA_userdef_types.h */
- /* Retopo */
- char retopo_mode;
- char retopo_paint_tool;
- char line_div, ellipse_div, retopo_hotspot;
-
/* Multires */
char multires_subdiv_type;
+ char pad2[5];
/* Skeleton generation */
short skgen_resolution;
@@ -875,33 +989,56 @@ typedef struct ToolSettings {
char auto_normalize; /*auto normalizing mode in wpaint*/
char multipaint; /* paint multiple bones in wpaint */
- short sculpt_paint_settings; /* user preferences for sculpt and paint */
- short pad1;
- int sculpt_paint_unified_size; /* unified radius of brush in pixels */
- float sculpt_paint_unified_unprojected_radius;/* unified radius of brush in Blender units */
- float sculpt_paint_unified_alpha; /* unified strength of brush */
+ /* UV painting */
+ int use_uv_sculpt;
+ int uv_sculpt_settings;
+ int uv_sculpt_tool;
+ int uv_relax_method;
+ /* XXX: these sculpt_paint_* fields are deprecated, use the
+ unified_paint_settings field instead! */
+ short sculpt_paint_settings DNA_DEPRECATED; short pad1;
+ int sculpt_paint_unified_size DNA_DEPRECATED;
+ float sculpt_paint_unified_unprojected_radius DNA_DEPRECATED;
+ float sculpt_paint_unified_alpha DNA_DEPRECATED;
+
+ /* Unified Paint Settings */
+ struct UnifiedPaintSettings unified_paint_settings;
} ToolSettings;
+/* *************************************************************** */
+/* Assorted Scene Data */
+
+/* ------------------------------------------- */
+/* Stats (show in Info header) */
+
typedef struct bStats {
/* scene totals for visible layers */
int totobj, totlamp, totobjsel, totcurve, totmesh, totarmature;
int totvert, totface;
} bStats;
+/* ------------------------------------------- */
+/* Unit Settings */
+
typedef struct UnitSettings {
/* Display/Editing unit options for each scene */
float scale_length; /* maybe have other unit conversions? */
char system; /* imperial, metric etc */
char system_rotation; /* not implimented as a propper unit system yet */
short flag;
-
} UnitSettings;
+/* ------------------------------------------- */
+/* Global/Common Physics Settings */
+
typedef struct PhysicsSettings {
float gravity[3];
int flag, quick_cache_step, rt;
} PhysicsSettings;
+/* *************************************************************** */
+/* Scene ID-Block */
+
typedef struct Scene {
ID id;
struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
@@ -959,7 +1096,7 @@ typedef struct Scene {
/* User-Defined KeyingSets */
int active_keyingset; /* index of the active KeyingSet. first KeyingSet has index 1, 'none' active is 0, 'add new' is -1 */
- ListBase keyingsets; /* KeyingSets for the given frame */
+ ListBase keyingsets; /* KeyingSets for this scene */
/* Game Settings */
struct GameFraming framing DNA_DEPRECATED; // XXX deprecated since 2.5
@@ -1270,6 +1407,7 @@ typedef struct Scene {
#define FFMPEG_MULTIPLEX_AUDIO 1 /* deprecated, you can choose none as audiocodec now */
#define FFMPEG_AUTOSPLIT_OUTPUT 2
+#define FFMPEG_LOSSLESS_OUTPUT 4
/* Paint.flags */
typedef enum {
@@ -1292,13 +1430,6 @@ typedef enum SculptFlags {
SCULPT_ONLY_DEFORM = (1<<8),
} SculptFlags;
-/* sculpt_paint_settings */
-#define SCULPT_PAINT_USE_UNIFIED_SIZE (1<<0)
-#define SCULPT_PAINT_USE_UNIFIED_ALPHA (1<<1)
-#define SCULPT_PAINT_UNIFIED_LOCK_BRUSH_SIZE (1<<2)
-#define SCULPT_PAINT_UNIFIED_SIZE_PRESSURE (1<<3)
-#define SCULPT_PAINT_UNIFIED_ALPHA_PRESSURE (1<<4)
-
/* ImagePaintSettings.flag */
#define IMAGEPAINT_DRAWING 1
// #define IMAGEPAINT_DRAW_TOOL 2 // deprecated
@@ -1317,6 +1448,7 @@ typedef enum SculptFlags {
#define UVCALC_FILLHOLES 1
#define UVCALC_NO_ASPECT_CORRECT 2 /* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */
#define UVCALC_TRANSFORM_CORRECT 4 /* adjust UV's while transforming to avoid distortion */
+#define UVCALC_USESUBSURF 8 /* Use mesh data after subsurf to compute UVs*/
/* toolsettings->uv_flag */
#define UV_SYNC_SELECTION 1
@@ -1369,15 +1501,6 @@ typedef enum SculptFlags {
#define PE_TYPE_SOFTBODY 1
#define PE_TYPE_CLOTH 2
-/* toolsettings->retopo_mode */
-#define RETOPO 1
-#define RETOPO_PAINT 2
-
-/* toolsettings->retopo_paint_tool */ /*UNUSED*/
-/* #define RETOPO_PEN 1 */
-/* #define RETOPO_LINE 2 */
-/* #define RETOPO_ELLIPSE 4 */
-
/* toolsettings->skgen_options */
#define SKGEN_FILTER_INTERNAL (1 << 0)
#define SKGEN_FILTER_EXTERNAL (1 << 1)
diff --git a/source/blender/makesdna/DNA_sensor_types.h b/source/blender/makesdna/DNA_sensor_types.h
index e7444b06898..80f19b30079 100644
--- a/source/blender/makesdna/DNA_sensor_types.h
+++ b/source/blender/makesdna/DNA_sensor_types.h
@@ -40,7 +40,7 @@ struct Material;
/* ****************** SENSORS ********************* */
typedef struct bNearSensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
float dist, resetdist;
int lastval, pad;
} bNearSensor;
@@ -59,7 +59,7 @@ typedef struct bMouseSensor {
} bMouseSensor;
typedef struct bTouchSensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
struct Material *ma;
float dist, pad;
} bTouchSensor;
@@ -70,25 +70,25 @@ typedef struct bKeyboardSensor {
/**
* Name of the target property
*/
- char targetName[32];
+ char targetName[64]; /* MAX_NAME */
/**
* Name of the toggle property
*/
- char toggleName[32];
+ char toggleName[64]; /* MAX_NAME */
} bKeyboardSensor;
typedef struct bPropertySensor {
int type;
int pad;
- char name[32];
- char value[32];
- char maxvalue[32];
+ char name[64]; /* MAX_NAME */
+ char value[64];
+ char maxvalue[64];
} bPropertySensor;
typedef struct bActuatorSensor {
int type;
int pad;
- char name[32];
+ char name[64]; /* MAX_NAME */
} bActuatorSensor;
typedef struct bDelaySensor {
@@ -99,8 +99,8 @@ typedef struct bDelaySensor {
} bDelaySensor;
typedef struct bCollisionSensor {
- char name[32]; /* property name */
- char materialName[32]; /* material */
+ char name[64]; /* property name. MAX_NAME */
+ char materialName[64]; /* material */
// struct Material *ma; // XXX remove materialName
short damptimer, damp;
short mode; /* flag to choose material or property */
@@ -108,23 +108,23 @@ typedef struct bCollisionSensor {
} bCollisionSensor;
typedef struct bRadarSensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
float angle;
float range;
short flag, axis;
} bRadarSensor;
typedef struct bRandomSensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
int seed;
int delay;
} bRandomSensor;
typedef struct bRaySensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
float range;
- char propname[32];
- char matname[32];
+ char propname[64];
+ char matname[64];
//struct Material *ma; // XXX remove materialName
short mode;
short pad1;
@@ -132,8 +132,8 @@ typedef struct bRaySensor {
} bRaySensor;
typedef struct bArmatureSensor {
- char posechannel[32];
- char constraint[32];
+ char posechannel[64]; /* MAX_NAME */
+ char constraint[64]; /* MAX_NAME */
int type;
float value;
} bArmatureSensor;
@@ -147,12 +147,12 @@ typedef struct bMessageSensor {
/**
* Can be used to filter on subjects like this
*/
- char subject[32];
+ char subject[64];
/**
* (Possible future use) body to filter on
*/
- char body[32];
+ char body[64];
} bMessageSensor;
typedef struct bSensor {
@@ -160,7 +160,7 @@ typedef struct bSensor {
/* pulse and freq are the bool toggle and frame count for pulse mode */
short type, otype, flag, pulse;
short freq, totlinks, pad1, pad2;
- char name[32];
+ char name[64]; /* MAX_NAME */
void *data;
struct bController **links;
@@ -175,7 +175,7 @@ typedef struct bSensor {
} bSensor;
typedef struct bJoystickSensor {
- char name[32];
+ char name[64]; /* MAX_NAME */
char type;
char joyindex;
short flag;
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index aab20dbeee1..20399e541d7 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -41,10 +41,10 @@ struct Ipo;
struct Scene;
struct bSound;
-/* strlens; 80= FILE_MAXFILE, 160= FILE_MAXDIR */
+/* strlens; 256= FILE_MAXFILE, 768= FILE_MAXDIR */
typedef struct StripElem {
- char name[80];
+ char name[256];
int orig_width, orig_height;
} StripElem;
@@ -71,10 +71,10 @@ typedef struct StripColorBalance {
} StripColorBalance;
typedef struct StripProxy {
- char dir[160]; // custom directory for index and proxy files
+ char dir[768]; // custom directory for index and proxy files
// (defaults to BL_proxy)
- char file[80]; // custom file
+ char file[256]; // custom file
struct anim *anim; // custom proxy anim file
short tc; // time code in use
@@ -91,7 +91,7 @@ typedef struct Strip {
int rt, len, us, done;
int startstill, endstill;
StripElem *stripdata;
- char dir[160];
+ char dir[768];
StripProxy *proxy;
StripCrop *crop;
StripTransform *transform;
@@ -100,7 +100,7 @@ typedef struct Strip {
typedef struct PluginSeq {
- char name[256];
+ char name[1024]; /* 1024 = FILE_MAX */
void *handle;
char *pname;
@@ -127,7 +127,7 @@ typedef struct Sequence {
struct Sequence *next, *prev;
void *tmp; /* tmp var for copying, and tagging for linked selection */
void *lib; /* needed (to be like ipo), else it will raise libdata warnings, this should never be used */
- char name[24]; /* SEQ_NAME_MAXSTR - name, set by default and needs to be unique, for RNA paths */
+ char name[64]; /* SEQ_NAME_MAXSTR - name, set by default and needs to be unique, for RNA paths */
int flag, type; /*flags bitmap (see below) and the type of sequence*/
int len; /* the length of the contense of this strip - before handles are applied */
@@ -191,8 +191,8 @@ typedef struct Editing {
/* Context vars, used to be static */
Sequence *act_seq;
- char act_imagedir[256];
- char act_sounddir[256];
+ char act_imagedir[1024]; /* 1024 = FILE_MAX */
+ char act_sounddir[1024]; /* 1024 = FILE_MAX */
int over_ofs, over_cfra;
int over_flag, pad;
@@ -255,7 +255,7 @@ typedef struct SpeedControlVars {
#define SEQ_SPEED_COMPRESS_IPO_Y 4
/* ***************** SEQUENCE ****************** */
-#define SEQ_NAME_MAXSTR 24
+#define SEQ_NAME_MAXSTR 64
/* seq->flag */
#define SEQ_LEFTSEL (1<<1)
@@ -353,7 +353,7 @@ typedef struct SpeedControlVars {
*/
-#define SEQ_HAS_PATH(_seq) (ELEM5((_seq)->type, SEQ_MOVIE, SEQ_IMAGE, SEQ_SOUND, SEQ_RAM_SOUND, SEQ_HD_SOUND))
+#define SEQ_HAS_PATH(_seq) (ELEM4((_seq)->type, SEQ_MOVIE, SEQ_IMAGE, SEQ_RAM_SOUND, SEQ_HD_SOUND))
#endif
diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h
index ed764c4f644..753f1374774 100644
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@ -138,7 +138,8 @@ typedef struct SmokeFlowSettings {
typedef struct SmokeCollSettings {
struct SmokeModifierData *smd; /* for fast RNA access */
struct BVHTree *bvhtree; /* bounding volume hierarchy for this cloth object */
- struct DerivedMesh *dm;
+
+// struct DerivedMesh *dm; // UNUSED, ifdef'd in code for now.
float *points;
float *points_old;
float *vel;
diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h
index f530730a544..1dab9effa9e 100644
--- a/source/blender/makesdna/DNA_sound_types.h
+++ b/source/blender/makesdna/DNA_sound_types.h
@@ -49,7 +49,7 @@ typedef struct bSound {
/**
* The path to the sound file.
*/
- char name[240];
+ char name[1024]; /* 1024 = FILE_MAX */
/**
* The packed file.
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index d502e56bf10..06138bc0757 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -133,8 +133,6 @@ typedef struct SpaceButs {
float blockscale DNA_DEPRECATED;
short blockhandler[8] DNA_DEPRECATED;
-
- struct RenderInfo *ri;
View2D v2d DNA_DEPRECATED; /* deprecated, copied to region */
@@ -176,10 +174,11 @@ typedef struct SpaceSeq {
typedef struct FileSelectParams {
char title[32]; /* title, also used for the text of the execute button */
- char dir[240]; /* directory */
- char file[80]; /* file */
- char renamefile[80];
- char renameedit[80]; /* annoying but the first is only used for initialization */
+ char dir[1056]; /* directory, FILE_MAX_LIBEXTRA, 1024 + 32, this is for extreme case when 1023 length path
+ * needs to be linked in, where foo.blend/Armature need adding */
+ char file[256]; /* file */
+ char renamefile[256];
+ char renameedit[256]; /* annoying but the first is only used for initialization */
char filter_glob[64]; /* list of filetypes to filter */
@@ -345,8 +344,9 @@ typedef struct Script {
void *py_globaldict;
int flags, lastspace;
- char scriptname[256]; /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
- char scriptarg[256];
+ /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
+ char scriptname[1024]; /* 1024 = FILE_MAX */
+ char scriptarg[256]; /* 1024 = FILE_MAX */
} Script;
#define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0;
@@ -518,6 +518,9 @@ typedef struct SpaceClip {
int pad;
float stabmat[4][4], unistabmat[4][4]; /* current stabilization matrix and the same matrix in unified space,
defined when drawing and used for mouse position calculation */
+
+ /* movie postprocessing */
+ int postproc_flag, pad2;
} SpaceClip;
/* view3d Now in DNA_view3d_types.h */
@@ -605,7 +608,8 @@ typedef struct SpaceClip {
/* FileSelectParams.display */
enum FileDisplayTypeE {
- FILE_SHORTDISPLAY = 1,
+ FILE_DEFAULTDISPLAY = 0,
+ FILE_SHORTDISPLAY,
FILE_LONGDISPLAY,
FILE_IMGDISPLAY
};
@@ -621,9 +625,11 @@ enum FileSortTypeE {
/* these values need to be hardcoded in structs, dna does not recognize defines */
/* also defined in BKE */
-#define FILE_MAXDIR 160
-#define FILE_MAXFILE 80
-#define FILE_MAX 240
+#define FILE_MAXDIR 768
+#define FILE_MAXFILE 256
+#define FILE_MAX 1024
+
+#define FILE_MAX_LIBEXTRA (FILE_MAX + 32)
/* filesel types */
#define FILE_UNIX 8
@@ -894,7 +900,8 @@ enum {
#define SC_SHOW_FILTERS (1<<13)
#define SC_SHOW_GRAPH_FRAMES (1<<14)
#define SC_SHOW_GRAPH_TRACKS (1<<15)
-#define SC_SHOW_PYRAMID_LEVELS (1<<16)
+#define SC_SHOW_PYRAMID_LEVELS (1<<16)
+#define SC_LOCK_TIMECURSOR (1<<17)
/* SpaceClip->mode */
#define SC_MODE_TRACKING 0
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index 82ffa82cf60..de844fd2d7f 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -60,7 +60,7 @@ typedef struct MTex {
short texco, mapto, maptoneg, blendtype;
struct Object *object;
struct Tex *tex;
- char uvname[32];
+ char uvname[64]; /* MAX_CUSTOMDATA_LAYER_NAME */
char projx, projy, projz, mapping;
float ofs[3], size[3], rot;
@@ -105,7 +105,7 @@ typedef unsigned short dna_ushort_fix;
#endif
typedef struct PluginTex {
- char name[160];
+ char name[1024];
void *handle;
char *pname;
@@ -200,7 +200,7 @@ typedef struct VoxelData {
struct Object *object; /* for rendering smoke sims */
float int_multiplier;
int still_frame;
- char source_path[240];
+ char source_path[1024]; /* 1024 = FILE_MAX */
/* temporary data */
float *dataset;
diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h
index 131c540ac47..1b41131c07d 100644
--- a/source/blender/makesdna/DNA_tracking_types.h
+++ b/source/blender/makesdna/DNA_tracking_types.h
@@ -75,7 +75,7 @@ typedef struct MovieTrackingMarker {
typedef struct MovieTrackingTrack {
struct MovieTrackingTrack *next, *prev;
- char name[24];
+ char name[64]; /* MAX_NAME */
/* ** setings ** */
float pat_min[2], pat_max[2]; /* positions of left-bottom and right-top corners of pattern (in unified 0..1 space) */
@@ -91,12 +91,8 @@ typedef struct MovieTrackingTrack {
float bundle_pos[3]; /* reconstructed position */
float error; /* average track reprojection error */
- int pad;
-
/* ** UI editing ** */
int flag, pat_flag, search_flag; /* flags (selection, ...) */
- short transflag; /* transform flags */
- char pad3[2];
float color[3]; /* custom color for track */
/* tracking algorithm to use; can be KLT or SAD */
@@ -125,6 +121,9 @@ typedef struct MovieTrackingSettings {
short default_frames_limit; /* number of frames to be tarcked during single tracking session (if TRACKING_FRAMES_LIMIT is set) */
short default_margin; /* margin from frame boundaries */
short default_pattern_match; /* re-adjust every N frames */
+ short default_flag; /* default flags like color channels used by default */
+
+ short pod;
/* ** common tracker settings ** */
short speed; /* speed of tracking */
@@ -133,7 +132,7 @@ typedef struct MovieTrackingSettings {
int keyframe1, keyframe2; /* two keyframes for reconstrution initialization */
/* ** which camera intrinsics to refine. uses on the REFINE_* flags */
- short refine_camera_intrinsics, pad2;
+ short refine_camera_intrinsics, pad23;
/* ** tool settings ** */
@@ -146,6 +145,8 @@ typedef struct MovieTrackingSettings {
/* set object scale */
float object_distance; /* distance between two bundles used for object scaling */
+
+ int pad3;
} MovieTrackingSettings;
typedef struct MovieTrackingStabilization {
@@ -178,7 +179,7 @@ typedef struct MovieTrackingReconstruction {
typedef struct MovieTrackingObject {
struct MovieTrackingObject *next, *prev;
- char name[24]; /* Name of tracking object */
+ char name[64]; /* Name of tracking object, MAX_NAME */
int flag;
float scale; /* scale of object solution in amera space */
@@ -213,7 +214,8 @@ enum {
/* MovieTrackingMarker->flag */
#define MARKER_DISABLED (1<<0)
#define MARKER_TRACKED (1<<1)
-#define MARKER_GRAPH_SEL (1<<2)
+#define MARKER_GRAPH_SEL_X (1<<2)
+#define MARKER_GRAPH_SEL_Y (1<<3)
/* MovieTrackingTrack->flag */
#define TRACK_HAS_BUNDLE (1<<1)
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index b3398460500..405e1e33720 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -60,7 +60,7 @@ struct ColorBand;
/* first font is the default (index 0), others optional */
typedef struct uiFont {
struct uiFont *next, *prev;
- char filename[256];
+ char filename[1024];/* 1024 = FILE_MAX */
short blf_id; /* from blfont lib */
short uifont_id; /* own id */
short r_to_l; /* fonts that read from left to right */
@@ -158,7 +158,7 @@ typedef struct ThemeUI {
uiPanelColors panel;
- char iconfile[80]; // FILE_MAXFILE length
+ char iconfile[256]; // FILE_MAXFILE length
float icon_alpha;
float pad;
@@ -252,7 +252,15 @@ typedef struct ThemeSpace {
char hpad[7];
char preview_back[4];
-
+ char preview_stitch_face[4];
+ char preview_stitch_edge[4];
+ char preview_stitch_vert[4];
+ char preview_stitch_stitchable[4];
+ char preview_stitch_unstitchable[4];
+ char preview_stitch_active[4];
+
+ char match[4]; /* outliner - filter match */
+ char selected_highlight[4]; /* outliner - selected item */
} ThemeSpace;
@@ -318,16 +326,16 @@ typedef struct SolidLight {
typedef struct UserDef {
int flag, dupflag;
int savetime;
- char tempdir[160]; // FILE_MAXDIR length
- char fontdir[160];
- char renderdir[240]; // FILE_MAX length
- char textudir[160];
- char plugtexdir[160];
- char plugseqdir[160];
- char pythondir[160];
- char sounddir[160];
- char image_editor[240]; // FILE_MAX length
- char anim_player[240]; // FILE_MAX length
+ char tempdir[768]; /* FILE_MAXDIR length */
+ char fontdir[768];
+ char renderdir[1024]; /* FILE_MAX length */
+ char textudir[768];
+ char plugtexdir[768];
+ char plugseqdir[768];
+ char pythondir[768];
+ char sounddir[768];
+ char image_editor[1024]; /* 1024 = FILE_MAX */
+ char anim_player[1024]; /* 1024 = FILE_MAX */
int anim_player_preset;
short v2d_min_gridsize; /* minimum spacing between gridlines in View2D grids */
@@ -391,19 +399,17 @@ typedef struct UserDef {
short widget_unit; /* defaults to 20 for 72 DPI setting */
short anisotropic_filter;
- /*short pad[3]; */
+ short use_16bit_textures, pad8;
float ndof_sensitivity; /* overall sensitivity of 3D mouse */
int ndof_flag; /* flags for 3D mouse */
- char versemaster[160];
- char verseuser[160];
float glalphaclip;
short autokey_mode; /* autokeying mode */
short autokey_flag; /* flags for autokeying */
- short text_render, pad9[3]; /*options for text rendering*/
+ short text_render, pad9; /*options for text rendering*/
struct ColorBand coba_weight; /* from texture.h */
@@ -413,6 +419,9 @@ typedef struct UserDef {
short pad3;
char author[80]; /* author name for file formats supporting it */
+
+ int compute_device_type;
+ int compute_device_id;
} UserDef;
extern UserDef U; /* from blenkernel blender.c */
@@ -627,6 +636,10 @@ extern UserDef U; /* from blenkernel blender.c */
#define NDOF_PANY_INVERT_AXIS (1 << 13)
#define NDOF_PANZ_INVERT_AXIS (1 << 14)
+/* compute_device_type */
+#define USER_COMPUTE_DEVICE_NONE 0
+#define USER_COMPUTE_DEVICE_OPENCL 1
+#define USER_COMPUTE_DEVICE_CUDA 2
#ifdef __cplusplus
}
diff --git a/source/blender/makesdna/DNA_vfont_types.h b/source/blender/makesdna/DNA_vfont_types.h
index 7132751848d..d6168af6028 100644
--- a/source/blender/makesdna/DNA_vfont_types.h
+++ b/source/blender/makesdna/DNA_vfont_types.h
@@ -42,7 +42,7 @@ struct VFontData;
typedef struct VFont {
ID id;
- char name[256];
+ char name[1024]; /* 1024 = FILE_MAX */
struct VFontData *data;
struct PackedFile * packedfile;
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index ae026b0bcc9..58c3f091d6d 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -173,7 +173,7 @@ typedef struct View3D {
struct View3D *localvd; /* allocated backup of its self while in localview */
- char ob_centre_bone[32]; /* optional string for armature bone to define center */
+ char ob_centre_bone[64]; /* optional string for armature bone to define center, MAXBONENAME */
unsigned int lay;
int layact;
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 57989424d4a..156d2ebbb20 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -168,7 +168,7 @@ typedef struct wmWindow {
struct bScreen *screen; /* active screen */
struct bScreen *newscreen; /* temporary when switching */
- char screenname[32]; /* MAX_ID_NAME for matching window with active screen after file read */
+ char screenname[64]; /* MAX_ID_NAME for matching window with active screen after file read */
short posx, posy, sizex, sizey; /* window coords */
short windowstate; /* borderless, full */