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-03-06Cleanup: Image: Move to IDTypeInfo and remove unused BKE API.Bastien Montagne
2020-03-06Bring back code accidentally removed by previous commitJulian Eisel
Probably got lost when resolving merge conflicts.
2020-03-06Cleanup: Reduce context usage in UI functionsJulian Eisel
Part of https://developer.blender.org/T74429. There's a chance that this causes some issues becaue in some cases we change from getting the window from context to getting it from somewhere else.
2020-03-06Cleanup: move Alembic, AVI, Collada, and USD to `source/blender/io`Sybren A. Stüvel
This moves the `alembic`, `avi`, `collada`, and `usd` modules into a common `io` directory. This also cleans up some `#include "../../{somedir}/{somefile}.h"` by adding `../../io/{somedir}` to `CMakeLists.txt` and then just using `#include "{somefile}.h"`. No functional changes.
2020-03-06Cleanup: Move Multiplane Scrape brush to its own filePablo Dobarro
2020-03-06Sculpt: Cleanup, remove macro re-definitionSergey Sharybin
2020-03-06Cleanup: Use the SCULPT_ prefix in all sculpt_intern functionsPablo Dobarro
2020-03-06Nodes: Support storing socket link limits in bNodeSocketTypeJacques Lucke
Currently the link limit of sockets is stored in bNodeSocket->limit. This allows for a lot of flexibility, but is also very redundant. In every case I've had to deal with so far, it would have "more correct" to set the link limit per socket type and not per socket. I did not enforce this constraint yet, because the link limit is exposed in the Python API, which I did not want to break here. In the future it might even make sense to only support only three kinds of link limits: a) no links, b) at most one link, c) an arbitrary number links links. The other link limits usually don't work well with tools (e.g. which link should be removed when a new one is connected?) and is not used in practice. However, that is for another day. Eventually, I would like to get rid of bNodeSocket->limit completely and replace it either with fixed link limits or a callback in bNodeSocketType. This patch consists of three parts: **1. Support defining link limit in socket type** This introduces a new `nodeSocketLinkLimit` function that serves as an indirection to hide where the link limit of a socket is defined. **2. Define link limits for builtin sockets on socket type** Data sockets: one input, many outputs Virtual sockets: one input, one output Undefined sockets: many inputs, many outputs (to avoid that links are removed when the type of the socket is not known) **3. Remove `bNodeSocketTemplate->limit`** This wasn't used anymore after the second commit. Removing it simplifies socket definitions in hundreds of places and removes a lot of redundancy. Differential Revision: https://developer.blender.org/D7038 Reviewers: brecht
2020-03-06CodeCleanup: move include statements before extern "C"Jeroen Bakker
Mistake on recent changes that would fail when used in CPP.
2020-03-06CodeCleanup: Use eDrawTypeJeroen Bakker
This patch will make use of the eDrawType where it was used as a variable or parameter name. The eObjectDrawType was renamed to eDrawType as it is also used by `View3DShading.type`.
2020-03-06Cleanup: move camera, lights, world to IDTypeInfoBrecht Van Lommel
2020-03-06CodeCleanup: Added enums to opengl render functionsJeroen Bakker
Motivation the functions get 3 different kind of flag parameters (ImBuf, DrawType, OffscreenRendering) the naming of the flags were not clear, leading to mistakes and unnecessary time spend debugging.
2020-03-06Animation: improved error handling when adding/deleting keyframesSybren A. Stüvel
There are two ways in which adding/deleting keyframes can fail, but only one of those was handled. The other would be shown as a successful add/delete of -2 keyframes.
2020-03-06Cleanup: Animation, renamed and clarified 'success' variableSybren A. Stüvel
The `ANIM_apply_keyingset()` returns a value that indicates the number of changed channels (if nonnegative) or an error state (negative). In the places where the return value was actually used, this value was stored in a badly named variable.
2020-03-06Keymap: ignore repeat events for transform actionsCampbell Barton
Resolves T54297
2020-03-06Cleanup: typo in function namePhilipp Oeser
contect -> context
2020-03-06Cleanup: keyframing return argumentsCampbell Barton
- Use 'int' for counters instead of short. - Use 'bool' instead of a counter when only a change is being detected. - Use typed enum for keying set flags. - Include in comments when a negate error code may be returned.
2020-03-06Cleanup: remove unused 'eInsertKeyFlags' from delete API callCampbell Barton
There is no need for an insertion flag in a delete function.
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-06Cleanup: rename 'verify' to 'ensure' for BKE_image_viewer functionsCampbell Barton
2020-03-06Cleanup: use 'BKE_' prefix for BKE_deform API callsCampbell Barton
- Use 'BKE_object_defgroup' prefix for object functions. - Rename 'defvert_verify_index' to 'defvert_ensure_index' since this adds the group if it isn't found.
2020-03-06Cleanup: use BLI_strnlen instead of strlenCampbell Barton
2020-03-06Cleanup: clang-formatCampbell Barton
2020-03-06Cleanup: use MEM_recallocN_idCampbell Barton
2020-03-06Cleanup: spellingCampbell Barton
2020-03-06Cleanup: redundant-decls warningCampbell Barton
2020-03-06UI: Using Consistent Font Icon in File BrowserHarley Acheson
Use only one font icon in File Browser for all platforms. Correct mistake to allow this icon to be used. Differential Revision: https://developer.blender.org/D7037 Reviewed by Brecht Van Lommel
2020-03-05Sculpt Face SetsPablo Dobarro
Face Sets are the new system to control the visibility state of the mesh in sculpt and paint modes. They are designed to work in modes where brushes are the primary way of interaction and they provide much more control when working with meshes with complex shapes and overlapping surfaces. This initial commit includes: - Sculpt Face Sets data structures and PBVH rendering. - Face Set overlay and opacity controls. - Sculpt Undo support. - Remesher reprojection support. The visibility state of the mesh is also preserved when remeshing. - Automasking and Mesh filter support. - Mask expand operator mode to expand Face Sets (Shift + W) and flood fill areas by connectivity (press Ctrl while expanding). - Sculpt Mode Face Sets and Visibility API. - Sculpt Face Sets creation and visibility management operators. - Operator to randomize the Face Sets colors. - Draw Face Sets brush tool to create and edit the Face Sets. Drawing on the mesh creates a new Face Set. Pressing Ctrl before drawing modifies the Face Set under the brush at the beginning of the stroke. - Updated keymap and menu to work with Face Sets from Sculpt Mode (H to toggle visibility, Alt + H to show all, Shit + H to hide). - Pie menu on the W key with Face common Sets operations. Know limitations: - Multires support. The Face Sets and Visibility API needs to be implemented for Multires. Reviewed By: jbakker, #user_interface, Severin Differential Revision: https://developer.blender.org/D6070
2020-03-05UI: File Browser FavoritesHarley Acheson
Adding more Windows special folder locations, used when browsing or bookmarking. Differential Revision: https://developer.blender.org/D7014 Reviewed by Brecht Van Lommel
2020-03-05UI: Mac File Browser System List ChangesYevgeny Makarov
Nicer icons for File Browser System and Favorites lists on Mac. Differential Revision: https://developer.blender.org/D6398 Reviewed by Brecht Van Lommel
2020-03-05Fix T74332: selection sync replacing parent selectionNathan Craddock
Selecting certain child datablocks also selects the parent (e.g. selecting a pose bone selects the armature). The base was selected, but the outliner tree element was left unselected. The subsequent selection sync would then deselect the parent base because it was not flagged as selected in the outliner. This led to issues like T74332 where selecting a pose bone in the outliner did not show drivers in the driver editor unless the armature was explicitly added to the selection afterwards. The solution is to also flag the outliner elements as selected when selecting parent bases. Differential Revision: https://developer.blender.org/D7029
2020-03-05Cleanup: Clarified commentSybren A. Stüvel
No functional changes.
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-04Cleanup: replace unnecessary MEM_callocN callsCampbell Barton
Use MEM_mallocN when memory is immediately copied over.
2020-03-04Fix T74434: Video Sequencer: Alt+ clicking (assign to all selected) doesPhilipp Oeser
not work for unlocking Special case for when we do this on "lock": - locked sequences are not in "selected_editable_sequences" - use "selected_sequences" in that case Maniphest Tasks: T74434 Differential Revision: https://developer.blender.org/D7023
2020-03-04Fix T71578: knife tool draws some points incorrectlyJacques Lucke
D6417 by @fbessou
2020-03-04Fix T74426: Crash in the IK Pose Brush preview with null preview chainPablo Dobarro
After switching tools, the active vertex can be the same and the cursor won't update the previews, so the pose_ik_chain_preview will be null. This often happens in low poly meshes where chances of hovering the same vertex are high. Reviewed By: sergey Maniphest Tasks: T74426 Differential Revision: https://developer.blender.org/D7021
2020-03-04Cleanup: spellingCampbell Barton
2020-03-04Refactor ID make local to use a single flag parameter.Bastien Montagne
Instead of using anonymous booleans flags, also allows to keep the same behavior in all cases, without needing special handling from calling code for our beloved oddballs object proxies...
2020-03-04Cleanup: Rename 'make local' functions to new scheme.Bastien Montagne
Also removed some only used locally from the header, `BKE_lib_id.h` is already way too big, no need to overload it with unused things.
2020-03-04UI: rename View Selected" to "Frame Selected"Asad-ullah Khan
Addresses T74331
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-03-04Cleanup: avoid the term old when storing/restoring context variablesCampbell Barton
2020-03-04Cleanup: replace CLAMP macros with functionsCampbell Barton
2020-03-04Cleanup: replace commented code with define checkCampbell Barton
Avoids duplicated comments, also quiet warning accessing non-existing variable.
2020-03-03Fix T72028: Crash switching to vertex paintPhilipp Oeser
This would happen when done from editmode, on a mesh with any modifier, after adding/removing geometry in editmode. Similar to rBba0870713b9b (which did this for weightpaint and sculpt already), ensure an evaluated depsgraph, otherwise 'runtime.mesh_deform_eval' would not be up to date causing problems later. Maniphest Tasks: T72028 Differential Revision: https://developer.blender.org/D7011
2020-03-03IDs: change FILTER_ID_* to 64 bit to make space for new ID typesBrecht Van Lommel
And change file browser to boolean from bitflag enum, which is only 32 bit. Differential Revision: https://developer.blender.org/D7004
2020-03-03Fix Snake Hook rake on rotated objectsPablo Dobarro
It was missing this local space conversion before calculating the rake angle. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7008
2020-03-03Fix T71871: Quadriflow remesh operator don't stack operationsSebastian Parborg
Made an explicit call to the exec function be a blocking call and a call from invoke (or otherwise) be nonblocking. Reviewed By: Bastien Differential Revision: http://developer.blender.org/D7006