DNA: Add dedicated recalc flag to ID
authorSergey Sharybin <sergey.vfx@gmail.com>
Thu, 14 Dec 2017 14:12:05 +0000 (15:12 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Thu, 14 Dec 2017 14:25:51 +0000 (15:25 +0100)
Currently unused, but this is where LIB_TAG_ID_RECALC* flags will go.

Also modified other DNA to make pointer property being followed by pointer.
Makes it easier to keep track of alignment and extend nested structures without
ruining anything.

source/blender/makesdna/DNA_ID.h
source/blender/makesdna/DNA_object_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/DNA_text_types.h

index 564aa994df12838ebd150a5ce581ce7384433d68..f0fc651353f04eb0c090726f950818a4e7c35f31 100644 (file)
@@ -130,11 +130,11 @@ typedef struct ID {
        int tag;
        int us;
        int icon_id;
+       int recalc;
+       int pad;
        IDProperty *properties;
 
        void *py_instance;
-
-       void *pad1;
 } ID;
 
 /**
index 80fa29a9c438603dd049f60dbd8ccf619101abf3..a9c36007d9c2aa65189058304977f21212ea80c1 100644 (file)
@@ -137,6 +137,7 @@ typedef struct Object {
        
        bAnimVizSettings avs;   /* settings for visualization of object-transform animation */
        bMotionPath *mpath;             /* motion path cache for this object */
+       void *pad1;
        
        ListBase constraintChannels  DNA_DEPRECATED; // XXX deprecated... old animation system
        ListBase effect  DNA_DEPRECATED;             // XXX deprecated... keep for readfile
@@ -253,8 +254,6 @@ typedef struct Object {
        int gameflag;
        int gameflag2;
 
-       struct BulletSoftBody *bsoft;   /* settings for game engine bullet soft body */
-
        char restrictflag;              /* for restricting view, select, render etc. accessible in outliner */
        char recalc;                    /* dependency flag */
        short softflag;                 /* softbody settings */
@@ -265,6 +264,7 @@ typedef struct Object {
        ListBase hooks  DNA_DEPRECATED;                         // XXX deprecated... old animation system
        ListBase particlesystem;        /* particle systems */
        
+       struct BulletSoftBody *bsoft;   /* settings for game engine bullet soft body */
        struct PartDeflect *pd;         /* particle deflector/attractor/collision data */
        struct SoftBody *soft;          /* if exists, saved in file */
        struct Group *dup_group;        /* object duplicator for group */
@@ -294,6 +294,7 @@ typedef struct Object {
 
        float ima_ofs[2];               /* offset for image empties */
        ImageUser *iuser;               /* must be non-null when oject is an empty image */
+       void *pad3;
 
        ListBase lodlevels;             /* contains data for levels of detail */
        LodLevel *currentlod;
index 90815b95d24540c2df2b63409964de5d82d3a8e2..c9d4a8a5ca3208cf05e8517ee1c5f50b6e35b663 100644 (file)
@@ -1676,13 +1676,11 @@ typedef struct Scene {
        /* Grease Pencil */
        struct bGPdata *gpd;
 
-       /* Physics simulation settings */
-       struct PhysicsSettings physics_settings;
-
        /* Movie Tracking */
        struct MovieClip *clip;                 /* active movie clip */
 
-       void *pad4;
+       /* Physics simulation settings */
+       struct PhysicsSettings physics_settings;
 
        uint64_t customdata_mask;       /* XXX. runtime flag for drawing, actually belongs in the window, only used by BKE_object_handle_update() */
        uint64_t customdata_mask_modal; /* XXX. same as above but for temp operator use (gl renders) */
index 8d1bba6ca4fd42fc19bf286beee0ff44d207e9e1..17ef098a3bb02f111473680143d23400248386e3 100644 (file)
@@ -51,6 +51,7 @@ typedef struct Text {
        ID id;
        
        char *name;
+       void *compiled;
 
        int flags, nlines;
        
@@ -59,9 +60,9 @@ typedef struct Text {
        int curc, selc;
        
        char *undo_buf;
+       void *pad;
        int undo_pos, undo_len;
        
-       void *compiled;
        double mtime;
 } Text;