user interface units, off by default.
[blender-staging.git] / source / blender / makesdna / DNA_scene_types.h
index 828721f0abb3bd261b1d71e37add066dd4cc52c4..cf32e4e2980e64f3ed0ba1521846b51f5eb917d8 100644 (file)
@@ -36,7 +36,6 @@ extern "C" {
 #include "DNA_brush_types.h"
 #include "DNA_vec_types.h"
 #include "DNA_listBase.h"
-#include "DNA_scriptlink_types.h"
 #include "DNA_ID.h"
 
 struct Object;
@@ -183,10 +182,10 @@ typedef struct RenderData {
        /** For UR edge rendering: give the edges this color */
        float edgeR, edgeG, edgeB;
        
-       short fullscreen, xplay, yplay, freqplay;       /* standalone player */
-       short depth, attrib, rt1, rt2;                  /* standalone player */
+       short fullscreen, xplay, yplay, freqplay;       /* standalone player */  //  XXX deprecated since 2.5
+       short depth, attrib, rt1, rt2;                  /* standalone player */  //  XXX deprecated since 2.5
 
-       short stereomode;       /* standalone player stereo settings */
+       short stereomode;       /* standalone player stereo settings */  //  XXX deprecated since 2.5
        
        short dimensionspreset;         /* for the dimensions presets menu */
        
@@ -218,7 +217,12 @@ typedef struct RenderData {
        short bufflag;
        short quality;
        
-       short rpad, rpad1, rpad2;
+       /**
+        * Render to image editor, fullscreen or to new window.
+        */
+       short displaymode;
+       
+       short rpad1, rpad2;
 
        /**
         * Flags for render settings. Use bit-masking to access the settings.
@@ -230,7 +234,7 @@ typedef struct RenderData {
         */
        int mode;
 
-       /* render engine, octree resolution */
+       /* render engine (deprecated), octree resolution */
        short renderer, ocres;
 
        /**
@@ -269,8 +273,12 @@ typedef struct RenderData {
         * Value used to define filter size for all filter options  */
        float gauss;
        
+       
+       /* color management settings - color profiles, gamma correction, etc */
+       int color_mgt_flag;
+       
        /** post-production settings. Depricated, but here for upwards compat (initialized to 1) */      
-       float postmul, postgamma, posthue, postsat;      
+       float postgamma, posthue, postsat;       
        
        /* Dither noise intensity */
        float dither_intensity;
@@ -318,13 +326,15 @@ typedef struct RenderData {
        short jp2_preset, jp2_depth;
        int rpad3;
 
-       /* Dome variables */
-       short domeres, domemode;
-       short domeangle, dometilt;
-       float domeresbuf;
-       float pad2;
-       struct Text *dometext;
+       /* Dome variables */ //  XXX deprecated since 2.5
+       short domeres, domemode;        //  XXX deprecated since 2.5
+       short domeangle, dometilt;      //  XXX deprecated since 2.5
+       float domeresbuf;       //  XXX deprecated since 2.5
+       float pad2;                     //  XXX deprecated since 2.5
+       struct Text *dometext;  //  XXX deprecated since 2.5
 
+       /* render engine */
+       char engine[32];
 } RenderData;
 
 /* control render convert and shading engine */
@@ -341,6 +351,20 @@ typedef struct RenderProfile {
        
 } RenderProfile;
 
+typedef struct GameDome {
+       short res, mode;
+       short angle, tilt;
+       float resbuf, pad2;
+       struct Text *warptext;
+} GameDome;
+
+#define DOME_FISHEYE                   1
+#define DOME_TRUNCATED_FRONT   2
+#define DOME_TRUNCATED_REAR            3
+#define DOME_ENVMAP                            4
+#define DOME_PANORAM_SPH               5
+#define DOME_NUM_MODES                 6
+
 typedef struct GameFraming {
        float col[3];
        char type, pad1, pad2, pad3;
@@ -350,6 +374,54 @@ typedef struct GameFraming {
 #define SCE_GAMEFRAMING_EXTEND 1
 #define SCE_GAMEFRAMING_SCALE  2
 
+typedef struct GameData {
+
+       /* physics (it was in world)*/
+       float gravity; /*Gravitation constant for the game world*/
+
+       /*
+        * Radius of the activity bubble, in Manhattan length. Objects
+        * outside the box are activity-culled. */
+       float activityBoxRadius; //it's not being used ANYWHERE !!!!!!!!!!!!!!
+       /*
+        * bit 3: (gameengine): Activity culling is enabled.
+        * bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum culling
+       */
+       short mode, pad11;
+       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, xsch, ysch; //xsch and ysch can be deleted !!!
+} GameData;
+#define STEREO_NOSTEREO                1
+#define STEREO_ENABLED                 2
+#define STEREO_DOME                    3
+
+//#define STEREO_NOSTEREO               1
+#define STEREO_QUADBUFFERED 2
+#define STEREO_ABOVEBELOW       3
+#define STEREO_INTERLACED       4
+#define STEREO_ANAGLYPH                5
+#define STEREO_SIDEBYSIDE      6
+#define STEREO_VINTERLACE      7
+//#define STEREO_DOME          8
+
+/* physicsEngine */
+#define WOPHY_NONE             0
+#define WOPHY_ENJI             1
+#define WOPHY_SUMO             2
+#define WOPHY_DYNAMO   3
+#define WOPHY_ODE              4
+#define WOPHY_BULLET   5
+
 typedef struct TimeMarker {
        struct TimeMarker *next, *prev;
        int frame;
@@ -362,7 +434,7 @@ typedef struct ImagePaintSettings {
        short flag, tool;
        
        /* for projection painting only */
-       short seam_bleed,normal_angle;
+       short seam_bleed, normal_angle;
 
        void *paintcursor;                      /* wm handle */
 } ImagePaintSettings;
@@ -439,6 +511,9 @@ typedef struct ToolSettings {
        VPaint *wpaint;         /* weight paint */
        Sculpt *sculpt;
        
+       /* Vertex groups */
+       float vgroup_weight;
+
        /* Subdivide Settings */
        short cornertype;
        short editbutflag;
@@ -470,7 +545,6 @@ typedef struct ToolSettings {
        float uvcalc_radius;
        float uvcalc_cubesize;
        float uvcalc_margin;
-       float pad;
        short uvcalc_mapdir;
        short uvcalc_mapalign;
        short uvcalc_flag;
@@ -496,7 +570,7 @@ typedef struct ToolSettings {
        float clean_thresh;
 
        /* Auto-Keying Mode */
-       short autokey_mode, pad2;       /* defines in DNA_userdef_types.h */
+       short autokey_mode, autokey_flag;       /* defines in DNA_userdef_types.h */
        
        /* Retopo */
        char retopo_mode;
@@ -537,7 +611,7 @@ typedef struct ToolSettings {
        /* Alt+RMB option */
        char edge_mode;
 
-       /* transform */
+       /* Transform */
        short snap_mode, snap_flag, snap_target;
        short proportional, prop_mode;
 } ToolSettings;
@@ -568,7 +642,7 @@ typedef struct Scene {
        float twmin[3], twmax[3];       /* boundbox of selection for transform widget */
        unsigned int lay;
        
-       
+
        short flag;                                                             /* various settings */
        
        short use_nodes;
@@ -577,8 +651,6 @@ typedef struct Scene {
        
        struct Editing *ed;                                                             /* sequence editor data is allocated here */
        
-       struct GameFraming framing;
-
        struct ToolSettings *toolsettings;              /* default allocated now */
        struct SceneStats *stats;                               /* default allocated now */
 
@@ -587,11 +659,10 @@ typedef struct Scene {
        struct RenderData r;
        struct AudioData audio;         /* DEPRECATED 2.5 */
        
-       ScriptLink scriptlink;
-       
        ListBase markers;
        ListBase transform_spaces;
        
+       ListBase sound_handles;
        
        /* none of the dependancy graph  vars is mean to be saved */
        struct  DagForest *theDag;
@@ -606,6 +677,10 @@ typedef struct Scene {
        /* User-Defined KeyingSets */
        int active_keyingset;                   /* index of the active KeyingSet. first KeyingSet has index 1, 'none' active is 0, 'add new' is -1 */
        ListBase keyingsets;                    /* KeyingSets for the given frame */
+       
+       /* Game Settings */
+       struct GameFraming framing; // XXX  deprecated since 2.5
+       struct GameData gm;
 } Scene;
 
 
@@ -628,7 +703,7 @@ typedef struct Scene {
 #define R_FIELDSTILL   0x0080
 #define R_RADIO                        0x0100
 #define R_BORDER               0x0200
-#define R_PANORAMA             0x0400
+#define R_PANORAMA             0x0400  /* deprecated as scene option, still used in renderer */
 #define R_CROP                 0x0800
 #define R_COSMO                        0x1000
 #define R_ODDFIELD             0x2000
@@ -650,6 +725,12 @@ typedef struct Scene {
 #define R_TOUCH                        0x800000 /* touch files before rendering */
 #define R_SIMPLIFY             0x1000000
 
+/* displaymode */
+
+#define R_OUTPUT_SCREEN        0
+#define R_OUTPUT_AREA  1
+#define R_OUTPUT_WINDOW        2
+#define R_OUTPUT_FORKED        3
 
 /* filtertype */
 #define R_FILTER_BOX   0
@@ -681,7 +762,7 @@ typedef struct Scene {
 #define R_COMP_FREE                    0x0800
 #define R_NO_IMAGE_LOAD                0x1000
 #define R_NO_TEX                       0x2000
-#define R_STAMP_INFO           0x4000
+#define R_STAMP_INFO           0x4000  /* deprecated */
 #define R_FULL_SAMPLE          0x8000
 #define R_COMP_RERENDER                0x10000
 #define R_RECURS_PROTECTION     0x20000
@@ -697,6 +778,7 @@ typedef struct Scene {
 #define R_STAMP_MARKER 0x0080
 #define R_STAMP_FILENAME       0x0100
 #define R_STAMP_SEQSTRIP       0x0200
+#define R_STAMP_ALL            (R_STAMP_TIME|R_STAMP_FRAME|R_STAMP_DATE|R_STAMP_CAMERA|R_STAMP_SCENE|R_STAMP_NOTE|R_STAMP_MARKER|R_STAMP_FILENAME|R_STAMP_SEQSTRIP)
 
 /* alphamode */
 #define R_ADDSKY               0
@@ -708,6 +790,9 @@ typedef struct Scene {
 #define R_PLANES32             32
 #define R_PLANESBW             8
 
+/* color_mgt_flag */
+#define R_COLOR_MANAGEMENT     1
+
 /* imtype */
 #define R_TARGA                0
 #define R_IRIS         1
@@ -733,6 +818,9 @@ typedef struct Scene {
 #define R_MULTILAYER   28
 #define R_DDS                  29
 #define R_JP2                  30
+#define R_H264         31
+#define R_XVID         32
+#define R_THEORA               33
 
 /* subimtype, flag options for imtype */
 #define R_OPENEXR_HALF 1
@@ -770,10 +858,14 @@ typedef struct Scene {
 #define MINFRAME       1
 #define MINFRAMEF      1.0f
 
+/* (minimum frame number for current-frame) */
+#define MINAFRAME      -300000
+#define MINAFRAMEF     -300000.0f
+
 /* depricate this! */
 #define TESTBASE(v3d, base)    ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0) )
 #define TESTBASELIB(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0))
-#define TESTBASELIB_BGMODE(base)   ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0))
+#define TESTBASELIB_BGMODE(v3d, base)   ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0))
 #define BASE_SELECTABLE(v3d, base)      ((base->lay & v3d->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0)
 #define FIRSTBASE              scene->base.first
 #define LASTBASE               scene->base.last
@@ -838,6 +930,7 @@ typedef struct Scene {
 /* sce->flag */
 #define SCE_DS_SELECTED                        (1<<0)
 #define SCE_DS_COLLAPSED               (1<<1)
+#define SCE_NLA_EDIT_ON                        (1<<2)
 
 
        /* return flag next_object function */
@@ -868,11 +961,10 @@ typedef enum SculptFlags {
        SCULPT_LOCK_Z = 256
 } SculptFlags;
 
-/* toolsettings->imagepaint_flag */
+/* ImagePaintSettings.flag */
 #define IMAGEPAINT_DRAWING                             1
 #define IMAGEPAINT_DRAW_TOOL                   2
 #define IMAGEPAINT_DRAW_TOOL_DRAWING   4
-
 /* projection painting only */
 #define IMAGEPAINT_PROJECT_DISABLE             8       /* Non projection 3D painting */
 #define IMAGEPAINT_PROJECT_XRAY                        16