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-28Cleanup: animation, simplify `anim_flush_channel_setting_up()`Sybren A. Stüvel
Simplify `anim_flush_channel_setting_up()` by flipping conditions and returning early. This makes it easier to understand what is actually happening in the code. No functional changes.
2020-09-28Cleanup: animation, split up ANIM_flush_setting_anim_channels()Sybren A. Stüvel
Split up `ANIM_flush_setting_anim_channels()` into smaller functions. This makes it easier to understand how it works, and makes future improvements also easier. No functional changes.
2020-09-25Animation: set Action `idroot` at assignment instead of just at evaluationSybren A. Stüvel
Actions are either locked to a specific ID type, or "floating". Actions in the floating state are now locked when they are assigned to an ID block. Previously (rB94b99b5d4a7c20cf2) this was done at evaluation time, which caused various problems: - The ID type was set on the evaluated copy, and inconsistently flushed back to the original. - A newly created Action could not be assigned to an Action constraint, unless a depsgraph evaluation was be forced first. This is now resolved by calling `BKE_animdata_set_action()` to set the action (instead of direct assignment) where possible, and calling `BKE_animdata_action_ensure_idroot()` otherwise. Manifest Task: https://developer.blender.org/T80986
2020-09-21Implement ID properties support for TimeMarkerSergey Sharybin
Allows scripters to store additional information in the marker itself instead of using work-around approach based on marker names and such. Differential Revision: https://developer.blender.org/D8944
2020-09-19Cleanup: use parenthesis for if statements in macrosCampbell Barton
2020-09-18Fix warning printed when duplicating markerJulian Eisel
Steps to reproduce were: * Create a marker in the timeline * With the mouse over the marker region, press Shift+D The function for moving markers was reused and had handling specific to tweak events. This is not relevant in case of duplicating markers.
2020-09-16NLA: Always Show All StripsWayde Moss
Currently, it's difficult to use the NLA system for users who are only interested in using it as animation layers. Entering tweak mode hides strips which are not evaluated. If the user wanted to edit a different strip, they must exit tweak mode, look for the strip, select it then re-enter tweak mode. Solution: All strips are always shown. The user can now see the next strip they want to start editing. Reviewed By: Sybren, Sebastian Parborg Differential Revision: http://developer.blender.org/D7600
2020-09-16Cleanup: use uint8_t for various flags in curvesJacques Lucke
Previously, it was kind of a mess. In different places it was using `char`, `short` and `int`. The changed properties are flags that are operated upon using bit operations. Therefore, the integer type should be unsigned. Since we only use 2 bits of these flags, `uint8_t` is large enough. Especially note the change I had to make in `RNA_define.h` to make this work. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8844
2020-09-15Cleanup: Remove unneeded parameterNathan Craddock
A parameter was added during development, but it was not needed and was never removed. No functional changes.
2020-09-15UI: Add `icon_only` argument to operator_enumNathan Craddock
Add an option to only draw icons for operator_enum menus. This is used for drawing inline icon buttons in the outliner context menu for collection color tagging. Part of T77408 Differential Revision: https://developer.blender.org/D8880
2020-09-12Cleanup: Remove GLEW dependencies outside of GL moduleClément Foucault
2020-09-09Cleanup: reduce variable scopeJacques Lucke
2020-09-07Fix T80531: Dope Sheet Shape Key Editor search/filter not workingPhilipp Oeser
Looks like this has just not been implemented before. Use the name matching method used in other Dope Sheet UI modes. Maniphest Tasks: T80531 Differential Revision: https://developer.blender.org/D8824
2020-09-07Cleanup: spellingCampbell Barton
Also correct wrapped lines of example code in threads.cc.
2020-09-05Cleanup: spellingCampbell Barton
2020-09-04UI Code Quality: Use derived struct for number buttonsJulian Eisel
For the man rationale behind this design, see 49f088e2d093. Further, this removes users of uiBut.a1/uiBut.a2, which is a very ugly design choice (hard to reason about). Note that I had to do rather ugly, specific exceptions for the number buttons in `ui_def_but_rna()`. But once all users of a1/a2 are removed, this special handling shouldn't be needed anymore. I also had to move a sanity check out of the button definition. It's now moved into a new debug only sanity checking function executed when finishing the layout definition (block end).
2020-09-04Cleanup: Clang-Tidy readability-inconsistent-declaration-parameter-name fixSebastian Parborg
No functional changes
2020-09-04Fix T78084: Search does not accept text fragments everywherePhilipp Oeser
This was reported for the "Add Node" search functionality, but is relevant in other searches as well. So e.g. when searching for "Separate XYZ", typing "sep", then " " (with the intention to type "X" next) would clear the search field. Now use the same method (matching against all search words) as in F3 searching ('menu_search_update_fn') in other searches as well [searching IDs, property objects, finding nodes,...] This should give a much nicer search experience in general. Note: this does not touch other searches in the Dopesheet, Outliner, Filebrowser or User Preferences that have other search implementations. Maniphest Tasks: T78084 Differential Revision: https://developer.blender.org/D8232
2020-08-21Cleanup: spellingCampbell Barton
2020-08-18Cleanup: GPUState: remove double GPU_blend callsClément Foucault
2020-08-18GPUState: GPU_blend final API renamingClément Foucault
We now use GPU_blend for enabling / disabling blending and explicitly set the blend equation.
2020-08-18Cleanup: GPUState: Replace blend func separate by enumClément Foucault
2020-08-18Depsgraph: simplify build APIJacques Lucke
Reviewers: sergey, sybren Differential Revision: https://developer.blender.org/D8611
2020-08-18Cleanup: remove bmain argument from BKE_scene_graph_update_for_newframeJacques Lucke
Reviewers: sergey Differential Revision: https://developer.blender.org/D8613
2020-08-12Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-12Fix T79712: Color Changes do not record in Auto-Key ModePhilipp Oeser
Caused by rBfffba2b6530. In above commit, the buttons rnaindex [-1 for entire arrays like colors] was not used anymore for the entire function body of `ED_autokeyframe_property` (previously in `ui_but_anim_autokey`). Replacing the index with 0 (in the array case) is indeed necessary for `BKE_fcurve_find_by_rna_context_ui`, prior to rBfffba2b6530 this was taken care of by using `ui_but_get_fcurve` instead [which did this internally]. But using an index of 0 (instead of -1) for the entire function body of `ED_autokeyframe_property` fails for the array part later, namely `insert_keyframe` needs -1 here. Now just replace the index for //finding the FCurve//, but use the original for //inserting the keyframe//. Could be backported to 2.83 LTS. Reviewers: campbellbarton, sybren Subscribers:
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-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-01Cleanup: spelling (initialized)Campbell Barton
2020-07-21Cleanup: spellingCampbell Barton
2020-07-20T77086 Animation: Passing Dependency Graph to DriversSybren A. Stüvel
Custom driver functions need access to the dependency graph that is triggering the evaluation of the driver. This patch passes the dependency graph pointer through all the animation-related calls. Instead of passing the evaluation time to functions, the code now passes an `AnimationEvalContext` pointer: ``` typedef struct AnimationEvalContext { struct Depsgraph *const depsgraph; const float eval_time; } AnimationEvalContext; ``` These structs are read-only, meaning that the code cannot change the evaluation time. Note that the `depsgraph` pointer itself is const, but it points to a non-const depsgraph. FCurves and Drivers can be evaluated at a different time than the current scene time, for example when evaluating NLA strips. This means that, even though the current time is stored in the dependency graph, we need an explicit evaluation time. There are two functions that allow creation of `AnimationEvalContext` objects: - `BKE_animsys_eval_context_construct(Depsgraph *depsgraph, float eval_time)`, which creates a new context object from scratch, and - `BKE_animsys_eval_context_construct_at(AnimationEvalContext *anim_eval_context, float eval_time)`, which can be used to create a `AnimationEvalContext` with the same depsgraph, but at a different time. This makes it possible to later add fields without changing any of the code that just want to change the eval time. This also provides a fix for T75553, although it does require a change to the custom driver function. The driver should call `custom_function(depsgraph)`, and the function should use that depsgraph instead of information from `bpy.context`. Reviewed By: brecht, sergey Differential Revision: https://developer.blender.org/D8047
2020-07-13Clang Tidy: enable readability-non-const-parameter warningJacques Lucke
Clang Tidy reported a couple of false positives. I disabled those `NOLINTNEXTLINE`. Differential Revision: https://developer.blender.org/D8199
2020-07-03Clang-tidy: Enable braces-around-statements warningSebastian Parborg
2020-07-03Cleanup: Editors/Animation, 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/animation` module. No functional changes.
2020-06-27Docs: correct invalid doxygen params & referencesCampbell Barton
2020-06-26Fix for T78191: Timeline lines changing thicknessHarley Acheson
Fixes issue where lines in timeline are sometimes double-width when hovering in area. Differential Revision: https://developer.blender.org/D8116 Reviewed by Brecht Van Lommel
2020-06-23Performance: Draw play head as an overlayJeroen Bakker
When playing back animations a playhead is updated in all the animation editors. The drawing of the playhead is part of the drawing of the main region `RGN_TYPE_WINDOW` that redraws the whole region. This change will draw the play head and window scrollers when updating the screen. This affects the Action editor, Timeline, Graph editor, NLA editor and Sequence editor. There is noticeable speedup when using complex animation files. Spring 02_020_A.anim.blend fps went from 11.8 to 12.5 when showing a timeline and a action editor on a Ryzen 1700. * When playing back animation the markers don't jump up/down when near the frame. This could be added back. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D8066
2020-06-15Fix T77116: Current frame indicator text color hardcodedHans Goudey
Draw the text with the "header text highlight" theme color, which is rarely used, making it a good candidate for this special case. Differential Revision: https://developer.blender.org/D7897
2020-06-05Code Cleanup: fcurve function namingJeroen Bakker
2020-06-05CleanUp: Introduce BKE_fcurve_createJeroen Bakker
2020-06-05GPencil: Channel Lock tooltipAntonio Vazquez
After talking with UI team, we decided to change the tooltip.
2020-06-04GPencil: Fix Lock Frame Dopesheet tooltipAntonio Vazquez
The old tooltip was not clear enough
2020-06-03Object: refactor mode switchingCampbell Barton
Functionality here has become confusing over time, this removes duplicate, similar functions, preferring to set the mode instead of toggle, enter, exit. Mode switching utility function behaved differently regarding undo, 'ED_object_mode_toggle' for example didn't skip the undo push where 'ED_object_mode_set' did. Some callers chose these functions based on the intended undo behavior, even when toggling didn't make sense. There was also ED_object_mode_generic_enter which was similar to ED_object_mode_set, instead of the reverse of ED_object_mode_generic_exit. Simplify object mode switching internals: - Replace ED_object_mode_generic_enter with ED_object_mode_set. - Remove ED_object_mode_toggle as nearly all callers needed to check the current mode so toggling would set the mode argument correctly. - Use ED_object_mode_set for the object mode switching operator to simplify logic. - Add ED_object_mode_set_ex which has an argument to disable undo, needed when loading undo data needs to set the mode. - Remove unused ED_object_mode_exit.
2020-06-02Cleanup: Remove Obsolete Current Frame Indicator Drawing CodeHans Goudey
This code was made obsolete by the changes to the animation editor scrubbing areas in D4654. Differential Revision: https://developer.blender.org/D7898
2020-05-15Merge branch 'blender-v2.83-release'Philipp Oeser
2020-05-15Fix T76734: Changing Envelope FModifier controlpoints missing updatePhilipp Oeser
Issue is that update functions defined in `rna_def_fmodifier_envelope_ctrl` (namely `rna_FModifier_update`) are actually never called. This is because UI code for FCurve modifiers often does not use RNA buttons but uses custom update functions (or non at all). For example, rB9a88bd55903a did this for the generators, envelope control points did not have this at all. This is now changed to use RNA buttons for the envelope control points, this could done for other non-RNA buttons as well to get rid of 'validate_fmodifier_cb()'. Maniphest Tasks: T76734 Differential Revision: https://developer.blender.org/D7732
2020-05-12UI/Animation: Don't change Graph Editor cursor from scrubbing regionJulian Eisel
Do not execute the operator to change the Graph Editor cursor when changing the active frame through the scrubbing region. This is not what users expect, see T76599. Removes an explicit exception to not let the regular frame change operator execute in the Graph Editor. It was needed to let the cursor operator run instead, but the interplay between the two operators is now handled at keymap level. Fixes T76599.
2020-05-08Fix T76498: Refactoring - Rename BKE modifiers funtionsAntonio Vazquez