Merged changes in the trunk up to revision 26856.
[blender-staging.git] / source / blender / makesdna / DNA_scene_types.h
index 38a9eb0356aa66ddf609ac4dcffd270c2db3f8a6..df7035146e334ff5a64316a94fd632d4f0438b79 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
@@ -175,23 +175,25 @@ typedef struct SceneRenderLayer {
 #define SCE_LAY_NEG_ZMASK      0x80000
 
 /* srl->passflag */
-#define SCE_PASS_COMBINED      1
-#define SCE_PASS_Z                     2
-#define SCE_PASS_RGBA          4
-#define SCE_PASS_DIFFUSE       8
-#define SCE_PASS_SPEC          16
-#define SCE_PASS_SHADOW                32
-#define SCE_PASS_AO                    64
-#define SCE_PASS_REFLECT       128
-#define SCE_PASS_NORMAL                256
-#define SCE_PASS_VECTOR                512
-#define SCE_PASS_REFRACT       1024
-#define SCE_PASS_INDEXOB       2048
-#define SCE_PASS_UV                    4096
-#define SCE_PASS_RADIO         8192 /* Radio removed, can use for new GI? */
-#define SCE_PASS_MIST          16384
-
-#define SCE_PASS_RAYHITS       32768
+#define SCE_PASS_COMBINED              1
+#define SCE_PASS_Z                             2
+#define SCE_PASS_RGBA                  4
+#define SCE_PASS_DIFFUSE               8
+#define SCE_PASS_SPEC                  16
+#define SCE_PASS_SHADOW                        32
+#define SCE_PASS_AO                            64
+#define SCE_PASS_REFLECT               128
+#define SCE_PASS_NORMAL                        256
+#define SCE_PASS_VECTOR                        512
+#define SCE_PASS_REFRACT               1024
+#define SCE_PASS_INDEXOB               2048
+#define SCE_PASS_UV                            4096
+#define SCE_PASS_RADIO                 8192 /* Radio removed, can use for new GI? */
+#define SCE_PASS_MIST                  16384
+#define SCE_PASS_RAYHITS               32768
+#define SCE_PASS_EMIT                  65536
+#define SCE_PASS_ENVIRONMENT   131072
+#define SCE_PASS_INDIRECT              262144
 
 /* note, srl->passflag is treestore element 'nr' in outliner, short still... */
 
@@ -305,7 +307,10 @@ typedef struct RenderData {
        
        /* information on different layers to be rendered */
        ListBase layers;
-       short actlay, pad;
+       short actlay;
+       
+       /* number of mblur samples */
+       short mblur_samples;
        
        /**
         * Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
@@ -362,8 +367,9 @@ typedef struct RenderData {
        float bg_stamp[4];
 
        /* render simplify */
-       int simplify_subsurf;
-       int simplify_shadowsamples;
+       int simplify_flag;
+       short simplify_subsurf;
+       short simplify_shadowsamples;
        float simplify_particles;
        float simplify_aosss;
 
@@ -515,7 +521,7 @@ typedef struct Paint {
 typedef struct ImagePaintSettings {
        Paint paint;
 
-       short flag, tool;
+       short flag, pad;
        
        /* for projection painting only */
        short seam_bleed, normal_angle;
@@ -526,6 +532,7 @@ typedef struct ImagePaintSettings {
 typedef struct ParticleBrushData {
        short size, strength;   /* common settings */
        short step, invert;             /* for specific brushes only */
+       int flag, pad;
 } ParticleBrushData;
 
 typedef struct ParticleEditSettings {
@@ -569,7 +576,7 @@ typedef struct Sculpt {
 typedef struct VPaint {
        Paint paint;
 
-       short mode, flag;
+       short flag, pad;
        int tot;                                                        /* allocation size of prev buffers */
        unsigned int *vpaint_prev;                      /* previous mesh colors */
        struct MDeformVert *wpaint_prev;        /* previous vertex weights */
@@ -756,7 +763,10 @@ typedef struct Scene {
        ListBase markers;
        ListBase transform_spaces;
        
-       ListBase sound_handles;
+       void *sound_scene;
+       void *sound_scene_handle;
+       
+       void *fps_info;                                 /* (runtime) info/cache used for presenting playback framerate info to the user */
        
        /* none of the dependancy graph  vars is mean to be saved */
        struct  DagForest *theDag;
@@ -798,6 +808,10 @@ typedef struct Scene {
 #define R_FRONTBUF             4
 #define R_FRONTBUFANIM 8
 
+/* flag */
+       /* use preview range */
+#define SCER_PRV_RANGE (1<<0)
+
 /* mode (int now) */
 #define R_OSA                  0x0001
 #define R_SHADOW               0x0002
@@ -970,6 +984,9 @@ typedef struct Scene {
 #define R_BAKE_SPACE_OBJECT     2
 #define R_BAKE_SPACE_TANGENT 3
 
+/* simplify_flag */
+#define R_SIMPLE_NO_TRIANGULATE                1
+
 /* **************** SCENE ********************* */
 
 /* for general use */
@@ -1001,8 +1018,9 @@ typedef struct Scene {
 #define        F_CFRA                  ((float)(scene->r.cfra))
 #define        SFRA                    (scene->r.sfra)
 #define        EFRA                    (scene->r.efra)
-#define PSFRA                  ((scene->r.psfra != 0)? (scene->r.psfra): (scene->r.sfra))
-#define PEFRA                  ((scene->r.psfra != 0)? (scene->r.pefra): (scene->r.efra))
+#define PRVRANGEON             (scene->r.flag & SCER_PRV_RANGE)
+#define PSFRA                  ((PRVRANGEON)? (scene->r.psfra): (scene->r.sfra))
+#define PEFRA                  ((PRVRANGEON)? (scene->r.pefra): (scene->r.efra))
 #define FRA2TIME(a)           ((((double) scene->r.frs_sec_base) * (a)) / scene->r.frs_sec)
 #define TIME2FRA(a)           ((((double) scene->r.frs_sec) * (a)) / scene->r.frs_sec_base)
 #define FPS                     (((double) scene->r.frs_sec) / scene->r.frs_sec_base)
@@ -1074,7 +1092,7 @@ typedef struct Scene {
 #define AUDIO_SYNC             2
 #define AUDIO_SCRUB            4
 
-#define FFMPEG_MULTIPLEX_AUDIO  1
+#define FFMPEG_MULTIPLEX_AUDIO  1 /* deprecated, you can choose none as audiocodec now */
 #define FFMPEG_AUTOSPLIT_OUTPUT 2
 
 /* Paint.flags */
@@ -1135,7 +1153,7 @@ typedef enum SculptFlags {
 #define PE_DEFLECT_EMITTER             4
 #define PE_INTERPOLATE_ADDED   8
 #define PE_DRAW_PART                   16
-#define PE_X_MIRROR                            64
+#define PE_X_MIRROR                            64              /* deprecated */
 #define PE_FADE_TIME                   128
 #define PE_AUTO_VELOCITY               256
 
@@ -1147,10 +1165,14 @@ typedef enum SculptFlags {
 #define PE_BRUSH_PUFF          3
 #define PE_BRUSH_ADD           4
 #define PE_BRUSH_SMOOTH                5
+#define PE_BRUSH_WEIGHT                6
 
 /* this must equal ParticleEditSettings.brush array size */
 #define PE_TOT_BRUSH           6
 
+/* ParticleBrushData->flag */
+#define PE_BRUSH_DATA_PUFF_VOLUME 1
+
 /* tooksettings->particle edittype */
 #define PE_TYPE_PARTICLES      0
 #define PE_TYPE_SOFTBODY       1
@@ -1222,6 +1244,7 @@ typedef enum SculptFlags {
 #define        USER_UNIT_IMPERIAL              2
 /* UnitSettings->flag */
 #define        USER_UNIT_OPT_SPLIT             1
+#define USER_UNIT_ROT_RADIANS  2
 
 
 #ifdef __cplusplus