diff options
Diffstat (limited to 'source/blender/makesdna')
21 files changed, 156 insertions, 425 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 318204e3dd8..6f097ea3882 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -41,54 +41,6 @@ struct SpaceLink; struct Object; /* ************************************************ */ -/* Visualisation */ - -/* Motion Paths ------------------------------------ */ -/* (used for Pose Channels and Objects) */ - -/* Data point for motion path */ -typedef struct bMotionPathVert { - float co[3]; /* coordinates of point in 3D-space */ - int flag; /* quick settings */ -} bMotionPathVert; - -/* Motion Path data cache - for elements providing transforms (i.e. Objects or PoseChannels) */ -typedef struct bMotionPath { - bMotionPathVert *points; /* path samples */ - int length; /* the number of cached verts */ - - int start_frame; /* for drawing paths, the start frame number */ - int end_frame; /* for drawing paths, the end frame number */ - - int flag; /* extra settings */ -} bMotionPath; - - - -/* Animation Visualisation Settings - for Objects or Armatures (not PoseChannels) */ -typedef struct bAnimVizSettings { - int pad; - int pathflag; /* eMotionPath_Settings */ - - int pathsf, pathef; /* start and end frames of path-calculation range */ - int pathbc, pathac; /* number of frames before/after current frame of path-calculation */ -} bAnimVizSettings; - -/* bMotionPathSettings->flag */ -typedef enum eMotionPath_Settings { - /* show frames on path */ - MOTIONPATH_FLAG_FNUMS = (1<<0), - /* show keyframes on path */ - MOTIONPATH_FLAG_KFRAS = (1<<1), - /* for bones - calculate head-points for curves instead of tips */ - MOTIONPATH_FLAG_HEADS = (1<<2), - /* show path around current frame */ - MOTIONPATH_FLAG_ACFRA = (1<<3), - /* show keyframe/frame numbers */ - MOTIONPATH_FLAG_KFNOS = (1<<4) -} eMotionPath_Settings; - -/* ************************************************ */ /* Poses */ /* PoseChannel ------------------------------------ */ @@ -199,18 +151,8 @@ typedef enum ePchan_IkFlag { typedef enum ePchan_RotMode { /* quaternion rotations (default, and for older Blender versions) */ PCHAN_ROT_QUAT = 0, - /* euler rotations - keep in sync with enum in BLI_arithb.h */ - PCHAN_ROT_XYZ = 1, /* Blender 'default' (classic) - must be as 1 to sync with PoseChannel rotmode */ - PCHAN_ROT_XZY, - PCHAN_ROT_YXZ, - PCHAN_ROT_YZX, - PCHAN_ROT_ZXY, - PCHAN_ROT_ZYX, - /* NOTE: space is reserved here for 18 other possible - * euler rotation orders not implemented - */ - /* axis angle rotations */ - PCHAN_ROT_AXISANGLE = -1 + /* euler rotations (xyz only) */ + PCHAN_ROT_EUL, } ePchan_RotMode; /* Pose ------------------------------------ */ @@ -496,3 +438,5 @@ typedef enum ACHAN_FLAG { #endif + + diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index a3a1a342584..52ea298c110 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -86,6 +86,16 @@ typedef struct Brush { #define BRUSH_SMOOTH_STROKE 2048 #define BRUSH_PERSISTENT 4096 +/* Brush.blend */ +#define BRUSH_BLEND_MIX 0 +#define BRUSH_BLEND_ADD 1 +#define BRUSH_BLEND_SUB 2 +#define BRUSH_BLEND_MUL 3 +#define BRUSH_BLEND_LIGHTEN 4 +#define BRUSH_BLEND_DARKEN 5 +#define BRUSH_BLEND_ERASE_ALPHA 6 +#define BRUSH_BLEND_ADD_ALPHA 7 + /* Brush.sculpt_tool */ #define SCULPT_TOOL_DRAW 1 #define SCULPT_TOOL_SMOOTH 2 diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index a92dc836197..79f032d0d21 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -64,8 +64,7 @@ typedef struct bConstraint { float enforce; /* Amount of influence exherted by constraint (0.0-1.0) */ float headtail; /* Point along subtarget bone where the actual target is. 0=head (default for all), 1=tail*/ int pad; - - struct Ipo *ipo; /* local influence ipo or driver */ // XXX depreceated for 2.5... old animation system hack + struct Ipo *ipo; /* local influence ipo or driver */ } bConstraint; @@ -86,7 +85,7 @@ typedef struct bConstraintTarget { short space; /* space that target should be evaluated in (overrides bConstraint->tarspace) */ short flag; /* runtime settings (for editor, etc.) */ short type; /* type of target (B_CONSTRAINT_OB_TYPE) */ - short rotOrder; /* rotation order for target (as defined in BLI_arithb.h) */ + short pad; } bConstraintTarget; /* bConstraintTarget -> flag */ @@ -450,10 +449,6 @@ typedef enum B_CONSTRAINTCHANNEL_FLAG { #define TRACK_nY 0x04 #define TRACK_nZ 0x05 -/* FollowPath flags */ -#define FOLLOWPATH_FOLLOW 0x01 -#define FOLLOWPATH_STATIC 0x02 - /* bTrackToConstraint->flags */ #define TARGET_Z_UP 0x01 diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index fe601eefa32..b0f089d670f 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -64,7 +64,7 @@ typedef struct Path { typedef struct BevList { struct BevList *next, *prev; int nr, flag; - short poly, hole; + short poly, gat; } BevList; /* These two Lines with # tell makesdna this struct can be excluded. */ @@ -75,28 +75,25 @@ typedef struct BevPoint { short f1, f2; } BevPoint; -/* Keyframes on F-Curves (allows code reuse of Bezier eval code) and - * Points on Bezier Curves/Paths are generally BezTriples - */ +/* Keyframes on IPO curves and Points on Bezier Curves/Paths are generally BezTriples */ /* note: alfa location in struct is abused by Key system */ /* vec in BezTriple looks like this: vec[0][0]=x location of handle 1 vec[0][1]=y location of handle 1 - vec[0][2]=z location of handle 1 (not used for FCurve Points(2d)) + vec[0][2]=z location of handle 1 (not used for IpoCurve Points(2d)) vec[1][0]=x location of control point vec[1][1]=y location of control point vec[1][2]=z location of control point vec[2][0]=x location of handle 2 vec[2][1]=y location of handle 2 - vec[2][2]=z location of handle 2 (not used for FCurve Points(2d)) + vec[2][2]=z location of handle 2 (not used for IpoCurve Points(2d)) */ typedef struct BezTriple { float vec[3][3]; float alfa, weight, radius; /* alfa: tilt in 3D View, weight: used for softbody goal weight, radius: for bevel tapering */ short ipo; /* ipo: interpolation mode for segment from this BezTriple to the next */ char h1, h2; /* h1, h2: the handle type of the two handles */ - char f1, f2, f3; /* f1, f2, f3: used for selection status */ - char hide; /* hide: used to indicate whether BezTriple is hidden (3D), type of keyframe (eBezTriple_KeyframeTypes) */ + char f1, f2, f3, hide; /* f1, f2, f3: used for selection status, hide: used to indicate whether BezTriple is hidden */ } BezTriple; /* note; alfa location in struct is abused by Key system */ @@ -145,7 +142,7 @@ typedef struct Curve { struct BoundBox *bb; - ListBase nurb; /* actual data, called splines in rna */ + ListBase nurb; /* actual data */ ListBase disp; ListBase *editnurb; /* edited data, not in file, use pointer so we can check for it */ @@ -163,9 +160,7 @@ typedef struct Curve { float size[3]; float rot[3]; - int texflag; /* keep an int because of give_obdata_texspace() */ - - short drawflag, pad[3]; + int texflag; short pathlen, totcol; short flag, bevresol; @@ -213,10 +208,6 @@ typedef struct Curve { /* texflag */ #define CU_AUTOSPACE 1 -/* drawflag */ -#define CU_HIDE_HANDLES (1 << 0) -#define CU_HIDE_NORMALS (1 << 1) - /* flag */ #define CU_3D 1 #define CU_FRONT 2 @@ -231,8 +222,6 @@ typedef struct Curve { #define CU_RETOPO 1024 #define CU_DS_EXPAND 2048 -#define CU_NO_TWIST 4096 - /* spacemode */ #define CU_LEFT 0 #define CU_MIDDLE 1 @@ -242,7 +231,6 @@ typedef struct Curve { /* flag (nurb) */ #define CU_SMOOTH 1 -#define CU_2D 8 /* moved from type since 2.4x */ /* type (nurb) */ #define CU_POLY 0 @@ -250,7 +238,9 @@ typedef struct Curve { #define CU_BSPLINE 2 #define CU_CARDINAL 3 #define CU_NURBS 4 -#define CU_TYPE (CU_POLY|CU_BEZIER|CU_BSPLINE|CU_CARDINAL|CU_NURBS) +#define CU_TYPE 7 + +#define CU_2D 8 /* only for adding */ #define CU_PRIMITIVE 0xF00 @@ -289,16 +279,6 @@ typedef enum eBezTriple_Interpolation { BEZT_IPO_BEZ, /* bezier interpolation */ } eBezTriple_Interpolation; -/* types of keyframe (used only for BezTriple->hide when BezTriple is used in F-Curves) */ -typedef enum eBezTriple_KeyframeType { - BEZT_KEYTYPE_KEYFRAME = 0, /* default - 'proper' Keyframe */ - BEZT_KEYTYPE_BREAKDOWN, /* 'breakdown' keyframe */ -} eBezTriple_KeyframeType; - -/* checks if the given BezTriple is selected */ -#define BEZSELECTED(bezt) (((bezt)->f2 & SELECT) || ((bezt)->f1 & SELECT) || ((bezt)->f3 & SELECT)) -#define BEZSELECTED_HIDDENHANDLES(cu, bezt) (((cu)->drawflag & CU_HIDE_HANDLES) ? (bezt)->f2 & SELECT : BEZSELECTED(bezt)) - /* *************** CHARINFO **************** */ /* flag */ diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 4bae9935ea7..ed209a127c7 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -33,7 +33,7 @@ /* Grease-Pencil Annotations - 'Stroke Point' * -> Coordinates may either be 2d or 3d depending on settings at the time * -> Coordinates of point on stroke, in proportions of window size - * This assumes that the bottom-left corner is (0,0) + * (i.e. n/1000). This assumes that the bottom-left corner is (0,0) */ typedef struct bGPDspoint { float x, y, z; /* co-ordinates of point (usually 2d, but can be 3d as well) */ @@ -135,14 +135,12 @@ typedef struct bGPdata { /* bGPdata->flag */ // XXX many of these flags should be depreceated for more general ideas in 2.5 /* don't allow painting to occur at all */ - // XXX is depreceated - not well understood #define GP_DATA_LMBPLOCK (1<<0) /* show debugging info in viewport (i.e. status print) */ #define GP_DATA_DISPINFO (1<<1) /* in Action Editor, show as expanded channel */ #define GP_DATA_EXPAND (1<<2) /* is the block overriding all clicks? */ - // XXX is depreceated - nasty old concept #define GP_DATA_EDITPAINT (1<<3) /* new strokes are added in viewport space */ #define GP_DATA_VIEWALIGN (1<<4) diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h index 55e3c9107e4..f7b3273c2e1 100644 --- a/source/blender/makesdna/DNA_material_types.h +++ b/source/blender/makesdna/DNA_material_types.h @@ -47,34 +47,6 @@ struct Ipo; /* WATCH IT: change type? also make changes in ipo.h */ -typedef struct VolumeSettings { - float density; - float emission; - float absorption; - float scattering; - - float emission_col[3]; - float absorption_col[3]; - float density_scale; - float depth_cutoff; - - short phasefunc_type; - short vpad[3]; - float phasefunc_g; - - float stepsize; - float shade_stepsize; - - short stepsize_type; - short shadeflag; - short shade_type; - short precache_resolution; - - float ms_diff; - float ms_intensity; - int ms_steps; -} VolumeSettings; - typedef struct Material { ID id; struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ @@ -90,8 +62,6 @@ typedef struct Material { float translucency; /* end synced with render_types.h */ - struct VolumeSettings vol; - float fresnel_mir, fresnel_mir_i; float fresnel_tra, fresnel_tra_i; float filter; /* filter added, for raytrace transparency and transmissivity */ @@ -279,8 +249,6 @@ typedef struct Material { #define MA_RAMP_SAT 13 #define MA_RAMP_VAL 14 #define MA_RAMP_COLOR 15 -#define MA_RAMP_SOFT 16 -#define MA_RAMP_LINEAR 17 /* texco */ #define TEXCO_ORCO 1 @@ -319,14 +287,6 @@ typedef struct Material { #define MAP_WARP 8192 #define MAP_LAYER 16384 -/* volume mapto - reuse definitions for now - a bit naughty! */ -#define MAP_DENSITY 128 -#define MAP_EMISSION 64 -#define MAP_EMISSION_COL 1 -#define MAP_ABSORPTION 512 -#define MAP_ABSORPTION_COL 8 -#define MAP_SCATTERING 16 - /* mapto for halo */ //#define MAP_HA_COL 1 //#define MAP_HA_ALPHA 128 @@ -370,29 +330,5 @@ typedef struct Material { /* sss_flag */ #define MA_DIFF_SSS 1 -/* vol_stepsize_type */ -#define MA_VOL_STEP_RANDOMIZED 0 -#define MA_VOL_STEP_CONSTANT 1 -#define MA_VOL_STEP_ADAPTIVE 2 - -/* vol_shadeflag */ -#define MA_VOL_SHADED 1 -#define MA_VOL_RECVSHADOW 4 -#define MA_VOL_PRECACHESHADING 8 - -/* vol_shading_type */ -#define MA_VOL_SHADE_NONE 0 -#define MA_VOL_SHADE_SINGLE 1 -#define MA_VOL_SHADE_MULTIPLE 2 -#define MA_VOL_SHADE_SINGLEPLUSMULTIPLE 3 - -/* vol_phasefunc_type */ -#define MA_VOL_PH_ISOTROPIC 0 -#define MA_VOL_PH_MIEHAZY 1 -#define MA_VOL_PH_MIEMURKY 2 -#define MA_VOL_PH_RAYLEIGH 3 -#define MA_VOL_PH_HG 4 -#define MA_VOL_PH_SCHLICK 5 - #endif diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index be7452c4ae1..9d1707599b9 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -252,6 +252,7 @@ typedef struct SmokeModifierData { struct SmokeCollSettings *coll; /* collision objects */ float time; int type; /* domain, inflow, outflow, ... */ + struct PointCache *point_cache; /* definition is in DNA_object_force.h */ } SmokeModifierData; typedef struct DisplaceModifierData { @@ -289,7 +290,7 @@ typedef struct UVProjectModifierData { ModifierData modifier; /* the objects which do the projecting */ - struct Object *projectors[10]; /* MOD_UVPROJECT_MAX */ + struct Object *projectors[10]; struct Image *image; /* the image to project */ int flags; int num_projectors; @@ -397,8 +398,6 @@ typedef struct HookModifierData { ModifierData modifier; struct Object *object; - char subtarget[32]; /* optional name of bone target */ - float parentinv[4][4]; /* matrix making current transform unmodified */ float cent[3]; /* visualization of hook */ float falloff; /* if not zero, falloff is distance where influence zero */ @@ -642,6 +641,4 @@ typedef struct SimpleDeformModifierData { coordinates or global coordinates of origin */ #define MOD_SIMPLEDEFORM_ORIGIN_LOCAL (1<<0) -#define MOD_UVPROJECT_MAX 10 - #endif diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h index 5696f82ab0d..625864c4888 100644 --- a/source/blender/makesdna/DNA_object_force.h +++ b/source/blender/makesdna/DNA_object_force.h @@ -95,7 +95,7 @@ typedef struct PartDeflect { typedef struct PTCacheMem { struct PTCacheMem *next, *prev; int frame, totpoint; - unsigned int data_types, flag; + unsigned int data_types, rt; int *index_array; /* quick access to stored points with index */ void *data[8]; /* BPHYS_TOT_DATA */ @@ -121,9 +121,6 @@ typedef struct PointCache { char info[64]; char path[240]; /* file path */ struct ListBase mem_cache; - - struct PTCacheEdit *edit; - void (*free_edit)(struct PTCacheEdit *edit); /* free callback */ } PointCache; typedef struct SBVertex { @@ -303,8 +300,8 @@ typedef struct SoftBody { #define PTCACHE_OUTDATED 2 #define PTCACHE_SIMULATION_VALID 4 #define PTCACHE_BAKING 8 -//#define PTCACHE_BAKE_EDIT 16 -//#define PTCACHE_BAKE_EDIT_ACTIVE 32 +#define PTCACHE_BAKE_EDIT 16 +#define PTCACHE_BAKE_EDIT_ACTIVE 32 #define PTCACHE_DISK_CACHE 64 #define PTCACHE_QUICK_CACHE 128 #define PTCACHE_FRAMES_SKIPPED 256 diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 19ef6f5be3b..bbc19d69966 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -54,10 +54,7 @@ struct FluidsimSettings; struct ParticleSystem; struct DerivedMesh; struct SculptSession; -struct bGPdata; - -/* Vertex Groups - Name Info */ typedef struct bDeformGroup { struct bDeformGroup *next, *prev; char name[32]; @@ -113,16 +110,14 @@ typedef struct Object { struct bPose *pose; void *data; - struct bGPdata *gpd; /* Grease Pencil data */ - ListBase constraintChannels; // XXX depreceated... old animation system ListBase effect; ListBase disp; ListBase defbase; ListBase modifiers; /* list of ModifierData structures */ - int mode; /* Local object mode */ - int restore_mode; /* Keep track of what mode to return to after toggling a mode */ + /* For now just a flag for sculpt mode, eventually we make the other modes local too */ + int mode, pad2; /* materials */ struct Material **mat; /* material slots */ @@ -214,7 +209,7 @@ typedef struct Object { short recalc; /* dependency flag */ float anisotropicFriction[3]; - ListBase constraints; /* object constraints */ + ListBase constraints; ListBase nlastrips; // XXX depreceated... old animation system ListBase hooks; ListBase particlesystem; /* particle systems */ @@ -239,11 +234,10 @@ typedef struct Object { unsigned int state; /* bit masks of game controllers that are active */ unsigned int init_state; /* bit masks of initial state as recorded by the users */ - int pad2; + int restore_mode; /* Keep track of what mode to return to after edit mode exits */ ListBase gpulamp; /* runtime, for lamps only */ ListBase *duplilist; /* only for internal use by RNA API functions. To get dupli list, use object_duplilist instead */ - ListBase pc_ids; } Object; /* Warning, this is not used anymore because hooks are now modifiers */ @@ -526,16 +520,16 @@ extern Object workob; #define OB_LOCK_SCALE 448 /* ob->mode */ -typedef enum ObjectMode { - OB_MODE_OBJECT = 0, - OB_MODE_EDIT = 1, - OB_MODE_SCULPT = 2, - OB_MODE_VERTEX_PAINT = 4, - OB_MODE_WEIGHT_PAINT = 8, - OB_MODE_TEXTURE_PAINT = 16, - OB_MODE_PARTICLE_EDIT = 32, - OB_MODE_POSE = 64 -} ObjectMode; +#define OB_MODE_OBJECT 0 +#define OB_MODE_EDIT 1 +#define OB_MODE_SCULPT 2 +#define OB_MODE_VERTEX_PAINT 4 +#define OB_MODE_WEIGHT_PAINT 8 +#define OB_MODE_TEXTURE_PAINT 16 +#define OB_MODE_PARTICLE_EDIT 32 +#define OB_MODE_POSE 64 + +/* ob->softflag in DNA_object_force.h */ #ifdef __cplusplus } diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index d4dc3df0965..925fd31328d 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -33,7 +33,6 @@ #define DNA_PARTICLE_TYPES_H #include "DNA_ID.h" -#include "DNA_boid_types.h" struct AnimData; @@ -53,14 +52,6 @@ typedef struct ParticleKey { /* when changed update size of struct to copy_parti float time; /* when this key happens */ } ParticleKey; -typedef struct BoidParticle { - struct Object *ground; - struct BoidData data; - float gravity[3]; - float wander[3]; - float rt; -} BoidParticle; - /* Child particles are created around or between parent particles */ typedef struct ChildParticle { int num, parent; /* num is face index on the final derived mesh */ @@ -78,34 +69,42 @@ typedef struct ParticleTarget { float time, duration; } ParticleTarget; +/* Everything that's non dynamic for a particle: */ typedef struct ParticleData { - ParticleKey state; /* current global coordinates */ + struct Object *stick_ob;/* object that particle sticks to when dead */ + + ParticleKey state; /* normally current global coordinates or */ + /* in sticky object space if dead & sticky */ ParticleKey prev_state; /* previous state */ - + HairKey *hair; /* hair vertices */ - ParticleKey *keys; /* keyed keys */ + ParticleKey *keys; /* keyed states */ - BoidParticle *boid; /* boids data */ + struct BoidData *boid; /* boids data */ - int totkey; /* amount of hair or keyed keys*/ + float r_rot[4]; /* random values */ + float r_ave[3],r_ve[3]; + + float fuv[4], foffset; /* coordinates on face/edge number "num" and depth along*/ + /* face normal for volume emission */ float time, lifetime; /* dietime is not nescessarily time+lifetime as */ float dietime; /* particles can die unnaturally (collision) */ + float size, sizemul; /* size and multiplier so that we can update size when ever */ + int num; /* index to vert/edge/face */ int num_dmcache; /* index to derived mesh data (face) to avoid slow lookups */ - float fuv[4], foffset; /* coordinates on face/edge number "num" and depth along*/ - /* face normal for volume emission */ - - float size; /* size and multiplier so that we can update size when ever */ + int totkey; + int bpi; /* softbody body point start index */ short flag; - short alive; /* the life state of a particle */ + short alive; /* the life state of a particle */ short loop; /* how many times particle life has looped */ - short rt; + short rt2; } ParticleData; typedef struct ParticleSettings { @@ -195,8 +194,8 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in ParticleData *particles; /* (parent) particles */ ChildParticle *child; /* child particles */ - struct PTCacheEdit *edit; /* particle editmode (runtime) */ - void (*free_edit)(struct PTCacheEdit *edit); /* free callback */ + struct ParticleEdit *edit; /* particle editmode (runtime) */ + void (*free_edit)(struct ParticleSystem *sys); /* free callback */ struct ParticleCacheKey **pathcache; /* path cache (runtime) */ struct ParticleCacheKey **childcache; /* child cache (runtime) */ @@ -259,7 +258,7 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in #define PART_TRAND 128 #define PART_EDISTR 256 /* particle/face from face areas */ -//#define PART_STICKY 512 /*collided particles can stick to collider*/ +#define PART_STICKY 512 /*collided particles can stick to collider*/ #define PART_DIE_ON_COL (1<<12) #define PART_SIZE_DEFL (1<<13) /* swept sphere deflections */ #define PART_ROT_DYN (1<<14) /* dynamic rotation */ @@ -410,7 +409,7 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in /* psys->flag */ #define PSYS_CURRENT 1 -#define PSYS_GLOBAL_HAIR 2 +//#define PSYS_BAKING 2 //#define PSYS_BAKE_UI 4 #define PSYS_KEYED_TIMING 8 #define PSYS_ENABLED 16 /* deprecated */ @@ -420,15 +419,19 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in #define PSYS_DELETE 256 /* remove particlesystem as soon as possible */ #define PSYS_HAIR_DONE 512 #define PSYS_KEYED 1024 -//#define PSYS_EDITED 2048 +#define PSYS_EDITED 2048 //#define PSYS_PROTECT_CACHE 4096 #define PSYS_DISABLED 8192 /* pars->flag */ #define PARS_UNEXIST 1 #define PARS_NO_DISP 2 -//#define PARS_STICKY 4 -#define PARS_REKEY 8 +#define PARS_STICKY 4 +#define PARS_TRANSFORM 8 +#define PARS_HIDE 16 +#define PARS_TAG 32 +#define PARS_REKEY 64 +#define PARS_EDIT_RECALC 128 /* pars->alive */ #define PARS_KILLED 0 diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 73afc3d1a53..4a3d555ca33 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -47,8 +47,6 @@ struct Text; struct bNodeTree; struct AnimData; struct Editing; -struct SceneStats; -struct bGPdata; typedef struct Base { struct Base *next, *prev; @@ -456,11 +454,8 @@ typedef struct Paint { Brush **brushes; int active_brush_index, brush_count; - /* WM Paint cursor */ + /* WM handle */ void *paint_cursor; - unsigned char paint_cursor_col[4]; - - int pad; } Paint; typedef struct ImagePaintSettings { @@ -488,15 +483,10 @@ typedef struct ParticleEditSettings { ParticleBrushData brush[7]; /* 7 = PE_TOT_BRUSH */ void *paintcursor; /* runtime */ - float emitterdist, rt; - - int selectmode; - int edittype; + float emitterdist; + int draw_timed; - int draw_step, fade_frames; - - struct Scene *scene; - struct Object *object; + int selectmode, pad; } ParticleEditSettings; typedef struct TransformOrientation { @@ -507,6 +497,9 @@ typedef struct TransformOrientation { typedef struct Sculpt { Paint paint; + + /* WM handle */ + void *cursor; /* For rotating around a pivot point */ float pivot[3]; @@ -724,9 +717,7 @@ typedef struct Scene { /* Units */ struct UnitSettings unit; - - /* Grease Pencil */ - struct bGPdata *gpd; + } Scene; @@ -1047,10 +1038,9 @@ typedef enum SculptFlags { #define PE_LOCK_FIRST 2 #define PE_DEFLECT_EMITTER 4 #define PE_INTERPOLATE_ADDED 8 -#define PE_DRAW_PART 16 +#define PE_SHOW_CHILD 16 +#define PE_SHOW_TIME 32 #define PE_X_MIRROR 64 -#define PE_FADE_TIME 128 -#define PE_AUTO_VELOCITY 256 /* toolsetting->particle brushtype */ #define PE_BRUSH_NONE -1 @@ -1059,15 +1049,11 @@ typedef enum SculptFlags { #define PE_BRUSH_LENGTH 2 #define PE_BRUSH_PUFF 3 #define PE_BRUSH_ADD 4 -#define PE_BRUSH_SMOOTH 5 +#define PE_BRUSH_WEIGHT 5 +#define PE_BRUSH_SMOOTH 6 /* this must equal ParticleEditSettings.brush array size */ -#define PE_TOT_BRUSH 6 - -/* tooksettings->particle edittype */ -#define PE_TYPE_PARTICLES 0 -#define PE_TYPE_SOFTBODY 1 -#define PE_TYPE_CLOTH 2 +#define PE_TOT_BRUSH 7 /* toolsettings->retopo_mode */ #define RETOPO 1 diff --git a/source/blender/makesdna/DNA_sensor_types.h b/source/blender/makesdna/DNA_sensor_types.h index cc998de7eec..8b29ce1338d 100644 --- a/source/blender/makesdna/DNA_sensor_types.h +++ b/source/blender/makesdna/DNA_sensor_types.h @@ -178,9 +178,6 @@ typedef struct bJoystickSensor { /* bMouseSensor->type: uses blender event defines */ -/* bMouseSensor->flag: only pulse for now */ -#define SENS_MOUSE_FOCUS_PULSE 1 - /* propertysensor->type */ #define SENS_PROP_EQUAL 0 #define SENS_PROP_NEQUAL 1 diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index 4e4714cdaa1..c7f49d3ddd2 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -30,7 +30,7 @@ #define DNA_SMOKE_TYPES_H /* flags */ -#define MOD_SMOKE_HIGHRES (1<<1) /* enable high resolution */ +#define MOD_SMOKE_HIGHRES (1<<1) /* compute high resolution */ #define MOD_SMOKE_DISSOLVE (1<<2) /* let smoke dissolve */ #define MOD_SMOKE_DISSOLVE_LOG (1<<3) /* using 1/x for dissolve */ @@ -39,7 +39,15 @@ #define MOD_SMOKE_NOISEFFT (1<<1) #define MOD_SMOKE_NOISECURL (1<<2) /* viewsettings */ -#define MOD_SMOKE_VIEW_SHOWBIG (1<<0) +#define MOD_SMOKE_VIEW_X (1<<0) +#define MOD_SMOKE_VIEW_Y (1<<1) +#define MOD_SMOKE_VIEW_Z (1<<2) +#define MOD_SMOKE_VIEW_SMALL (1<<3) +#define MOD_SMOKE_VIEW_BIG (1<<4) +#define MOD_SMOKE_VIEW_CHANGETOBIG (1<<5) +#define MOD_SMOKE_VIEW_REDRAWNICE (1<<6) +#define MOD_SMOKE_VIEW_REDRAWALL (1<<7) +#define MOD_SMOKE_VIEW_USEBIG (1<<8) typedef struct SmokeDomainSettings { struct SmokeModifierData *smd; /* for fast RNA access */ @@ -47,14 +55,16 @@ typedef struct SmokeDomainSettings { struct Group *fluid_group; struct Group *eff_group; // effector group for e.g. wind force struct Group *coll_group; // collision objects group - struct WTURBULENCE *wt; // WTURBULENCE object, if active - struct GPUTexture *tex; - struct GPUTexture *tex_wt; - struct GPUTexture *tex_shadow; - float *shadow; + unsigned int *bind; + float *tvox; + float *tray; + float *tvoxbig; + float *traybig; float p0[3]; /* start point of BB */ float p1[3]; /* end point of BB */ float dx; /* edge length of one cell */ + float firstframe; + float lastframe; float omega; /* smoke color - from 0 to 1 */ float temp; /* fluid temperature */ float tempAmb; /* ambient temperature */ @@ -64,17 +74,14 @@ typedef struct SmokeDomainSettings { int amplify; /* wavelet amplification */ int maxres; /* longest axis on the BB gets this resolution assigned */ int flags; /* show up-res or low res, etc */ - int pad; + int visibility; /* how many billboards to show (every 2nd, 3rd, 4th,..) */ int viewsettings; + int max_textures; short noise; /* noise type: wave, curl, anisotropic */ short diss_percent; int diss_speed;/* in frames */ float strength; - int res_wt[3]; - float dx_wt; - int v3dnum; - struct PointCache *point_cache[2]; /* definition is in DNA_object_force.h */ - struct ListBase ptcaches[2]; + struct WTURBULENCE *wt; // WTURBULENCE object, if active } SmokeDomainSettings; diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h index 55b48e4aacd..5f6ebf60865 100644 --- a/source/blender/makesdna/DNA_sound_types.h +++ b/source/blender/makesdna/DNA_sound_types.h @@ -70,59 +70,57 @@ typedef struct Sound3D typedef struct bSound { ID id; - - /** - * The path to the sound file. - */ char name[160]; - - /** - * The packed file. - */ + void *stream; // AUD_XXX deprecated struct PackedFile *packedfile; - + struct PackedFile *newpackedfile; // AUD_XXX deprecated + void *snd_sound; // AUD_XXX used for AUD_Sound now + struct Ipo *ipo; // AUD_XXX deprecated + float volume, panning; // AUD_XXX deprecated /** - * The handle for audaspace. + * Sets the rollofffactor. The rollofffactor is a per-Source parameter + * the application can use to increase or decrease the range of a source + * by decreasing or increasing the attenuation, respectively. The default + * value is 1. The implementation is free to optimize for a rollofffactor + * value of 0, which indicates that the application does not wish any + * distance attenuation on the respective Source. */ - void *handle; - + float attenuation; // AUD_XXX deprecated + float pitch; // AUD_XXX deprecated /** - * Deprecated; used for loading pre 2.5 files. + * min_gain indicates the minimal gain which is always guaranteed for this sound */ - struct PackedFile *newpackedfile; - struct Ipo *ipo; - float volume; - float attenuation; - float pitch; - float min_gain; - float max_gain; - float distance; - int flags; - -/** currently int type; - struct bSound *child_sound;*/ - + float min_gain; // AUD_XXX deprecated /** - * Whether the sound has been changed and must be restarted if playing. + * max_gain indicates the maximal gain which is always guaranteed for this sound */ - int changed; - + float max_gain; // AUD_XXX deprecated /** - * The audaspace handle for cache. + * Sets the referencedistance at which the listener will experience gain. */ + float distance; // AUD_XXX deprecated + int flags; // AUD_XXX deprecated + int streamlen; // AUD_XXX deprecated + char channels; // AUD_XXX deprecated + char highprio; // AUD_XXX deprecated + char pad[10]; // AUD_XXX deprecated + + // AUD_XXX NEW + int type; + int changed; + struct bSound *child_sound; void *cache; -/** XXX unused currently // SOUND_TYPE_LIMITER - float start, end;*/ + // SOUND_TYPE_LIMITER + float start, end; } bSound; -/* XXX unused currently typedef enum eSound_Type { SOUND_TYPE_INVALID = -1, SOUND_TYPE_FILE = 0, SOUND_TYPE_BUFFER, SOUND_TYPE_LIMITER -} eSound_Type;*/ +} eSound_Type; /* spacesound->flag */ #define SND_DRAWFRAMES 1 @@ -144,7 +142,18 @@ typedef struct SpaceSound { int pad2; } SpaceSound; + +#define SOUND_CHANNELS_STEREO 0 +#define SOUND_CHANNELS_LEFT 1 +#define SOUND_CHANNELS_RIGHT 2 + +#define SOUND_FLAGS_LOOP (1 << 0) +#define SOUND_FLAGS_FIXED_VOLUME (1 << 1) +#define SOUND_FLAGS_FIXED_PANNING (1 << 2) #define SOUND_FLAGS_3D (1 << 3) +#define SOUND_FLAGS_BIDIRECTIONAL_LOOP (1 << 4) +#define SOUND_FLAGS_PRIORITY (1 << 5) +#define SOUND_FLAGS_SEQUENCE (1 << 6) /* to DNA_sound_types.h*/ diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 6fdc3a7787b..37f28cfeaa6 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -720,7 +720,6 @@ enum FileSortTypeE { #define SIPO_DRAWTIME (1<<4) #define SIPO_SELCUVERTSONLY (1<<5) #define SIPO_DRAWNAMES (1<<6) -#define SIPO_SLIDERS (1<<7) /* SpaceIpo->mode (Graph Editor Mode) */ enum { diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index c13c0522004..0054e885a21 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -128,55 +128,6 @@ typedef struct EnvMap { short recalc, lastsize; } EnvMap; -typedef struct PointDensity { - short flag; - - short falloff_type; - float falloff_softness; - float radius; - short source; - short color_source; - int totpoints; - - int pdpad; - - struct Object *object; /* for 'Object' or 'Particle system' type - source object */ - struct ParticleSystem *psys; - short psys_cache_space; /* cache points in worldspace, object space, ... ? */ - short ob_cache_space; /* cache points in worldspace, object space, ... ? */ - - short pdpad2[2]; - - void *point_tree; /* the acceleration tree containing points */ - float *point_data; /* dynamically allocated extra for extra information, like particle age */ - - float noise_size; - short noise_depth; - short noise_influence; - short noise_basis; - short pdpad3[3]; - float noise_fac; - - float speed_scale; - struct ColorBand *coba; /* for time -> color */ - -} PointDensity; - -typedef struct VoxelData { - int resol[3]; - int interp_type; - short file_format; - short flag; - int pad; - - struct Object *object; /* for rendering smoke sims */ - float int_multiplier; - int still_frame; - char source_path[240]; - float *dataset; - -} VoxelData; - typedef struct Tex { ID id; struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ @@ -230,8 +181,6 @@ typedef struct Tex { struct ColorBand *coba; struct EnvMap *env; struct PreviewImage * preview; - struct PointDensity *pd; - struct VoxelData *vd; char use_nodes; char pad[7]; @@ -271,8 +220,6 @@ typedef struct TexMapping { #define TEX_MUSGRAVE 11 #define TEX_VORONOI 12 #define TEX_DISTNOISE 13 -#define TEX_POINTDENSITY 14 -#define TEX_VOXELDATA 15 /* musgrave stype */ #define TEX_MFRACTAL 0 @@ -448,8 +395,6 @@ typedef struct TexMapping { #define MTEX_BLEND_VAL 12 #define MTEX_BLEND_COLOR 13 #define MTEX_NUM_BLENDTYPES 14 -#define MTEX_SOFT_LIGHT 15 -#define MTEX_LIN_LIGHT 16 /* brush_map_mode */ #define MTEX_MAP_MODE_FIXED 0 @@ -472,62 +417,5 @@ typedef struct TexMapping { #define ENV_NORMAL 1 #define ENV_OSA 2 -/* **************** PointDensity ********************* */ - -/* source */ -#define TEX_PD_PSYS 0 -#define TEX_PD_OBJECT 1 -#define TEX_PD_FILE 2 - -/* falloff_type */ -#define TEX_PD_FALLOFF_STD 0 -#define TEX_PD_FALLOFF_SMOOTH 1 -#define TEX_PD_FALLOFF_SOFT 2 -#define TEX_PD_FALLOFF_CONSTANT 3 -#define TEX_PD_FALLOFF_ROOT 4 - -/* psys_cache_space */ -#define TEX_PD_OBJECTLOC 0 -#define TEX_PD_OBJECTSPACE 1 -#define TEX_PD_WORLDSPACE 2 - -/* flag */ -#define TEX_PD_TURBULENCE 1 - - -/* noise_influence */ -#define TEX_PD_NOISE_STATIC 0 -#define TEX_PD_NOISE_VEL 1 -#define TEX_PD_NOISE_AGE 2 -#define TEX_PD_NOISE_TIME 3 - -/* color_source */ -#define TEX_PD_COLOR_CONSTANT 0 -#define TEX_PD_COLOR_PARTAGE 1 -#define TEX_PD_COLOR_PARTSPEED 2 -#define TEX_PD_COLOR_PARTVEL 3 - -#define POINT_DATA_VEL 1 -#define POINT_DATA_LIFE 2 - -/******************** Voxel Data *****************************/ -/* flag */ -#define TEX_VD_STILL 1 - -/* interpolation */ -#define TEX_VD_NEARESTNEIGHBOR 0 -#define TEX_VD_LINEAR 1 -#define TEX_VD_QUADRATIC 2 -#define TEX_VD_TRICUBIC_CATROM 3 -#define TEX_VD_TRICUBIC_BSPLINE 4 -#define TEX_VD_TRICUBIC_SLOW 5 - -/* file format */ -#define TEX_VD_BLENDERVOXEL 0 -#define TEX_VD_RAW_8BIT 1 -#define TEX_VD_RAW_16BIT 2 -#define TEX_VD_IMAGE_SEQUENCE 3 -#define TEX_VD_SMOKE 4 - #endif diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 826eea43a4d..c2314e1e3a2 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -369,7 +369,6 @@ extern UserDef U; /* from blenkernel blender.c */ #define USER_RELPATHS (1 << 20) #define USER_DRAGIMMEDIATE (1 << 21) #define USER_DONT_DOSCRIPTLINKS (1 << 22) -#define USER_FILENOUI (1 << 23) /* viewzom */ #define USER_ZOOM_CONT 0 @@ -440,7 +439,6 @@ extern UserDef U; /* from blenkernel blender.c */ #define USER_DUP_TEX (1 << 8) #define USER_DUP_ARM (1 << 9) #define USER_DUP_ACT (1 << 10) -#define USER_DUP_PSYS (1 << 11) /* gameflags */ #define USER_DEPRECATED_FLAG 1 diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index 10f83c8b9ec..7d03bbec1ee 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -285,7 +285,6 @@ typedef struct wmOperator { ListBase macro; /* list of operators, can be a tree */ struct wmOperator *opm; /* current running macro, not saved */ - short flag, pad[3]; } wmOperator; @@ -296,9 +295,6 @@ typedef struct wmOperator { /* add this flag if the event should pass through */ #define OPERATOR_PASS_THROUGH 8 -/* wmOperator flag */ -#define OPERATOR_REPORT_FREE 1 - /* ************** wmEvent ************************ */ /* for read-only rna access, dont save this */ diff --git a/source/blender/makesdna/SConscript b/source/blender/makesdna/SConscript index c3d39783b00..f91cf166f62 100644 --- a/source/blender/makesdna/SConscript +++ b/source/blender/makesdna/SConscript @@ -8,4 +8,4 @@ objs += o incs = '#/intern/guardedalloc .' -env.BlenderLib ( 'bf_dna', objs, Split(incs), [], libtype=['core','player'], priority = [215,200] ) +env.BlenderLib ( 'bf_dna', objs, Split(incs), [], libtype=['core','player'], priority = [215, 215] ) diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt index 1fb63156f26..6024799f852 100644 --- a/source/blender/makesdna/intern/CMakeLists.txt +++ b/source/blender/makesdna/intern/CMakeLists.txt @@ -33,9 +33,9 @@ ADD_EXECUTABLE(makesdna ${SRC} ${INC_FILES}) # Output dna.c ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c - COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/ - DEPENDS makesdna + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c + COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/ + DEPENDS makesdna ) # Build bf_dna library diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript index 1479af1055b..9089718da83 100644 --- a/source/blender/makesdna/intern/SConscript +++ b/source/blender/makesdna/intern/SConscript @@ -34,9 +34,6 @@ if not USE_WINE: if sys.platform != 'cygwin': makesdna_tool.Append (CCFLAGS = cflags) makesdna_tool.Append (CPPDEFINES = defines) -makesdna_tool.Append( CFLAGS = env['CFLAGS']) -makesdna_tool.Append( CCFLAGS = env['CCFLAGS']) -makesdna_tool.Append( LINKFLAGS = env['PLATFORM_LINKFLAGS']) targetdir = normpath(root_build_dir+'/lib') if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'): |