Merged 15170:15635 from trunk (no conflicts or even merges)
[blender.git] / source / blender / makesdna / DNA_actuator_types.h
index e34b376737a6ec79c815f443b4e879f0ad97e945..ac9761f165df751684a088809f128ad20126ddb4 100644 (file)
@@ -50,8 +50,10 @@ typedef struct bActionActuator {
        short   type, flag;             /* Playback type */                                     
        int     sta, end;               /* Start & End frames */                        
        char    name[32];               /* For property-driven playback */      
-       int     blendin;                /* Number of frames of blending */      
-       short   priority;               /* Execution priority */                        
+       char    frameProp[32];  /* Set this property to the actions current frame */
+       short   blendin;                /* Number of frames of blending */
+       short   priority;               /* Execution priority */
+       short   end_reset;      /* Ending the actuator (negative pulse) wont reset the the action to its starting frame */
        short   strideaxis;             /* Displacement axis */
        float   stridelength;   /* Displacement incurred by cycle */
 } bActionActuator;                                                                                             
@@ -80,7 +82,7 @@ typedef struct bEditObjectActuator {
        char name[32];
        float linVelocity[3]; /* initial lin. velocity on creation */
        short localflag; /* flag for the lin. vel: apply locally   */
-       short pad;
+       short dyn_operation;
 } bEditObjectActuator;
 
 typedef struct bSceneActuator {
@@ -97,7 +99,8 @@ typedef struct bPropertyActuator {
 } bPropertyActuator;
 
 typedef struct bObjectActuator {
-       int flag, type;
+       short flag, type, otype;
+       short damping;
        float forceloc[3], forcerot[3];
        float loc[3], rot[3];
        float dloc[3], drot[3];
@@ -122,10 +125,13 @@ typedef struct bCameraActuator {
 } bCameraActuator ;
 
 typedef struct bConstraintActuator {
+       short type, mode;
        short flag, damp;
-       float slow;
+       short time, rotdamp;
+       int pad;
        float minloc[3], maxloc[3];
        float minrot[3], maxrot[3];
+       char matprop[32];
 } bConstraintActuator;
 
 typedef struct bGroupActuator {
@@ -191,10 +197,10 @@ typedef struct bVisibilityActuator {
 
 typedef struct bTwoDFilterActuator{
        char pad[4];
-       /* Tells what type of 2D Filter*/
+       /* Tells what type of 2D Filter */
        short type;
        /* (flag == 0) means 2D filter is activate and
-          (flag != 0) means 2D filter is inactive*/
+          (flag != 0) means 2D filter is inactive */
        short flag;
        int   int_arg;
        /* a float argument */
@@ -208,6 +214,11 @@ typedef struct bParentActuator {
        struct Object *ob;
 } bParentActuator;
 
+typedef struct bStateActuator {
+       int type;                       /* 0=Set, 1=Add, 2=Rem, 3=Chg */
+       unsigned int mask;      /* the bits to change */
+} bStateActuator;
+
 typedef struct bActuator {
        struct bActuator *next, *prev, *mynew;
        short type;
@@ -240,19 +251,19 @@ typedef struct FreeCamera {
 /* objectactuator->flag */
 #define ACT_FORCE_LOCAL                        1
 #define ACT_TORQUE_LOCAL               2
+#define ACT_SERVO_LIMIT_X              2
 #define ACT_DLOC_LOCAL                 4
+#define ACT_SERVO_LIMIT_Y              4
 #define ACT_DROT_LOCAL                 8
+#define ACT_SERVO_LIMIT_Z              8
 #define ACT_LIN_VEL_LOCAL              16
 #define ACT_ANG_VEL_LOCAL              32
 //#define ACT_ADD_LIN_VEL_LOCAL        64
 #define ACT_ADD_LIN_VEL                        64
 
-#define ACT_OBJECT_FORCE       0
-#define ACT_OBJECT_TORQUE      1
-#define ACT_OBJECT_DLOC                2
-#define ACT_OBJECT_DROT                3
-#define ACT_OBJECT_LINV                4
-#define ACT_OBJECT_ANGV                5
+/* objectactuator->type */
+#define ACT_OBJECT_NORMAL      0
+#define ACT_OBJECT_SERVO       1
 
 /* actuator->type */
 #define ACT_OBJECT             0
@@ -278,11 +289,15 @@ typedef struct FreeCamera {
 #define ACT_VISIBILITY          18
 #define ACT_2DFILTER   19
 #define ACT_PARENT      20
+#define ACT_SHAPEACTION 21
+#define ACT_STATE              22
 
 /* actuator flag */
 #define ACT_SHOW               1
 #define ACT_DEL                        2
 #define ACT_NEW                        4
+#define ACT_LINKED             8       
+#define ACT_VISIBLE            16      
 
 /* link codes */
 #define LINK_SENSOR            0
@@ -323,8 +338,9 @@ typedef struct FreeCamera {
 /* ipoactuator->flag */
 #define ACT_IPOFORCE        (1 << 0)
 #define ACT_IPOEND          (1 << 1)
-#define ACT_IPOFORCE_LOCAL  (1 << 2)
-#define ACT_IPOCHILD        (1 << 4)                   
+#define ACT_IPOLOCAL           (1 << 2)
+#define ACT_IPOCHILD        (1 << 4)   
+#define ACT_IPOADD                     (1 << 5)
 
 /* ipoactuator->flag for k2k */
 #define ACT_K2K_PREV           1
@@ -344,14 +360,31 @@ typedef struct FreeCamera {
 #define ACT_CONST_ROTX         8
 #define ACT_CONST_ROTY         16
 #define ACT_CONST_ROTZ         32
+#define ACT_CONST_NORMAL       64
+#define ACT_CONST_MATERIAL     128
+#define ACT_CONST_PERMANENT 256
+#define ACT_CONST_DISTANCE     512
+/* constraint mode */
+#define ACT_CONST_DIRPX                1
+#define ACT_CONST_DIRPY                2
+#define ACT_CONST_DIRPZ                4
+#define ACT_CONST_DIRMX                8
+#define ACT_CONST_DIRMY                16
+#define ACT_CONST_DIRMZ                32
+
+/* constraint type */
+#define ACT_CONST_TYPE_LOC     0
+#define ACT_CONST_TYPE_DIST    1
+#define ACT_CONST_TYPE_ORI     2
 
 /* editObjectActuator->type */
 #define ACT_EDOB_ADD_OBJECT            0
 #define ACT_EDOB_END_OBJECT            1
-#define ACT_EDOB_REPLACE_MESH  2
+#define ACT_EDOB_REPLACE_MESH          2
 #define ACT_EDOB_TRACK_TO              3
-#define ACT_EDOB_MAKE_CHILD            4
-#define ACT_EDOB_END_CHILD             5
+#define ACT_EDOB_DYNAMICS              4
+
+
 
 /* editObjectActuator->flag */
 #define ACT_TRACK_3D                   1