Blender Git Loki

Blender Git "id-remap" branch commits.

Page: 11 / 19

October 7, 2015, 19:56 (GMT)
Add BKE_libblock_relink(), which works as _libblock_remap(), but only over one given ID
(instead of whole Main content).

Could replace maybe things like constraint, rigisbody world, etc. '_relink' func,
but for now it's only intended to replace custom 'id releasing' code in _free()
funcs of all IDs!
October 7, 2015, 19:10 (GMT)
Avoid fexplicit conversion to ID * for remap parameters (use void pointers instead).
Also found another missing ID in foreach_id (sound pointer of sequences).
October 7, 2015, 18:56 (GMT)
Merge branch 'master' into id-remap
October 7, 2015, 18:32 (GMT)
Huuuuuuuge commit - replace ugly scene/object/group_unlink by new generic libblock_unlink.

Previous situation was pretty much horrible, a few data types having their own coocking to
unlink, often doing more than only unlinking, often doing the same thing two times or more,
often messing with areas they should not have touched (like editors from withing BKE)...

Now we hope to have something generic, working the same way for all ID types
(we do have to add some specific handling for groups/objects/scene unfortunately,
but this remains reasonable).

Needless to say such a change is calling for troubles - I tried to follow and reproduce
as best as I could previous code, but most likely some areas will become buggy. Do not think
previous code was 100% correct anyway, things like Objects have a really big and complicated
usage of IDs...

Also, foreach_id tool has been enhanced, again for complex types like objects & co, we should
cover much better all possible IDs now (e.g. rigidbody & logic bricks were
totally missing from there).

And there is more to come...
October 7, 2015, 08:31 (GMT)
Adding game sensors/controllers/actuators to foreachid libquery.

Those were totally missing, cannot see a good reason for it...
Seems to work OK, but only very quickly tested code.
October 6, 2015, 12:47 (GMT)
Make use of new IDWALK_REFCOUNTED flag in our ID remap code.

Think core of the system is getting pretty much OK, now we'll likely have to deal
with tons of specific cases, given how Blender is totally inconsistent when it comes to
handling user counts (e.g. spaceimage...).

Also, still have to make generic ID_unlink and ID_release_datablocks func to replace
redundant code in BKE we have currently.
October 6, 2015, 10:25 (GMT)
Merge branch 'missing-libs' into id-remap
October 6, 2015, 10:25 (GMT)
Merge branch 'lib-link-rework-temp' into id-remap
October 6, 2015, 10:25 (GMT)
Merge branch 'free-refcount-ids' into id-remap
October 6, 2015, 10:23 (GMT)
Merge branch 'master' into missing-libs
October 6, 2015, 10:20 (GMT)
Merge branch 'master' into lib-link-rework-temp
October 6, 2015, 10:19 (GMT)
Merge branch 'master' into free-refcount-ids
October 5, 2015, 14:30 (GMT)
ID foreach: add support for modifiers to indicate whether given ID pointer is refcounted or not.
October 5, 2015, 14:00 (GMT)
Merge branch 'master' into id-remap
October 5, 2015, 13:04 (GMT)
Update foreach ID (add a few missing IDs, and add new flag, REFCOUNTED, to indicate when a given ID pointer affects id->us count).

Still missing: at least modifiers (have to change all modifiers callbacks, yuck).
AFAIK constraints never refcount thier IDs so we can keep current code here.
October 5, 2015, 11:58 (GMT)
Merge branch 'free-refcount-ids' into id-remap
October 5, 2015, 11:58 (GMT)
Fix for object freeing.
October 5, 2015, 10:32 (GMT)
Merge branch 'missing-libs' into id-remap
October 5, 2015, 10:32 (GMT)
Merge branch 'lib-link-rework-temp' into id-remap
October 5, 2015, 10:32 (GMT)
Merge branch 'free-refcount-ids' into id-remap
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021