diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-12-27 13:53:50 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-12-27 14:00:33 +0300 |
commit | 3fcf535d2e003ad939fa1f1c7aa4d5da1b38aef7 (patch) | |
tree | 0cc5b044cdc1f7b6fa58ad1d0c3c6cafc51a7759 /source/blender/collada | |
parent | ec2ca11cba496294838bfb5fb76f7bfcef2fe8cc (diff) |
Split id->flag in two, persistent flags and runtime tags.
This is purely internal sanitizing/cleanup, no change in behavior is expected at all.
This change was also needed because we were getting short on ID flags, and
future enhancement of 'user_one' ID behavior requires two new ones.
id->flag remains for persistent data (fakeuser only, so far!), this also allows us
100% backward & forward compatibility.
New id->tag is used for most flags. Though written in .blend files, its content
is cleared at read time.
Note that .blend file version was bumped, so that we can clear runtimeflags from
old .blends, important in case we add new persistent flags in future.
Also, behavior of tags (either status ones, or whether they need to be cleared before/after use)
has been added as comments to their declaration.
Reviewers: sergey, campbellbarton
Differential Revision: https://developer.blender.org/D1683
Diffstat (limited to 'source/blender/collada')
-rw-r--r-- | source/blender/collada/SceneExporter.cpp | 2 | ||||
-rw-r--r-- | source/blender/collada/collada_utils.cpp | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/collada/SceneExporter.cpp b/source/blender/collada/SceneExporter.cpp index ac8ac2b9867..30cd6ddf197 100644 --- a/source/blender/collada/SceneExporter.cpp +++ b/source/blender/collada/SceneExporter.cpp @@ -61,7 +61,7 @@ void SceneExporter::exportHierarchy(Scene *sce) // Ensure all objects in the export_set are marked for (node = this->export_settings->export_set; node; node = node->next) { Object *ob = (Object *) node->link; - ob->id.flag |= LIB_DOIT; + ob->id.tag |= LIB_TAG_DOIT; } // Now find all exportable base ojects (highest in export hierarchy) diff --git a/source/blender/collada/collada_utils.cpp b/source/blender/collada/collada_utils.cpp index e71078a0bae..efdfaadd3e2 100644 --- a/source/blender/collada/collada_utils.cpp +++ b/source/blender/collada/collada_utils.cpp @@ -198,7 +198,7 @@ Object *bc_get_assigned_armature(Object *ob) // returns NULL if no ancestor is selected // IMPORTANT: This function expects that // all exported objects have set: -// ob->id.flag & LIB_DOIT +// ob->id.tag & LIB_TAG_DOIT Object *bc_get_highest_selected_ancestor_or_self(LinkNode *export_set, Object *ob) { Object *ancestor = ob; @@ -237,17 +237,17 @@ bool bc_has_object_type(LinkNode *export_set, short obtype) int bc_is_marked(Object *ob) { - return ob && (ob->id.flag & LIB_DOIT); + return ob && (ob->id.tag & LIB_TAG_DOIT); } void bc_remove_mark(Object *ob) { - ob->id.flag &= ~LIB_DOIT; + ob->id.tag &= ~LIB_TAG_DOIT; } void bc_set_mark(Object *ob) { - ob->id.flag |= LIB_DOIT; + ob->id.tag |= LIB_TAG_DOIT; } // Use bubble sort algorithm for sorting the export set |