Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-11-05 07:02:55 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-11-05 07:02:55 +0400
commitcc7e79f37272c9e9565d6eb456138a6f07fea9fc (patch)
tree0008e754c5e8bf4da30e9a7c4d767d038647dc2c /source
parentb0adf37ef90c5c42ff48da9938fe1a041d52ae46 (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')
-rw-r--r--source/blender/blenkernel/intern/object.c3
-rw-r--r--source/blender/blenloader/intern/readfile.c4
-rw-r--r--source/blender/makesdna/DNA_object_types.h58
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 ********************* */