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-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-17Cleanup: spellingCampbell Barton
2019-08-14Fix T68487: double free when inserting keyframe outside of action clip rangeJacques Lucke
2019-07-31Animation: Remove depsgraph argument from a lot of APISergey Sharybin
Use explicit boolean flag to indicate whether flush to original data is needed or not. Makes it possible to avoid confusion on whether an evaluated or any depsgraph can be passed to the API. Allows to remove depsgraph from bAnimContext as well. Reviewers: brecht Differential Revision: https://developer.blender.org/D5379
2019-07-31Animation: Remove depsgraph argument from direct keyframingSergey Sharybin
It was used to access evaluated object and pose and was done prior to implementation of flushing values back to original data for an active dependency graph. Removing the argument allows to simplify API and solve issues with accessing missing dependency graph on redo.
2019-07-19Fix T63090: Delete keyframe reports invalid for multiple objectsCampbell Barton
2019-07-07Cleanup: spellingCampbell Barton
2019-06-28Fix T66224: Grammar in Key Set error messagesAaron Carlisle
2019-06-04Fix status bar and keymap editor showing Call Menu instead of menu nameBrecht Van Lommel
2019-05-16Fix T64681: evaluate curves with generative modifiers and no keys.Alexander Gavrilov
Introduce a new function and use it everywhere, including automatic curve deletion checks to guarantee consistency.
2019-05-11Python API: expose more keyframing flags for use in keyframe_insert.Alexander Gavrilov
Expose REPLACE and CYCLE_AWARE, and add AVAILABLE for completeness. These flags are generic and safe to use, and necessary to match the behavior of certain UI options.
2019-05-02Fix T63904: Remove Animation should remove empty actions from objects.Alexander Gavrilov
2019-04-29Cleanup: comments (long lines) in editorsCampbell Barton
2019-04-22Cleanup: style, use braces for editorsCampbell Barton
2019-04-21Cleanup: comments (long lines) in editorsCampbell 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-04-16Cleanup: trailing commasCampbell Barton
2019-04-14Cleanup: doxy commentsCampbell Barton
Use doxy references to function and enums, also correct some names which became out of sync.
2019-04-10Keyframing: add operators that use keying-set ID'sCampbell Barton
Unfortunately we can't use insert/delete_keyframe operators in keymaps because the enums aren't known at the time of keymap registration and the keying sets are dynamic and use a poll function. Add a version of insert/delete operators that takes a string instead of an enum. Needed for D4626. Also extract int to keying-set into a utility function.
2019-03-29Fix T62908: Missing update when inserting keyframe from dopesheetSergey Sharybin
2019-03-20Fix T62750: Deleted Keyframe Still Affects SceneSergey Sharybin
Missing ID recalc tag.
2019-03-13Fix T58721: Keyframing one transform option reset other transformsSergey Sharybin
Use dedicated flag to tag animation just for copy-on-write synchronization, which makes it so copies of the original data blocks gets in sync with the original ID. This will not flush the animation update to all objects which depend on that animation. If such flush is required, use ID_RECALC_ANIMATION. Reviewers: brecht Reviewed By: brecht Differential Revision: https://developer.blender.org/D4508
2019-02-28Fix T62012: Non-animated property, stuck in previously keyframed valuesSergey Sharybin
Was missing ID recalc tag.
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-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: comment line length (editors)Campbell Barton
Prevents clang-format wrapping text before comments.
2019-01-14Keyframing: refactor insertion code to allow property-global NLA tweaks.Alexander Gavrilov
Supporting a strip blending type that treats quaternions as a unit also means being able to adjust all sub-channels as a unit when inserting keyframes. This requires refactoring keyframe insertion code to retrieve array property values for all channels at once, before iterating over the indices being inserted.
2018-12-24Fix/cleanup another bunch of UI messages issues.Bastien Montagne
Also (mostly in comments): behaviour -> behavior (we use American English).
2018-12-14NLA: insert keyframes correctly for strips with non-Replace mode.Alexander Gavrilov
NLA strips support using the keyframe values in a variety of ways: adding, subtracting, multiplying, linearly mixing with the result of strips located below in the stack. This is intended for layering tweaks on top of a base animation. However, when inserting keyframes into such strips, it simply inserts the final value of the property, irrespective of these settings. This in fact makes the feature nearly useless. To fix this it is necessary to evaluate the NLA stack below the edited strip and correctly compute the raw key that would produce the intended final value, according to the mode and influence. Differential Revision: https://developer.blender.org/D3927
2018-12-08User Interface: Add button color for indicating that the value differs from ↵Lukas Stockner
the interpolated one One issue that especially newer users often run into is that they accidentally reset changes to the scene by switching frame without creating a keyframe first. Therefore, this commit adds a new color that is used to draw properties if their current value differs from the one that would be set when switching to this frame. This works both for existing keyframes as well as for currently interpolated frames. Unfortunately the flags in but->flag are full, so I had to move the new flag to but->drawflag and pass that to all relevant functions. I went with orange for the color since afaics it fits with the green and yellow that are currently used for keyframe states and since it's somewhat reddish to signify that there might be something to look out for here. Reviewers: campbellbarton, #user_interface, brecht Reviewed By: campbellbarton Subscribers: brecht, predoe Differential Revision: https://developer.blender.org/D3949
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings
2018-12-04Fix T58117: Crash with keyframing, take twoSergey Sharybin
More operators need to become aware of action possibly being gone.
2018-12-04Fix T58117: Crash with keyframingSergey Sharybin
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-11-06Implement an Armature constraint that mimics the modifier.Alexander Gavrilov
The main use one can imagine for this is adding tweak controls to parts of a model that are already deformed by multiple other major bones. It is natural to expect such locations to deform as if the tweaks aren't there by default; however currently there is no easy way to make a bone follow multiple other bones. This adds a new constraint that implements the math behind the Armature modifier, with support for explicit weights, bone envelopes, and dual quaternion blending. It can also access bones from multiple armatures at the same time (mainly because it's easier to code it that way.) This also fixes dquat_to_mat4, which wasn't used anywhere before. Differential Revision: https://developer.blender.org/D3664
2018-10-31Cleanup: styleCampbell Barton
2018-10-31Add an option to do keyframe insertion in a cycle-aware fashion.Alexander Gavrilov
When enabled, inserting keyframes into F-Curves with simple cyclic extrapolation (the same conditions as required for cycle-aware auto handle smoothing to activate) will take the cycle into account: - Keyframes that are being inserted outside of the cycle bounds are remapped to be inside the cycle. Thus it is not necessary to be within the main iteration of the cycle when tweaking. This becomes especially useful in the final animation tweaking phase when the channel keys may be staggered for overlap, so the actual master period is different for different channels. - Modifying one of the end points of a cycle also changes the other end point when appropriate, to preserve smooth transition. This feature applies to both manual keyframe insertion using 'I', and auto-keyframing. Differential Revision: https://developer.blender.org/D3140
2018-10-22Followup to previous change, reduce number of relations updatesSergey Sharybin
Only tag relations update when new f-curve was allocated. This solves possible too slow keyframe insertion when doing character animation, but still does proper relation update when new ID component became animated.
2018-10-22Depsgraph: Fix missing relation updateSergey Sharybin
The issue was happening when adding animation to properties which affects different components of IDs. Reported by Philipp Oeser as part of T56636.
2018-10-22Mark TODO/XXX as solvedSergey Sharybin
We do have proper access to bmain now.
2018-09-27Merge branch 'master' into blender2.8Brecht Van Lommel
2018-09-27Spelling fixes in comments and descriptions, patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3732
2018-07-03Fix T55709: Pose Library - Add New Pose crashesSybren A. Stüvel
2018-07-02Merge branch 'master' into blender2.8Campbell Barton
2018-07-02Cleanup: use bool for poll functionsCampbell Barton
2018-06-11Drivers: ensure Python expressions are cached with copy-on-write.Brecht Van Lommel
Store the compiled expressions on the original driver. Ref T55442.
2018-06-08Fix T55404: Auto key with only-available doesn't workSergey Sharybin
2018-06-07Merge branch 'master' into blender2.8Bastien Montagne
Conflicts: source/blender/editors/animation/anim_deps.c source/blender/editors/animation/keyframing.c source/blender/editors/animation/keyingsets.c source/blender/editors/armature/pose_edit.c source/blender/editors/armature/pose_transform.c source/blender/editors/gpencil/gpencil_convert.c source/blender/editors/include/ED_anim_api.h source/blender/editors/include/ED_keyframing.h source/blender/editors/interface/interface_anim.c source/blender/editors/space_action/action_edit.c source/blender/editors/space_graph/graph_edit.c source/blender/editors/space_outliner/outliner_draw.c source/blender/editors/transform/transform_conversions.c source/blender/makesrna/intern/rna_armature.c source/blender/makesrna/intern/rna_pose.c source/blender/python/intern/bpy_rna_anim.c source/blenderplayer/bad_level_call_stubs/stubs.c source/gameengine/Converter/KX_BlenderSceneConverter.cpp