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
AgeCommit message (Collapse)Author
2021-01-25LibOverride: refactor of relationships handling in library overrides.Bastien Montagne
First step towards a better handling of relationships between IDs in override context, especially when a resync is needed. First, introduce a new flag to override operations, `IDOVERRIDE_LIBRARY_FLAG_IDPOINTER_MATCH_REFERENCE`, for ID pointers. It keeps track of whether an RNA ID pointer has been kept to its 'natural overriden ID' (in override hierarchy context), or has actually been re-assigned to some other data-block. Second, refactor how we deal with relationships between IDs in override hierarchy code, especially in resync case. This will fixe several cases listed in T83811, especially the case where an ID pointer to an existing override needs to be updated to a new one due to a matching change in linked data.
2020-12-28UI: List library overrides in the OutlinerJulian Eisel
Having a centeral place to find a list of all library overrides should be useful for managing production scenes where library overrides are used a lot. This change adds the individually overridden properties of a data-block under the data-block itself. Just how we show modifiers, constraints or pose channels there. This way we can also expose library override operations/options better in future. There's also a filter option for the library overrides now, so they can be hidden. It is only available in the View Layer display mode though, like the other filter options. One internal change this has to do is adding more informative return values to undo pushes and the library override functions called by it. That way we can send a notifier when library overrides change for the Outliner to know when to rebuild the tree. Differential Revision: https://developer.blender.org/D7631 Reviewed by: Andy Goralczyk, Bastien Montagne, William Reynish
2020-12-16LibOverride: Better handling of missing linked data during resync.Bastien Montagne
We do not generate overrides for missing data-blocks (aka placeholder ones) anymore, and properly delete the remaining old overrides of those during the resync process. This should prevent constant 'missing data-blocks' messages when opening blend files with overrides whose libraries have beed edited. Issue reported by @andy from Blender studio, thanks.
2020-09-30Cleanup: sort struct declarationsCampbell Barton
2020-09-23LibOverride: Add operator to convert a proxy object into an override.Bastien Montagne
In the end the process is surpringly simple, we only need to manually convert the proxy itself into an override (which is trivial), and then run common code with the default 'make override' operation. Fix T81059: Add operator to convert proxies to library overrides.
2020-08-20LibOverride: Add 'delete and use linked data' operation.Bastien Montagne
This will re-link all usages of a library override data-block (including all of its override dependencies) to its reference linked IDs, and delete those liboverrides. As usual, it is available in the ID sub-menu of the outliner context right-click menu. Part of T76555.
2020-08-19LibOverride: Add initial version of 'resync' operation.Bastien Montagne
Available from the usual ID submenu in the Outliner context menu. The goal of this operator is to re-create the override from the linked data, while preserving existing defined overrides. This allows to update local opverrides when relations between datablocks are changed in source library linked data. Part of T76555.
2020-08-07Merge branch 'blender-v2.90-release' into masterJacques Lucke
2020-08-07Code Style: use "#pragma once" in source directoryJacques Lucke
This replaces header include guards with `#pragma once`. A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`), because they are used in other places. This patch has been generated by P1561 followed by `make format`. Differential Revision: https://developer.blender.org/D8466
2020-08-05Cleanup: missing 'initialize' -> 'init' from previous cleanupCampbell Barton
2020-07-23LibOverride: Add core functions to reset a library override.Bastien Montagne
This means that we delete all override properties except for those over ID pointers *if* the assigned pointer matches the linked data hierarchy. Then we reload affected datablocks.
2020-07-15LibOverride: move most of 'complete override creation' from ED_object to ↵Bastien Montagne
BKE_lib_override. This code is fairly complex and can be used in more places, better not duplicate that logic and just have it in BKE area.
2020-07-14Cleanup: function name not following its module conventions.Bastien Montagne
2020-07-14LibOverride: Move code tagging reauired dependencies of an override into BKE.Bastien Montagne
This is fairly generic code that can be re-used in other places.
2020-07-13LibOverride: Cleanup: Remove option to disable library overrides.Bastien Montagne
Code is mature enough now to not need this anymore, people who do not want to use liboverrides can just not create them.
2020-06-19LibOverride: Cleanup: remove unused parameter.Bastien Montagne
2020-06-10Enable (deep) copy of overrides.Bastien Montagne
This commit enables basic copy of overrides on generic ID level, as well as from (deep) copy operators for objects and collections. So e.g. if your linked overridden caracter is in a collection, you can now (from the outliner) Duplicate that override collection to get a new overriding copy of the character. We still need operators (new or modifying existing ones) to handle that from 3DView e.g. Note that deep copy code for objects/collections (and incidently animdata) had to be modified to avoid duplicating/making local IDs that remain linked ones being used by overrides ones.
2020-04-16Fix T75730: Properly remove unused override properties/operations.Bastien Montagne
While code is supposed to handle gracefully invalid override operations, it is much cleaner to avoid those completely.
2020-04-16Refactor/strengthen a bit invalid operands checks when applying an override ↵Bastien Montagne
operation.
2020-03-02Cleanup: make remaining blenkernel headers work in C++Jacques Lucke
2020-02-15Cleanup: spellingCampbell Barton
2020-02-10Cleanup: Rename `BKE_library_override_` functions to `BKE_lib_override_library_`Bastien Montagne
pqrt of T72604.
2020-02-10Fix mismatch in BKE headers' multi-include safeguards naming.Bastien Montagne
Forgot to update those in recent `BKE_lib_` files renames.
2020-02-10Cleanup: Add basic doc about each `BKE_main` and `BKE_lib` files.Bastien Montagne
Including expected prefixes for functions in those files. Part of T72604.
2020-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.