Merge of itasc branch. Project files, scons and cmake should be working. Makefile...
[blender.git] / source / blender / makesdna / DNA_actuator_types.h
index f713b4a..58fa38a 100644 (file)
@@ -37,6 +37,9 @@ struct Scene;
 struct Group;
 struct Text;
 
+// for Sound3D
+#include "DNA_sound_types.h"
+
 /* ****************** ACTUATORS ********************* */
 
 /* unused now, moved to editobjectactuator in 2.02. Still needed for dna */
@@ -62,18 +65,13 @@ typedef struct bSoundActuator {
        short flag, sndnr;
        int sta, end;
        short pad1[2];
+       float volume, pitch;
        struct bSound *sound;
+       struct Sound3D sound3D;
        short type, makecopy;
        short copymade, pad2[1];
 } bSoundActuator;
 
-typedef struct bCDActuator {
-       short flag, sndnr;
-       int sta, end;
-       short type, track;
-       float volume;
-} bCDActuator;
-
 typedef struct bEditObjectActuator {
        int time;
        short type, flag;
@@ -144,7 +142,7 @@ typedef struct bGroupActuator {
        char name[32];          /* property or groupkey */
        
        short pad[3], cur, butsta, butend;/* not referenced, can remove? */
-       struct Group *group;            /* only during game */
+       /* struct Group *group;         not used, remove */
        
 } bGroupActuator;
 
@@ -226,6 +224,15 @@ typedef struct bStateActuator {
        unsigned int mask;      /* the bits to change */
 } bStateActuator;
 
+typedef struct bArmatureActuator {
+       char posechannel[32];
+       char constraint[32];
+       int type;               /* 0=run, 1=enable, 2=disable, 3=set target, 4=set weight */
+       float weight;
+       struct Object *target;
+       struct Object *subtarget;
+} bArmatureActuator;
+
 typedef struct bActuator {
        struct bActuator *next, *prev, *mynew;
        short type;
@@ -291,13 +298,13 @@ typedef struct FreeCamera {
 #define ACT_RANDOM      13
 #define ACT_MESSAGE     14
 #define ACT_ACTION             15      /* __ NLA */
-#define ACT_CD                 16
 #define ACT_GAME               17
 #define ACT_VISIBILITY          18
 #define ACT_2DFILTER   19
 #define ACT_PARENT      20
 #define ACT_SHAPEACTION 21
 #define ACT_STATE              22
+#define ACT_ARMATURE   23
 
 /* actuator flag */
 #define ACT_SHOW               1
@@ -405,6 +412,10 @@ typedef struct FreeCamera {
 /* editObjectActuator->flag */
 #define ACT_TRACK_3D                   1
 
+/* editObjectActuator->flag for replace mesh actuator */
+#define ACT_EDOB_REPLACE_MESH_NOGFX            2 /* use for replace mesh actuator */
+#define ACT_EDOB_REPLACE_MESH_PHYS             4
+
 /* SceneActuator->type */
 #define ACT_SCENE_RESTART              0
 #define ACT_SCENE_SET                  1
@@ -428,6 +439,9 @@ typedef struct FreeCamera {
 #define ACT_RANDOM_FLOAT_NORMAL                8
 #define ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL  9
 
+/* SoundActuator->flag */
+#define ACT_SND_3D_SOUND               1
+
 /*  SoundActuator->type */
 #define ACT_SND_PLAY_STOP_SOUND                0
 #define ACT_SND_PLAY_END_SOUND         1
@@ -440,15 +454,6 @@ typedef struct FreeCamera {
 #define ACT_MESG_MESG          0
 #define ACT_MESG_PROP          1
 
-/* cdactuator->type */
-#define ACT_CD_PLAY_ALL                0
-#define ACT_CD_PLAY_TRACK      1
-#define ACT_CD_LOOP_TRACK      2
-#define ACT_CD_VOLUME          3
-#define ACT_CD_STOP                    4
-#define ACT_CD_PAUSE           5
-#define ACT_CD_RESUME          6
-
 /* gameactuator->type */
 #define ACT_GAME_LOAD          0
 #define ACT_GAME_START         1
@@ -489,6 +494,15 @@ typedef struct FreeCamera {
 #define ACT_PARENT_COMPOUND    1
 #define ACT_PARENT_GHOST       2
 
+/* armatureactuator->type */
+#define ACT_ARM_RUN                    0
+#define ACT_ARM_ENABLE         1
+#define ACT_ARM_DISABLE                2
+#define ACT_ARM_SETTARGET      3
+#define ACT_ARM_SETWEIGHT      4
+/* update this define if more type are addedd */
+#define ACT_ARM_MAXTYPE                4
+
 #endif