svn merge -r40000:40179 https://svn.blender.org/svnroot/bf-blender/trunk/blender
[blender-staging.git] / source / blender / makesdna / DNA_scene_types.h
index bc50c710d76bcb19db927a7d4c19ee9df38641dd..66244e87995edb5a3d496a70bc91b88565646056 100644 (file)
@@ -426,8 +426,38 @@ typedef struct GameFraming {
 #define SCE_GAMEFRAMING_EXTEND 1
 #define SCE_GAMEFRAMING_SCALE  2
 
+typedef struct RecastData
+{
+       float cellsize;
+       float cellheight;
+       float agentmaxslope;
+       float agentmaxclimb;
+       float agentheight;
+       float agentradius;
+       float edgemaxlen;
+       float edgemaxerror;
+       float regionminsize;
+       float regionmergesize;
+       int vertsperpoly;
+       float detailsampledist;
+       float detailsamplemaxerror;
+} RecastData;
+
 typedef struct GameData {
 
+       /*  standalone player */
+       struct GameFraming framing;
+       short fullscreen, xplay, yplay, freqplay;
+       short depth, attrib, rt1, rt2;
+
+       /* stereo/dome mode */
+       struct GameDome dome;
+       short stereoflag, stereomode;
+       short pad2, pad3;
+       float eyeseparation, pad1;
+       RecastData recastData;
+
+
        /* physics (it was in world)*/
        float gravity; /*Gravitation constant for the game world*/
 
@@ -440,21 +470,12 @@ typedef struct GameData {
         * bit 3: (gameengine): Activity culling is enabled.
         * bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum culling
        */
-       short mode, flag, matmode, pad[3];
+       short mode, flag, matmode, pad[2];
        short occlusionRes;             /* resolution of occlusion Z buffer in pixel */
        short physicsEngine;
        short ticrate, maxlogicstep, physubstep, maxphystep;
-
-       /*  standalone player */
-       struct GameFraming framing;
-       short fullscreen, xplay, yplay, freqplay;
-       short depth, attrib, rt1, rt2;
-
-       /* stereo/dome mode */
-       struct GameDome dome;
-       short stereoflag, stereomode;
-       short pad2, pad3;
-       float eyeseparation, pad1;
+       short obstacleSimulation;
+       float levelHeight;
 } GameData;
 
 #define STEREO_NOSTEREO                1
@@ -478,6 +499,11 @@ typedef struct GameData {
 #define WOPHY_ODE              4
 #define WOPHY_BULLET   5
 
+/* obstacleSimulation */
+#define OBSTSIMULATION_NONE            0
+#define OBSTSIMULATION_TOI_rays                1
+#define OBSTSIMULATION_TOI_cells       2
+
 /* GameData.flag */
 #define GAME_RESTRICT_ANIM_UPDATES                     (1 << 0)
 #define GAME_ENABLE_ALL_FRAMES                         (1 << 1)
@@ -494,6 +520,7 @@ typedef struct GameData {
 #define GAME_IGNORE_DEPRECATION_WARNINGS       (1 << 12)
 #define GAME_ENABLE_ANIMATION_RECORD           (1 << 13)
 #define GAME_SHOW_MOUSE                                                (1 << 14)
+#define GAME_SHOW_OBSTACLE_SIMULATION          (1 << 15)
 #define GAME_GLSL_NO_COLOR_MANAGEMENT          (1 << 15)
 /* Note: GameData.flag is a short (max 16 flags). To add more flags, GameData.flag needs to be an int */