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
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-22LibOverride: Make diffing several times faster.Bastien Montagne
Diffing on undo steps is a critical performance point of override system, although not required for override itself, it gives user immediate feedback ove what is overridden. Profiling showed that rna path text search over overrides operations was by far the most costly thing here, so now using a runtime temp ghash mapping for this search instead. Seems to give at least 5 times speedup on big production rig.
2019-09-11LibOverride: Enable them in UI by default.Bastien Montagne
This is minimal 'flip-switch' commit, proper cleanup and removal of the option thing will happen later, once we are sure that we can release 2.81 with it enabled. For now, we have a `--disable-library-override` now. ;)
2019-09-05LibOverride: Initial attempt to ignore missing place-holders IDs.Bastien Montagne
Ideally, when a reference linked ID is missing (and replaced by linking code with an empty place-holder), we should just keep the local overriding datablocks as-is, until broken links are fixed. Not really working yet though, needs more work here...
2019-09-05LibOverride: give more remapping control to ↵Bastien Montagne
`BKE_override_library_create_from_id()` too. Similar change to the one done for tagged IDs overriding some days ago. We do not always want to remap all local usages of a linked data-block to its new local overriding copy.
2019-08-29LibOverride: Create override operator: various fixes.Bastien Montagne
* `make_override_library_exec` was not properly cleaning `LIB_TAG_DOIT` from all IDs in the Main DB. * `BKE_override_library_create_from_tag` was doing dangerous things (like iterating over a BMain listbase while adding items to it...). * It would remap *all* local usages of overridden linked IDs to new overriding local IDs, which was very inconvinient. New handling of remapping now allows to only remap inside of the group of IDs that is being overridden, in other words you can still have e.g. other empties still instancing the same linked collection...
2019-08-29LibOverride: Fix use-after-free error when freeing whole Main DB.Bastien Montagne
We do not want to touch to other ID pointers in that case, those might have already been freed...
2019-08-22LibOverride: Fix broken logic in code checking and adding new override ops.Bastien Montagne
When we wanted to force all overidable IDs to be checked, code would end up checking the whole Main DB, instead of only overrideable ones.
2019-08-14Cleanup: move trailing comments to avoid wrapping codeCampbell Barton
Some statements were split across multiple lines because of their trailing comments. In most cases it's clearer to put the comments above.
2019-06-15Cleanup: spellingCampbell Barton
2019-06-15Cleanup: Rename: Static Override -> Library Override.Bastien Montagne
Better to make internal code naming match official/UI naming to some extent, this will reduce confusion in the future. This is 'breaking' scripts and files that would use that feature, but since it is not yet officially supported nor exposed in 2.80, as far as that release is concerned, it is effectively a 'no functional changes' commit.
2019-05-03Cleanup: warningsCampbell Barton
Quiet extra-semi-stmt & missing-variable-declarations
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-20Cleanup: add missing macros to clang-formatCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-02-18ID management: use FOREACH_MAIN_ID in some places.Bastien Montagne
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-05Cleanup: BKE_library: rename id_copy to BKE_id_copy.Bastien Montagne
Time to follow conventions for that one as well.
2019-02-05Cleanup: BKE_library: remove 'test' param of id_copy.Bastien Montagne
This was used in *one* place only... much better to have a dedicated helper for that kind of things. ;)
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.Bastien Montagne
2018-10-19Make Static Override optional/hidden by default.Bastien Montagne
That feature will not be ready (or at least, not tested enough) to be officially part of 2.80 beta. So we disable it by default, hidding it behind a startup option (`--enable-static-override`), and a python app var (`bpy.app.use_static_override`). That way, people who really want to play with it can do it easily, while not exposing/enabling non-production-ready feature by default. Note that underlying override code remains active, i.e. files we do have overridden data-blocks will be loaded correctly according to static override.
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-06-29Refactor static override code to pass Main around.Bastien Montagne
Access to main database is actually rarely needed, but some custom 'apply' functions do need it (like Collections' overriding of objects or children collections).
2018-05-04Static Override: fix stupid ;istake in moving autooverride to own struct flag.Bastien Montagne
2018-05-02Static Override: Move 'auto' flag into override struct, expose it to RNA.Bastien Montagne
2018-05-01Static Override: fix 'search matching override operation' function.Bastien Montagne
Previous code was waaaayyyy to flacky, returning matches for things that did not actually have much in common!
2018-04-20Static overrides optimization: 30% quicker.Bastien Montagne
use stack instead of always allocating memory for RNA paths of checked properties! From average 167ms to 118ms here with Autumn rig... Still a lot to improve, but that's already much better.
2018-04-18Disable auto-override for all but active object in group case.Bastien Montagne
I.E. only enable auto-override for 'active' selected object when making an override of a linked group. This will ease on auto-override creation, and you typically do not want to auto-override most objects in the group anyway (in proxy system, you could only proxyfy one object of the group anyaway!).
2018-04-18Make depsgraph tag for auto-override IDs it updates.Bastien Montagne
This will reduce amount of needless auto-override checks, at least when not touching anything related to overriding IDs...
2018-04-18Cleanup: rename 'static override regarding reference ID' tag.Bastien Montagne
Just 'OK' was waaayyyyyy too generic!
2018-01-16Static overrides API: add functions to create overrides from several ↵Bastien Montagne
datablocks at once. This simplifies remapping task, since you don't have to ensure your overrides are created in the correct dependency order. Uses famous LIB_TAG_DOIT to mark IDs to be overridden.
2017-12-18Serious cleanup/refactor/fixing of new RNA comparison code.Bastien Montagne
Code also handling auto-generation of static overrides. Aside from some naming consistency cleanup, this commit: * Is the first step addressing the 'operator' issue with static overrides, by implementing a first version of the 'restore from reference' behavior. * Fixes several issues that were discovered on the way in enhanced RNA comparision code, like the 'zero-length dynamic array' case, or some infinite looping caused by some non-ID pointers (that for some mysterious reasons did not show up previously...). * Factorizes a bit said RNA comparison code (auto-static override generation and comparison/check were essentially doing the same thing).
2017-12-11Walk all the overriding chain to try to find a template.Bastien Montagne
When one creates a new local static override from another linked data-block already overriding a third one etc., walk the whole inheritance chain up to the original ancestor to try to find an overriding template, instead of only checking the immediate reference...
2017-11-29ID Static Override, part II: RNA changes.Bastien Montagne
This is essentially a huge refactor/extension of our existing RNA compare & copy code, since static override needs more advanced handling here. Note that not all new features are implemented yet, advanced things like collections insertion/deletion are still TODO (medium priority). This completes the ground work for overrides, remaining commits will be about UI and some basic/testing activation of overrides for a limited set of data-blocks & properties. For details see https://developer.blender.org/D2417
2017-11-29Merge ID static override, part I: core changes in DNA, BKE and .blend ↵Bastien Montagne
read/write. See https://developer.blender.org/D2417 for details. Note that since static overrides rely heavily on RNA, this commit is essentially invisible from user PoV, more in next commits.