diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-05-12 02:48:41 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-05-12 02:48:41 +0400 |
commit | 8925ed1420ea2557abc7867cf12f89730ef77718 (patch) | |
tree | 67a95fd12253de438e1bdb30bf6c90af2ff12d7f /source/blender/makesdna | |
parent | bf2fac79d407a1d8c0e5727cc644d98eef60a965 (diff) | |
parent | 1c0c2f4d0bd6556a3dd7293ddbd419a066e745f4 (diff) |
Merged changes in the trunk up to revision 46557.
Conflicts resolved:
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_channels_defines.c
source/blender/makesrna/intern/rna_scene.c
Additional changes:
* Fix for recent changes of BKE_* function renaming.
* Fix for an "attempt to free NULL pointer" in BlenderStrokeRenderer::RenderStrokeRepBasic().
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_action_types.h | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_brush_types.h | 123 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_curve_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_customdata_types.h | 10 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_meshdata_types.h | 10 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 17 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 3 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_particle_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_scene_types.h | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_smoke_types.h | 2 |
10 files changed, 108 insertions, 71 deletions
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 9ca67372703..889f9cf47eb 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -335,7 +335,7 @@ typedef struct bPose { float ctime; /* local action time of this pose */ float stride_offset[3]; /* applied to object */ - float cyclic_offset[3]; /* result of match and cycles, applied in where_is_pose() */ + float cyclic_offset[3]; /* result of match and cycles, applied in BKE_pose_where_is() */ ListBase agroups; /* list of bActionGroups */ @@ -352,7 +352,7 @@ typedef struct bPose { /* Pose->flag */ typedef enum ePose_Flags { - /* results in armature_rebuild_pose being called */ + /* results in BKE_pose_rebuild being called */ POSE_RECALC = (1<<0), /* prevents any channel from getting overridden by anim from IPO */ POSE_LOCKED = (1<<1), @@ -362,7 +362,7 @@ typedef enum ePose_Flags { POSE_CONSTRAINTS_TIMEDEPEND = (1<<3), /* recalculate bone paths */ POSE_RECALCPATHS = (1<<4), - /* set by armature_rebuild_pose to give a chance to the IK solver to rebuild IK tree */ + /* set by BKE_pose_rebuild to give a chance to the IK solver to rebuild IK tree */ POSE_WAS_REBUILT = (1<<5), /* set by game_copy_pose to indicate that this pose is used in the game engine */ POSE_GAME_ENGINE = (1<<6) diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index c531225775a..0cef9aa03b7 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -45,56 +45,58 @@ struct MTex; struct Image; typedef struct BrushClone { - struct Image *image; /* image for clone tool */ - float offset[2]; /* offset of clone image from canvas */ - float alpha, pad; /* transparency for drawing of clone image */ + struct Image *image; /* image for clone tool */ + float offset[2]; /* offset of clone image from canvas */ + float alpha, pad; /* transparency for drawing of clone image */ } BrushClone; typedef struct Brush { ID id; struct BrushClone clone; - struct CurveMapping *curve; /* falloff curve */ + struct CurveMapping *curve; /* falloff curve */ struct MTex mtex; + struct Brush *toggle_brush; + struct ImBuf *icon_imbuf; PreviewImage *preview; char icon_filepath[1024]; /* 1024 = FILE_MAX */ float normal_weight; - short blend; /* blend mode */ - short ob_mode; /* & with ob->mode to see if the brush is compatible, use for display only. */ - float weight; /* brush weight */ - int size; /* brush diameter */ - int flag; /* general purpose flag */ - float jitter; /* jitter the position of the brush */ - int spacing; /* spacing of paint operations */ - int smooth_stroke_radius; /* turning radius (in pixels) for smooth stroke */ - float smooth_stroke_factor; /* higher values limit fast changes in the stroke direction */ - float rate; /* paint operations / second (airbrush) */ + short blend; /* blend mode */ + short ob_mode; /* & with ob->mode to see if the brush is compatible, use for display only. */ + float weight; /* brush weight */ + int size; /* brush diameter */ + int flag; /* general purpose flag */ + float jitter; /* jitter the position of the brush */ + int spacing; /* spacing of paint operations */ + int smooth_stroke_radius; /* turning radius (in pixels) for smooth stroke */ + float smooth_stroke_factor; /* higher values limit fast changes in the stroke direction */ + float rate; /* paint operations / second (airbrush) */ - float rgb[3]; /* color */ - float alpha; /* opacity */ + float rgb[3]; /* color */ + float alpha; /* opacity */ - int sculpt_plane; /* the direction of movement for sculpt vertices */ + int sculpt_plane; /* the direction of movement for sculpt vertices */ - float plane_offset; /* offset for plane brushes (clay, flatten, fill, scrape) */ + float plane_offset; /* offset for plane brushes (clay, flatten, fill, scrape) */ - char sculpt_tool; /* active sculpt tool */ - char vertexpaint_tool; /* active vertex/weight paint blend mode (poorly named) */ - char imagepaint_tool; /* active image paint tool */ - char pad; + char sculpt_tool; /* active sculpt tool */ + char vertexpaint_tool; /* active vertex/weight paint blend mode (poorly named) */ + char imagepaint_tool; /* active image paint tool */ + char mask_tool; /* enum BrushMaskTool, only used if sculpt_tool is SCULPT_TOOL_MASK */ float autosmooth_factor; float crease_pinch_factor; float plane_trim; - float height; /* affectable height of brush (layer height for layer tool, i.e.) */ + float height; /* affectable height of brush (layer height for layer tool, i.e.) */ float texture_sample_bias; - int texture_overlay_alpha; + int texture_overlay_alpha; float unprojected_radius; @@ -104,38 +106,38 @@ typedef struct Brush { /* Brush.flag */ typedef enum BrushFlags { - BRUSH_AIRBRUSH = (1<<0), - BRUSH_TORUS = (1<<1), - BRUSH_ALPHA_PRESSURE = (1<<2), - BRUSH_SIZE_PRESSURE = (1<<3), - BRUSH_JITTER_PRESSURE = (1<<4), - BRUSH_SPACING_PRESSURE = (1<<5), - BRUSH_FIXED_TEX = (1<<6), - BRUSH_RAKE = (1<<7), - BRUSH_ANCHORED = (1<<8), - BRUSH_DIR_IN = (1<<9), - BRUSH_SPACE = (1<<10), - BRUSH_SMOOTH_STROKE = (1<<11), - BRUSH_PERSISTENT = (1<<12), - BRUSH_ACCUMULATE = (1<<13), - BRUSH_LOCK_ALPHA = (1<<14), - BRUSH_ORIGINAL_NORMAL = (1<<15), - BRUSH_OFFSET_PRESSURE = (1<<16), - BRUSH_SPACE_ATTEN = (1<<18), - BRUSH_ADAPTIVE_SPACE = (1<<19), - BRUSH_LOCK_SIZE = (1<<20), - BRUSH_TEXTURE_OVERLAY = (1<<21), - BRUSH_EDGE_TO_EDGE = (1<<22), - BRUSH_RESTORE_MESH = (1<<23), - BRUSH_INVERSE_SMOOTH_PRESSURE = (1<<24), - BRUSH_RANDOM_ROTATION = (1<<25), - BRUSH_PLANE_TRIM = (1<<26), - BRUSH_FRONTFACE = (1<<27), - BRUSH_CUSTOM_ICON = (1<<28), + BRUSH_AIRBRUSH = (1 << 0), + BRUSH_TORUS = (1 << 1), + BRUSH_ALPHA_PRESSURE = (1 << 2), + BRUSH_SIZE_PRESSURE = (1 << 3), + BRUSH_JITTER_PRESSURE = (1 << 4), + BRUSH_SPACING_PRESSURE = (1 << 5), + BRUSH_FIXED_TEX = (1 << 6), + BRUSH_RAKE = (1 << 7), + BRUSH_ANCHORED = (1 << 8), + BRUSH_DIR_IN = (1 << 9), + BRUSH_SPACE = (1 << 10), + BRUSH_SMOOTH_STROKE = (1 << 11), + BRUSH_PERSISTENT = (1 << 12), + BRUSH_ACCUMULATE = (1 << 13), + BRUSH_LOCK_ALPHA = (1 << 14), + BRUSH_ORIGINAL_NORMAL = (1 << 15), + BRUSH_OFFSET_PRESSURE = (1 << 16), + BRUSH_SPACE_ATTEN = (1 << 18), + BRUSH_ADAPTIVE_SPACE = (1 << 19), + BRUSH_LOCK_SIZE = (1 << 20), + BRUSH_TEXTURE_OVERLAY = (1 << 21), + BRUSH_EDGE_TO_EDGE = (1 << 22), + BRUSH_RESTORE_MESH = (1 << 23), + BRUSH_INVERSE_SMOOTH_PRESSURE = (1 << 24), + BRUSH_RANDOM_ROTATION = (1 << 25), + BRUSH_PLANE_TRIM = (1 << 26), + BRUSH_FRONTFACE = (1 << 27), + BRUSH_CUSTOM_ICON = (1 << 28), /* temporary flag which sets up automatically for correct brush * drawing when inverted modal operator is running */ - BRUSH_INVERTED = (1<<29) + BRUSH_INVERTED = (1 << 29) } BrushFlags; /* Brush.sculpt_tool */ @@ -160,14 +162,15 @@ typedef enum BrushSculptTool { SCULPT_TOOL_CREASE = 16, SCULPT_TOOL_BLOB = 17, - SCULPT_TOOL_CLAY_STRIPS = 18 + SCULPT_TOOL_CLAY_STRIPS = 18, + SCULPT_TOOL_MASK = 19 } BrushSculptTool; /* ImagePaintSettings.tool */ -#define PAINT_TOOL_DRAW 0 -#define PAINT_TOOL_SOFTEN 1 -#define PAINT_TOOL_SMEAR 2 -#define PAINT_TOOL_CLONE 3 +#define PAINT_TOOL_DRAW 0 +#define PAINT_TOOL_SOFTEN 1 +#define PAINT_TOOL_SMEAR 2 +#define PAINT_TOOL_CLONE 3 /* direction that the brush displaces along */ enum { @@ -188,6 +191,10 @@ enum { PAINT_BLEND_DARKEN }; +typedef enum { + BRUSH_MASK_DRAW, + BRUSH_MASK_SMOOTH +} BrushMaskTool; #define MAX_BRUSH_PIXEL_RADIUS 200 diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index acdd25a101e..da8458d587e 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -190,7 +190,7 @@ typedef struct Curve { short type; /* creation-time type of curve datablock */ - short texflag; /* keep a short because of give_obdata_texspace() */ + short texflag; /* keep a short because of BKE_object_obdata_texspace_get() */ short drawflag, twist_mode; float twist_smooth, smallcaps_scale; diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h index 9898f9715a0..5792953fe49 100644 --- a/source/blender/makesdna/DNA_customdata_types.h +++ b/source/blender/makesdna/DNA_customdata_types.h @@ -63,7 +63,7 @@ typedef struct CustomDataExternal { * layers, each with a data type (e.g. MTFace, MDeformVert, etc.). */ typedef struct CustomData { CustomDataLayer *layers; /* CustomDataLayers, ordered by type */ - int typemap[34]; /* runtime only! - maps types to indices of first layer of that type, + int typemap[36]; /* runtime only! - maps types to indices of first layer of that type, * MUST be >= CD_NUMTYPES, but we cant use a define here. * Correct size is ensured in CustomData_update_typemap assert() */ @@ -112,7 +112,10 @@ typedef struct CustomData { #define CD_BM_ELEM_PYPTR 33 /* BMESH ONLY END */ -#define CD_NUMTYPES 34 +#define CD_PAINT_MASK 34 +#define CD_GRID_PAINT_MASK 35 + +#define CD_NUMTYPES 36 /* Bits for CustomDataMask */ #define CD_MASK_MVERT (1 << CD_MVERT) @@ -151,6 +154,9 @@ typedef struct CustomData { #define CD_MASK_BM_ELEM_PYPTR (1LL << CD_BM_ELEM_PYPTR) /* BMESH ONLY END */ +#define CD_MASK_PAINT_MASK (1LL << CD_PAINT_MASK) +#define CD_MASK_GRID_PAINT_MASK (1LL << CD_GRID_PAINT_MASK) + /* CustomData.flag */ /* indicates layer should not be copied by CustomData_from_template or diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index 94bfe722abe..b0a1d23f166 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -247,6 +247,16 @@ typedef struct MRecast { int i; } MRecast; +typedef struct GridPaintMask { + /* The data array contains gridsize*gridsize elements */ + float *data; + + /* The maximum multires level associated with this grid */ + unsigned int level; + + int pad; +} GridPaintMask; + /* mvert->flag (1=SELECT) */ #define ME_SPHERETEST 2 #define ME_VERT_TMP_TAG 4 diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 6874e8de4f1..6fbaf1723bc 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -324,6 +324,14 @@ typedef struct NodeImageAnim { short pad; } NodeImageAnim; +/* layer info for image node outputs */ +typedef struct NodeImageLayer { + /* index in the Image->layers and Image->layers->passes lists */ + int layer_index, pass_index; + /* render pass flag, in case this is an original render pass */ + int pass_flag; +} NodeImageLayer; + typedef struct NodeBlurData { short sizex, sizey; short samples, maxspeed, minspeed, relative, aspect; @@ -364,11 +372,16 @@ typedef struct NodeImageMultiFile { int pad; } NodeImageMultiFile; typedef struct NodeImageMultiFileSocket { + /* single layer file output */ short use_render_format DNA_DEPRECATED; short use_node_format; /* use overall node image format */ - int pad2; - char path[1024]; /* 1024 = FILE_MAX */ + int pad1; + char path[1024]; /* 1024 = FILE_MAX */ ImageFormatData format; + + /* multilayer output */ + char layer[30]; /* EXR_TOT_MAXNAME-2 ('.' and channel char are appended) */ + char pad2[2]; } NodeImageMultiFileSocket; typedef struct NodeChroma { diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 05a96ef2f35..1e428bb96e0 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -153,6 +153,9 @@ typedef struct Object { 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]; /* inverse matrix of 'obmat' for any other use than rendering! */ + /* note: this isn't assured to be valid as with 'obmat', + * before using this value you should do... + * invert_m4_m4(ob->imat, ob->obmat); */ /* Previously 'imat' was used at render time, but as other places use it too * the interactive ui of 2.5 creates problems. So now only 'imat_ren' should diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index 58ffcf6480e..f5d525d47b5 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -236,7 +236,7 @@ typedef struct ParticleSettings { typedef struct ParticleSystem { /* note1: make sure all (runtime) are NULL's in 'copy_particlesystem' XXX, this function is no more! - need to invstigate */ - /* note2: make sure any uses of this struct in DNA are accounted for in 'copy_object_particlesystems' */ + /* note2: make sure any uses of this struct in DNA are accounted for in 'BKE_object_copy_particlesystems' */ struct ParticleSystem *next, *prev; diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index c78d08e944d..85016256129 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1128,7 +1128,7 @@ typedef struct Scene { /* Movie Tracking */ struct MovieClip *clip; /* active movie clip */ - uint64_t customdata_mask; /* XXX. runtime flag for drawing, actually belongs in the window, only used by object_handle_update() */ + uint64_t customdata_mask; /* XXX. runtime flag for drawing, actually belongs in the window, only used by BKE_object_handle_update() */ uint64_t customdata_mask_modal; /* XXX. same as above but for temp operator use (gl renders) */ } Scene; @@ -1412,7 +1412,7 @@ typedef struct Scene { #define SCE_FRAME_DROP (1<<3) - /* return flag next_object function */ + /* return flag BKE_scene_base_iter_next function */ #define F_ERROR -1 #define F_START 0 #define F_SCENE 1 diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index 3e20b353856..50e48a13835 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -115,8 +115,6 @@ typedef struct SmokeDomainSettings { /* flags */ #define MOD_SMOKE_FLOW_ABSOLUTE (1<<1) /*old style emission*/ #define MOD_SMOKE_FLOW_INITVELOCITY (1<<2) /* passes particles speed to the smoke */ -#define MOD_SMOKE_FLOW_INIT (1 << 3) /* is the flow object already initialized? */ - typedef struct SmokeFlowSettings { struct SmokeModifierData *smd; /* for fast RNA access */ |