Merged 15170:15635 from trunk (no conflicts or even merges)
[blender.git] / source / blender / makesdna / DNA_sensor_types.h
index 9c4d3c1ca2040d1527315f6720d9417de146f309..c0306f4373067180a52405affcb19f46222d3fce 100644 (file)
@@ -3,15 +3,12 @@
  *     
  * $Id$ 
  *
- * ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+ * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
  * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version. The Blender
- * Foundation also sells licenses for use in proprietary software under
- * the Blender License.  See http://www.blender.org/BL/ for information
- * about this.
+ * of the License, or (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -29,7 +26,7 @@
  *
  * Contributor(s): none yet.
  *
- * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ * ***** END GPL LICENSE BLOCK *****
  */
 #ifndef DNA_SENSOR_TYPES_H
 #define DNA_SENSOR_TYPES_H
@@ -85,6 +82,12 @@ typedef struct bPropertySensor {
     char maxvalue[32];
 } bPropertySensor;
 
+typedef struct bActuatorSensor {
+    int type;
+    int pad;
+       char name[32];
+} bActuatorSensor;
+
 typedef struct bCollisionSensor {
        char name[32];          /* property name */
        char materialName[32];  /* material      */
@@ -147,10 +150,23 @@ typedef struct bSensor {
 
        /* just add here, to avoid align errors... */
        short invert; /* Whether or not to invert the output. */
-       short freq2;  /* The negative pulsing frequency? Not used anymore... */
+       short level;  /* Whether the sensor is level base (edge by default) */
        int pad;
 } bSensor;
 
+typedef struct bJoystickSensor {
+       char name[32];
+       short type;
+       short pad;
+       int axis;
+       int axisf;
+       int button;
+       int buttonf;
+       int hat;
+       int hatf;
+       int precision;
+} bJoystickSensor;
+
 /* bMouseSensor->type: uses blender event defines */
 
 /* propertysensor->type */
@@ -186,25 +202,24 @@ typedef struct bSensor {
 #define SENS_RANDOM     8
 #define SENS_RAY        9
 #define SENS_MESSAGE   10
-
+#define SENS_JOYSTICK  11
+#define SENS_ACTUATOR  12
 /* sensor->flag */
 #define SENS_SHOW              1
 #define SENS_DEL               2
 #define SENS_NEW               4
 #define SENS_NOT               8
+#define SENS_VISIBLE   16
 
 /* sensor->pulse */
 #define SENS_PULSE_CONT        0
 #define SENS_PULSE_REPEAT      1
-#define SENS_PULSE_ONCE        2
+//#define SENS_PULSE_ONCE      2
 #define SENS_NEG_PULSE_MODE 4
 
 /* sensor->suppress */
-#define SENS_SUPPRESS_POSITIVE_BIT 0
-#define SENS_SUPPRESS_NEGATIVE_BIT 1
-
-#define SENS_SUPPRESS_POSITIVE (1 << SENS_SUPPRESS_POSITIVE_BIT)
-#define SENS_SUPPRESS_NEGATIVE (1 << SENS_SUPPRESS_NEGATIVE_BIT)
+#define SENS_SUPPRESS_POSITIVE (1 << 0)
+#define SENS_SUPPRESS_NEGATIVE (1 << 1)
 
 /* collision, ray sensor modes: */
 /* A little bit fake: when property is active, the first bit is
@@ -223,6 +238,21 @@ typedef struct bSensor {
 #define BL_SENS_MOUSE_WHEEL_DOWN     6
 #define BL_SENS_MOUSE_MOVEMENT       8
 #define BL_SENS_MOUSE_MOUSEOVER      16
+#define BL_SENS_MOUSE_MOUSEOVER_ANY     32
+
+#define SENS_JOY_BUTTON                0
+#define SENS_JOY_BUTTON_PRESSED        0
+#define SENS_JOY_BUTTON_RELEASED       1
+
+#define SENS_JOY_AXIS                  1
+#define SENS_JOY_X_AXIS                0
+#define SENS_JOY_Y_AXIS                1
+#define SENS_JOY_NEG_X_AXIS            2
+#define SENS_JOY_NEG_Y_AXIS            3
+#define SENS_JOY_PRECISION             4
+
+#define SENS_JOY_HAT                   2
+#define SENS_JOY_HAT_DIR               0
 
 #endif