diff options
author | Ton Roosendaal <ton@blender.org> | 2005-12-06 18:39:25 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-12-06 18:39:25 +0300 |
commit | 6555ddbcd88b065dbe264594e50eefcfb71d5431 (patch) | |
tree | a5465998e1d71ef12cdb6cbd68ef70c5cc652c8f /source/blender/blenkernel/intern/anim.c | |
parent | 898cbe370e0403da39347d91fc40f7a4a38aeaf2 (diff) |
Orange:
Series of fixes in Library linking of groups;
- On library-linking (SHIFT-F1) a Group, the Objects now don't get a "Base"
anymore, meaning they won't show up as Objects in the Scene.
This ensures you can use the linked Group as duplicator without having
your file polluted with new (and linked) objects.
(I realize it should be possible to have it with Base too, will check)
- On append or file-read, the linked Group Objects get drawn properly,
but the animation system doesn't run yet.
- Group buttons (F7) now shows if a Group is from Library
- Outliner draws Library linked data with blue-ish text
Other fixes;
- Using group-duplicator, with originals in hidden layer, now shows and
updates animated Objects correctly.
- All of Object button panels did not have a proper protection against
editing Library data.
Diffstat (limited to 'source/blender/blenkernel/intern/anim.c')
-rw-r--r-- | source/blender/blenkernel/intern/anim.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c index b448816589f..5b5f1fabdf2 100644 --- a/source/blender/blenkernel/intern/anim.c +++ b/source/blender/blenkernel/intern/anim.c @@ -303,9 +303,15 @@ static void group_duplilist(Object *ob) if(ob->dup_group==NULL) return; for(go= ob->dup_group->gobject.first; go; go= go->next) { - newob= new_dupli_object(&duplilist, go->ob, ob, 0); - Mat4CpyMat4(mat, newob->obmat); - Mat4MulMat4(newob->obmat, mat, ob->obmat); + if(go->ob!=ob) { + /* we need to check update for objects that are not in scene... */ + if(go->ob->recalc) + object_handle_update(go->ob); // bke_object.h + + newob= new_dupli_object(&duplilist, go->ob, ob, 0); + Mat4CpyMat4(mat, newob->obmat); + Mat4MulMat4(newob->obmat, mat, ob->obmat); + } } } |