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
2022-03-29LibOverride: Implement default 'user override' behavior.Bastien Montagne
Implement default behavior to decide which overrides remain 'system' ones, and which become 'user editable' ones, when creating hierarchy override from 3DView or the Outliner. 3DView: If from an Empty-instanced collection, only Armature objects in that collection are user overrides. If from a set of selected objects, all overrides created from selected objects are user overrides. Outliner: All override IDs created from selected elements in the Outliner are user overrides. There is one special case: When a collection is selected, and is 'closed' in the outliner, all its inner armature objects are also user overrides. Ref: {T95707}.
2022-03-29LibOverride: Add initial handling of system overrides in ↵Bastien Montagne
creation/duplication/resync code, and some basic do_version. When creating with hierarchies, core code only generates system overrides, responsibility to define 'user overrides' is then for the higher-level calling code (Editor/Operator-level). do_version code uses fairly basic euristics, should be good enough here though in most cases. and can always be refined later if needed. Ref: {T95707}.
2022-03-29LibOverride: make some override properties 'overridable'.Bastien Montagne
The whole liboverride data is still ignored by override diffing etc., but some of their flags should be editable (from script and/or advanced technical/debug UI). So using a weird combination of flags to achieve this. Ref: {T95707}.
2022-03-29LibOverride: Add a new 'virtual' non-editable override icon and use it in ↵Bastien Montagne
Outliner. Ref: {T95707}.
2022-03-29LibOverride: Add initial System Override flag.Bastien Montagne
This merely adds the flag, exposes it in RMA, and uses it in some of the most common 'is editable' checks (RNA, `BASE_EDITABLE` macro...). Next step: do_version and defining systemoverrides at creation. Ref: {T95707}.
2022-03-29GPencil: Small UI tweaks to Build modifierAntonio Vazquez
Changes in some names.
2022-03-29Cover DNA_gpencil_types.h with C++ structure methodsSergey Sharybin
Ref T96847 Maniphest Tasks: T96847 Differential Revision: https://developer.blender.org/D14487
2022-03-29Cleanup: Remove legacy dupli system from point cloud objectHans Goudey
The "dupli" system now has a faster, more powerful, and more flexible alternative with geometry nodes. Since the point cloud objects haven't been exposed in the non-experimental UI yet, we can remove the dupli implementation and the panel for the object type. Differential Revision: https://developer.blender.org/D14482
2022-03-29GPencil: Fading for build modifier.YimingWu
Adds fading support for build modifier so it's not a hard cut off Reviewed By: Antonio Vazquez (antoniov), Matias Mendiola (mendio) Differential Revision: https://developer.blender.org/D14309
2022-03-29GPencil: Fix sculpt mask ignoring one point strokesHenrik Dick
The check for the selected status was missing in the case where the stroke one has one point. Differential Revision: http://developer.blender.org/D14490
2022-03-29Assets: Support automatic collection previewsJulian Eisel
Adds supports for collection previews that are rendered automatically when collections are marked as assets. (Or when preview rendering is triggered differently, e.g. through the //Refresh Data-Block Previews// operator). Idea in this patch is to create a collection instance empty outside of main for the collection, and then reuse the object rendering code to render the preview. This keeps things very simple and works just fine. Differential Revision: https://developer.blender.org/D14460 Reviewed by: Bastien Montagne
2022-03-29Fix T63795: Display custom properties with brackets in infoYuki Hashimoto
When custom properties are changed, they are displayed with brackets in info. Ref D14380
2022-03-29Fix T96844: Crash when switching workspaces and outliner modesJulian Eisel
Error exposed by ba49345705a3. Code just assumed that the tree-element pointed to a real ID, but this is often not the case, and the ID pointer contains completely different data. E.g. before ba49345705a3, it would be a pointer to one of the `Main` listbases, so this code would have undefined behavior. Now the pointer is null for elements in the "Current File" element, causing a null-pointer dereference rather than undefined behavior (that just happened to virtually always result in the intended code path).
2022-03-29Curves: improve Snake Hook brushJacques Lucke
This implements the spherical brush and different falloff modes for the Snake Hook brush. Differential Revision: https://developer.blender.org/D14408
2022-03-29Icons: Programmatically create indirect library icon, remove from SVGJulian Eisel
The indirect library data icon was just a grayed out version of the regular one. This graying out is now done in code, so the icon can be removed from the SVG. Note that the icon is still defined as `ICON_LIBRARY_DATA_INDIRECT` (or `LIBRARY_DATA_INDIRECT` in BPY).
2022-03-29Fix T96835: Grease pencil tweak tool selects but doesn't dragCampbell Barton
Use the pass-through matching the view3d.select operator.
2022-03-29Fix T96356: artefacts with GPU subdivision and vertex paint maskKévin Dietrich
The lines paint mask IBO extraction was not implemented for GPU subdivision. For it to work, we also now need to preserve the subdivision loop to subdivision edge map, which until now was overwritten to store coarse edges (the map to coarse edges is still preserved). Also the paint flag stored in the 4th dimension of the loop normal buffer was not properly set for flat shaded faces, leading to other kind of artefacts and render issues.
2022-03-29Cleanup: Remove commented lines of previous commitAntonio Vazquez
2022-03-29Fix T96799: GPencil `weight_get` API cannot retrieve weightsAntonio Vazquez
The problem was when the stroke had less weights that the total number of vertex groups. The API checked the total number of groups, but this is not required because `BKE_defvert_find_index` returns NULL is the vertex group index does not exist.
2022-03-29Fix (unreported) LibOverride: re-creation of overrides in consecutive ↵Bastien Montagne
partial overrides of a same hierarchy. If creating partial hierarchy overrides (from the outliner e.g.), that need to create extra overrides, those could be re-created everytime, leading to very bad situation where there would be several overrides of the same reference ID in the same override hierarchy. This fix makes it so that existing overrides in a given hierarchy will always be re-used in case other overrides are added to the hierarchy.
2022-03-29Cleanup: Use higher level semantic for zeroing DNA objects in C++Sergey Sharybin
Replaces old-style memzero-style of call with zero-initializer. Allows to shorten typical initialization code to a single line: Object foo = blender::dna::shallow_zero_initialize<Object>() This will allow to more easily convert designated initializer which is often used to fill object with zeroes to the explicit function calls: MyDNAStruct foo = {}; will be translated to MyDNAStruct foo = blender::dna::shallow_zero_initialize<MyDNAStruct>(); Differential Revision: https://developer.blender.org/D14486
2022-03-29BLI: optimize Map/Set/VectorSet.clear methodsJacques Lucke
Previously, those methods would destruct and reconstruct the data structure. While that was more simple in initial implementation, it has some downsides which are not resolved: * Already allocated memory is lost. So new memory would have to be allocated when the data structure is refilled. * The clearing process itself was slower because it did unnecessary work.
2022-03-29Cleanup: Remove redundant DNA C++ helper functionSergey Sharybin
Use shallow_copy, no need in copy_memory. The latter appeared as some last minute solution for a compilation warning on Friday.
2022-03-29Functions: move loops into function buildersJacques Lucke
This simplifies debugging, and can help improve performance by making it easier for the compiler. More optimization might still be possible by using `__restrict` in a few places.
2022-03-29BLI: add utility to convert IndexMask to best mask typeJacques Lucke
2022-03-29Cleanup: use value initialization instead of copying default valueJacques Lucke
Value-initialization has the potential to be more efficient. Also, the code becomes simpler.
2022-03-29BLI: support value initialization in CPPTypeJacques Lucke
Value initialization differs from default-construction in that it also zero-initializes trivial types.
2022-03-29Fix T96701: RMB select fails to show gizmo on mouse button releaseCampbell Barton
Regression in [0] which removed a special check when tweak events ended. Add a similar check for drag events that runs drag is disabled in the main event handling loop. [0]: 4986f718482b061082936f1f6aa13929741093a2
2022-03-29Fix T96582: Wipe effect not workingRichard Antalik
Caused by oversight in 0e38002dd5dd. Constant x/y value was used to calculate transition instead of pixel x/y coords.
2022-03-29Fix T96699: Splitting strip does not copy animationRichard Antalik
Since e49bf4019b49, animation is handled explicitly. Split operator wasn't updated. Re-use backup-duplicate-restore animation functions, that other operators use for splitting.
2022-03-29Fix T96347: Pose gizmo shown at wrong location with multiple objectsCampbell Barton
Regression in [0] error iterating over pose bones which only used the active-object, also follow the same logic as edit-mode for using the local-matrix. [0]: d052169e7e4b84b5d621fcbf15b187a4951f1f70
2022-03-29Fix T96691: Heap corruption in file_browse_execCampbell Barton
Regression in [0], also use pad buffer by 1 instead of 2 which is no longer needed as the trailing slash is no longer added after allocating the string. 0682af0d63a44b050d57bdaf7699e364a311d711
2022-03-29Cleanup: Move two grease pencil files to C++Hans Goudey
This is meant to allow using C++ data structures in this file as a performance improvement. Particularly `Vector` instead of `ListBase` for `duplilist`. This changes builds on all platforms on the buildbot.
2022-03-28Cleanup: Move scene.c to C++Hans Goudey
This is meant to allow using C++ data structures in this file as a performance improvement. Particularly `Vector` instead of `ListBase` for `duplilist`. This change builds and passes tests on all platforms on the buildbot.
2022-03-28Cleanup: Use const mesh argumentsHans Goudey
Also correct an enum value from review of D14475.
2022-03-28Cleanup: Move transform_snap_object.c to C++Hans Goudey
This is meant to allow using C++ data structures in this file as a performance improvement. Particularly `Vector` instead of `ListBase` for `duplilist`. Differential Revision: https://developer.blender.org/D14475
2022-03-28Fix T96728: 'Automatic Constraint' using the wrong orientationGermano Cavalcante
If the `Automatic Constraint` modifier was activated while an axis constraint was already set, the orientation used would be the default orientation of the mode and not that of the scene. This was because the `initSelectConstraint` function was not called in this case and the `Automatic Constraint` mode was enabled by other indirect means. So the solution is to call `initSelectConstraint` in either case and remove these "indirect means" of enabling `Automatic Constraint`.
2022-03-28Transform: avoid excessive recalculation with 'TREDRAW_SOFT'Germano Cavalcante
Contrary to the initial intention (in rB9916e0193c36), `TREDRAW_SOFT` flag, when isolated, is not cleared in `transformApply` and therefore is used in the `drawTransformApply` callback which basically recalculates the `transformation` which finally clears the flag. So remove the `drawTransformApply` callback so `transformApply` is not called when unnecessary. Differential Revision: https://developer.blender.org/D14430
2022-03-28Cleanup/Refactor: remove unused 'SNAP_ONLY_ACTIVE' enum parameterGermano Cavalcante
`SNAP_ONLY_ACTIVE` was implemented in order to be used in the Knife tool, but the project did not go ahead.
2022-03-28Transform: Improve 'absolute grid snap' support detectionGermano Cavalcante
The solution supposedly listed all cases that `absolute grid snapping` was supported. But it ignored some occasions like: Editing Surface objects, Texture Space. List now only the cases where this feature should not be supported.
2022-03-28Cleanup: transform, use early returnsGermano Cavalcante
This makes the flow clearer and avoids many `else` conditions.
2022-03-28Outliner: Don't show indirectly linked Library Overrides propertiesJulian Eisel
The Library Overrides display mode is meant to show overridden properties from the current file only, not library overrides in data-blocks that just were linked in. The upcoming Hierarchies view mode for Library Overrides will also display linked in data-blocks that have overrides in the source file (but not the individual overridden properties), see T95802.
2022-03-28Fix T96812: Regression: Snapping is broken with proportional editingGermano Cavalcante
This was a mistake in the conditional structure introduced in 4b35d6950d4f This commit also adds a new type of snap exclusion: `SNAP_NOT_EDITED`. Thanks to @Ethan1080 for pointing out the error.
2022-03-28Fix T96828: GPencil primitives handlers not workingAntonio Vazquez
Following the logic is not necessary to check the mouse button because the status has changed before.
2022-03-28Cleanup: Use bool literals in return statements of text editor poll functions.Bastien Montagne
2022-03-28Fix various UI messages issues.Bastien Montagne
2022-03-28Fix (unreported) crash in some mesh-from-object code.Bastien Montagne
Crashed e.g. FBX exporter. Mistake in rB0c33e84020deca.
2022-03-28Fix T96670: bake from multires not reflected in the Image Editor.Jeroen Bakker
2022-03-28Cleanup: return success from python_script_error_jumpCampbell Barton
Relying on checks for the assignment of return arguments isn't so clear especially when there are multiple return arguments.
2022-03-28Python: select the start-end range of syntax errorsCampbell Barton
Python 3.10's syntax errors can specify a range. Use this for text editor error selection.