diff options
author | Ton Roosendaal <ton@blender.org> | 2009-01-04 17:14:06 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2009-01-04 17:14:06 +0300 |
commit | f7cb86df3a9ceccc4d649e42735732a608169157 (patch) | |
tree | 558a9ba43708a2213b1afa8f46d79f5daa140bc6 /source/blender/blenkernel/intern/group.c | |
parent | 74f9e98c828c17910405092785633373d4ae88e8 (diff) |
2.5
Think global, act local!
The old favorite G.scene gone! Man... that took almost 2 days.
Also removed G.curscreen and G.edbo.
Not everything could get solved; here's some notes.
- modifiers now store current scene in ModifierData. This is not
meant for permanent, but it can probably stick there until we
cleaned the anim system and depsgraph to cope better with
timing issues.
- Game engine G.scene should become an argument for staring it.
Didn't solve this yet.
- Texture nodes should get scene cfra, but the current implementation
is too tightly wrapped to do it easily.
Diffstat (limited to 'source/blender/blenkernel/intern/group.c')
-rw-r--r-- | source/blender/blenkernel/intern/group.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c index 0d2f86bb151..6fffbd794ef 100644 --- a/source/blender/blenkernel/intern/group.c +++ b/source/blender/blenkernel/intern/group.c @@ -280,7 +280,7 @@ static void group_replaces_nla(Object *parent, Object *target, char mode) you can draw everything, leaves tags in objects to signal it needs further updating */ /* note: does not work for derivedmesh and render... it recreates all again in convertblender.c */ -void group_handle_recalc_and_update(Object *parent, Group *group) +void group_handle_recalc_and_update(Scene *scene, Object *parent, Group *group) { GroupObject *go; @@ -289,8 +289,8 @@ void group_handle_recalc_and_update(Object *parent, Group *group) int cfrao; /* switch to local time */ - cfrao= G.scene->r.cfra; - G.scene->r.cfra -= (int)give_timeoffset(parent); + cfrao= scene->r.cfra; + scene->r.cfra -= (int)give_timeoffset(parent); /* we need a DAG per group... */ for(go= group->gobject.first; go; go= go->next) { @@ -298,7 +298,7 @@ void group_handle_recalc_and_update(Object *parent, Group *group) go->ob->recalc= go->recalc; group_replaces_nla(parent, go->ob, 's'); - object_handle_update(go->ob); + object_handle_update(scene, go->ob); group_replaces_nla(parent, go->ob, 'e'); /* leave recalc tags in case group members are in normal scene */ @@ -307,14 +307,14 @@ void group_handle_recalc_and_update(Object *parent, Group *group) } /* restore */ - G.scene->r.cfra= cfrao; + scene->r.cfra= cfrao; } else { /* only do existing tags, as set by regular depsgraph */ for(go= group->gobject.first; go; go= go->next) { if(go->ob) { if(go->ob->recalc) { - object_handle_update(go->ob); + object_handle_update(scene, go->ob); } } } |