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
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-08-07 07:51:28 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-08-07 07:51:28 +0400
commite7c53e20a18573e05970beb93184fc32b88c98c9 (patch)
tree26e78b9142491b42e76ea1c6f506d6c6d5f7dcc0 /source/blender/blenkernel
parenta791cfc5d3103eab975220144356048b8e1a0149 (diff)
gameObject -> blenderObject mapping was being created but wasnt needed.
Added utility func tag_main for (un)tagging every ID in a Main database with LIB_DOIT.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_library.h1
-rw-r--r--source/blender/blenkernel/intern/library.c14
2 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h
index d840401d4fa..095db4860ce 100644
--- a/source/blender/blenkernel/BKE_library.h
+++ b/source/blender/blenkernel/BKE_library.h
@@ -55,6 +55,7 @@ int set_listbasepointers(struct Main *main, struct ListBase **lb);
void free_libblock(struct ListBase *lb, void *idv);
void free_libblock_us(struct ListBase *lb, void *idv);
void free_main(struct Main *mainvar);
+void tag_main(struct Main *mainvar, int tag);
void splitIDname(char *name, char *left, int *nr);
void rename_id(struct ID *id, char *name);
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 33c1a4da4c7..2994c981b17 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1020,6 +1020,20 @@ static void lib_indirect_test_id(ID *id)
}
}
+void tag_main(struct Main *mainvar, int tag)
+{
+ ListBase *lbarray[MAX_LIBARRAY];
+ ID *id;
+ int a;
+
+ a= set_listbasepointers(mainvar, lbarray);
+ while(a--) {
+ for(id= lbarray[a]->first; id; id= id->next) {
+ if(tag) id->flag |= LIB_DOIT;
+ else id->flag &= ~LIB_DOIT;
+ }
+ }
+}
/* if lib!=NULL, only all from lib local */
void all_local(Library *lib, int untagged_only)