diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2012-02-02 03:22:55 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2012-02-02 03:22:55 +0400 |
commit | 28f1fdd39bbb11b1081594e2f41bebef77a31518 (patch) | |
tree | 3475d4f0b15d7ba8e59150fec25adc582ae62afb /source/blender/makesdna | |
parent | 6b39a476cbe83febfe67daa31be6fade83194c7a (diff) | |
parent | d882f05b824f4111ef5c319c89a2f85b1773c579 (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')
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 */ |