Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/CMakeLists.txt2
-rw-r--r--source/blender/makesdna/DNA_ID.h4
-rw-r--r--source/blender/makesdna/DNA_action_types.h41
-rw-r--r--source/blender/makesdna/DNA_actuator_types.h74
-rw-r--r--source/blender/makesdna/DNA_anim_types.h11
-rw-r--r--source/blender/makesdna/DNA_armature_types.h2
-rw-r--r--source/blender/makesdna/DNA_boid_types.h2
-rw-r--r--source/blender/makesdna/DNA_brush_types.h8
-rw-r--r--source/blender/makesdna/DNA_camera_types.h2
-rw-r--r--source/blender/makesdna/DNA_cloth_types.h9
-rw-r--r--source/blender/makesdna/DNA_color_types.h13
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h14
-rw-r--r--source/blender/makesdna/DNA_controller_types.h2
-rw-r--r--source/blender/makesdna/DNA_curve_types.h4
-rw-r--r--source/blender/makesdna/DNA_customdata_types.h2
-rw-r--r--source/blender/makesdna/DNA_documentation.h2
-rw-r--r--source/blender/makesdna/DNA_effect_types.h2
-rw-r--r--source/blender/makesdna/DNA_fileglobal_types.h2
-rw-r--r--source/blender/makesdna/DNA_genfile.h2
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h2
-rw-r--r--source/blender/makesdna/DNA_group_types.h2
-rw-r--r--source/blender/makesdna/DNA_image_types.h7
-rw-r--r--source/blender/makesdna/DNA_ipo_types.h2
-rw-r--r--source/blender/makesdna/DNA_key_types.h2
-rw-r--r--source/blender/makesdna/DNA_lamp_types.h7
-rw-r--r--source/blender/makesdna/DNA_lattice_types.h2
-rw-r--r--source/blender/makesdna/DNA_listBase.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h8
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h4
-rw-r--r--source/blender/makesdna/DNA_meshdata_types.h2
-rw-r--r--source/blender/makesdna/DNA_meta_types.h2
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h4
-rw-r--r--source/blender/makesdna/DNA_nla_types.h2
-rw-r--r--source/blender/makesdna/DNA_node_types.h14
-rw-r--r--source/blender/makesdna/DNA_object_fluidsim.h2
-rw-r--r--source/blender/makesdna/DNA_object_force.h2
-rw-r--r--source/blender/makesdna/DNA_object_types.h11
-rw-r--r--source/blender/makesdna/DNA_outliner_types.h2
-rw-r--r--source/blender/makesdna/DNA_packedFile_types.h2
-rw-r--r--source/blender/makesdna/DNA_particle_types.h2
-rw-r--r--source/blender/makesdna/DNA_property_types.h2
-rw-r--r--source/blender/makesdna/DNA_scene_types.h83
-rw-r--r--source/blender/makesdna/DNA_screen_types.h8
-rw-r--r--source/blender/makesdna/DNA_sdna_types.h2
-rw-r--r--source/blender/makesdna/DNA_sensor_types.h4
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h6
-rw-r--r--source/blender/makesdna/DNA_smoke_types.h10
-rw-r--r--source/blender/makesdna/DNA_sound_types.h29
-rw-r--r--source/blender/makesdna/DNA_space_types.h33
-rw-r--r--source/blender/makesdna/DNA_text_types.h5
-rw-r--r--source/blender/makesdna/DNA_texture_types.h12
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h61
-rw-r--r--source/blender/makesdna/DNA_vec_types.h13
-rw-r--r--source/blender/makesdna/DNA_vfont_types.h2
-rw-r--r--source/blender/makesdna/DNA_view2d_types.h7
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h29
-rw-r--r--source/blender/makesdna/DNA_wave_types.h2
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h15
-rw-r--r--source/blender/makesdna/DNA_world_types.h17
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt2
-rw-r--r--source/blender/makesdna/intern/SConscript10
-rw-r--r--source/blender/makesdna/intern/dna_genfile.c25
-rw-r--r--source/blender/makesdna/intern/makesdna.c32
63 files changed, 447 insertions, 243 deletions
diff --git a/source/blender/makesdna/CMakeLists.txt b/source/blender/makesdna/CMakeLists.txt
index 1f8ab831ba6..cb61082000d 100644
--- a/source/blender/makesdna/CMakeLists.txt
+++ b/source/blender/makesdna/CMakeLists.txt
@@ -13,7 +13,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) 2006, Blender Foundation
# All rights reserved.
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 8c835dd7ca7..24e1a9f24e9 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -19,7 +19,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.
@@ -198,6 +198,8 @@ typedef struct PreviewImage {
/* fluidsim Ipo */
#define ID_FLUIDSIM MAKE_ID2('F', 'S')
+#define ID_REAL_USERS(id) (((ID *)id)->us - ((((ID *)id)->flag & LIB_FAKEUSER) ? 1:0))
+
/* id->flag: set frist 8 bits always at zero while reading */
#define LIB_LOCAL 0
#define LIB_EXTERN 1
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index dbc715ba87f..91d3a7901c4 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -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.
@@ -39,6 +39,7 @@
struct SpaceLink;
struct Object;
+struct Group;
/* ************************************************ */
/* Visualisation */
@@ -441,12 +442,14 @@ typedef enum eActionGroup_Flag {
AGRP_ACTIVE = (1<<1),
/* keyframes/channels belonging to it cannot be edited */
AGRP_PROTECTED = (1<<2),
- /* for UI, sub-channels are shown */
+ /* for UI (DopeSheet), sub-channels are shown */
AGRP_EXPANDED = (1<<3),
/* sub-channels are not evaluated */
AGRP_MUTED = (1<<4),
/* sub-channels are not visible in Graph Editor */
AGRP_NOTVISIBLE = (1<<5),
+ /* for UI (Graph Editor), sub-channels are shown */
+ AGRP_EXPANDED_G = (1<<6),
AGRP_TEMP = (1<<30),
AGRP_MOVED = (1<<31)
@@ -496,11 +499,13 @@ typedef enum eAction_Flags {
/* Storage for Dopesheet/Grease-Pencil Editor data */
typedef struct bDopeSheet {
- ID *source; /* currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil) */
- ListBase chanbase; /* cache for channels (only initialised when pinned) */ // XXX not used!
+ ID *source; /* currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil) */
+ ListBase chanbase; /* cache for channels (only initialised when pinned) */ // XXX not used!
- int filterflag; /* flags to use for filtering data */
- int flag; /* standard flags */
+ struct Group *filter_grp; /* object group for ADS_FILTER_ONLYOBGROUP filtering option */
+
+ int filterflag; /* flags to use for filtering data */
+ int flag; /* standard flags */
} bDopeSheet;
@@ -509,15 +514,20 @@ typedef enum eDopeSheet_FilterFlag {
/* general filtering */
ADS_FILTER_ONLYSEL = (1<<0), /* only include channels relating to selected data */
- /* temporary (runtime flags) */
+ /* temporary filters */
ADS_FILTER_ONLYDRIVERS = (1<<1), /* for 'Drivers' editor - only include Driver data from AnimData */
ADS_FILTER_ONLYNLA = (1<<2), /* for 'NLA' editor - only include NLA data from AnimData */
ADS_FILTER_SELEDIT = (1<<3), /* for Graph Editor - used to indicate whether to include a filtering flag or not */
- ADS_FILTER_SUMMARY = (1<<4), /* for 'DopeSheet' Editor - include 'summary' line */
+
+ /* general filtering 2 */
+ ADS_FILTER_SUMMARY = (1<<4), /* for 'DopeSheet' Editors - include 'summary' line */
+ ADS_FILTER_ONLYOBGROUP = (1<<5), /* only the objects in the specified object group get used */
/* datatype-based filtering */
ADS_FILTER_NOSHAPEKEYS = (1<<6),
ADS_FILTER_NOMESH = (1<<7),
+ ADS_FILTER_NOOBJ = (1<<8), /* for animdata on object level, if we only want to concentrate on materials/etc. */
+ // NOTE: there are a few more spaces for datablock filtering here...
ADS_FILTER_NOCAM = (1<<10),
ADS_FILTER_NOMAT = (1<<11),
ADS_FILTER_NOLAM = (1<<12),
@@ -528,6 +538,7 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_NOMBA = (1<<17),
ADS_FILTER_NOARM = (1<<18),
ADS_FILTER_NONTREE = (1<<19),
+ ADS_FILTER_NOTEX = (1<<20),
/* NLA-specific filters */
ADS_FILTER_NLA_NOACT = (1<<25), /* if the AnimData block has no NLA data, don't include to just show Action-line */
@@ -558,9 +569,7 @@ typedef struct SpaceAction {
bDopeSheet ads; /* the currently active context (when not showing action) */
char mode, autosnap; /* mode: editing context; autosnap: automatic keyframe snapping mode */
- short flag, actnr; /* flag: bitmapped settings; */
- short pin, lock; /* pin: keep showing current action; actnr: used for finding chosen action from menu; lock: lock time to other windows */
- short actwidth; /* width of the left-hand side name panel (in pixels?) */ // XXX depreceated!
+ short flag; /* flag: bitmapped settings; */
float timeslide; /* for Time-Slide transform mode drawing - current frame? */
} SpaceAction;
@@ -568,24 +577,26 @@ typedef struct SpaceAction {
typedef enum eSAction_Flag {
/* during transform (only set for TimeSlide) */
SACTION_MOVING = (1<<0),
- /* show sliders (if relevant) */
+ /* show sliders */
SACTION_SLIDERS = (1<<1),
/* draw time in seconds instead of time in frames */
SACTION_DRAWTIME = (1<<2),
/* don't filter action channels according to visibility */
- SACTION_NOHIDE = (1<<3),
+ //SACTION_NOHIDE = (1<<3), // XXX depreceated... old animation system
/* don't kill overlapping keyframes after transform */
SACTION_NOTRANSKEYCULL = (1<<4),
/* don't include keyframes that are out of view */
- SACTION_HORIZOPTIMISEON = (1<<5),
+ //SACTION_HORIZOPTIMISEON = (1<<5), // XXX depreceated... old irrelevant trick
/* hack for moving pose-markers (temp flag) */
SACTION_POSEMARKERS_MOVE = (1<<6),
/* don't draw action channels using group colours (where applicable) */
- SACTION_NODRAWGCOLORS = (1<<7),
+ SACTION_NODRAWGCOLORS = (1<<7), // XXX depreceated... irrelevant for current groups implementation
/* don't draw current frame number beside frame indicator */
SACTION_NODRAWCFRANUM = (1<<8),
/* temporary flag to force channel selections to be synced with main */
SACTION_TEMP_NEEDCHANSYNC = (1<<9),
+ /* don't perform realtime updates */
+ SACTION_NOREALTIMEUPDATES = (1<<10),
} eSAction_Flag;
/* SpaceAction Mode Settings */
diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h
index 58fa38ae159..a59b748945f 100644
--- a/source/blender/makesdna/DNA_actuator_types.h
+++ b/source/blender/makesdna/DNA_actuator_types.h
@@ -17,7 +17,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.
@@ -50,7 +50,7 @@ typedef struct bAddObjectActuator {
typedef struct bActionActuator {
struct bAction *act; /* Pointer to action */
- short type, flag; /* Playback type */
+ short type, flag; /* Playback type */ // not in use
int sta, end; /* Start & End frames */
char name[32]; /* For property-driven playback */
char frameProp[32]; /* Set this property to the actions current frame */
@@ -58,18 +58,18 @@ typedef struct bActionActuator {
short priority; /* Execution priority */
short end_reset; /* Ending the actuator (negative pulse) wont reset the the action to its starting frame */
short strideaxis; /* Displacement axis */
- float stridelength; /* Displacement incurred by cycle */
+ float stridelength; /* Displacement incurred by cycle */ // not in use
} bActionActuator;
typedef struct bSoundActuator {
short flag, sndnr;
- int sta, end;
- short pad1[2];
+ int pad1, pad2;
+ short pad3[2];
float volume, pitch;
struct bSound *sound;
struct Sound3D sound3D;
- short type, makecopy;
- short copymade, pad2[1];
+ short type, pad4;
+ short pad5, pad6[1];
} bSoundActuator;
typedef struct bEditObjectActuator {
@@ -86,23 +86,23 @@ typedef struct bEditObjectActuator {
} bEditObjectActuator;
typedef struct bSceneActuator {
- short type, flag;
+ short type, pad1;
int pad;
struct Scene *scene;
struct Object *camera;
} bSceneActuator;
typedef struct bPropertyActuator {
- int flag, type;
+ int pad, type;
char name[32], value[32];
- struct Object *ob;
+ struct Object *ob; // not in use anymore
} bPropertyActuator;
typedef struct bObjectActuator {
short flag, type, otype;
short damping;
float forceloc[3], forcerot[3];
- float loc[3], rot[3];
+ float pad[3], pad1[3];
float dloc[3], drot[3];
float linearvelocity[3], angularvelocity[3];
struct Object *reference;
@@ -114,16 +114,16 @@ typedef struct bIpoActuator {
char name[32];
char frameProp[32]; /* Set this property to the actions current frame */
- short pad1, cur, butsta, butend;
+ short pad1, pad2, pad3, pad4;
} bIpoActuator;
typedef struct bCameraActuator {
struct Object *ob;
float height, min, max;
- float fac;
- short flag, axis;
- float visifac;
+ float pad;
+ short pad1, axis;
+ float pad2;
} bCameraActuator ;
typedef struct bConstraintActuator {
@@ -158,31 +158,12 @@ typedef struct bRandomActuator {
} bRandomActuator;
typedef struct bMessageActuator {
- /**
- * Send to all objects with this propertyname. Empty to broadcast.
- */
- char toPropName[32];
-
- /**
- * (Possible future use) pointer to a single destination object.
- */
- struct Object *toObject;
-
- /**
- * Message Subject to send.
- */
- char subject[32];
-
- /**
- * bodyType is either 'User defined text' or PropName
- */
- short bodyType, pad1;
+ char toPropName[32]; /* Send to all objects with this propertyname. Empty to broadcast. */
+ struct Object *toObject;/* (Possible future use) pointer to a single destination object. */
+ char subject[32]; /* Message Subject to send. */
+ short bodyType, pad1; /* bodyType is either 'User defined text' or PropName */
int pad2;
-
- /**
- * Either User Defined Text or our PropName to send value of
- */
- char body[32];
+ char body[32]; /* Either User Defined Text or our PropName to send value of */
} bMessageActuator;
typedef struct bGameActuator {
@@ -408,7 +389,6 @@ typedef struct FreeCamera {
#define ACT_EDOB_LOCAL_LINV 2
#define ACT_EDOB_LOCAL_ANGV 4
-
/* editObjectActuator->flag */
#define ACT_TRACK_3D 1
@@ -416,6 +396,14 @@ typedef struct FreeCamera {
#define ACT_EDOB_REPLACE_MESH_NOGFX 2 /* use for replace mesh actuator */
#define ACT_EDOB_REPLACE_MESH_PHYS 4
+/* editObjectActuator->dyn_operation */
+#define ACT_EDOB_RESTORE_DYN 0
+#define ACT_EDOB_SUSPEND_DYN 1
+#define ACT_EDOB_ENABLE_RB 2
+#define ACT_EDOB_DISABLE_RB 3
+#define ACT_EDOB_SET_MASS 4
+
+
/* SceneActuator->type */
#define ACT_SCENE_RESTART 0
#define ACT_SCENE_SET 1
@@ -503,6 +491,12 @@ typedef struct FreeCamera {
/* update this define if more type are addedd */
#define ACT_ARM_MAXTYPE 4
+/* stateactuator->type */
+#define ACT_STATE_SET 0
+#define ACT_STATE_ADD 1
+#define ACT_STATE_REMOVE 2
+#define ACT_STATE_CHANGE 3
+
#endif
diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h
index 958add428a4..d2755f71fa3 100644
--- a/source/blender/makesdna/DNA_anim_types.h
+++ b/source/blender/makesdna/DNA_anim_types.h
@@ -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) 2009 Blender Foundation, Joshua Leung
* All rights reserved.
@@ -294,9 +294,10 @@ typedef struct DriverVar {
char name[64]; /* name of the variable to use in py-expression (must be valid python identifier) */
DriverTarget targets[8]; /* MAX_DRIVER_TARGETS, target slots */
- int num_targets; /* number of targets actually used by this variable */
+ short num_targets; /* number of targets actually used by this variable */
- int type; /* type of driver target (eDriverTarget_Types) */
+ short type; /* type of driver target (eDriverTarget_Types) */
+ float curval; /* result of previous evaluation */
} DriverVar;
/* Driver Variable Types */
@@ -339,7 +340,7 @@ typedef struct ChannelDriver {
char expression[256]; /* expression to compile for evaluation */
void *expr_comp; /* PyObject - compiled expression, dont save this */
- float curval; /* result of previous evaluation, for subtraction from result under certain circumstances */
+ float curval; /* result of previous evaluation */
float influence; /* influence of driver on result */ // XXX to be implemented... this is like the constraint influence setting
/* general settings */
@@ -374,6 +375,8 @@ typedef enum eDriver_Flags {
DRIVER_FLAG_RECOMPILE = (1<<3),
/* the names are cached so they dont need have python unicode versions created each time */
DRIVER_FLAG_RENAMEVAR = (1<<4),
+ /* intermediate values of driver should be shown in the UI for debugging purposes */
+ DRIVER_FLAG_SHOWDEBUG = (1<<5),
} eDriver_Flags;
/* F-Curves -------------------------------------- */
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index 010f210d5aa..258646f0e55 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_boid_types.h b/source/blender/makesdna/DNA_boid_types.h
index 3e5b0829c70..8584b5f99e9 100644
--- a/source/blender/makesdna/DNA_boid_types.h
+++ b/source/blender/makesdna/DNA_boid_types.h
@@ -17,7 +17,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) 2009 by Janne Karhu.
* All rights reserved.
diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h
index 4738b0d81e8..163c8122fb7 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -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) 2005 Blender Foundation.
* All rights reserved.
@@ -65,8 +65,10 @@ typedef struct Brush {
float rgb[3]; /* color */
float alpha; /* opacity */
- char sculpt_tool; /* active tool */
- char pad2[3];
+ char sculpt_tool; /* active sculpt tool */
+ char vertexpaint_tool; /* active vertex/weight paint tool/blend mode */
+ char imagepaint_tool; /* active image paint tool */
+ char pad2;
} Brush;
/* Brush.flag */
diff --git a/source/blender/makesdna/DNA_camera_types.h b/source/blender/makesdna/DNA_camera_types.h
index 3d839570e17..dc075af353c 100644
--- a/source/blender/makesdna/DNA_camera_types.h
+++ b/source/blender/makesdna/DNA_camera_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_cloth_types.h b/source/blender/makesdna/DNA_cloth_types.h
index 58f68d0a514..8e04107afe0 100644
--- a/source/blender/makesdna/DNA_cloth_types.h
+++ b/source/blender/makesdna/DNA_cloth_types.h
@@ -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) 2006 by NaN Holding BV.
* All rights reserved.
@@ -47,10 +47,7 @@ typedef struct ClothSimSettings
float mingoal; /* see SB */
float Cdis; /* Mechanical damping of springs. */
float Cvi; /* Viscous/fluid damping. */
- /* XXX the extra space here results in wrong DNA parsing,
- * and reconstruct fails and gives corrupt settings when
- * removing it because the old dna is wrong ... */
- float gravity [3]; /* Gravity/external force vector. */
+ float gravity[3]; /* Gravity/external force vector. */
float dt; /* This is the duration of our time step, computed. */
float mass; /* The mass of the entire cloth. */
float structural; /* Structural spring stiffness. */
@@ -69,6 +66,8 @@ typedef struct ClothSimSettings
float goalspring;
float goalfrict;
float velocity_smooth; /* smoothing of velocities for hair */
+ float collider_friction; /* friction with colliders */
+
int stepsPerFrame; /* Number of time steps per frame. */
int flags; /* flags, see CSIMSETT_FLAGS enum above. */
int preroll; /* How many frames of simulation to do before we start. */
diff --git a/source/blender/makesdna/DNA_color_types.h b/source/blender/makesdna/DNA_color_types.h
index 3caa74c9a72..5d6802290c2 100644
--- a/source/blender/makesdna/DNA_color_types.h
+++ b/source/blender/makesdna/DNA_color_types.h
@@ -16,7 +16,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) 2006 Blender Foundation.
* All rights reserved.
@@ -80,5 +80,16 @@ typedef struct CurveMapping {
#define CUMA_DRAW_CFRA 4
#define CUMA_DRAW_SAMPLE 8
+typedef struct Histogram {
+ int channels;
+ int x_resolution;
+ float data_r[256];
+ float data_g[256];
+ float data_b[256];
+ float xmax, ymax;
+ int ok;
+ int flag;
+} Histogram;
+
#endif
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 163933da12a..6e837588f0c 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -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.
@@ -257,11 +257,15 @@ typedef struct bDampTrackConstraint {
/* Follow Path constraints */
typedef struct bFollowPathConstraint {
- Object *tar; /* Must be path object */
- float offset; /* Offset in time on the path (in frame) */
+ Object *tar; /* Must be path object */
+
+ float offset; /* Offset in time on the path (in frames), when NOT using 'fixed position' */
+ float offset_fac; /* Parametric offset factor defining position along path, when using 'fixed position' */
+
int followflag;
- int trackflag;
- int upflag;
+
+ short trackflag;
+ short upflag;
} bFollowPathConstraint;
/* Stretch to constraint */
diff --git a/source/blender/makesdna/DNA_controller_types.h b/source/blender/makesdna/DNA_controller_types.h
index 599bbf9653a..026f2a489fc 100644
--- a/source/blender/makesdna/DNA_controller_types.h
+++ b/source/blender/makesdna/DNA_controller_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index f988511b146..cd002894c5d 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -19,7 +19,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.
@@ -297,7 +297,7 @@ typedef enum eBezTriple_Handle {
HD_AUTO,
HD_VECT,
HD_ALIGN,
- HD_AUTO_ANIM
+ HD_AUTO_ANIM, /* not real handle type, but is just used as dummy item for anim code */
} eBezTriple_Handle;
/* interpolation modes (used only for BezTriple->ipo) */
diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h
index f227e82fb44..23fb50508b6 100644
--- a/source/blender/makesdna/DNA_customdata_types.h
+++ b/source/blender/makesdna/DNA_customdata_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_documentation.h b/source/blender/makesdna/DNA_documentation.h
index f8aa8ae5b2a..d0f24eb0010 100644
--- a/source/blender/makesdna/DNA_documentation.h
+++ b/source/blender/makesdna/DNA_documentation.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_effect_types.h b/source/blender/makesdna/DNA_effect_types.h
index dae812c5f5c..ee0b791a274 100644
--- a/source/blender/makesdna/DNA_effect_types.h
+++ b/source/blender/makesdna/DNA_effect_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_fileglobal_types.h b/source/blender/makesdna/DNA_fileglobal_types.h
index 271c8d2a33e..ae539a18963 100644
--- a/source/blender/makesdna/DNA_fileglobal_types.h
+++ b/source/blender/makesdna/DNA_fileglobal_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_genfile.h b/source/blender/makesdna/DNA_genfile.h
index 4b9401bf4b9..75d21644267 100644
--- a/source/blender/makesdna/DNA_genfile.h
+++ b/source/blender/makesdna/DNA_genfile.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 00afd687f79..25378173929 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -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) 2008, Blender Foundation.
* This is a new part of Blender
diff --git a/source/blender/makesdna/DNA_group_types.h b/source/blender/makesdna/DNA_group_types.h
index 0987050261d..61a527dd351 100644
--- a/source/blender/makesdna/DNA_group_types.h
+++ b/source/blender/makesdna/DNA_group_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index 65e4be1173d..3a7933cf425 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -17,7 +17,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.
@@ -118,8 +118,9 @@ typedef struct Image {
#define IMA_TWINANIM 2
#define IMA_COLCYCLE 4 /* Depreciated */
#define IMA_MIPMAP_COMPLETE 8 /* all mipmap levels in OpenGL texture set? */
-#define IMA_CLAMP_U 16
-#define IMA_CLAMP_V 32
+#define IMA_CLAMP_U 16
+#define IMA_CLAMP_V 32
+#define IMA_TPAGE_REFRESH 64
/* ima->type and ima->source moved to BKE_image.h, for API */
diff --git a/source/blender/makesdna/DNA_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h
index cf3d713c690..b7e15808ff0 100644
--- a/source/blender/makesdna/DNA_ipo_types.h
+++ b/source/blender/makesdna/DNA_ipo_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h
index 02d3e8efb00..a9783d3465e 100644
--- a/source/blender/makesdna/DNA_key_types.h
+++ b/source/blender/makesdna/DNA_key_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_lamp_types.h b/source/blender/makesdna/DNA_lamp_types.h
index c321c9feea7..cb458708b3e 100644
--- a/source/blender/makesdna/DNA_lamp_types.h
+++ b/source/blender/makesdna/DNA_lamp_types.h
@@ -17,7 +17,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.
@@ -115,6 +115,10 @@ typedef struct Lamp {
/* flag */
#define LA_DS_EXPAND 1
+ /* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
+ * otherwise anim-editors will not read correctly
+ */
+#define LA_DS_SHOW_TEXS 4
/* type */
#define LA_LOCAL 0
@@ -145,6 +149,7 @@ typedef struct Lamp {
#define LA_YF_SOFT 16384
#define LA_LAYER_SHADOW 32768
#define LA_SHAD_TEX (1<<16)
+#define LA_SHOW_CONE (1<<17)
/* layer_shadow */
#define LA_LAYER_SHADOW_BOTH 0
diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h
index a2748617f18..620bdbf5be4 100644
--- a/source/blender/makesdna/DNA_lattice_types.h
+++ b/source/blender/makesdna/DNA_lattice_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_listBase.h b/source/blender/makesdna/DNA_listBase.h
index 5479ba25f70..afeb79037f5 100644
--- a/source/blender/makesdna/DNA_listBase.h
+++ b/source/blender/makesdna/DNA_listBase.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 7a19262b0cd..f8eb6e76693 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -17,7 +17,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.
@@ -181,6 +181,11 @@ typedef struct Material {
#define MA_IS_USED 1
/* for dopesheet */
#define MA_DS_EXPAND 2
+ /* for dopesheet (texture stack expander)
+ * NOTE: this must have the same value as other texture stacks,
+ * otherwise anim-editors will not read correctly
+ */
+#define MA_DS_SHOW_TEXS 4
/* mode (is int) */
#define MA_TRACEBLE 1
@@ -234,6 +239,7 @@ typedef struct Material {
/* shade_flag */
#define MA_CUBIC 1
#define MA_OBCOLOR 2
+#define MA_APPROX_OCCLUSION 4
/* diff_shader */
#define MA_DIFF_LAMBERT 0
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index 8139673b7d7..e29dfd6894b 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -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.
@@ -141,6 +141,8 @@ typedef struct TFace {
#define ME_EDIT_MIRROR_Z (1 << 2) // unused so far
#define ME_EDIT_PAINT_MASK (1 << 3)
+#define ME_EDIT_MIRROR_TOPO (1 << 4) // unused so far
+
/* me->flag */
#define ME_ISDONE 1
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h
index dd1d6c66036..1cfbd9d8d51 100644
--- a/source/blender/makesdna/DNA_meshdata_types.h
+++ b/source/blender/makesdna/DNA_meshdata_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_meta_types.h b/source/blender/makesdna/DNA_meta_types.h
index 0e746eb0f4d..feadf7cd510 100644
--- a/source/blender/makesdna/DNA_meta_types.h
+++ b/source/blender/makesdna/DNA_meta_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 2491e58f176..5d321fe49c2 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -16,7 +16,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.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -679,7 +679,7 @@ typedef struct ShapeKeyModifierData {
typedef struct SolidifyModifierData {
ModifierData modifier;
- char vgroup[32]; /* name of vertex group to use */
+ char defgrp_name[32]; /* name of vertex group to use */
float offset; /* new surface offset level*/
float crease_inner;
float crease_outer;
diff --git a/source/blender/makesdna/DNA_nla_types.h b/source/blender/makesdna/DNA_nla_types.h
index 4452517d8aa..519d8ca8163 100644
--- a/source/blender/makesdna/DNA_nla_types.h
+++ b/source/blender/makesdna/DNA_nla_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 9b433c5bf8c..4dd089949e9 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -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) 2005 Blender Foundation.
* All rights reserved.
@@ -300,6 +300,18 @@ typedef struct NodeLensDist {
short jit, proj, fit, pad;
} NodeLensDist;
+typedef struct NodeColorBalance {
+ /* for processing */
+ float slope[3];
+ float offset[3];
+ float power[3];
+
+ /* for ui representation */
+ float lift[3];
+ float gamma[3];
+ float gain[3];
+} NodeColorBalance;
+
/* TEX_output */
typedef struct TexNodeOutput {
char name[32];
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h
index da55fb1d47c..fa918fc30d9 100644
--- a/source/blender/makesdna/DNA_object_fluidsim.h
+++ b/source/blender/makesdna/DNA_object_fluidsim.h
@@ -16,7 +16,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) 2004-2005 by Blender Foundation
* All rights reserved.
diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h
index b3cdd6135e7..1df76a39d9d 100644
--- a/source/blender/makesdna/DNA_object_force.h
+++ b/source/blender/makesdna/DNA_object_force.h
@@ -16,7 +16,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) 2004-2005 by Blender Foundation
* All rights reserved.
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 9f9388ea7b8..3be057959b6 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -19,7 +19,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.
@@ -135,15 +135,15 @@ typedef struct Object {
/* rot en drot have to be together! (transform('r' en 's')) */
float loc[3], dloc[3], orig[3];
- float size[3], dsize[3];
+ float size[3], dsize[3]; /* scale and delta scale */
float rot[3], drot[3]; /* euler rotation */
float quat[4], dquat[4]; /* quaternion rotation */
float rotAxis[3], drotAxis[3]; /* axis angle rotation - axis part */
float rotAngle, drotAngle; /* axis angle rotation - angle part */
- float obmat[4][4];
+ float obmat[4][4]; /* final worldspace matrix with constraints & animsys applied */
float parentinv[4][4]; /* inverse result of parent, so that object doesn't 'stick' to parent */
float constinv[4][4]; /* inverse result of constraints. doesn't include effect of parent or object local transform */
- float imat[4][4]; /* for during render, old game engine, temporally: ipokeys of transform */
+ float imat[4][4]; /* inverse matrix of 'obmat' for during render, old game engine, temporally: ipokeys of transform */
unsigned int lay; /* copy of Base */
@@ -196,7 +196,7 @@ typedef struct Object {
float bbsize[3];
short index; /* custom index, for renderpasses */
- unsigned short actdef; /* current deformation group */
+ unsigned short actdef; /* current deformation group, note: index starts at 1 */
float col[4]; /* object color, adjusted via IPO's only */
/**
* Settings for game objects
@@ -334,6 +334,7 @@ extern Object workob;
#define OB_DUPLIFACES_SCALE 1024
#define OB_DUPLIPARTS 2048
#define OB_RENDER_DUPLI 4096
+#define OB_NO_CONSTRAINTS 8192 /* runtime constraints disable */
/* (short) ipoflag */
// XXX depreceated - old animation system crap
diff --git a/source/blender/makesdna/DNA_outliner_types.h b/source/blender/makesdna/DNA_outliner_types.h
index b19db15d73b..d30351b6c34 100644
--- a/source/blender/makesdna/DNA_outliner_types.h
+++ b/source/blender/makesdna/DNA_outliner_types.h
@@ -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.
diff --git a/source/blender/makesdna/DNA_packedFile_types.h b/source/blender/makesdna/DNA_packedFile_types.h
index f11c51692e1..73f55ca186c 100644
--- a/source/blender/makesdna/DNA_packedFile_types.h
+++ b/source/blender/makesdna/DNA_packedFile_types.h
@@ -18,7 +18,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.
diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h
index abcdbcefc0f..36c144a1cfa 100644
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@ -17,7 +17,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) 2007 by Janne Karhu.
* All rights reserved.
diff --git a/source/blender/makesdna/DNA_property_types.h b/source/blender/makesdna/DNA_property_types.h
index af79b2e0a22..e0da4e89f0f 100644
--- a/source/blender/makesdna/DNA_property_types.h
+++ b/source/blender/makesdna/DNA_property_types.h
@@ -20,7 +20,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.
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 974967c6aa6..928637a0047 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -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.
@@ -170,23 +170,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... */
@@ -300,7 +302,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
@@ -357,8 +362,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;
@@ -481,6 +487,7 @@ typedef struct GameData {
#define GAME_GLSL_NO_NODES (1 << 10)
#define GAME_GLSL_NO_EXTRA_TEX (1 << 11)
#define GAME_IGNORE_DEPRECATION_WARNINGS (1 << 12)
+#define GAME_ENABLE_ANIMATION_RECORD (1 << 13)
/* GameData.matmode */
#define GAME_MAT_TEXFACE 0
@@ -510,7 +517,7 @@ typedef struct Paint {
typedef struct ImagePaintSettings {
Paint paint;
- short flag, tool;
+ short flag, pad;
/* for projection painting only */
short seam_bleed, normal_angle;
@@ -521,6 +528,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 {
@@ -564,7 +572,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 */
@@ -751,7 +759,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;
@@ -788,6 +799,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
@@ -959,14 +974,17 @@ 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 */
#define MAXFRAME 300000
#define MAXFRAMEF 300000.0f
-#define MINFRAME 1
-#define MINFRAMEF 1.0f
+#define MINFRAME 0
+#define MINFRAMEF 0.0f
/* (minimum frame number for current-frame) */
#define MINAFRAME -300000
@@ -990,8 +1008,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)
@@ -1049,6 +1068,7 @@ typedef struct Scene {
#define SCE_DS_SELECTED (1<<0)
#define SCE_DS_COLLAPSED (1<<1)
#define SCE_NLA_EDIT_ON (1<<2)
+#define SCE_FRAME_DROP (1<<3)
/* return flag next_object function */
@@ -1063,7 +1083,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 */
@@ -1136,10 +1156,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
@@ -1211,6 +1235,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
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index 12f61cbb026..ce165c0bac8 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -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.
@@ -60,8 +60,8 @@ typedef struct bScreen {
short do_refresh; /* notifier for scale screen, changed screen, etc */
short do_draw_gesture; /* notifier for gesture draw. */
short do_draw_paintcursor; /* notifier for paint cursor draw. */
+ short do_draw_drag; /* notifier for dragging draw. */
short swap; /* indicator to survive swap-exchange systems */
- short pad;
short mainwin; /* screensize subwindow, for screenedges and global menus */
short subwinactive; /* active subwindow */
@@ -148,11 +148,11 @@ typedef struct ARegion {
short alignment; /* how it should split */
short flag; /* hide, ... */
- float fsize; /* current split size in float */
+ float fsize; /* current split size in float (unused) */
+ short sizex, sizey; /* current split size in pixels (if zero it uses regiontype) */
short do_draw; /* private, cached notifier events */
short swap; /* private, indicator to survive swap-exchange */
- int pad1;
struct ARegionType *type; /* callbacks for this region type */
diff --git a/source/blender/makesdna/DNA_sdna_types.h b/source/blender/makesdna/DNA_sdna_types.h
index 5726837a723..d13edb99f07 100644
--- a/source/blender/makesdna/DNA_sdna_types.h
+++ b/source/blender/makesdna/DNA_sdna_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_sensor_types.h b/source/blender/makesdna/DNA_sensor_types.h
index a5ba5886ed5..41476c81c85 100644
--- a/source/blender/makesdna/DNA_sensor_types.h
+++ b/source/blender/makesdna/DNA_sensor_types.h
@@ -17,7 +17,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.
@@ -98,6 +98,7 @@ typedef struct bDelaySensor {
typedef struct bCollisionSensor {
char name[32]; /* property name */
char materialName[32]; /* material */
+ // struct Material *ma; // XXX remove materialName
short damptimer, damp;
short mode; /* flag to choose material or property */
short pad2;
@@ -121,6 +122,7 @@ typedef struct bRaySensor {
float range;
char propname[32];
char matname[32];
+ //struct Material *ma; // XXX remove materialName
short mode;
short pad1;
int axisflag;
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 0b45d62e347..329e9ce771a 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -17,7 +17,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.
@@ -161,7 +161,9 @@ typedef struct Sequence {
ListBase seqbase; /* list of strips for metastrips */
struct bSound *sound; /* the linked "bSound" object */
- struct SoundHandle *sound_handle;
+ void *scene_sound;
+ float volume, pad;
+
float level, pan; /* level in dB (0=full), pan -1..1 */
int scenenr; /* for scene selection */
float strobe;
diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h
index 6cf308aa0ad..46e5c10be3b 100644
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@ -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) 2006 by NaN Holding BV.
* All rights reserved.
@@ -33,6 +33,8 @@
#define MOD_SMOKE_HIGHRES (1<<1) /* enable high resolution */
#define MOD_SMOKE_DISSOLVE (1<<2) /* let smoke dissolve */
#define MOD_SMOKE_DISSOLVE_LOG (1<<3) /* using 1/x for dissolve */
+#define MOD_SMOKE_INITVELOCITY (1<<4) /* passes particles speed to
+ the smoke*/
/* noise */
#define MOD_SMOKE_NOISEWAVE (1<<0)
@@ -41,6 +43,10 @@
/* viewsettings */
#define MOD_SMOKE_VIEW_SHOWBIG (1<<0)
+/* cache compression */
+#define SM_CACHE_LIGHT 0
+#define SM_CACHE_HEAVY 1
+
typedef struct SmokeDomainSettings {
struct SmokeModifierData *smd; /* for fast RNA access */
struct FLUID_3D *fluid;
@@ -73,6 +79,8 @@ typedef struct SmokeDomainSettings {
int res_wt[3];
float dx_wt;
int v3dnum;
+ int cache_comp;
+ int cache_high_comp;
struct PointCache *point_cache[2]; /* definition is in DNA_object_force.h */
struct ListBase ptcaches[2];
struct EffectorWeights *effector_weights;
diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h
index 55b48e4aacd..45dff0c96fa 100644
--- a/source/blender/makesdna/DNA_sound_types.h
+++ b/source/blender/makesdna/DNA_sound_types.h
@@ -17,7 +17,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.
@@ -41,21 +41,6 @@ struct Ipo;
struct PackedFile;
struct SpaceLink;
-// runtime only - no saving
-typedef struct SoundHandle {
- struct SoundHandle *next, *prev;
- struct bSound *source;
- void *handle;
- int state;
- int startframe;
- int endframe;
- int frameskip;
- int mute;
- int changed;
- float volume;
- float pad;
-} SoundHandle;
-
typedef struct Sound3D
{
float min_gain;
@@ -74,7 +59,7 @@ typedef struct bSound {
/**
* The path to the sound file.
*/
- char name[160];
+ char name[240];
/**
* The packed file.
@@ -98,19 +83,21 @@ typedef struct bSound {
float max_gain;
float distance;
int flags;
+ int pad;
/** currently int type;
struct bSound *child_sound;*/
/**
- * Whether the sound has been changed and must be restarted if playing.
+ * The audaspace handle for cache.
*/
- int changed;
+ void *cache;
/**
- * The audaspace handle for cache.
+ * The audaspace handle that should actually be played back.
+ * Should be cache if cache != NULL; otherwise it's handle
*/
- void *cache;
+ void *playback_handle;
/** XXX unused currently // SOUND_TYPE_LIMITER
float start, end;*/
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 56323c54491..c57931fa0a9 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -17,7 +17,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.
@@ -32,6 +32,7 @@
#define DNA_SPACE_TYPES_H
#include "DNA_listBase.h"
+#include "DNA_color_types.h" /* for Histogram */
#include "DNA_vec_types.h"
#include "DNA_outliner_types.h" /* for TreeStoreElem */
#include "DNA_image_types.h" /* ImageUser */
@@ -43,6 +44,7 @@ struct Text;
struct Script;
struct ImBuf;
struct Image;
+struct Histogram;
struct SpaceIpo;
struct BlendHandle;
struct RenderInfo;
@@ -124,8 +126,8 @@ typedef struct SpaceButs {
short preview; /* preview is signal to refresh */
char flag, pad[3];
- void *path; /* runtime */
- int pathflag, dataicon; /* runtime */
+ void *path; /* runtime */
+ int pathflag, dataicon; /* runtime */
ID *pinid;
} SpaceButs;
@@ -139,13 +141,13 @@ typedef struct SpaceSeq {
View2D v2d; /* deprecated, copied to region */
- float xof, yof; /* offset for drawing the image preview */
+ float xof, yof; /* deprecated: offset for drawing the image preview */
short mainb; /* weird name for the sequencer subtype (seq, image, luma... etc) */
short render_size;
short chanshown;
short zebra;
int flag;
- float zoom;
+ float zoom; /* deprecated, handled by View2D now */
int view; /* see SEQ_VIEW_* below */
int pad;
@@ -255,6 +257,8 @@ typedef struct SpaceImage {
float centx, centy; /* storage for offset while render drawing */
struct bGPdata *gpd; /* grease pencil data */
+
+ struct Histogram hist; /* viewer histogram */
} SpaceImage;
typedef struct SpaceNla {
@@ -573,7 +577,6 @@ typedef struct SpaceUserPref {
#define TAB_SCENE_SOUND 3
#define TAB_SCENE_SEQUENCER 4
-
/* buts->mainb new */
#define BCONTEXT_RENDER 0
#define BCONTEXT_SCENE 1
@@ -595,6 +598,7 @@ typedef struct SpaceUserPref {
#define SB_PIN_CONTEXT 2
#define SB_WORLD_TEX 4
#define SB_BRUSH_TEX 8
+#define SB_SHADING_CONTEXT 16
/* sbuts->align */
#define BUT_FREE 0
@@ -645,6 +649,9 @@ enum FileSortTypeE {
#define FILE_LOADLIB 1
#define FILE_MAIN 2
#define FILE_LOADFONT 3
+/* filesel op property -> action */
+#define FILE_OPENFILE 0
+#define FILE_SAVE 1
/* sfile->flag and simasel->flag */
#define FILE_SHOWSHORT 1
@@ -746,6 +753,8 @@ enum FileSortTypeE {
#define SIPO_SELVHANDLESONLY (1<<9)
/* temporary flag to force channel selections to be synced with main */
#define SIPO_TEMP_NEEDCHANSYNC (1<<10)
+ /* don't perform realtime updates */
+#define SIPO_NOREALTIMEUPDATES (1<<11)
/* SpaceIpo->mode (Graph Editor Mode) */
enum {
@@ -831,15 +840,15 @@ enum {
#define IMS_INFILESLI 4
/* nla->flag */
- // depreceated
-#define SNLA_ALLKEYED (1<<0)
- // depreceated
-#define SNLA_ACTIVELAYERS (1<<1)
-
+/* flags (1<<0), (1<<1), and (1<<3) are depreceated flags from old blenders */
+ /* draw timing in seconds instead of frames */
#define SNLA_DRAWTIME (1<<2)
-#define SNLA_NOTRANSKEYCULL (1<<3)
+ /* don't draw frame number beside frame indicator */
#define SNLA_NODRAWCFRANUM (1<<4)
+ /* don't draw influence curves on strips */
#define SNLA_NOSTRIPCURVES (1<<5)
+ /* don't perform realtime updates */
+#define SNLA_NOREALTIMEUPDATES (1<<6)
/* time->flag */
/* show timing in frames instead of in seconds */
diff --git a/source/blender/makesdna/DNA_text_types.h b/source/blender/makesdna/DNA_text_types.h
index 5793f061f06..d89d15fa302 100644
--- a/source/blender/makesdna/DNA_text_types.h
+++ b/source/blender/makesdna/DNA_text_types.h
@@ -17,7 +17,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.
@@ -70,8 +70,6 @@ typedef struct Text {
double mtime;
} Text;
- /* TXT_OFFSET used to be 35 when the scrollbar was on the left... */
-#define TXT_OFFSET 15
#define TXT_TABSIZE 4
#define TXT_INIT_UNDO 1024
#define TXT_MAX_UNDO (TXT_INIT_UNDO*TXT_INIT_UNDO)
@@ -84,6 +82,7 @@ typedef struct Text {
#define TXT_ISSCRIPT 0x0010 /* used by space handler scriptlinks */
#define TXT_READONLY 0x0100
#define TXT_FOLLOW 0x0200 /* always follow cursor (console) */
+#define TXT_TABSTOSPACES 0x0400 /* use space instead of tabs */
/* format continuation flags */
#define TXT_NOCONT 0x00 /* no continuation */
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index eac7a97f0c0..3212ff7b534 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -17,7 +17,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.
@@ -184,7 +184,7 @@ typedef struct VoxelData {
short file_format;
short flag;
short extend;
- short pad;
+ short smoked_type;
struct Object *object; /* for rendering smoke sims */
float int_multiplier;
@@ -236,7 +236,7 @@ typedef struct Tex {
int frames, offset, sfra;
float checkerdist, nabla;
- float norfac;
+ float pad1;
struct ImageUser iuser;
@@ -357,6 +357,7 @@ typedef struct TexMapping {
#define TEX_REPEAT_XMIR 128
#define TEX_REPEAT_YMIR 256
#define TEX_FLAG_MASK ( TEX_COLORBAND | TEX_FLIPBLEND | TEX_NEGALPHA | TEX_CHECKER_ODD | TEX_CHECKER_EVEN | TEX_PRV_ALPHA | TEX_PRV_NOR | TEX_REPEAT_XMIR | TEX_REPEAT_YMIR )
+#define TEX_DS_EXPAND 512
/* extend (starts with 1 because of backward comp.) */
#define TEX_EXTEND 1
@@ -546,5 +547,10 @@ typedef struct TexMapping {
#define TEX_VD_IMAGE_SEQUENCE 3
#define TEX_VD_SMOKE 4
+/* smoke data types */
+#define TEX_VD_SMOKEDENSITY 0
+#define TEX_VD_SMOKEHEAT 1
+#define TEX_VD_SMOKEVEL 2
+
#endif
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index d981372c667..5a11f10ab31 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -17,7 +17,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.
@@ -196,13 +196,17 @@ typedef struct ThemeSpace {
char face[4], face_select[4]; // solid faces
char face_dot[4]; // selected color
char normal[4];
+ char vertex_normal[4];
char bone_solid[4], bone_pose[4];
char strip[4], strip_select[4];
char cframe[4];
char ds_channel[4], ds_subchannel[4]; // dopesheet
+ char console_output[4], console_input[4], console_info[4], console_error[4];
+ char console_cursor[4];
+
char vertex_size, facedot_size;
- char bpad[2];
+ char bpad[2];
char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
char syntaxv[4], syntaxc[4];
@@ -217,7 +221,7 @@ typedef struct ThemeSpace {
char handle_vertex_size;
char hpad[3];
- char pad[4];
+ char preview_back[4];
char pin[4];
int pin_opac;
@@ -264,6 +268,7 @@ typedef struct bTheme {
ThemeSpace tnode;
ThemeSpace tlogic;
ThemeSpace tuserpref;
+ ThemeSpace tconsole;
/* 20 sets of bone colors for this theme */
ThemeWireColor tarm[20];
@@ -273,6 +278,12 @@ typedef struct bTheme {
} bTheme;
+/* for the moment only the name. may want to store options with this later */
+typedef struct bAddon {
+ struct bAddon *next, *prev;
+ char module[64];
+} bAddon;
+
typedef struct SolidLight {
int flag, pad;
float col[4], spec[4], vec[4];
@@ -291,7 +302,9 @@ typedef struct UserDef {
char sounddir[160];
char anim_player[240]; // FILE_MAX length
int anim_player_preset;
- int pad;
+
+ short v2d_min_gridsize; /* minimum spacing between gridlines in View2D grids */
+ short timecode_style; /* style of timecode display */
short versions;
short dbl_click_time;
@@ -317,6 +330,7 @@ typedef struct UserDef {
struct ListBase uifonts;
struct ListBase uistyles;
struct ListBase keymaps;
+ struct ListBase addons;
char keyconfigstr[64];
short undosteps;
@@ -341,7 +355,10 @@ typedef struct UserDef {
short ndof_pan, ndof_rotate;
short curssize, ipo_new;
short color_picker_type;
- short pad2[3];
+ short pad2;
+
+ short scrcastfps; /* frame rate for screencast to be played back */
+ short scrcastwait; /* milliseconds between screencast snapshots */
char versemaster[160];
char verseuser[160];
@@ -364,6 +381,7 @@ extern UserDef U; /* from blenkernel blender.c */
#define USER_SECTION_SYSTEM 3
#define USER_SECTION_THEME 4
#define USER_SECTION_INPUT 5
+#define USER_SECTION_ADDONS 6
/* flag */
#define USER_AUTOSAVE (1 << 0)
@@ -388,8 +406,16 @@ extern UserDef U; /* from blenkernel blender.c */
#define USER_ADD_VIEWALIGNED (1 << 19)
#define USER_RELPATHS (1 << 20)
#define USER_DRAGIMMEDIATE (1 << 21)
-#define USER_DONT_DOSCRIPTLINKS (1 << 22)
+#define USER_SCRIPT_AUTOEXEC_DISABLE (1 << 22)
#define USER_FILENOUI (1 << 23)
+#define USER_NONEGFRAMES (1 << 24)
+
+/* helper macro for checking frame clamping */
+#define FRAMENUMBER_MIN_CLAMP(cfra) \
+ { \
+ if ((U.flag & USER_NONEGFRAMES) && (cfra < 0)) \
+ cfra = 0; \
+ }
/* viewzom */
#define USER_ZOOM_CONT 0
@@ -433,8 +459,10 @@ extern UserDef U; /* from blenkernel blender.c */
#define AUTOKEY_MODE_NORMAL 3
#define AUTOKEY_MODE_EDITKEYS 5
-/* Auto-Keying flag */
- /* U.autokey_flag (not strictly used when autokeying only - is also used when keyframing these days) */
+/* Auto-Keying flag
+ * U.autokey_flag (not strictly used when autokeying only - is also used when keyframing these days)
+ * note: AUTOKEY_FLAG_* is used with a macro, search for lines like IS_AUTOKEY_FLAG(INSERTAVAIL)
+ */
#define AUTOKEY_FLAG_INSERTAVAIL (1<<0)
#define AUTOKEY_FLAG_INSERTNEEDED (1<<1)
#define AUTOKEY_FLAG_AUTOMATKEY (1<<2)
@@ -480,6 +508,8 @@ extern UserDef U; /* from blenkernel blender.c */
#define USER_DRAW_TRIPLE 0
#define USER_DRAW_OVERLAP 1
#define USER_DRAW_FULL 2
+#define USER_DRAW_AUTOMATIC 3
+#define USER_DRAW_OVERLAP_FLIP 4
/* tw_flag (transform widget) */
@@ -493,6 +523,21 @@ extern UserDef U; /* from blenkernel blender.c */
#define USER_CP_SQUARE_HS 2
#define USER_CP_SQUARE_HV 3
+/* timecode display styles */
+ /* as little info as is necessary to show relevant info
+ * with '+' to denote the frames
+ * i.e. HH:MM:SS+FF, MM:SS+FF, SS+FF, or MM:SS
+ */
+#define USER_TIMECODE_MINIMAL 0
+ /* reduced SMPTE - (HH:)MM:SS:FF */
+#define USER_TIMECODE_SMPTE_MSF 1
+ /* full SMPTE - HH:MM:SS:FF */
+#define USER_TIMECODE_SMPTE_FULL 2
+ /* milliseconds for sub-frames - HH:MM:SS.sss */
+#define USER_TIMECODE_MILLISECONDS 3
+ /* seconds only */
+#define USER_TIMECODE_SECONDS_ONLY 4
+
/* theme drawtypes */
#define TH_MINIMAL 0
#define TH_ROUNDSHADED 1
diff --git a/source/blender/makesdna/DNA_vec_types.h b/source/blender/makesdna/DNA_vec_types.h
index 264ad348e92..4a6f7f3a3cc 100644
--- a/source/blender/makesdna/DNA_vec_types.h
+++ b/source/blender/makesdna/DNA_vec_types.h
@@ -17,7 +17,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.
@@ -38,14 +38,16 @@ typedef struct vec2s {
short x, y;
} vec2s;
-typedef struct vec2i {
- int x, y;
-} vec2i;
-
typedef struct vec2f {
float x, y;
} vec2f;
+/* not used at the moment */
+#if 0
+typedef struct vec2i {
+ int x, y;
+} vec2i;
+
typedef struct vec2d {
double x, y;
} vec2d;
@@ -73,6 +75,7 @@ typedef struct vec4f {
typedef struct vec4d {
double x, y, z, w;
} vec4d;
+#endif
typedef struct rcti {
int xmin, xmax;
diff --git a/source/blender/makesdna/DNA_vfont_types.h b/source/blender/makesdna/DNA_vfont_types.h
index b90e853d772..8a96d8574c2 100644
--- a/source/blender/makesdna/DNA_vfont_types.h
+++ b/source/blender/makesdna/DNA_vfont_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_view2d_types.h b/source/blender/makesdna/DNA_view2d_types.h
index bc019ef8121..965e19e38a2 100644
--- a/source/blender/makesdna/DNA_view2d_types.h
+++ b/source/blender/makesdna/DNA_view2d_types.h
@@ -17,7 +17,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.
@@ -124,9 +124,12 @@ typedef struct View2D {
#define V2D_SCROLL_SCALE_VERTICAL (1<<5)
/* scale markings - horizontal */
#define V2D_SCROLL_SCALE_HORIZONTAL (1<<6)
- /* disable draw temporary */
+ /* induce hiding of scrollbars - set by region drawing in response to size of region */
#define V2D_SCROLL_VERTICAL_HIDE (1<<7)
#define V2D_SCROLL_HORIZONTAL_HIDE (1<<8)
+ /* scrollbar extends beyond its available window - set when calculating scrollbars for drawing */
+#define V2D_SCROLL_VERTICAL_FULLR (1<<9)
+#define V2D_SCROLL_HORIZONTAL_FULLR (1<<10)
/* scroll_ui, activate flag for drawing */
#define V2D_SCROLL_H_ACTIVE (1<<0)
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 4ad18a90a6b..123aab2d9e0 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -17,7 +17,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.
@@ -63,22 +63,27 @@ struct wmTimer;
/* Background Picture in 3D-View */
typedef struct BGpic {
+ struct BGpic *next, *prev;
+
struct Image *ima;
struct ImageUser iuser;
float xof, yof, size, blend;
+ short view;
+ short flag;
+ float pad2;
} BGpic;
/* ********************************* */
typedef struct RegionView3D {
- float winmat[4][4];
- float viewmat[4][4];
- float viewinv[4][4];
- float persmat[4][4];
- float persinv[4][4];
+ float winmat[4][4]; /* GL_PROJECTION matrix */
+ float viewmat[4][4]; /* GL_MODELVIEW matrix */
+ float viewinv[4][4]; /* inverse of viewmat */
+ float persmat[4][4]; /* viewmat*winmat */
+ float persinv[4][4]; /* inverse of persmat */
- /* local viewmat/persmat, multiplied with object matrix, while drawing */
+ /* viewmat/persmat multiplied with object matrix, while drawing and selection */
float viewmatob[4][4];
float persmatob[4][4];
@@ -140,7 +145,10 @@ typedef struct View3D {
short view; /* XXX depricated */
struct Object *camera, *ob_centre;
- struct BGpic *bgpic;
+
+ struct ListBase bgpicbase;
+ struct BGpic *bgpic; /* deprecated, use bgpicbase, only kept for do_versions(...) */
+
struct View3D *localvd;
char ob_centre_bone[32]; /* optional string for armature bone to define center */
@@ -197,7 +205,7 @@ typedef struct View3D {
/* View3D->flag (short) */
#define V3D_MODE (16+32+64+128+256+512)
#define V3D_DISPIMAGE 1
-#define V3D_DISPBGPIC 2
+#define V3D_DISPBGPICS 2
#define V3D_HIDE_HELPLINES 4
#define V3D_INVALID_BACKBUF 8
#define V3D_EDITMODE 16
@@ -283,6 +291,9 @@ typedef struct View3D {
#define V3D_DRAW_MANIPULATOR 2
#define V3D_CALC_MANIPULATOR 4
+/* BGPic->flag */
+/* may want to use 1 for select ?*/
+#define V3D_BGPIC_EXPANDED 2
#endif
diff --git a/source/blender/makesdna/DNA_wave_types.h b/source/blender/makesdna/DNA_wave_types.h
index 6f87dd69e58..b05ae862108 100644
--- a/source/blender/makesdna/DNA_wave_types.h
+++ b/source/blender/makesdna/DNA_wave_types.h
@@ -17,7 +17,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.
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 7df49bfb2e2..a53645e7442 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -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) 2007 Blender Foundation.
* All rights reserved.
@@ -109,7 +109,7 @@ typedef struct wmWindowManager {
int initialized; /* set on file read */
short file_saved; /* indicator whether data was saved */
- short pad;
+ short op_undo_depth; /* operator stack depth to avoid nested undo pushes */
ListBase operators; /* operator registry */
@@ -121,6 +121,8 @@ typedef struct wmWindowManager {
ListBase paintcursors; /* extra overlay cursors to draw, like circles */
+ ListBase drags; /* active dragged items */
+
ListBase keyconfigs; /* known key configurations */
struct wmKeyConfig *defaultconf; /* default configuration, not saved */
@@ -257,9 +259,7 @@ typedef struct wmKeyConfig {
} wmKeyConfig;
/* wmKeyConfig.flag */
-#define KEYCONF_TWOBUTTONMOUSE (1 << 1)
-#define KEYCONF_LMOUSESELECT (1 << 2)
-#define KEYCONF_NONUMPAD (1 << 3)
+#define KEYCONF_USER (1 << 1)
/* this one is the operator itself, stored in files for macros etc */
/* operator + operatortype should be able to redo entirely, but for different contextes */
@@ -271,8 +271,9 @@ typedef struct wmOperator {
IDProperty *properties; /* saved, user-settable properties */
/* runtime */
- struct wmOperatorType *type; /* operator type definition from idname */
+ struct wmOperatorType *type;/* operator type definition from idname */
void *customdata; /* custom storage, only while operator runs */
+ void *py_instance; /* python stores the class instance here */
struct PointerRNA *ptr; /* rna pointer to access properties */
struct ReportList *reports; /* errors and warnings storage */
@@ -290,6 +291,8 @@ typedef struct wmOperator {
#define OPERATOR_FINISHED 4
/* add this flag if the event should pass through */
#define OPERATOR_PASS_THROUGH 8
+/* in case operator got executed outside WM code... like via fileselect */
+#define OPERATOR_HANDLED 16
/* wmOperator flag */
#define OP_GRAB_POINTER 1
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h
index 9b3f78caee0..66d31467c4a 100644
--- a/source/blender/makesdna/DNA_world_types.h
+++ b/source/blender/makesdna/DNA_world_types.h
@@ -17,7 +17,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.
@@ -107,7 +107,7 @@ typedef struct World {
short aomode, aosamp, aomix, aocolor;
float ao_adapt_thresh, ao_adapt_speed_fac;
float ao_approx_error, ao_approx_correction;
- float ao_indirect_energy;
+ float ao_indirect_energy, ao_env_energy, ao_pad2;
short ao_indirect_bounces, ao_pad;
short ao_samp_method, ao_gather_method, ao_approx_passes;
@@ -142,13 +142,16 @@ typedef struct World {
#define WO_STARS 2
#define WO_DOF 4
#define WO_ACTIVITY_CULLING 8
-#define WO_AMB_OCC 16
+#define WO_ENV_LIGHT 16
#define WO_DBVT_CULLING 32
+#define WO_AMB_OCC 64
+#define WO_INDIRECT_LIGHT 128
/* aomix */
#define WO_AOADD 0
-#define WO_AOSUB 1
-#define WO_AOADDSUB 2
+#define WO_AOSUB 1 /* deprecated */
+#define WO_AOADDSUB 2 /* deprecated */
+#define WO_AOMUL 3
/* ao_samp_method - methods for sampling the AO hemi */
#define WO_AOSAMP_CONSTANT 0
@@ -183,6 +186,10 @@ typedef struct World {
/* flag */
#define WO_DS_EXPAND (1<<0)
+ /* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
+ * otherwise anim-editors will not read correctly
+ */
+#define WO_DS_SHOW_TEXS (1<<2)
#endif
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index 1fb63156f26..0eb42373d6d 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -13,7 +13,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) 2006, Blender Foundation
# All rights reserved.
diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript
index 1cc66d0873b..fd6f2312fde 100644
--- a/source/blender/makesdna/intern/SConscript
+++ b/source/blender/makesdna/intern/SConscript
@@ -51,7 +51,7 @@ if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
targetdir = '#' + targetdir
#root_build_dir = "#"
-makesdna = makesdna_tool.Program (target = targetdir, source = source_files, LIBS=['bf_guardedalloc'])
+makesdna = makesdna_tool.Program (target = targetdir, source = source_files, LIBS=['bf_guardedalloc', 'bf_blenlib'])
dna_dict = dna.Dictionary()
dna.Depends ('dna.c', makesdna)
@@ -60,6 +60,11 @@ dna.Depends ('dna.c', header_files)
ap = os.path.abspath
if env['OURPLATFORM'] != 'linuxcross':
+ if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'):
+ dna.Command ('dna.c', '', "\"" + root_build_dir+os.sep+"makesdna\" $TARGET")
+ else:
+ dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna $TARGET")
+else:
if USE_WINE:
dna.Command ('dna.c', '', 'wine ' + ap(root_build_dir+os.sep+"makesdna $TARGET"))
else:
@@ -67,7 +72,6 @@ if env['OURPLATFORM'] != 'linuxcross':
dna.Command ('dna.c', '', "\"" + root_build_dir+os.sep+"makesdna\" $TARGET")
else:
dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna $TARGET")
-else:
- dna.Command ('dna.c', '', ap(root_build_dir+os.sep+"makesdna.exe $TARGET"))
+
obj = ['intern/dna.c', 'intern/dna_genfile.c']
Return ('obj')
diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c
index 628983ae879..89219b114da 100644
--- a/source/blender/makesdna/intern/dna_genfile.c
+++ b/source/blender/makesdna/intern/dna_genfile.c
@@ -18,7 +18,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.
@@ -297,7 +297,7 @@ int DNA_struct_find_nr(SDNA *sdna, const char *str)
static void init_structDNA(SDNA *sdna, int do_endian_swap)
/* in sdna->data the data, now we convert that to something understandable */
{
- int *data, *verg;
+ int *data, *verg, gravity_fix= -1;
intptr_t nr;
short *sp;
char str[8], *cp;
@@ -330,6 +330,17 @@ static void init_structDNA(SDNA *sdna, int do_endian_swap)
cp= (char *)data;
while(nr<sdna->nr_names) {
sdna->names[nr]= cp;
+
+ /* "float gravity [3]" was parsed wrong giving both "gravity" and
+ "[3]" members. we rename "[3]", and later set the type of
+ "gravity" to "void" so the offsets work out correct */
+ if(*cp == '[' && strcmp(cp, "[3]")==0) {
+ if(nr && strcmp(sdna->names[nr-1], "Cvi") == 0) {
+ sdna->names[nr]= "gravity[3]";
+ gravity_fix= nr;
+ }
+ }
+
while( *cp) cp++;
cp++;
nr++;
@@ -444,7 +455,7 @@ static void init_structDNA(SDNA *sdna, int do_endian_swap)
nr++;
}
-
+
/* finally pointerlen: use struct ListBase to test it, never change the size of it! */
sp= findstruct_name(sdna, "ListBase");
/* weird; i have no memory of that... I think I used sizeof(void *) before... (ton) */
@@ -457,6 +468,14 @@ static void init_structDNA(SDNA *sdna, int do_endian_swap)
/* well, at least sizeof(ListBase) is error proof! (ton) */
}
+ /* second part of gravity problem, setting "gravity" type to void */
+ if(gravity_fix > -1) {
+ for(nr=0; nr<sdna->nr_structs; nr++) {
+ sp= sdna->structs[nr];
+ if(strcmp(sdna->types[sp[0]], "ClothSimSettings") == 0)
+ sp[10]= 9;
+ }
+ }
}
}
diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c
index cae28f163ed..2d62b81e81b 100644
--- a/source/blender/makesdna/intern/makesdna.c
+++ b/source/blender/makesdna/intern/makesdna.c
@@ -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.
@@ -277,7 +277,13 @@ int add_name(char *str)
if((str[0]==0) /* || (str[1]==0) */) return -1;
if (str[0] == '(' && str[1] == '*') {
- if (debugSDNA > 3) printf("\t\t\t\t*** Function pointer found\n");
+ /* we handle function pointer and special array cases here, e.g.
+ void (*function)(...) and float (*array)[..]. the array case
+ name is still converted to (array*)() though because it is that
+ way in old dna too, and works correct with elementsize() */
+ int isfuncptr = (strchr(str+1, '(')) != NULL;
+
+ if (debugSDNA > 3) printf("\t\t\t\t*** Function pointer or multidim array pointer found\n");
/* functionpointer: transform the type (sometimes) */
i = 0;
j = 0;
@@ -302,7 +308,15 @@ int add_name(char *str)
if (debugSDNA > 3) printf("seen %c ( %d) \n", str[j], str[j]);
if (debugSDNA > 3) printf("special after offset %d\n", j);
- if (str[j] == 0 ) {
+ if (!isfuncptr) {
+ /* multidimensional array pointer case */
+ if(str[j] == 0) {
+ if (debugSDNA > 3) printf("offsetting for multidim array pointer\n");
+ }
+ else
+ printf("Error during tokening multidim array pointer\n");
+ }
+ else if (str[j] == 0 ) {
if (debugSDNA > 3) printf("offsetting for space\n");
/* get additional offset */
k = 0;
@@ -685,7 +699,7 @@ static int calculate_structlens(int firststruct)
for(b=0; b<structpoin[1]; b++, sp+=2) {
type= sp[0];
cp= names[sp[1]];
-
+
namelen= (int) strlen(cp);
/* is it a pointer or function pointer? */
if(cp[0]=='*' || cp[1]=='*') {
@@ -715,6 +729,10 @@ static int calculate_structlens(int firststruct)
len += sizeof(void *) * mul;
alphalen += 8 * mul;
+ } else if(cp[0]=='[') {
+ /* parsing can cause names "var" and "[3]" to be found for "float var [3]" ... */
+ printf("Parse error in struct, invalid member name: %s %s\n", types[structtype], cp);
+ dna_error = 1;
} else if( typelens[type] ) {
/* has the name an extra length? (array) */
mul= 1;
@@ -1050,10 +1068,10 @@ int make_structDNA(char *baseDirectory, FILE *file)
/* ************************* END MAKE DNA ********************** */
-static void make_bad_file(char *file)
+static void make_bad_file(char *file, int line)
{
FILE *fp= fopen(file, "w");
- fprintf(fp, "ERROR! Cannot make correct DNA.c file, STUPID!\n");
+ fprintf(fp, "#error \"Error! can't make correct DNA.c file from %s:%d, STUPID!\"\n", __FILE__, line);
fclose(fp);
}
@@ -1087,7 +1105,7 @@ int main(int argc, char ** argv)
if (make_structDNA(baseDirectory, file)) {
// error
fclose(file);
- make_bad_file(argv[1]);
+ make_bad_file(argv[1], __LINE__);
return_status = 1;
} else {
fprintf(file, "};\n");