Merge from Harmonic Skeleton branch
[blender.git] / source / blender / makesdna / DNA_scene_types.h
index 485f202c25a13ceade6521b69d1cbc052cf359d7..2dfe0ac43b6843a01637209a5c120e5e730b9a01 100644 (file)
@@ -265,6 +265,8 @@ typedef struct RenderData {
        
        /* Bake Render options */
        short bake_osa, bake_filter, bake_mode, bake_flag;
+       short bake_normal_space, bpad;
+       float bake_maxdist;
        
        /* yafray: global panel params. TODO: move elsewhere */
        short GIquality, GIcache, GImethod, GIphotons, GIdirect;
@@ -308,11 +310,28 @@ typedef struct TimeMarker {
        unsigned int flag;
 } TimeMarker;
 
-struct ImagePaintSettings {
+typedef struct ImagePaintSettings {
        struct Brush *brush;
        short flag, tool;
        int pad3;
-};
+} ImagePaintSettings;
+
+typedef struct ParticleBrushData {
+       short size, strength;   /* commong settings */
+       short step, invert;             /* for specific brushes only */
+} ParticleBrushData;
+
+typedef struct ParticleEditSettings {
+       short flag;
+       short totrekey;
+       short totaddkey;
+       short brushtype;
+
+       ParticleBrushData brush[7]; /* 7 = PE_TOT_BRUSH */
+
+       float emitterdist;
+       int draw_timed;
+} ParticleEditSettings;
 
 typedef struct ToolSettings {
        /* Subdivide Settings */
@@ -348,6 +367,9 @@ typedef struct ToolSettings {
 
        /* Image Paint (8 byte aligned please!) */
        struct ImagePaintSettings imapaint;
+
+       /* Particle Editing */
+       struct ParticleEditSettings particle;
        
        /* Select Group Threshold */
        float select_thresh;
@@ -554,6 +576,8 @@ typedef struct Scene {
 #define R_STAMP_NOTE   0x0020
 #define R_STAMP_DRAW   0x0040 /* draw in the image */
 #define R_STAMP_MARKER 0x0080
+#define R_STAMP_FILENAME       0x0100
+#define R_STAMP_SEQSTRIP       0x0200
 
 /* alphamode */
 #define R_ADDSKY               0
@@ -597,8 +621,15 @@ typedef struct Scene {
 
 /* bake_mode: same as RE_BAKE_xxx defines */
 /* bake_flag: */
-#define R_BAKE_CLEAR   1
-#define R_BAKE_OSA             2
+#define R_BAKE_CLEAR           1
+#define R_BAKE_OSA                     2
+#define R_BAKE_TO_ACTIVE       4
+
+/* bake_normal_space */
+#define R_BAKE_SPACE_CAMERA     0
+#define R_BAKE_SPACE_WORLD      1
+#define R_BAKE_SPACE_OBJECT     2
+#define R_BAKE_SPACE_TANGENT 3
 
 /* **************** SCENE ********************* */
 #define RAD_PHASE_PATCHES      1
@@ -618,6 +649,11 @@ typedef struct Scene {
 #define SCE_SELECT_EDGE                2
 #define SCE_SELECT_FACE                4
 
+/* sce->selectmode for particles */
+#define SCE_SELECT_PATH                1
+#define SCE_SELECT_POINT       2
+#define SCE_SELECT_END         4
+
 /* sce->recalc (now in use by previewrender) */
 #define SCE_PRV_CHANGED                1
 
@@ -670,6 +706,28 @@ typedef struct Scene {
 #define IMAGEPAINT_DRAW_TOOL                   2
 #define IMAGEPAINT_DRAW_TOOL_DRAWING   4
 
+/* toolsettings->particle flag */
+#define PE_KEEP_LENGTHS                        1
+#define PE_LOCK_FIRST                  2
+#define PE_DEFLECT_EMITTER             4
+#define PE_INTERPOLATE_ADDED   8
+#define PE_SHOW_CHILD                  16
+#define PE_SHOW_TIME                   32
+#define PE_X_MIRROR                            64
+
+/* toolsetting->particle brushtype */
+#define PE_BRUSH_NONE          -1
+#define PE_BRUSH_COMB          0
+#define PE_BRUSH_CUT           1
+#define PE_BRUSH_LENGTH                2
+#define PE_BRUSH_PUFF          3
+#define PE_BRUSH_ADD           4
+#define PE_BRUSH_WEIGHT                5
+#define PE_BRUSH_SMOOTH                6
+
+/* this must equal ParticleEditSettings.brush array size */
+#define PE_TOT_BRUSH           7  
+
 /* toolsettings->retopo_mode */
 #define RETOPO 1
 #define RETOPO_PAINT 2