Revision 1daa502 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) 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! |
Revision 06c6492 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) 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). |
Revision 6ed0fcc by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 7, 2015, 18:56 (GMT) |
Merge branch 'master' into id-remap |
Revision dca705d by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, 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... |
Revision ad8fa26 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) 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. |
Revision 34c608d by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) 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. |
Revision b8e2245 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 6, 2015, 10:25 (GMT) |
Merge branch 'missing-libs' into id-remap |
Revision f3e2e92 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 6, 2015, 10:25 (GMT) |
Merge branch 'lib-link-rework-temp' into id-remap |
Revision 64f0cd7 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 6, 2015, 10:25 (GMT) |
Merge branch 'free-refcount-ids' into id-remap |
Revision 7a7b5bc by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap, missing-libs) October 6, 2015, 10:23 (GMT) |
Merge branch 'master' into missing-libs |
Revision 2a3e261 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap, lib-link-rework-temp, missing-libs) October 6, 2015, 10:20 (GMT) |
Merge branch 'master' into lib-link-rework-temp |
Revision 9139385 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, free-refcount-ids, id-remap, missing-libs) October 6, 2015, 10:19 (GMT) |
Merge branch 'master' into free-refcount-ids |
Revision bb6da9c by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 14:30 (GMT) |
ID foreach: add support for modifiers to indicate whether given ID pointer is refcounted or not. |
Revision 45b83f6 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 14:00 (GMT) |
Merge branch 'master' into id-remap |
Revision 650efcf by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, 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. |
Revision 09dcfbb by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 11:58 (GMT) |
Merge branch 'free-refcount-ids' into id-remap |
Revision a33cc08 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, free-refcount-ids, id-remap, missing-libs) October 5, 2015, 11:58 (GMT) |
Fix for object freeing. |
Revision 5327de0 by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 10:32 (GMT) |
Merge branch 'missing-libs' into id-remap |
Revision e0adc0b by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 10:32 (GMT) |
Merge branch 'lib-link-rework-temp' into id-remap |
Revision 0548a1d by Bastien Montagne (asset-engine, asset-engine--archived, asset-experiments, id-remap) October 5, 2015, 10:32 (GMT) |
Merge branch 'free-refcount-ids' into id-remap |
|