diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-11-05 07:02:55 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-11-05 07:02:55 +0400 |
commit | cc7e79f37272c9e9565d6eb456138a6f07fea9fc (patch) | |
tree | 0008e754c5e8bf4da30e9a7c4d767d038647dc2c /source/blender | |
parent | b0adf37ef90c5c42ff48da9938fe1a041d52ae46 (diff) |
more DNA object edits
- remove 'path' pointer, wasnt used anywhere.
- remove comments about what each game flag 'bit' does, these are defines now.
- reduce the size of DupliObject 8 bytes.
also commented some of the struct members.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 3 | ||||
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 58 |
3 files changed, 27 insertions, 38 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 1e0ece1c5e6..b09d1ea98aa 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -303,8 +303,6 @@ void free_object(Object *ob) ob->matbits= NULL; if(ob->bb) MEM_freeN(ob->bb); ob->bb= NULL; - if(ob->path) free_path(ob->path); - ob->path= NULL; if(ob->adt) BKE_free_animdata((ID *)ob); if(ob->poselib) ob->poselib->id.us--; if(ob->gpd) ((ID *)ob->gpd)->us--; @@ -1376,7 +1374,6 @@ Object *copy_object(Object *ob) } if(ob->bb) obn->bb= MEM_dupallocN(ob->bb); - obn->path= NULL; obn->flag &= ~OB_FROMGROUP; obn->modifiers.first = obn->modifiers.last= NULL; diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index fc0f3028a0e..13c21840459 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7429,9 +7429,9 @@ static void do_versions(FileData *fd, Library *lib, Main *main) if(main->versionfile <= 200) { Object *ob= main->object.first; while(ob) { - ob->scaflag = ob->gameflag & (64+128+256+512+1024+2048); + ob->scaflag = ob->gameflag & (OB_DO_FH|OB_ROT_FH|OB_ANISOTROPIC_FRICTION|OB_GHOST|OB_RIGID_BODY|OB_BOUNDS); /* 64 is do_fh */ - ob->gameflag &= ~(128+256+512+1024+2048); + ob->gameflag &= ~(OB_ROT_FH|OB_ANISOTROPIC_FRICTION|OB_GHOST|OB_RIGID_BODY|OB_BOUNDS); ob = ob->id.next; } } diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index c5fd17e1bdb..3306b9e97bc 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -111,12 +111,12 @@ typedef struct Object { /* proxy_from is set in target back to the proxy. */ struct Object *proxy, *proxy_group, *proxy_from; struct Ipo *ipo; // XXX depreceated... old animation system - struct Path *path; + /* struct Path *path; */ struct BoundBox *bb; struct bAction *action; // XXX depreceated... old animation system struct bAction *poselib; - struct bPose *pose; - void *data; + struct bPose *pose; /* pose data, armature objects only */ + void *data; /* pointer to objects data - an 'ID' or NULL */ struct bGPdata *gpd; /* Grease Pencil data */ @@ -124,9 +124,9 @@ typedef struct Object { bMotionPath *mpath; /* motion path cache for this object */ ListBase constraintChannels; // XXX depreceated... old animation system - ListBase effect; - ListBase disp; - ListBase defbase; + ListBase effect; // XXX depreceated... keep for readfile + ListBase disp; /* list of DispList, used by lattice, metaballs curve & surfaces */ + ListBase defbase; /* list of bDeformGroup (vertex groups) names and flag only */ ListBase modifiers; /* list of ModifierData structures */ int mode; /* Local object mode */ @@ -156,7 +156,7 @@ typedef struct Object { */ float imat_ren[4][4]; - unsigned int lay; /* copy of Base */ + unsigned int lay; /* copy of Base's layer in the scene */ short flag; /* copy of Base */ short colbits; /* deprecated */ @@ -164,8 +164,8 @@ typedef struct Object { short transflag, protectflag; /* transformation settings and transform locks */ short trackflag, upflag; short nlaflag, ipoflag; // xxx depreceated... old animation system - short scaflag; /* ipowin: blocktype last ipowindow */ - char scavisflag; + short scaflag; /* ui state for game logic */ + char scavisflag; /* more display settings for game logic */ char pad5; int dupon, dupoff, dupsta, dupend; @@ -200,39 +200,27 @@ typedef struct Object { char boundtype; /* bounding box use for drawing */ char collision_boundtype; /* bounding box type used for collision */ - char restrictflag; /* for restricting view, select, render etc. accessible in outliner */ + char restrictflag; /* for restricting view, select, render etc. accessible in outliner */ - char dt, dtx; + char dt; /* viewport draw type */ + char dtx; /* viewport draw extra settings */ char empty_drawtype; float empty_drawsize; float dupfacesca; /* dupliface scale */ - ListBase prop; - ListBase sensors; - ListBase controllers; - ListBase actuators; + ListBase prop; /* game logic property list (not to be confused with IDProperties) */ + ListBase sensors; /* game logic sensors */ + ListBase controllers; /* game logic controllers */ + ListBase actuators; /* game logic actuators */ float bbsize[3]; short index; /* custom index, for renderpasses */ unsigned short actdef; /* current deformation group, note: index starts at 1 */ float col[4]; /* object color */ - /** - * Settings for game objects - * bit 0: Object has dynamic behaviour - * bit 2: Object is evaluated by the gameengine - * bit 6: Use Fh settings in Materials - * bit 7: Use face normal to rotate Object - * bit 8: Friction is anisotropic - * bit 9: Object is a ghost - * bit 10: Do rigid body dynamics. - * bit 11: Use bounding object for physics - */ + int gameflag; - /** - * More settings - * bit 15: Always ignore activity culling - */ int gameflag2; + struct BulletSoftBody *bsoft; /* settings for game engine bullet soft body */ short softflag; /* softbody settings */ @@ -241,7 +229,7 @@ typedef struct Object { ListBase constraints; /* object constraints */ ListBase nlastrips; // XXX depreceated... old animation system - ListBase hooks; + ListBase hooks; // XXX depreceated... old animation system ListBase particlesystem; /* particle systems */ struct PartDeflect *pd; /* particle deflector/attractor/collision data */ @@ -261,7 +249,7 @@ typedef struct Object { unsigned int state; /* bit masks of game controllers that are active */ unsigned int init_state; /* bit masks of initial state as recorded by the users */ - ListBase gpulamp; /* runtime, for lamps only */ + ListBase gpulamp; /* runtime, for glsl lamp display only */ ListBase pc_ids; ListBase *duplilist; /* for temporary dupli list storage, only for use by RNA API */ @@ -286,13 +274,17 @@ typedef struct ObHook { float force; } ObHook; +/* runtime only, but include here for rna access */ typedef struct DupliObject { struct DupliObject *next, *prev; struct Object *ob; unsigned int origlay; - int index, no_draw, type, animated; + int index; float mat[4][4], omat[4][4]; float orco[3], uv[2]; + + short type; /* from Object.transflag */ + char no_draw, animated; } DupliObject; /* **************** OBJECT ********************* */ |