diff options
Diffstat (limited to 'source/blender/makesdna/DNA_object_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 3a8620fdaba..89328c33674 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -209,7 +209,9 @@ typedef struct Object { float step_height; float jump_speed; float fall_speed; - char pad1[4]; + + /** Collision mask settings */ + unsigned short col_group, col_mask; short rotmode; /* rotation mode - uses defines set out in DNA_action_types.h for PoseChannel rotations... */ @@ -295,22 +297,19 @@ typedef struct ObHook { typedef struct DupliObject { struct DupliObject *next, *prev; struct Object *ob; - unsigned int origlay; - int index; + unsigned int origlay, pad; float mat[4][4], omat[4][4]; float orco[3], uv[2]; short type; /* from Object.transflag */ char no_draw, animated; - /* Lowest-level particle index. - * Note: This is needed for particle info in shaders. - * Otherwise dupli groups in particle systems would override the - * index value from higher dupli levels. Would be nice to have full generic access - * to all dupli levels somehow, but for now this should cover most use-cases. - */ - int particle_index; - int pad; + /* persistent identifier for a dupli object, for inter-frame matching of + * objects with motion blur, or inter-update matching for syncing */ + int persistent_id[8]; /* MAX_DUPLI_RECUR */ + + /* particle this dupli was generated from */ + struct ParticleSystem *particle_system; } DupliObject; /* **************** OBJECT ********************* */ @@ -378,6 +377,7 @@ typedef struct DupliObject { #define OB_DUPLIPARTS 2048 #define OB_RENDER_DUPLI 4096 #define OB_NO_CONSTRAINTS 8192 /* runtime constraints disable */ +#define OB_NO_PSYS_UPDATE 16384 /* hack to work around particle issue */ /* (short) ipoflag */ /* XXX: many old flags for features removed due to incompatibility @@ -478,6 +478,9 @@ typedef struct DupliObject { /* controller state */ #define OB_MAX_STATES 30 +/* collision masks */ +#define OB_MAX_COL_MASKS 8 + /* ob->gameflag */ #define OB_DYNAMIC 1 #define OB_CHILD 2 |