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:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-01-11 12:51:06 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-01-11 12:51:06 +0400
commit51bada696f77de9d7f673884cec9560218654fae (patch)
treed2434eac2fb74377592ee7c8c86d68b55733960c /source/blender/makesdna/DNA_constraint_types.h
parent782f0b63829a2c257a6e2942c49882f7fe04c33c (diff)
Longer names support for all ID and other object names
This commit extends limit of ID and objects to 64 (it means 63 meaning characters and 1 for zero-terminator). CustomData layers names are also extended. Changed DNA structures and all places where length constants were hardcoded. All names which are "generating" from ID block should be limited by MAX_ID_NAME-2, all non-id names now has got own define called MAX_NAME which should be used all over for non-id names to make further name migration stuff easier. All name fields in DNA now have comment with constant which corresponds to hardcoded numeric value which should make it easier to further update this limits or even switch to non-hardcoded values in DNA. Special thanks to Campbell who helped figuring out some issues and helped a lot in finding all cases where hardcoded valued were still used in code. Both of forwards and backwards compatibility is stored with blender versions newer than January 5, 2011. Older versions had issue with placing null-terminator to DNA strings on file load which will lead to some unpredictable behavior or even crashes.
Diffstat (limited to 'source/blender/makesdna/DNA_constraint_types.h')
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h47
1 files changed, 24 insertions, 23 deletions
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index c829d5be294..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,9 +414,9 @@ 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;
@@ -430,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;