diff options
author | Nick Samarin <nicks1987@bigmir.net> | 2011-05-17 00:30:59 +0400 |
---|---|---|
committer | Nick Samarin <nicks1987@bigmir.net> | 2011-05-17 00:30:59 +0400 |
commit | a918040902bdeb7c9793168710871e4a3b7777a3 (patch) | |
tree | 7380f00bce5448d777d09f4be4d7127e8eecec49 /source/blender/makesdna | |
parent | daeca2f8262884c436c5678225704b594ce5347b (diff) | |
parent | 99ee18c684da65ba774175c0b57a086e8222464a (diff) |
synched with trunk at revision 36569
Diffstat (limited to 'source/blender/makesdna')
62 files changed, 648 insertions, 361 deletions
diff --git a/source/blender/makesdna/CMakeLists.txt b/source/blender/makesdna/CMakeLists.txt index b1e1b589c6e..e02b33b92c1 100644 --- a/source/blender/makesdna/CMakeLists.txt +++ b/source/blender/makesdna/CMakeLists.txt @@ -24,67 +24,4 @@ # # ***** END GPL LICENSE BLOCK ***** -# Use PARENT_SCOPE so makesrna can access. -set(SRC_DNA_INC - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_ID.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_action_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_actuator_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_anim_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_armature_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_boid_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_brush_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_camera_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_cloth_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_color_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_constraint_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_controller_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_curve_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_customdata_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_documentation.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_effect_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_fileglobal_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_genfile.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_gpencil_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_group_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_image_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_ipo_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_key_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_lamp_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_lattice_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_listBase.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_material_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_mesh_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_meshdata_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_meta_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_modifier_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_nla_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_node_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_object_fluidsim.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_object_force.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_object_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_outliner_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_packedFile_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_particle_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_property_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_scene_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_screen_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_sdna_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_sensor_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_sequence_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_smoke_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_sound_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_space_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_text_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_texture_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_userdef_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_vec_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_vfont_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_view2d_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_view3d_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_windowmanager_types.h - ${CMAKE_CURRENT_SOURCE_DIR}/DNA_world_types.h - - PARENT_SCOPE -) - add_subdirectory(intern) diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 7d4d3d7c333..267283ee47a 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -1,8 +1,4 @@ -/** - * blenlib/DNA_ID.h (mar-2001 nzc) - * - * ID and Library types, which are fundamental for sdna, - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -33,6 +29,11 @@ #ifndef DNA_ID_H #define DNA_ID_H +/** \file DNA_ID.h + * \ingroup DNA + * \brief ID and Library types, which are fundamental for sdna. + */ + #include "DNA_listBase.h" #ifdef __cplusplus diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 17f9afce7c3..0716d1ddbf2 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -27,6 +27,10 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file DNA_action_types.h + * \ingroup DNA + */ + #ifndef DNA_ACTION_TYPES_H #define DNA_ACTION_TYPES_H @@ -299,8 +303,8 @@ typedef enum eRotationModes { /* quaternion rotations (default, and for older Blender versions) */ ROT_MODE_QUAT = 0, /* euler rotations - keep in sync with enum in BLI_math.h */ - ROT_MODE_EUL = 1, /* Blender 'default' (classic) - must be as 1 to sync with arithb defines */ - ROT_MODE_XYZ = 1, /* Blender 'default' (classic) - must be as 1 to sync with arithb defines */ + ROT_MODE_EUL = 1, /* Blender 'default' (classic) - must be as 1 to sync with BLI_math_rotation.h defines */ + ROT_MODE_XYZ = 1, ROT_MODE_XZY, ROT_MODE_YXZ, ROT_MODE_YZX, @@ -483,6 +487,9 @@ typedef struct bAction { int flag; /* settings for this action */ int active_marker; /* index of the active marker */ + + int idroot; /* type of ID-blocks that action can be assigned to (if 0, will be set to whatever ID first evaluates it) */ + int pad; } bAction; @@ -507,7 +514,8 @@ 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! - struct Group *filter_grp; /* object group for ADS_FILTER_ONLYOBGROUP filtering option */ + struct Group *filter_grp; /* object group for ADS_FILTER_ONLYOBGROUP filtering option */ + char searchstr[64]; /* string to search for in displayed names of F-Curves for ADS_FILTER_BY_FCU_NAME filtering option */ int filterflag; /* flags to use for filtering data */ int flag; /* standard flags */ @@ -550,6 +558,7 @@ typedef enum eDopeSheet_FilterFlag { /* general filtering 3 */ ADS_FILTER_INCL_HIDDEN = (1<<26), /* include 'hidden' channels too (i.e. those from hidden Objects/Bones) */ + ADS_FILTER_BY_FCU_NAME = (1<<27), /* for F-Curves, filter by the displayed name (i.e. to isolate all Location curves only) */ /* combination filters (some only used at runtime) */ ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM) diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h index 55966e9650b..7aa8e59effb 100644 --- a/source/blender/makesdna/DNA_actuator_types.h +++ b/source/blender/makesdna/DNA_actuator_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_actuator_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -28,6 +26,11 @@ * * ***** END GPL LICENSE BLOCK ***** */ + +/** \file DNA_actuator_types.h + * \ingroup DNA + */ + #ifndef DNA_ACTUATOR_TYPES_H #define DNA_ACTUATOR_TYPES_H @@ -241,14 +244,14 @@ typedef struct bActuator { struct bActuator *next, *prev, *mynew; short type; /** - * Tells what type of actuator data <data> holds. + * Tells what type of actuator data \ref data holds. */ short flag; short otype, go; char name[32]; /** - * Data must point to an object actuator type struct. + * data must point to an object actuator type struct. */ void *data; diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h index e09d7635f75..4b649031f97 100644 --- a/source/blender/makesdna/DNA_anim_types.h +++ b/source/blender/makesdna/DNA_anim_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -28,6 +28,10 @@ #ifndef DNA_ANIM_TYPES_H #define DNA_ANIM_TYPES_H +/** \file DNA_anim_types.h + * \ingroup DNA + */ + #ifdef __cplusplus extern "C" { #endif @@ -257,7 +261,7 @@ typedef enum eFMod_Stepped_Flags { * Defines how to access a dependency needed for a driver variable. */ typedef struct DriverTarget { - ID *id; /* ID-block which owns the target */ + ID *id; /* ID-block which owns the target, no user count */ char *rna_path; /* RNA path defining the setting to use (for DVAR_TYPE_SINGLE_PROP) */ diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index 89c2d69b8be..3547101612f 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -28,6 +28,10 @@ #ifndef DNA_ARMATURE_TYPES_H #define DNA_ARMATURE_TYPES_H +/** \file DNA_armature_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" @@ -189,4 +193,6 @@ typedef enum eBone_Flag { BONE_NO_LOCAL_LOCATION = (1<<22) /* bone location is in armature space */ } eBone_Flag; +#define MAXBONENAME 32 + #endif diff --git a/source/blender/makesdna/DNA_boid_types.h b/source/blender/makesdna/DNA_boid_types.h index 83f8f4d0199..8ce6b0cc2bb 100644 --- a/source/blender/makesdna/DNA_boid_types.h +++ b/source/blender/makesdna/DNA_boid_types.h @@ -1,6 +1,4 @@ -/* DNA_particle_types.h - * - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -32,6 +30,10 @@ #ifndef DNA_BOID_TYPES_H #define DNA_BOID_TYPES_H +/** \file DNA_boid_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" typedef enum BoidRuleType { diff --git a/source/blender/makesdna/DNA_brush_types.h b/source/blender/makesdna/DNA_brush_types.h index 6ddad214af4..3d143dc3d0f 100644 --- a/source/blender/makesdna/DNA_brush_types.h +++ b/source/blender/makesdna/DNA_brush_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +30,11 @@ #ifndef DNA_BRUSH_TYPES_H #define DNA_BRUSH_TYPES_H +/** \file DNA_brush_types.h + * \ingroup DNA + */ + + #include "DNA_ID.h" #include "DNA_texture_types.h" /* for MTex */ @@ -80,13 +85,14 @@ typedef struct Brush { char sculpt_tool; /* active sculpt tool */ char vertexpaint_tool; /* active vertex/weight paint tool/blend mode */ char imagepaint_tool; /* active image paint tool */ - char pad3; + char pad3[5]; float autosmooth_factor; float crease_pinch_factor; float plane_trim; + float height; /* affectable height of brush (layer height for layer tool, i.e.) */ float texture_sample_bias; int texture_overlay_alpha; diff --git a/source/blender/makesdna/DNA_camera_types.h b/source/blender/makesdna/DNA_camera_types.h index 11c8533783e..4ebd7318ea8 100644 --- a/source/blender/makesdna/DNA_camera_types.h +++ b/source/blender/makesdna/DNA_camera_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_camera_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_CAMERA_TYPES_H #define DNA_CAMERA_TYPES_H +/** \file DNA_camera_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #ifdef __cplusplus diff --git a/source/blender/makesdna/DNA_cloth_types.h b/source/blender/makesdna/DNA_cloth_types.h index 9b9f0ede526..b7a8f21d724 100644 --- a/source/blender/makesdna/DNA_cloth_types.h +++ b/source/blender/makesdna/DNA_cloth_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_CLOTH_TYPES_H #define DNA_CLOTH_TYPES_H +/** \file DNA_cloth_types.h + * \ingroup DNA + */ + /** * This struct contains all the global data required to run a simulation. * At the time of this writing, this structure contains data appropriate @@ -92,6 +96,7 @@ typedef struct ClothCollSettings float self_friction; /* Fiction/damping with self contact. */ float friction; /* Friction/damping applied on contact with other object.*/ float selfepsilon; /* for selfcollision */ + float repel_force, distance_repel; int flags; /* collision flags defined in BKE_cloth.h */ short self_loop_count; /* How many iterations for the selfcollision loop */ short loop_count; /* How many iterations for the collision loop. */ diff --git a/source/blender/makesdna/DNA_color_types.h b/source/blender/makesdna/DNA_color_types.h index 83cd7979ce7..3b5a1865832 100644 --- a/source/blender/makesdna/DNA_color_types.h +++ b/source/blender/makesdna/DNA_color_types.h @@ -1,5 +1,4 @@ -/** - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +29,10 @@ #ifndef DNA_COLOR_TYPES_H #define DNA_COLOR_TYPES_H +/** \file DNA_color_types.h + * \ingroup DNA + */ + #include "DNA_vec_types.h" /* general defines for kernel functions */ diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h index 275ffd93ae5..1d752fce4ef 100644 --- a/source/blender/makesdna/DNA_constraint_types.h +++ b/source/blender/makesdna/DNA_constraint_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +31,10 @@ #ifndef DNA_CONSTRAINT_TYPES_H #define DNA_CONSTRAINT_TYPES_H +/** \file DNA_constraint_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #include "DNA_listBase.h" diff --git a/source/blender/makesdna/DNA_controller_types.h b/source/blender/makesdna/DNA_controller_types.h index fcd5587b14b..e48386e5c4e 100644 --- a/source/blender/makesdna/DNA_controller_types.h +++ b/source/blender/makesdna/DNA_controller_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_controller_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_CONTROLLER_TYPES_H #define DNA_CONTROLLER_TYPES_H +/** \file DNA_controller_types.h + * \ingroup DNA + */ + struct bActuator; struct Text; struct bSensor; diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h index d66246a4136..b51612037fc 100644 --- a/source/blender/makesdna/DNA_curve_types.h +++ b/source/blender/makesdna/DNA_curve_types.h @@ -1,8 +1,4 @@ -/** - * blenlib/DNA_curve_types.h (mar-2001 nzc) - * - * Curve stuff. - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -33,6 +29,10 @@ #ifndef DNA_CURVE_TYPES_H #define DNA_CURVE_TYPES_H +/** \file DNA_curve_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_vec_types.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_customdata_types.h b/source/blender/makesdna/DNA_customdata_types.h index 1478557d8f2..b721dc60e73 100644 --- a/source/blender/makesdna/DNA_customdata_types.h +++ b/source/blender/makesdna/DNA_customdata_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -27,6 +27,10 @@ * ***** END GPL LICENSE BLOCK ***** */ +/** \file DNA_customdata_types.h + * \ingroup DNA + */ + #ifndef DNA_CUSTOMDATA_TYPES_H #define DNA_CUSTOMDATA_TYPES_H @@ -34,7 +38,7 @@ extern "C" { #endif -/* descriptor and storage for a custom data layer */ +/** descriptor and storage for a custom data layer */ typedef struct CustomDataLayer { int type; /* type of data in layer */ int offset; /* in editmode, offset of layer in block */ @@ -52,7 +56,7 @@ typedef struct CustomDataExternal { char filename[240]; /* FILE_MAX */ } CustomDataExternal; -/* structure which stores custom element data associated with mesh elements +/** structure which stores custom element data associated with mesh elements * (vertices, edges or faces). The custom data is organised into a series of * layers, each with a data type (e.g. MTFace, MDeformVert, etc.). */ typedef struct CustomData { diff --git a/source/blender/makesdna/DNA_documentation.h b/source/blender/makesdna/DNA_documentation.h index a911b92c313..2e5eb3778c4 100644 --- a/source/blender/makesdna/DNA_documentation.h +++ b/source/blender/makesdna/DNA_documentation.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -25,29 +25,32 @@ * Contributor(s): none yet. * * ***** END GPL LICENSE BLOCK ***** + */ + +/** + * \page makesdna makesdna + * \ingroup DNA * - * @mainpage DNA- Makesdna modules - * - * @section about About the DNA module + * \section aboutdna About the DNA module * * The DNA module holds all type definitions that are serialized in a * blender file. There is an executable that scans all files, looking - * for struct-s to serialize (hence sdna: Struct DNA). From this + * for struct-s to serialize (hence sdna: Struct \ref DNA). From this * information, it builds a file with numbers that encode the format, * the names of variables, and the plce to look for them. * - * @section issues Known issues with DNA + * \section dnaissues Known issues with DNA * * - Function pointers: * * Because of historical reasons, some function pointers were * untyped. The parser/dna generator has been modified to explicitly * handle these special cases. Most pointers have been given proper - * proto's by now. DNA_space_types.h::Spacefile::returnfuncmay still + * proto's by now. DNA_space_types.h::Spacefile::returnfunc may still * be badly defined. The reason for this is that it is called with * different types of arguments. It takes a char* at this moment... * - * - Path to the header files + * - %Path to the header files * * Also because of historical reasons, there is a path prefix to the * headers that need to be scanned. This is the BASE_HEADER @@ -55,15 +58,14 @@ * have to change this (Not very flexible, but it is hardly ever * changed. Sorry.). * - * @section dependencies Dependencies + * \section dnadependencies Dependencies * * DNA has no external dependencies (except for a few system * includes). - * - **/ + * \section dnanote NOTE -/* PLEASE READ INSTRUCTIONS ABOUT ADDING VARIABLES IN 'DNA' STRUCTS IN + PLEASE READ INSTRUCTIONS ABOUT ADDING VARIABLES IN 'DNA' STRUCTS IN intern/dna_genfile.c (ton) diff --git a/source/blender/makesdna/DNA_effect_types.h b/source/blender/makesdna/DNA_effect_types.h index ee0b791a274..f87698a3d64 100644 --- a/source/blender/makesdna/DNA_effect_types.h +++ b/source/blender/makesdna/DNA_effect_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_effect_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_EFFECT_TYPES_H #define DNA_EFFECT_TYPES_H +/** \file DNA_effect_types.h + * \ingroup DNA + */ + /* don't forget, new effects also in writefile.c for dna!!! */ #define PAF_MAXMULT 4 diff --git a/source/blender/makesdna/DNA_fileglobal_types.h b/source/blender/makesdna/DNA_fileglobal_types.h index 0c3a9429de6..9aa3e1eb3c1 100644 --- a/source/blender/makesdna/DNA_fileglobal_types.h +++ b/source/blender/makesdna/DNA_fileglobal_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_fileglobal_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_FILEGLOBAL_TYPES_H #define DNA_FILEGLOBAL_TYPES_H +/** \file DNA_fileglobal_types.h + * \ingroup DNA + */ + struct bScreen; struct Scene; diff --git a/source/blender/makesdna/DNA_genfile.h b/source/blender/makesdna/DNA_genfile.h index 8e00a89af09..e8ed6580206 100644 --- a/source/blender/makesdna/DNA_genfile.h +++ b/source/blender/makesdna/DNA_genfile.h @@ -25,12 +25,16 @@ * Contributor(s): none yet. * * ***** END GPL LICENSE BLOCK ***** - * blenloader genfile private function prototypes */ #ifndef GENFILE_H #define GENFILE_H +/** \file DNA_genfile.h + * \ingroup DNA + * \brief blenloader genfile private function prototypes + */ + struct SDNA; extern unsigned char DNAstr[]; /* DNA.c */ diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h index 25378173929..6eb5f64ffc3 100644 --- a/source/blender/makesdna/DNA_gpencil_types.h +++ b/source/blender/makesdna/DNA_gpencil_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -27,6 +27,10 @@ #ifndef DNA_GPENCIL_TYPES_H #define DNA_GPENCIL_TYPES_H +/** \file DNA_gpencil_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" @@ -115,6 +119,8 @@ typedef struct bGPDlayer { #define GP_LAYER_SELECT (1<<5) /* current frame for layer can't be changed */ #define GP_LAYER_FRAMELOCK (1<<6) + /* don't render xray (which is default) */ +#define GP_LAYER_NO_XRAY (1<<7) /* Grease-Pencil Annotations - 'DataBlock' */ diff --git a/source/blender/makesdna/DNA_group_types.h b/source/blender/makesdna/DNA_group_types.h index 7416f6ea397..106b85a5372 100644 --- a/source/blender/makesdna/DNA_group_types.h +++ b/source/blender/makesdna/DNA_group_types.h @@ -1,4 +1,4 @@ -/** +/* * blenlib/DNA_group_types.h (mar-2001 nzc) * * $Id$ @@ -31,6 +31,10 @@ #ifndef DNA_GROUP_TYPES_H #define DNA_GROUP_TYPES_H +/** \file DNA_group_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h index 3df3c8b41c6..99ed2319415 100644 --- a/source/blender/makesdna/DNA_image_types.h +++ b/source/blender/makesdna/DNA_image_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_image_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_IMAGE_TYPES_H #define DNA_IMAGE_TYPES_H +/** \file DNA_image_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" struct PackedFile; diff --git a/source/blender/makesdna/DNA_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h index d0554a7aaa5..5dba9154a3a 100644 --- a/source/blender/makesdna/DNA_ipo_types.h +++ b/source/blender/makesdna/DNA_ipo_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_ipo_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,15 +27,13 @@ * ***** END GPL LICENSE BLOCK ***** */ -/* ============================================== - * ATTENTION: - * - * The contents of this file are now officially depreceated. They were used for the 'old' animation system, - * which has (as of 2.50) been replaced with a completely new system by Joshua Leung (aligorith). All defines, - * etc. are only still maintained to provide backwards compatability for old files... - * - * ============================================= - */ +/** \file DNA_ipo_types.h + * \ingroup DNA + * \deprecated + * The contents of this file are now officially depreceated. They were used for the 'old' animation system, + * which has (as of 2.50) been replaced with a completely new system by Joshua Leung (aligorith). All defines, + * etc. are only still maintained to provide backwards compatability for old files. + */ #ifndef DNA_IPO_TYPES_H #define DNA_IPO_TYPES_H diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h index 3cdb5c7ebd9..2d5960aa309 100644 --- a/source/blender/makesdna/DNA_key_types.h +++ b/source/blender/makesdna/DNA_key_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_key_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_KEY_TYPES_H #define DNA_KEY_TYPES_H +/** \file DNA_key_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_lamp_types.h b/source/blender/makesdna/DNA_lamp_types.h index 1028d733c65..9377b5d8a09 100644 --- a/source/blender/makesdna/DNA_lamp_types.h +++ b/source/blender/makesdna/DNA_lamp_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_lamp_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_LAMP_TYPES_H #define DNA_LAMP_TYPES_H +/** \file DNA_lamp_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #ifndef MAX_MTEX diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h index bf2ada51155..662ef9e8a45 100644 --- a/source/blender/makesdna/DNA_lattice_types.h +++ b/source/blender/makesdna/DNA_lattice_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_LATTICE_TYPES_H #define DNA_LATTICE_TYPES_H +/** \file DNA_lattice_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" struct AnimData; diff --git a/source/blender/makesdna/DNA_listBase.h b/source/blender/makesdna/DNA_listBase.h index afeb79037f5..f52325c0e7b 100644 --- a/source/blender/makesdna/DNA_listBase.h +++ b/source/blender/makesdna/DNA_listBase.h @@ -1,6 +1,4 @@ -/** - * blenlib/BLI_listBase.h mar 2001 Nzc - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -28,14 +26,18 @@ * * ***** END GPL LICENSE BLOCK ***** * - * These structs are the foundation for all linked lists in the - * library system. * */ #ifndef DNA_LISTBASE_H #define DNA_LISTBASE_H +/** \file DNA_listBase.h + * \ingroup DNA + * \brief These structs are the foundation for all linked lists in the + * library system. + */ + #ifdef __cplusplus extern "C" { #endif diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h index 5a117d59f8a..1489593f7f6 100644 --- a/source/blender/makesdna/DNA_material_types.h +++ b/source/blender/makesdna/DNA_material_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_material_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_MATERIAL_TYPES_H #define DNA_MATERIAL_TYPES_H +/** \file DNA_material_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #include "DNA_listBase.h" @@ -158,7 +160,8 @@ typedef struct Material { short sss_flag, sss_preset; int mapto_textured; /* render-time cache to optimise texture lookups */ - int pad4; + short shadowonly_flag; /* "shadowsonly" type */ + short pad; ListBase gpumaterial; /* runtime */ } Material; @@ -236,6 +239,11 @@ typedef struct Material { #define MA_RAYMIR_FADETOSKY 0 #define MA_RAYMIR_FADETOMAT 1 +/* shadowonly_flag */ +#define MA_SO_OLD 0 +#define MA_SO_SHADOW 1 +#define MA_SO_SHADED 2 + /* shade_flag */ #define MA_CUBIC 1 #define MA_OBCOLOR 2 diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h index 853c123e5d7..6ad60ac2df9 100644 --- a/source/blender/makesdna/DNA_mesh_types.h +++ b/source/blender/makesdna/DNA_mesh_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_MESH_TYPES_H #define DNA_MESH_TYPES_H +/** \file DNA_mesh_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" #include "DNA_customdata_types.h" @@ -54,8 +58,6 @@ typedef struct Mesh { struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */ struct BoundBox *bb; - - ListBase effect; struct Ipo *ipo; // XXX depreceated... old animation system struct Key *key; @@ -83,24 +85,22 @@ typedef struct Mesh { * of the last selected face and is similar to the old active face flag where * the face does not need to be selected, -1 is inactive */ int act_face; - - short texflag, editflag; - + /* texture space, copied as one block in editobject.c */ float loc[3]; float size[3]; float rot[3]; - - float cubemapsize; - - int drawflag; + + short texflag, drawflag; short smoothresh, flag; short subdiv, subdivr; + char subsurftype; /* only kept for backwards compat, not used anymore */ + char editflag; + short totcol; - short subsurftype; /* only kept for backwards compat, not used anymore */ - struct Multires *mr; /* Multiresolution modeling data */ + struct Multires *mr; /* deprecated multiresolution modeling data, only keep for loading old files */ struct PartialVisibility *pv; } Mesh; @@ -124,7 +124,7 @@ 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 +#define ME_EDIT_MIRROR_TOPO (1 << 4) /* me->flag */ @@ -139,7 +139,7 @@ typedef struct TFace { #define ME_OPT_EDGES 256 #define ME_DS_EXPAND 512 -/* me->drawflag, int */ +/* me->drawflag, short */ #define ME_DRAWEDGES (1 << 0) #define ME_DRAWFACES (1 << 1) #define ME_DRAWNORMALS (1 << 2) diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index 59a1828909b..61c4a660992 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_MESHDATA_TYPES_H #define DNA_MESHDATA_TYPES_H +/** \file DNA_meshdata_types.h + * \ingroup DNA + */ + #include "DNA_customdata_types.h" #include "DNA_listBase.h" diff --git a/source/blender/makesdna/DNA_meta_types.h b/source/blender/makesdna/DNA_meta_types.h index dc0ac7fd80c..53f563341b3 100644 --- a/source/blender/makesdna/DNA_meta_types.h +++ b/source/blender/makesdna/DNA_meta_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_meta_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_META_TYPES_H #define DNA_META_TYPES_H +/** \file DNA_meta_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 6e8367385ed..ac5e411e18b 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -1,5 +1,4 @@ -/** - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -21,11 +20,16 @@ * ***** END GPL LICENSE BLOCK ***** */ -#include "DNA_listBase.h" - #ifndef DNA_MODIFIER_TYPES_H #define DNA_MODIFIER_TYPES_H +/** \file DNA_modifier_types.h + * \ingroup DNA + */ + +#include "DNA_listBase.h" + + #define MODSTACK_DEBUG 1 /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE! */ @@ -66,8 +70,6 @@ typedef enum ModifierType { eModifierType_ShapeKey, eModifierType_Solidify, eModifierType_Screw, - /* placeholder, keep this so durian files load in - * trunk with the correct modifier once its merged */ eModifierType_Warp, eModifierType_NavMesh, NUM_MODIFIER_TYPES @@ -104,6 +106,17 @@ typedef enum { eSubsurfModifierFlag_SubsurfUv = (1<<3) } SubsurfModifierFlag; +/* not a real modifier */ +typedef struct MappingInfoModifierData { + ModifierData modifier; + + struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; +} MappingInfoModifierData; + typedef struct SubsurfModifierData { ModifierData modifier; @@ -289,15 +302,19 @@ typedef struct SmokeModifierData { typedef struct DisplaceModifierData { ModifierData modifier; + /* keep in sync with MappingInfoModifierData */ struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; + int pad10; + /* end MappingInfoModifierData */ + float strength; int direction; char defgrp_name[32]; float midlevel; - int texmapping; - struct Object *map_object; - char uvlayer_name[32]; - int uvlayer_tmp, pad; } DisplaceModifierData; /* DisplaceModifierData->direction */ @@ -471,7 +488,7 @@ typedef struct CollisionModifierData { unsigned int numverts; unsigned int numfaces; - float time, pad; /* cfra time of modifier */ + float time_x, time_xnew; /* cfra time of modifier */ struct BVHTree *bvhtree; /* bounding volume hierarchy for this cloth object */ } CollisionModifierData; @@ -585,7 +602,7 @@ typedef struct ParticleInstanceModifierData { typedef enum { eExplodeFlag_CalcFaces = (1<<0), eExplodeFlag_PaSize = (1<<1), - eExplodeFlag_EdgeSplit = (1<<2), + eExplodeFlag_EdgeCut = (1<<2), eExplodeFlag_Unborn = (1<<3), eExplodeFlag_Alive = (1<<4), eExplodeFlag_Dead = (1<<5), @@ -596,6 +613,7 @@ typedef struct ExplodeModifierData { int *facepa; short flag, vgroup; float protect; + char uvname[32]; } ExplodeModifierData; typedef struct MultiresModifierData { @@ -701,13 +719,16 @@ typedef struct SolidifyModifierData { float crease_outer; float crease_rim; int flag; + short mat_ofs; + short mat_ofs_rim; + int pad; } SolidifyModifierData; #define MOD_SOLIDIFY_RIM (1<<0) #define MOD_SOLIDIFY_EVEN (1<<1) #define MOD_SOLIDIFY_NORMAL_CALC (1<<2) #define MOD_SOLIDIFY_VGROUP_INV (1<<3) -#define MOD_SOLIDIFY_RIM_MATERIAL (1<<4) +#define MOD_SOLIDIFY_RIM_MATERIAL (1<<4) /* deprecated, used in do_versions */ typedef struct ScrewModifierData { ModifierData modifier; @@ -730,4 +751,42 @@ typedef struct NavMeshModifierData { ModifierData modifier; } NavMeshModifierData; +typedef struct WarpModifierData { + ModifierData modifier; + + /* keep in sync with MappingInfoModifierData */ + struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; + int pad10; + /* end MappingInfoModifierData */ + + float strength; + + struct Object *object_from; + struct Object *object_to; + struct CurveMapping *curfalloff; + char defgrp_name[32]; /* optional vertexgroup name */ + float falloff_radius; + char flag; /* not used yet */ + char falloff_type; + char pad[2]; +} WarpModifierData; + +#define MOD_WARP_VOLUME_PRESERVE 1 + +typedef enum { + eWarp_Falloff_None = 0, + eWarp_Falloff_Curve = 1, + eWarp_Falloff_Sharp = 2, /* PROP_SHARP */ + eWarp_Falloff_Smooth = 3, /* PROP_SMOOTH */ + eWarp_Falloff_Root = 4, /* PROP_ROOT */ + eWarp_Falloff_Linear = 5, /* PROP_LIN */ + eWarp_Falloff_Const = 6, /* PROP_CONST */ + eWarp_Falloff_Sphere = 7, /* PROP_SPHERE */ + /* PROP_RANDOM not used */ +} WarpModifierFalloff; + #endif diff --git a/source/blender/makesdna/DNA_nla_types.h b/source/blender/makesdna/DNA_nla_types.h index 519d8ca8163..c64dda2afd0 100644 --- a/source/blender/makesdna/DNA_nla_types.h +++ b/source/blender/makesdna/DNA_nla_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +30,10 @@ #ifndef DNA_NLA_TYPES_H #define DNA_NLA_TYPES_H +/** \file DNA_nla_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" struct bAction; diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 5fbbf4338c4..03387c3a63a 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +30,10 @@ #ifndef DNA_NODE_TYPES_H #define DNA_NODE_TYPES_H +/** \file DNA_node_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #include "DNA_vec_types.h" #include "DNA_listBase.h" @@ -66,21 +70,29 @@ typedef struct bNodeSocket { char name[32]; bNodeStack ns; /* custom data for inputs, only UI writes in this */ - short type, flag; /* type is copy from socket type struct */ - short limit, stack_index; /* limit for dependency sort, stack_index for exec */ - short intern; /* intern = tag for group nodes */ - short stack_index_ext; /* for groups, to find the caller stack index */ - int pad1; + short type, flag; + short limit; /* max. number of links */ + + /* stack data info (only during execution!) */ + short stack_type; /* type of stack reference */ + /* XXX only one of stack_ptr or stack_index is used (depending on stack_type). + * could store the index in the pointer with SET_INT_IN_POINTER (a bit ugly). + * (union won't work here, not supported by DNA) + */ + struct bNodeStack *stack_ptr; /* constant input value */ + short stack_index; /* local stack index or external input number */ + short pad1; float locx, locy; /* internal data to retrieve relations and groups */ - int own_index, to_index; /* group socket identifiers, to find matching pairs after reading files */ + int own_index; /* group socket identifiers, to find matching pairs after reading files */ + struct bNodeSocket *groupsock; + int to_index; /* XXX deprecated, only used for restoring old group node links */ + int pad2; - struct bNodeSocket *tosock; /* group-node sockets point to the internal group counterpart sockets, set after read file */ struct bNodeLink *link; /* a link pointer, set in nodeSolveOrder() */ - } bNodeSocket; /* sock->type */ @@ -95,11 +107,16 @@ typedef struct bNodeSocket { #define SOCK_IN_USE 4 /* unavailable is for dynamic sockets */ #define SOCK_UNAVAIL 8 -# -# + +/* sock->stack_type */ +#define SOCK_STACK_LOCAL 1 /* part of the local tree stack */ +#define SOCK_STACK_EXTERN 2 /* use input stack pointer */ +#define SOCK_STACK_CONST 3 /* use pointer to constant input value */ + typedef struct bNodePreview { unsigned char *rect; short xsize, ysize; + int pad; } bNodePreview; @@ -119,7 +136,8 @@ typedef struct bNode { void *storage; /* custom data, must be struct, for storage in file */ float locx, locy; /* root offset for drawing */ - float width, miniwidth; + float width, miniwidth; + char label[32]; /* custom user-defined label */ short custom1, custom2; /* to be abused for buttons */ float custom3, custom4; @@ -181,7 +199,7 @@ typedef struct bNodeTree { int flag, pad; ListBase alltypes; /* type definitions */ - struct bNodeType *owntype; /* for groups or dynamic trees, no read/write */ + ListBase inputs, outputs; /* external sockets for group nodes */ int pad2[2]; @@ -203,7 +221,11 @@ typedef struct bNodeTree { #define NTREE_EXEC_INIT 2 /* ntree->flag */ -#define NTREE_DS_EXPAND 1 /* for animation editors */ +#define NTREE_DS_EXPAND 1 /* for animation editors */ +/* XXX not nice, but needed as a temporary flag + * for group updates after library linking. + */ +#define NTREE_DO_VERSIONS 1024 /* data structs, for node->storage */ diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h index 700021eaceb..e8360b99d69 100644 --- a/source/blender/makesdna/DNA_object_fluidsim.h +++ b/source/blender/makesdna/DNA_object_fluidsim.h @@ -1,4 +1,4 @@ -/** +/* * * $Id$ * @@ -30,6 +30,10 @@ #ifndef DNA_OBJECT_FLUIDSIM_H #define DNA_OBJECT_FLUIDSIM_H +/** \file DNA_object_fluidsim.h + * \ingroup DNA + */ + #include "DNA_ID.h" #ifdef __cplusplus diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h index 7656ae6372b..37568a22f54 100644 --- a/source/blender/makesdna/DNA_object_force.h +++ b/source/blender/makesdna/DNA_object_force.h @@ -1,4 +1,4 @@ -/** +/* * * $Id$ * @@ -30,6 +30,10 @@ #ifndef DNA_OBJECT_FORCE_H #define DNA_OBJECT_FORCE_H +/** \file DNA_object_force.h + * \ingroup DNA + */ + #ifdef __cplusplus extern "C" { #endif @@ -393,6 +397,8 @@ typedef struct SoftBody { #define PTCACHE_READ_INFO 1024 /* dont use the filename of the blendfile the data is linked from (write a local cache) */ #define PTCACHE_IGNORE_LIBPATH 2048 +/* high resolution cache is saved for smoke for backwards compatibility, so set this flag to know it's a "fake" cache */ +#define PTCACHE_FAKE_SMOKE (1<<12) /* PTCACHE_OUTDATED + PTCACHE_FRAMES_SKIPPED */ #define PTCACHE_REDO_NEEDED 258 diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 5245d52226d..24f09fa85a2 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -1,8 +1,4 @@ -/** - * blenlib/DNA_object_types.h (mar-2001 nzc) - * - * Object is a sort of wrapper for general info. - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -33,6 +29,11 @@ #ifndef DNA_OBJECT_TYPES_H #define DNA_OBJECT_TYPES_H +/** \file DNA_object_types.h + * \ingroup DNA + * \brief Object is a sort of wrapper for general info. + */ + #include "DNA_listBase.h" #include "DNA_ID.h" #include "DNA_action_types.h" /* bAnimVizSettings */ @@ -144,7 +145,13 @@ typedef struct Object { 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]; /* inverse matrix of 'obmat' for during render, old game engine, temporally: ipokeys of transform */ + float imat[4][4]; /* inverse matrix of 'obmat' for any other use than rendering! */ + + /* 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 + * be used when ever the inverse of ob->obmat * re->viewmat is needed! - jahka + */ + float imat_ren[4][4]; unsigned int lay; /* copy of Base */ diff --git a/source/blender/makesdna/DNA_outliner_types.h b/source/blender/makesdna/DNA_outliner_types.h index d30351b6c34..c44f10efde8 100644 --- a/source/blender/makesdna/DNA_outliner_types.h +++ b/source/blender/makesdna/DNA_outliner_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_OUTLINER_TYPES_H #define DNA_OUTLINER_TYPES_H +/** \file DNA_outliner_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" struct ID; diff --git a/source/blender/makesdna/DNA_packedFile_types.h b/source/blender/makesdna/DNA_packedFile_types.h index 73f55ca186c..de7218ec704 100644 --- a/source/blender/makesdna/DNA_packedFile_types.h +++ b/source/blender/makesdna/DNA_packedFile_types.h @@ -1,7 +1,4 @@ -/* DNA_packedFile_types.h - * - * 12-oct-2000 nzc - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -33,6 +30,12 @@ #ifndef DNA_PACKEDFILE_TYPES_H #define DNA_PACKEDFILE_TYPES_H +/** \file DNA_packedFile_types.h + * \ingroup DNA + * \author nzc + * \since 12-oct-2000 nzc + */ + typedef struct PackedFile { int size; int seek; diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h index e26414a0d72..09053848b28 100644 --- a/source/blender/makesdna/DNA_particle_types.h +++ b/source/blender/makesdna/DNA_particle_types.h @@ -1,6 +1,4 @@ -/* DNA_particle_types.h - * - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -32,6 +30,10 @@ #ifndef DNA_PARTICLE_TYPES_H #define DNA_PARTICLE_TYPES_H +/** \file DNA_particle_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" #include "DNA_boid_types.h" @@ -121,16 +123,23 @@ typedef struct ParticleData { typedef struct SPHFluidSettings { /*Particle Fluid*/ - float spring_k, radius, rest_length, plasticity_constant, yield_ratio; + float radius, spring_k, rest_length; + float plasticity_constant, yield_ratio; + float plasticity_balance, yield_balance; float viscosity_omega, viscosity_beta; float stiffness_k, stiffness_knear, rest_density; float buoyancy; - int flag, pad; + int flag, spring_frames; } SPHFluidSettings; /* fluid->flag */ #define SPH_VISCOELASTIC_SPRINGS 1 #define SPH_CURRENT_REST_LENGTH 2 +#define SPH_FAC_REPULSION 4 +#define SPH_FAC_DENSITY 8 +#define SPH_FAC_RADIUS 16 +#define SPH_FAC_VISCOSITY 32 +#define SPH_FAC_REST_LENGTH 64 typedef struct ParticleSettings { ID id; @@ -141,12 +150,12 @@ typedef struct ParticleSettings { struct EffectorWeights *effector_weights; - int flag; - short type, from, distr; + int flag, rt; + short type, from, distr, texact; /* physics modes */ short phystype, rotmode, avemode, reactevent; short draw, draw_as, draw_size, childtype; - short ren_as, subframes; + short ren_as, subframes, draw_col; /* number of path segments, power of 2 except */ short draw_step, ren_step; short hair_step, keys_step; @@ -161,6 +170,9 @@ typedef struct ParticleSettings { short bb_align, bb_uv_split, bb_anim, bb_split_offset; float bb_tilt, bb_rand_tilt, bb_offset[2]; + /* draw color */ + float color_vec_max; + /* simplification */ short simplify_flag, simplify_refsize; float simplify_rate, simplify_transition; @@ -169,14 +181,14 @@ typedef struct ParticleSettings { /* general values */ float sta, end, lifetime, randlife; float timetweak, jitfac, eff_hair, grid_rand; - int totpart, userjit, grid_res, rt; + int totpart, userjit, grid_res, effector_amount; /* initial velocity factors */ float normfac, obfac, randfac, partfac, tanfac, tanphase, reactfac; float ob_vel[3]; float avefac, phasefac, randrotfac, randphasefac; /* physical properties */ - float mass, size, randsize, reactshape; + float mass, size, randsize; /* global physical properties */ float acc[3], dragfac, brownfac, dampfac; /* length */ @@ -208,6 +220,8 @@ typedef struct ParticleSettings { /* keyed particles */ int keyed_loops; + struct MTex *mtex[18]; /* MAX_MTEX */ + struct Group *dup_group; struct ListBase dupliweights; struct Group *eff_group; // deprecated @@ -245,9 +259,9 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in char name[32]; /* particle system name */ float imat[4][4]; /* used for duplicators */ - float cfra, tree_frame; + float cfra, tree_frame, bvhtree_frame; int seed, child_seed; - int flag, totpart, totunexist, totchild, totcached, totchildcache, rt; + int flag, totpart, totunexist, totchild, totcached, totchildcache; short recalc, target_psys, totkeyed, bakespace; char bb_uvname[3][32]; /* billboard uv name */ @@ -267,7 +281,8 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in ParticleSpring *fluid_springs; int tot_fluidsprings, alloc_fluidsprings; - struct KDTree *tree; /* used for interactions with self and other systems */ + struct KDTree *tree; /* used for interactions with self and other systems */ + struct BVHTree *bvhtree; /* used for interactions with self and other systems */ struct ParticleDrawData *pdd; @@ -313,10 +328,10 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in //#define PART_BRANCHING (1<<20) //#define PART_ANIM_BRANCHING (1<<21) -//#define PART_SYMM_BRANCHING (1<<24) #define PART_HAIR_BSPLINE 1024 +#define PART_GRID_HEXAGONAL (1<<24) #define PART_GRID_INVERT (1<<26) #define PART_CHILD_EFFECT (1<<27) @@ -335,7 +350,7 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in #define PART_FROM_VERT 0 #define PART_FROM_FACE 1 #define PART_FROM_VOLUME 2 -#define PART_FROM_PARTICLE 3 +/* #define PART_FROM_PARTICLE 3 deprecated! */ #define PART_FROM_CHILD 4 /* part->distr */ @@ -371,10 +386,17 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in #define PART_DRAW_RAND_GR 1024 #define PART_DRAW_REN_ADAPT 2048 #define PART_DRAW_VEL_LENGTH (1<<12) -#define PART_DRAW_MAT_COL (1<<13) +#define PART_DRAW_MAT_COL (1<<13) /* deprecated, but used in do_versions */ #define PART_DRAW_WHOLE_GR (1<<14) #define PART_DRAW_REN_STRAND (1<<15) +/* part->draw_col */ +#define PART_DRAW_COL_NONE 0 +#define PART_DRAW_COL_MAT 1 +#define PART_DRAW_COL_VEL 2 +#define PART_DRAW_COL_ACC 3 + + /* part->simplify_flag */ #define PART_SIMPLIFY_ENABLE 1 #define PART_SIMPLIFY_VIEWPORT 2 @@ -388,10 +410,9 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in /* part->bb_anim */ #define PART_BB_ANIM_NONE 0 -#define PART_BB_ANIM_TIME 1 +#define PART_BB_ANIM_AGE 1 #define PART_BB_ANIM_ANGLE 2 -#define PART_BB_ANIM_OFF_TIME 3 -#define PART_BB_ANIM_OFF_ANGLE 4 +#define PART_BB_ANIM_FRAME 3 /* part->bb_split_offset */ #define PART_BB_OFF_NONE 0 @@ -508,4 +529,25 @@ typedef struct ParticleSystem{ /* note, make sure all (runtime) are NULL's in #define PTARGET_MODE_FRIEND 1 #define PTARGET_MODE_ENEMY 2 +/* mapto */ +/* init */ +#define PAMAP_INIT 15 +#define PAMAP_TIME (1<<0) /* emission time */ +#define PAMAP_LIFE (1<<1) /* life time */ +#define PAMAP_DENS (1<<2) /* density */ +#define PAMAP_SIZE (1<<3) /* physical size */ +/* reset */ +#define PAMAP_IVEL (1<<5) /* initial velocity */ +/* physics */ +#define PAMAP_PHYSICS 3136 +#define PAMAP_FIELD (1<<6) /* force fields */ +#define PAMAP_GRAVITY (1<<10) +#define PAMAP_DAMP (1<<11) +/* children */ +#define PAMAP_CHILD 912 +#define PAMAP_CLUMP (1<<7) +#define PAMAP_KINK (1<<8) +#define PAMAP_ROUGH (1<<9) +#define PAMAP_LENGTH (1<<4) + #endif diff --git a/source/blender/makesdna/DNA_property_types.h b/source/blender/makesdna/DNA_property_types.h index e0da4e89f0f..04f0a6e60c6 100644 --- a/source/blender/makesdna/DNA_property_types.h +++ b/source/blender/makesdna/DNA_property_types.h @@ -1,8 +1,5 @@ -/** - * blenlib/DNA_property_types.h (mar-2001 nzc) +/* * - * Renderrecipe and scene decription. The fact that there is a - * hierarchy here is a bit strange, and not desirable. * * $Id$ * @@ -34,6 +31,14 @@ #ifndef DNA_PROPERTY_TYPES_H #define DNA_PROPERTY_TYPES_H +/** \file DNA_property_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + * \attention Renderrecipe and scene decription. The fact that there is a + * hierarchy here is a bit strange, and not desirable. + */ + /* ********************* PROPERTY ************************ */ typedef struct bProperty { diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h index 348afac766a..fb9b4f01b97 100644 --- a/source/blender/makesdna/DNA_scene_types.h +++ b/source/blender/makesdna/DNA_scene_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_SCENE_TYPES_H #define DNA_SCENE_TYPES_H +/** \file DNA_scene_types.h + * \ingroup DNA + */ + // XXX, temp feature #define DURIAN_CAMERA_SWITCH @@ -520,6 +524,7 @@ typedef struct GameData { #define GAME_ENABLE_ANIMATION_RECORD (1 << 13) #define GAME_SHOW_MOUSE (1 << 14) #define GAME_SHOW_OBSTACLE_SIMULATION (1 << 15) +#define GAME_GLSL_NO_COLOR_MANAGEMENT (1 << 15) /* GameData.matmode */ #define GAME_MAT_TEXFACE 0 @@ -749,9 +754,11 @@ typedef struct ToolSettings { /* Alt+RMB option */ char edge_mode; + char edge_mode_live_unwrap; /* Transform */ - short snap_mode, snap_flag, snap_target; + char snap_mode; + short snap_flag, snap_target; short proportional, prop_mode; char proportional_objects; /* proportional edit, object mode */ char pad[3]; @@ -804,7 +811,9 @@ typedef struct Scene { unsigned int lay; /* bitflags for layer visibility */ int layact; /* active layer */ + unsigned int lay_updated; /* runtime flag, has layer ever been updated since load? */ unsigned int customdata_mask; /* XXX. runtime flag for drawing, actually belongs in the window, only used by object_handle_update() */ + unsigned int customdata_mask_modal; /* XXX. same as above but for temp operator use (gl renders) */ short flag; /* various settings */ @@ -906,7 +915,8 @@ typedef struct Scene { #define R_OUTPUT_SCREEN 0 #define R_OUTPUT_AREA 1 #define R_OUTPUT_WINDOW 2 -/*#define R_OUTPUT_FORKED 3*/ +#define R_OUTPUT_NONE 3 +/*#define R_OUTPUT_FORKED 4*/ /* filtertype */ #define R_FILTER_BOX 0 @@ -1061,15 +1071,18 @@ typedef struct Scene { /* depricate this! */ #define TESTBASE(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0) ) -#define TESTBASELIB(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) -#define TESTBASELIB_BGMODE(v3d, scene, base) ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) -#define BASE_EDITABLE_BGMODE(v3d, scene, base) (((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==0) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define TESTBASELIB(v3d, base) ( ((base)->flag & SELECT) && ((base)->lay & v3d->lay) && ((base)->object->id.lib==NULL) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define TESTBASELIB_BGMODE(v3d, scene, base) ( ((base)->flag & SELECT) && ((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==NULL) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) +#define BASE_EDITABLE_BGMODE(v3d, scene, base) (((base)->lay & (v3d ? v3d->lay : scene->lay)) && ((base)->object->id.lib==NULL) && (((base)->object->restrictflag & OB_RESTRICT_VIEW)==0)) #define BASE_SELECTABLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & (OB_RESTRICT_SELECT|OB_RESTRICT_VIEW))==0) #define BASE_VISIBLE(v3d, base) ((base->lay & v3d->lay) && (base->object->restrictflag & OB_RESTRICT_VIEW)==0) #define FIRSTBASE scene->base.first #define LASTBASE scene->base.last #define BASACT (scene->basact) -#define OBACT (BASACT? BASACT->object: 0) +#define OBACT (BASACT? BASACT->object: NULL) + +#define V3D_CAMERA_LOCAL(v3d) ((!(v3d)->scenelock && (v3d)->camera) ? (v3d)->camera : NULL) +#define V3D_CAMERA_SCENE(scene, v3d) ((!(v3d)->scenelock && (v3d)->camera) ? (v3d)->camera : (scene)->camera) #define ID_NEW(a) if( (a) && (a)->id.newid ) (a)= (void *)(a)->id.newid #define ID_NEW_US(a) if( (a)->id.newid) {(a)= (void *)(a)->id.newid; (a)->id.us++;} @@ -1081,9 +1094,9 @@ typedef struct Scene { #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) +#define FRA2TIME(a) ((((double) scene->r.frs_sec_base) * (double)(a)) / (double)scene->r.frs_sec) +#define TIME2FRA(a) ((((double) scene->r.frs_sec) * (double)(a)) / (double)scene->r.frs_sec_base) +#define FPS (((double) scene->r.frs_sec) / (double)scene->r.frs_sec_base) #define RAD_PHASE_PATCHES 1 #define RAD_PHASE_FACES 2 @@ -1173,6 +1186,7 @@ typedef enum SculptFlags { SCULPT_LOCK_Z = (1<<5), SCULPT_SYMMETRY_FEATHER = (1<<6), SCULPT_USE_OPENMP = (1<<7), + SCULPT_ONLY_DEFORM = (1<<8), } SculptFlags; /* sculpt_paint_settings */ @@ -1198,7 +1212,7 @@ typedef enum SculptFlags { /* toolsettings->uvcalc_flag */ #define UVCALC_FILLHOLES 1 -/*#define UVCALC_NO_ASPECT_CORRECT 2*/ /* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */ +#define UVCALC_NO_ASPECT_CORRECT 2 /* would call this UVCALC_ASPECT_CORRECT, except it should be default with old file */ #define UVCALC_TRANSFORM_CORRECT 4 /* adjust UV's while transforming to avoid distortion */ /* toolsettings->uv_flag */ diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index 52d8b2e8dd9..cd19f4cb3de 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -27,6 +27,10 @@ #ifndef DNA_SCREEN_TYPES_H #define DNA_SCREEN_TYPES_H +/** \file DNA_screen_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_view2d_types.h" #include "DNA_vec_types.h" @@ -180,6 +184,8 @@ typedef struct ARegion { #define AREA_FLAG_DRAWJOINTO 2 #define AREA_FLAG_DRAWJOINFROM 4 #define AREA_TEMP_INFO 8 +#define AREA_FLAG_DRAWSPLIT_H 16 +#define AREA_FLAG_DRAWSPLIT_V 32 /* If you change EDGEWIDTH, also do the global arrat edcol[] */ #define EDGEWIDTH 1 diff --git a/source/blender/makesdna/DNA_sdna_types.h b/source/blender/makesdna/DNA_sdna_types.h index 8e291035be7..e5f924b5fa6 100644 --- a/source/blender/makesdna/DNA_sdna_types.h +++ b/source/blender/makesdna/DNA_sdna_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_sdna.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,10 @@ */ #ifndef DNA_SDNA_H #define DNA_SDNA_H +/** + * \file DNA_sdna_types.h + * \ingroup DNA + */ # # diff --git a/source/blender/makesdna/DNA_sensor_types.h b/source/blender/makesdna/DNA_sensor_types.h index d2f6eb11952..fb7a3e70c7c 100644 --- a/source/blender/makesdna/DNA_sensor_types.h +++ b/source/blender/makesdna/DNA_sensor_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_sensor_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,12 @@ */ #ifndef DNA_SENSOR_TYPES_H #define DNA_SENSOR_TYPES_H +/** \file DNA_sensor_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + * + */ struct Object; struct Material; diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h index 4fcf7bd6250..22f0c23ea9b 100644 --- a/source/blender/makesdna/DNA_sequence_types.h +++ b/source/blender/makesdna/DNA_sequence_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_sequence_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,11 @@ */ #ifndef DNA_SEQUENCE_TYPES_H #define DNA_SEQUENCE_TYPES_H +/** \file DNA_sequence_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ #include "DNA_listBase.h" #include "DNA_vec_types.h" diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index 0482c19e189..168481d3b29 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -29,6 +29,10 @@ #ifndef DNA_SMOKE_TYPES_H #define DNA_SMOKE_TYPES_H +/** \file DNA_smoke_types.h + * \ingroup DNA + */ + /* flags */ #define MOD_SMOKE_HIGHRES (1<<1) /* enable high resolution */ #define MOD_SMOKE_DISSOLVE (1<<2) /* let smoke dissolve */ diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h index c10d306565b..3e5f82a8052 100644 --- a/source/blender/makesdna/DNA_sound_types.h +++ b/source/blender/makesdna/DNA_sound_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_sound_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,11 @@ */ #ifndef DNA_SOUND_TYPES_H #define DNA_SOUND_TYPES_H +/** \file DNA_sound_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ #include "DNA_listBase.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h index 287dcf433eb..e120cd14775 100644 --- a/source/blender/makesdna/DNA_space_types.h +++ b/source/blender/makesdna/DNA_space_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_space_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,11 @@ */ #ifndef DNA_SPACE_TYPES_H #define DNA_SPACE_TYPES_H +/** \file DNA_space_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ #include "DNA_listBase.h" #include "DNA_color_types.h" /* for Histogram */ @@ -175,22 +178,19 @@ typedef struct FileSelectParams { char filter_glob[64]; /* list of filetypes to filter */ + int active_file; + int sel_first; + int sel_last; + + /* short */ short type; /* XXXXX for now store type here, should be moved to the operator */ short flag; /* settings for filter, hiding dots files,... */ short sort; /* sort order */ short display; /* display mode flag */ short filter; /* filter when (flags & FILE_FILTER) is true */ - /* XXX - temporary, better move to filelist */ - short active_bookmark; - - int active_file; - int selstate; - - /* short */ /* XXX --- still unused -- */ short f_fp; /* show font preview */ - short pad; char fp_str[8]; /* string to use for font preview */ /* XXX --- end unused -- */ @@ -324,6 +324,9 @@ typedef struct SpaceText { char findstr[256]; /* ST_MAX_FIND_STR */ char replacestr[256]; /* ST_MAX_FIND_STR */ + short margin_column; /* column number to show right margin at */ + char pad[6]; + void *drawcache; /* cache for faster drawing */ } SpaceText; @@ -400,6 +403,7 @@ typedef struct SpaceNode { int treetype; /* treetype: as same nodetree->type */ short texfrom; /* texfrom object, world or brush */ short recalc; /* currently on 0/1, for auto compo */ + ListBase linkdrag; /* temporary data for modal linking operator */ struct bGPdata *gpd; /* grease-pencil data */ } SpaceNode; @@ -636,6 +640,7 @@ typedef struct SpaceSound { #define SB_TEXC_MAT_OR_LAMP 0 #define SB_TEXC_WORLD 1 #define SB_TEXC_BRUSH 2 +#define SB_TEXC_PARTICLES 3 /* sbuts->align */ #define BUT_FREE 0 @@ -704,9 +709,7 @@ enum FileSortTypeE { #define FILE_BOOKMARKS 512 #define FILE_GROUP_INSTANCE 1024 -/* files in filesel list: 2=ACTIVE */ -#define EDITING (1<<0) -#define ACTIVEFILE (1<<1) +/* files in filesel list: file types */ #define BLENDERFILE (1<<2) #define BLENDERFILE_BACKUP (1<<3) #define IMAGEFILE (1<<4) @@ -721,6 +724,13 @@ enum FileSortTypeE { #define COLLADAFILE (1<<13) #define OPERATORFILE (1<<14) /* from filter_glob operator property */ + +/* Selection Flags in filesel: struct direntry, unsigned char selflag */ +#define ACTIVE_FILE (1<<1) +#define HILITED_FILE (1<<2) +#define SELECTED_FILE (1<<3) +#define EDITING_FILE (1<<4) + /* SpaceImage->dt_uv */ #define SI_UVDT_OUTLINE 0 #define SI_UVDT_DASH 1 @@ -813,6 +823,8 @@ enum { // execution (see BPY_main.c) #define ST_FIND_WRAP 0x0020 #define ST_FIND_ALL 0x0040 +#define ST_SHOW_MARGIN 0x0080 +#define ST_MATCH_CASE 0x0100 /* stext->findstr/replacestr */ diff --git a/source/blender/makesdna/DNA_text_types.h b/source/blender/makesdna/DNA_text_types.h index 82de3fc1833..f805ced5dac 100644 --- a/source/blender/makesdna/DNA_text_types.h +++ b/source/blender/makesdna/DNA_text_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_text_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -30,6 +28,11 @@ */ #ifndef DNA_TEXT_TYPES_H #define DNA_TEXT_TYPES_H +/** \file DNA_text_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ #include "DNA_listBase.h" #include "DNA_ID.h" diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 41eebca821c..e81a9979c12 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_texture_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,12 @@ #ifndef DNA_TEXTURE_TYPES_H #define DNA_TEXTURE_TYPES_H +/** \file DNA_texture_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ + #include "DNA_ID.h" #include "DNA_image_types.h" /* ImageUser */ @@ -48,6 +52,7 @@ struct Tex; struct Image; struct PreviewImage; struct ImBuf; +struct CurveMapping; typedef struct MTex { @@ -77,9 +82,9 @@ typedef struct MTex { float densfac, scatterfac, reflfac; /* particles */ - float timefac, lengthfac, clumpfac; - float kinkfac, roughfac, padensfac; - float lifefac, sizefac, ivelfac, pvelfac; + float timefac, lengthfac, clumpfac, dampfac; + float kinkfac, roughfac, padensfac, gravityfac; + float lifefac, sizefac, ivelfac, fieldfac; /* lamp */ float shadowfac; @@ -177,9 +182,10 @@ typedef struct PointDensity { short pdpad3[3]; float noise_fac; - float speed_scale; + float speed_scale, falloff_speed_scale, pdpad2; struct ColorBand *coba; /* for time -> color */ + struct CurveMapping *falloff_curve; /* falloff density curve */ } PointDensity; typedef struct VoxelData { @@ -513,6 +519,8 @@ typedef struct TexMapping { #define TEX_PD_FALLOFF_SOFT 2 #define TEX_PD_FALLOFF_CONSTANT 3 #define TEX_PD_FALLOFF_ROOT 4 +#define TEX_PD_FALLOFF_PARTICLE_AGE 5 +#define TEX_PD_FALLOFF_PARTICLE_VEL 6 /* psys_cache_space */ #define TEX_PD_OBJECTLOC 0 @@ -520,8 +528,8 @@ typedef struct TexMapping { #define TEX_PD_WORLDSPACE 2 /* flag */ -#define TEX_PD_TURBULENCE 1 - +#define TEX_PD_TURBULENCE 1 +#define TEX_PD_FALLOFF_CURVE 2 /* noise_influence */ #define TEX_PD_NOISE_STATIC 0 diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index d8ab447b93a..1be67a4501b 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -1,6 +1,4 @@ -/** - * blenkernel/DNA_userdef_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,12 @@ #ifndef DNA_USERDEF_TYPES_H #define DNA_USERDEF_TYPES_H +/** \file DNA_userdef_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + * + */ #include "DNA_listBase.h" #include "DNA_texture_types.h" /* ColorBand */ @@ -215,8 +219,8 @@ typedef struct ThemeSpace { 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 vertex_size, outline_width, facedot_size; + char bpad; char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes char syntaxv[4], syntaxc[4]; @@ -472,7 +476,7 @@ extern UserDef U; /* from blenkernel blender.c */ #define USER_MENUFIXEDORDER (1 << 23) #define USER_CONTINUOUS_MOUSE (1 << 24) #define USER_ZOOM_INVERT (1 << 25) -#define USER_ZOOM_DOLLY_HORIZ (1 << 26) +#define USER_ZOOM_HORIZ (1 << 26) /* for CONTINUE and DOLLY zoom */ #define USER_SPLASH_DISABLE (1 << 27) #define USER_HIDE_RECENT (1 << 28) #define USER_SHOW_THUMBNAILS (1 << 29) diff --git a/source/blender/makesdna/DNA_vec_types.h b/source/blender/makesdna/DNA_vec_types.h index b5e3dff7db9..2d7804c3d1d 100644 --- a/source/blender/makesdna/DNA_vec_types.h +++ b/source/blender/makesdna/DNA_vec_types.h @@ -1,6 +1,4 @@ -/** - * vec_types.h dec 2000 Nzc - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -32,12 +30,20 @@ #ifndef DNA_VEC_TYPES_H #define DNA_VEC_TYPES_H +/** \file DNA_vec_types.h + * \ingroup DNA + * \since dec-2000 + * \author nzc + */ /* types */ + +/** vector of two shorts. */ typedef struct vec2s { short x, y; } vec2s; +/** vector of two floats. */ typedef struct vec2f { float x, y; } vec2f; @@ -77,11 +83,13 @@ typedef struct vec4d { } vec4d; */ +/** integer rectangle. */ typedef struct rcti { int xmin, xmax; int ymin, ymax; } rcti; +/** float rectangle. */ typedef struct rctf { float xmin, xmax; float ymin, ymax; diff --git a/source/blender/makesdna/DNA_vfont_types.h b/source/blender/makesdna/DNA_vfont_types.h index e342ef1cd79..ec576055b55 100644 --- a/source/blender/makesdna/DNA_vfont_types.h +++ b/source/blender/makesdna/DNA_vfont_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_vfont_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,12 @@ #ifndef DNA_VFONT_TYPES_H #define DNA_VFONT_TYPES_H +/** \file DNA_vfont_types.h + * \ingroup DNA + * \since mar-2001 + * \author nzc + */ + #include "DNA_ID.h" struct PackedFile; diff --git a/source/blender/makesdna/DNA_view2d_types.h b/source/blender/makesdna/DNA_view2d_types.h index 75ad1e644d1..ac1d3409153 100644 --- a/source/blender/makesdna/DNA_view2d_types.h +++ b/source/blender/makesdna/DNA_view2d_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_view2d_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_VIEW2D_TYPES_H #define DNA_VIEW2D_TYPES_H +/** \file DNA_view2d_types.h + * \ingroup DNA + */ + #include "DNA_vec_types.h" /* ---------------------------------- */ diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index d429f55eb6c..c9a440522d1 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_view3d_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_VIEW3D_TYPES_H #define DNA_VIEW3D_TYPES_H +/** \file DNA_view3d_types.h + * \ingroup DNA + */ + struct ViewDepths; struct Object; struct Image; @@ -39,7 +41,6 @@ struct SpaceLink; struct Base; struct BoundBox; struct RenderInfo; -struct RetopoViewData; struct bGPdata; struct SmoothViewStore; struct wmTimer; @@ -111,9 +112,8 @@ typedef struct RegionView3D { struct bGPdata *gpd; /* Grease-Pencil Data (annotation layers) */ - struct RegionView3D *localvd; + struct RegionView3D *localvd; /* allocated backup of its self while in localview */ struct RenderInfo *ri; - struct RetopoViewData *retopo_view_data; struct ViewDepths *depths; /* animated smooth view */ @@ -151,7 +151,7 @@ typedef struct View3D { struct ListBase bgpicbase; struct BGpic *bgpic; /* deprecated, use bgpicbase, only kept for do_versions(...) */ - struct View3D *localvd; + struct View3D *localvd; /* allocated backup of its self while in localview */ char ob_centre_bone[32]; /* optional string for armature bone to define center */ diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h index f47ea06645b..3072c2c3430 100644 --- a/source/blender/makesdna/DNA_windowmanager_types.h +++ b/source/blender/makesdna/DNA_windowmanager_types.h @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -28,6 +28,10 @@ #ifndef DNA_WINDOWMANAGER_TYPES_H #define DNA_WINDOWMANAGER_TYPES_H +/** \file DNA_windowmanager_types.h + * \ingroup DNA + */ + #include "DNA_listBase.h" #include "DNA_vec_types.h" @@ -81,7 +85,8 @@ typedef enum ReportType { enum ReportListFlags { RPT_PRINT = 1, RPT_STORE = 2, - RPT_FREE = 4 + RPT_FREE = 4, + RPT_OP_HOLD = 8 /* dont move them into the operator global list (caller will use) */ }; # # diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h index 68b3c32db97..71d907f1c12 100644 --- a/source/blender/makesdna/DNA_world_types.h +++ b/source/blender/makesdna/DNA_world_types.h @@ -1,6 +1,4 @@ -/** - * blenlib/DNA_world_types.h (mar-2001 nzc) - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -31,6 +29,10 @@ #ifndef DNA_WORLD_TYPES_H #define DNA_WORLD_TYPES_H +/** \file DNA_world_types.h + * \ingroup DNA + */ + #include "DNA_ID.h" struct AnimData; diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt index ba9e7d30e80..bb95e2c0fbc 100644 --- a/source/blender/makesdna/intern/CMakeLists.txt +++ b/source/blender/makesdna/intern/CMakeLists.txt @@ -29,6 +29,7 @@ blender_include_dirs( ../../../../intern/guardedalloc + ../../blenloader .. ) @@ -56,6 +57,9 @@ add_custom_command( ) # Build bf_dna library +set(INC +) + set(SRC dna_genfile.c dna.c diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript index d4836631104..e51ee53e078 100644 --- a/source/blender/makesdna/intern/SConscript +++ b/source/blender/makesdna/intern/SConscript @@ -18,7 +18,7 @@ dna = env.Clone() makesdna_tool.Append(CCFLAGS = '-DBASE_HEADER="\\"source/blender/makesdna/\\"" ') makesdna_tool.Append (CPPPATH = ['#/intern/guardedalloc', - '../../makesdna']) + '../../makesdna', '../../blenloader']) if env['OURPLATFORM'] == 'linuxcross': USE_WINE = True # when cross compiling on linux 64bit this is useful diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c index c103e74ca34..4e9b023b326 100644 --- a/source/blender/makesdna/intern/dna_genfile.c +++ b/source/blender/makesdna/intern/dna_genfile.c @@ -31,6 +31,11 @@ * DNA handling */ +/** \file blender/makesdna/intern/dna_genfile.c + * \ingroup DNA + */ + + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -165,7 +170,7 @@ static int le_int(int temp) int DNA_elem_array_size(const char *astr, int len) { int a, mul=1; - char str[100], *cp=0; + char str[100], *cp= NULL; memcpy(str, astr, len+1); @@ -189,7 +194,7 @@ int DNA_elem_array_size(const char *astr, int len) void DNA_sdna_free(SDNA *sdna) { MEM_freeN(sdna->data); - MEM_freeN(sdna->names); + MEM_freeN((void *)sdna->names); MEM_freeN(sdna->types); MEM_freeN(sdna->structs); @@ -254,7 +259,7 @@ static void printstruct(SDNA *sdna, short strnr) static short *findstruct_name(SDNA *sdna, const char *str) { int a; - short *sp=0; + short *sp= NULL; for(a=0; a<sdna->nr_structs; a++) { @@ -264,12 +269,12 @@ static short *findstruct_name(SDNA *sdna, const char *str) if(strcmp( sdna->types[ sp[0] ], str )==0) return sp; } - return 0; + return NULL; } int DNA_struct_find_nr(SDNA *sdna, const char *str) { - short *sp=0; + short *sp= NULL; int a; if(sdna->lastfind<sdna->nr_structs) { @@ -571,33 +576,33 @@ char *DNA_struct_get_compareflags(SDNA *sdna, SDNA *newsdna) /* compare length and amount of elems */ if( spcur[1] == spold[1]) { - if( newsdna->typelens[spcur[0]] == sdna->typelens[spold[0]] ) { - - /* same length, same amount of elems, now per type and name */ - b= spold[1]; - spold+= 2; - spcur+= 2; - while(b > 0) { - str1= newsdna->types[spcur[0]]; - str2= sdna->types[spold[0]]; - if(strcmp(str1, str2)!=0) break; - - str1= newsdna->names[spcur[1]]; - str2= sdna->names[spold[1]]; - if(strcmp(str1, str2)!=0) break; - - /* same type and same name, now pointersize */ - if(ispointer(str1)) { - if(sdna->pointerlen!=newsdna->pointerlen) break; - } - - b--; - spold+= 2; - spcur+= 2; - } - if(b==0) compflags[a]= 1; - - } + if( newsdna->typelens[spcur[0]] == sdna->typelens[spold[0]] ) { + + /* same length, same amount of elems, now per type and name */ + b= spold[1]; + spold+= 2; + spcur+= 2; + while(b > 0) { + str1= newsdna->types[spcur[0]]; + str2= sdna->types[spold[0]]; + if(strcmp(str1, str2)!=0) break; + + str1= newsdna->names[spcur[1]]; + str2= sdna->names[spold[1]]; + if(strcmp(str1, str2)!=0) break; + + /* same type and same name, now pointersize */ + if(ispointer(str1)) { + if(sdna->pointerlen!=newsdna->pointerlen) break; + } + + b--; + spold+= 2; + spcur+= 2; + } + if(b==0) compflags[a]= 1; + + } } } @@ -803,12 +808,12 @@ static char *find_elem(SDNA *sdna, const char *type, const char *name, short *ol return olddata; } - return 0; + return NULL; } olddata+= len; } - return 0; + return NULL; } static void reconstruct_elem(SDNA *newsdna, SDNA *oldsdna, char *type, const char *name, char *curdata, short *old, char *olddata) @@ -994,7 +999,7 @@ void DNA_struct_switch_endian(SDNA *oldsdna, int oldSDNAnr, char *data) /* test: is type a struct? */ if(spc[0]>=firststructtypenr && !ispointer(name)) { /* where does the old data start (is there one?) */ - cpo= find_elem(oldsdna, type, name, spo, data, 0); + cpo= find_elem(oldsdna, type, name, spo, data, NULL); if(cpo) { oldSDNAnr= DNA_struct_find_nr(oldsdna, type); diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c index 7762ce170df..07ee084f976 100644 --- a/source/blender/makesdna/intern/makesdna.c +++ b/source/blender/makesdna/intern/makesdna.c @@ -1,4 +1,4 @@ -/** +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -25,9 +25,13 @@ * Contributor(s): none yet. * * ***** END GPL LICENSE BLOCK ***** + */ + +/** \file makesdna.c + * \brief Struct muncher for making SDNA. + * \ingroup DNA * - * Struct muncher for making SDNA - * + * \section aboutmakesdnac About makesdna tool * Originally by Ton, some mods by Frank, and some cleaning and * extension by Nzc. * @@ -42,7 +46,7 @@ * and the offsets for reaching a particular one. * * There is a facility to get verbose output from sdna. Search for - * debugSDNA. This int can be set to 0 (no output) to some int. Higher + * \ref debugSDNA. This int can be set to 0 (no output) to some int. Higher * numbers give more output. * */ @@ -145,7 +149,8 @@ short **structs, *structdata; /* at sp= structs[a] is the first address of a str sp[0] is type number sp[1] is amount of elements sp[2] sp[3] is typenr, namenr (etc) */ -/* +/** + * Variable to control debug output of makesdna. * debugSDNA: * - 0 = no output, except errors * - 1 = detail actions @@ -160,12 +165,15 @@ int additional_slen_offset; /* ************************************************************************** */ /** - * Add type <str> to struct indexed by <len>, if it was not yet found. + * Add type \c str to struct indexed by \c len, if it was not yet found. + * \param str char + * \param len int */ int add_type(const char *str, int len); /** - * Add variable <str> to + * Add variable \c str to + * \param str */ int add_name(char *str); @@ -607,7 +615,7 @@ int convert_include(char *filename) sp[0]= type; sp[1]= name; - if ((debugSDNA>1) && (names[name] != 0 )) printf("%s |", names[name]); + if ((debugSDNA>1) && (names[name] != NULL)) printf("%s |", names[name]); structpoin[1]++; sp+= 2; @@ -622,7 +630,7 @@ int convert_include(char *filename) sp[0]= type; sp[1]= name; - if ((debugSDNA > 1) && (names[name] != 0 )) printf("%s ||", names[name]); + if ((debugSDNA > 1) && (names[name] != NULL)) printf("%s ||", names[name]); structpoin[1]++; sp+= 2; @@ -652,7 +660,7 @@ int convert_include(char *filename) int arraysize(char *astr, int len) { int a, mul=1; - char str[100], *cp=0; + char str[100], *cp=NULL; memcpy(str, astr, len+1); @@ -1057,7 +1065,7 @@ int make_structDNA(char *baseDirectory, FILE *file) MEM_freeN(names); MEM_freeN(types); MEM_freeN(typelens); - MEM_freeN(alphalens); + MEM_freeN(alphalens); MEM_freeN(structs); if (debugSDNA > -1) printf("done.\n"); |