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
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
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-09-08Cleanup: Refactor `ED_object_parent_set`Sybren A. Stüvel
Refactor `ED_object_parent_set`: - Mark parameters `ob` and `par` as `const` so that it's clear the function doesn't assign any other value to them. - Rename `pararm` to `is_armature_parent`; I mis-read it as `param` all the time, and it was very confusing. - Replace repeated `if-else` statements with `switch` statements. - Reorder preconditions to have some simple checks first. - Flip condition on a huge `if`-statement to return early and unindent the remainder of the function. This function still requires splitting up into smaller functions, but at least this is a step forward. No functional changes.
2020-09-07Cleanup: Refactor object.parent_set operatorSybren A. Stüvel
Refactor the operator exec function into a few smaller functions. The exec function was mixing up vertex-parent and non-vertex-parent code, including incorrect comments. No functional changes.
2020-08-28Cleanup 'make vertex parent' operator code.Bastien Montagne
More localized variables, avoid ugly 'offset by one' index usage in favor of explicit `INDEX_UNSET` define, etc. No behavior change expected from this commit.
2020-08-08Cleanup: use array syntax for sizeof with fixed valuesCampbell Barton
Also order sizeof(..) first to promote other values to size_t.
2020-08-07Cleanup: Blenlib, Clang-Tidy else-after-return fixes (incomplete)Sybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenlib` module. Not all warnings are addressed in this commit. No functional changes.
2020-07-22Cleanup: spellingCampbell Barton
2020-07-21Fix (unreported) broken code in recent override operator enhancements.Bastien Montagne
When overriding a whole linked collection from a single object in 3DView, said 'reference' object would be removed by code. We only want that behavior when overriding from an instanciating Empty.
2020-07-21Fix (unreported) bad handling of detection of what to override from 3DView ↵Bastien Montagne
in some cases. Having a directly linked object does not always mean it should be considered as really overridable...
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-15Cleanup: remove debug prints.Bastien Montagne
2020-07-15LibOverride: rework 'make override' 3DView operator.Bastien Montagne
Removed the 'select main object to override' menu when overriding an instanced collection, this was no more used anyway. Added new behavior allowing to select which directly linked collection to override when trying to override an inderctly linked object. This allows to link collections without instancing them with an empty object, select one of their objects, and call override operator.
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-07-09Implement T77959: Never duplicate linked data during deep-copy.Bastien Montagne
Note that this behavior is enforced on user level for now, but on code side it is controlled with a flag, which should make it easy to refine that behavior if needed. Only exception is when we duplicate a linked ID directly (then we assume user wants a local deep-copy of that linked data, and we always also duplicate linked sub-data-blocks). Note that this commit also slightly refactor the handling of actions of animdata, by simplifying `BKE_animdata_copy_id_action()` and adding an explicit new `BKE_animdata_duplicate_id_action()` to be used during ID duplication (deep copy). This also allows us to get rid of the special case for liboverrides.
2020-07-03Cleanup: Editors/Object, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/editors/object` module. No functional changes.
2020-07-01Cleanup: typos in comment.Bastien Montagne
2020-06-30LibOverride: Refactor 'make override' 3DView operator.Bastien Montagne
This one now uses a generic 'dependency detection' process to decide which IDs should be overridden. This will e.g. allow to override mesh and shapekeys when those have some values controlled by drivers using an armature bone...
2020-06-19LibOverride: Cleanup: remove unused parameter.Bastien Montagne
2020-06-16Cleanup: get rid of `BKE_collection_copy`.Bastien Montagne
We want to get rid of those for all ID types ultimately, but that one was only used in one place, being the only one calling `BKE_collection_duplicate` without hierarchical duplicate and parent collection pointer, effectively using the full power of the complex deep duplication code for a mere `BKE_id_copy` call... This will allow for further cleanup in duplicate code.
2020-06-12LibOverride: Remove 'auto override' option.Bastien Montagne
Now all overrides are handled that way. Performances of the process look decent enough, even with production characters... If performance issues still arise, we'll investigate other solutions. This should also make T73154 obsolete now.
2020-06-10Cleanup: Remove no more used `ED_object_single_users`.Bastien Montagne
This utils was only used for scenes' full copy, and was using old deprecated ways to deal with ID relations and such. Good riddance!
2020-06-05Cleanup: spellingCampbell Barton
2020-06-02Library Overrides: Don't move collections to Scene Collection when overridingJulian Eisel
When using the "Make Library Override" operator on instance collections, keep the overriden collection in the parent collection of the instance empty. Previoulsy the collection would be added to the scene collection, which was confusing and not what users expected. It was placed there for a reason after all. Part of T76555. Reviewed by: Andy Goralczyk, Bastien Montange. Differential Revision: https://developer.blender.org/D7626
2020-06-02Library Overrides: Unlink instance empty after "Make Library Override"Julian Eisel
Unlink (delete if single-user) collection instance empty once an override is added to the collection through the "Make Library Override" operator. It isn't used as a collection instance anymore then so the emtpy is an annoying left over that has no purpose. Part of T76555. Reviewed by: Andy Goralczyk, Bastien Montange. Differential Revision: https://developer.blender.org/D7626
2020-05-29Cleanup: spelling, correct reference to 'Mesh.mcol'Campbell Barton
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez
2020-05-06Fix T76416: Armature Deform parenting option doesn't work with Grease Pencil ↵Philipp Oeser
objects If we parent with type `PAR_ARMATURE` (where vertexgroups are already set up and named correctly according to the corresponding bones), we still need an armature modifier. This just wasnt added. In contrast to meshes [which add their armature modifier early in `ED_object_parent_set`], grease pencil used to do this (adding the armature modifier) in `ED_gpencil_add_armature_weights`. Now split ED_gpencil_add_armature_weights in two: - ED_gpencil_add_armature - ED_gpencil_add_armature_weights (which calls ED_gpencil_add_armature) - use ED_gpencil_add_armature for the PAR_ARMATURE case Maniphest Tasks: T76416 Differential Revision: https://developer.blender.org/D7625
2020-04-03Code Quality: Replace for loops with LISTBASE_FOREACHDalai Felinto
Note this only changes cases where the variable was declared inside the for loop. To handle it outside as well is a different challenge. Differential Revision: https://developer.blender.org/D7320
2020-04-03Cleanup: Animation, move AnimData API to `anim_data.c`/`BKE_anim_data.h`Sybren A. Stüvel
The `BKE_animsys.h` and `anim_sys.c` files already had a an "AnimData API" section. The code in that section has now been split off, and placed into `BKE_anim_data.h` and `anim_data.c`. All files that used to include `BKE_animsys.h` have been adjusted to only include the animation headers they need (sometimes none). No functional changes.
2020-04-03Cleanup: use abbreviated names for unsigned types in editorsCampbell Barton
2020-03-26Fix crash when make proxy failed to assign a proxyCampbell Barton
2020-03-26Cleanup: use doxy sections & add missing sectionsCampbell Barton
2020-03-23Revert "COW: Edit Mesh: Do not copy the looptris pointer"Germano Cavalcante
The looptri is repeated in the linked Meshes but the pointer is only referenced in the evaluated ones. This reverts commit 64982e213f014123d1b0406cf9ae893910a6a3d3.
2020-03-23COW: Edit Mesh: Do not copy the looptris pointerGermano Cavalcante
No functional changes. Differential Revision: https://developer.blender.org/D7173
2020-03-20Fix T74649: Outliner: Cannot set/clear parent with 'Keep Transforms'Philipp Oeser
Parenting in the outliner via drang and drop would always happen without the 'Keep Transforms' option. Since this is often desired, this adds the ability to hold Alt for doing this to the drop action. Adding the hint to hold Alt to the operator name is not nice, but since the operator name is used for the UI, there doesnt seem to be a nicer way of doing this. If modifier keys are needed back for other actions, spawning a menu instead could be an alternative for the future. Maniphest Tasks: T74649 Differential Revision: https://developer.blender.org/D7120
2020-03-19Cleanup: fix typos in commentsBrecht Van Lommel
Contributed by luzpaz. Differential Revision: https://developer.blender.org/D7133
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-18Objects: add Volume object type, and prototypes for Hair and PointCloudBrecht Van Lommel
Only the volume object is exposed in the user interface. It is based on OpenVDB internally. Drawing and rendering code will follow in another commit. https://wiki.blender.org/wiki/Source/Objects/Volume https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Volumes Hair and PointCloud object types are hidden behind a WITH_NEW_OBJECT_TYPES build option. These are unfinished, and included only to make it easier to cooperate on development in the future and avoid tricky merges. https://wiki.blender.org/wiki/Source/Objects/New_Object_Types Ref T73201, T68981 Differential Revision: https://developer.blender.org/D6945
2020-03-13Multires: Fix Subdivide, Reshape and Apply BaseSergey Sharybin
This change fixes artifacts produced by these operations. On a technical aspect this is done by porting all of the operations to the new subdivision surface implementation which ensures that tangent space used to evaluate modifier and those operations is exactly the same (before modifier will use new code and the operations will still use an old one). The next step is to get sculpting on a non-top level to work, and that actually requires fixes in the undo system.
2020-03-06Cleanup: keyframe API naming, high level keyframe APICampbell Barton
- Split 'verify_fcurve' into two functions: ED_action_fcurve_ensure which adds the f-curve if needed. ED_action_fcurve_find which returns NULL when not found. Callers of ED_action_fcurve_find had unused 'group' argument which has been removed. - Rename verify_adt_action to ED_id_action_ensure It had an argument to add data which was always true, remove this instead of splitting in into a separate function.
2020-03-05Cleanup: redundant castsCampbell Barton
2020-03-05Cleanup: material API namingCampbell Barton
- Use 'BKE_object_material_*', 'BKE_id_material_*' prefix for functions that operate on Object and ID types. - Use '_len' suffix for length (matching BLI naming). - Use '_p' suffix for functions that return a pointer to values where the value would typically be returned. Functions renamed: - BKE_object_material_resize was BKE_material_resize_object - BKE_object_material_remap was BKE_material_remap_object - BKE_object_material_remap_calc was BKE_material_remap_object_calc - BKE_object_material_array_p was BKE_object_material_array - BKE_object_material_len_p was BKE_object_material_num - BKE_id_material_array_p was BKE_id_material_array - BKE_id_material_len_p was BKE_id_material_num - BKE_id_material_resize was BKE_material_resize_id - BKE_id_material_append was BKE_material_append_id - BKE_id_material_pop was BKE_material_pop_id - BKE_id_material_clear was BKE_material_clear_id
2020-03-04Fix T73797: Selection/Editing after Make Single User for Object DataPhilipp Oeser
fails Exposed by rB50d5c03e2d14. This was only a problem when _only_ 'Object Data' was made local. If also e.g. 'Object' or 'Materials' was checked, these were already making sure realations were updated [DEG_relations_tag_update(bmain)]. Now also call DEG_relations_tag_update(bmain) for the 'Object Data' case. I assume the underlying issue is that there is some ID_NEW_REMAP happening in 'single_obdata_users()' -- including that for 'me- >texcomesh', which might be responsible for the glitches in selection/ editing? Also not entirely sure why this wasnt a problem prior to rB50d5c03e2d14.(I assume this was somewhat hidden by the fact this was always called with a default action being nothing, the user would always need to access the redo panel. So this might have been hidden by an Undo step involved?) Maniphest Tasks: T73797 Differential Revision: https://developer.blender.org/D7020
2020-02-13Refactor libquery ID looper callback to take a single parameter.Bastien Montagne
Using a struct here allows to change given parameters to the callbacks without having to edit all callbacks functions, which is always noisy and time consuming.
2020-02-11UI: Use popup dialog for make single user from operator searchCampbell Barton
Use a popup since the default action was to do nothing, the user would always need to access the redo panel. Resolves T73711.
2020-02-10Cleanup: Rename `BKE_library_override_` functions to `BKE_lib_override_library_`Bastien Montagne
pqrt 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.