Commit Graph

198 Commits

Author SHA1 Message Date
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Silc Lizard (Tokage) Renew 04dd299cba Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB 2024-04-05 01:28:26 +09:00
Hendrik Brucker a81561cbd9 Add GraphFrame and integrate it in VisualShader 2024-04-04 15:11:00 +02:00
Rémi Verschelde f8bae10be6
Merge pull request #87171 from TokageItLab/retrieve-time-info-from-anim-tree
Rework AnimationNode process for retrieving the semantic time info
2024-03-24 01:12:42 +01:00
Silc Lizard (Tokage) Renew 6dd410854c Rework AnimationNode process for retrieving the semantic time info 2024-03-20 22:52:26 +09:00
Micky 3c371b989f Add autocompletion to AnimationNode 2024-03-01 17:07:02 +01:00
Rémi Verschelde efa4d0aabf
Merge pull request #86321 from jsjtxietian/fix-blendnode-crash
Fix `blend_node` crash with invalid AnimationNode reference
2024-02-22 11:22:56 +01:00
jsjtxietian 65c8af53a1 Fix blend_node crash with invalid p_node 2024-02-22 12:56:21 +08:00
Silc Lizard (Tokage) Renew 772a753960 Fix some animation state corruptions on activate and reset on save 2024-02-19 13:04:22 +09:00
Rémi Verschelde 21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
Silc Lizard (Tokage) Renew bc20fdf16f Add CallbackModeDiscrete to AnimationMixer 2024-02-17 18:25:56 +09:00
RedMser d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yuri Sizov 3fef8910c7 Merge pull request #85575 from TokageItLab/Make-unstore-library
Make unstore AnimationLibrary if AnimationTree is assigned AnimationPlayer
2023-12-16 17:49:43 +01:00
Haoyu Qiu 7946e84187 Make AnimationTree reference AnimationPlayer instead of AnimationMixer 2023-12-16 00:40:44 +08:00
Silc Lizard (Tokage) Renew 5acf6b4ca6 Remove differences of the code between old AnimationTree and Mixer 2023-12-06 02:29:29 +09:00
Silc Lizard (Tokage) Renew c380b1296a Make unstore AnimationLibrary if AnimationTree is assigned Player 2023-12-01 04:50:58 +09:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Hendrik Brucker 5afe78bd9c Clean up/refactor GraphNode and make it more flexible
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
Ninni Pipping dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
lawnjelly b69c8b4791 Single Compilation Unit build.
Adds support for simple SCU build (DEV_ENABLED only).
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-06-06 15:36:51 +01:00
Silc Lizard (Tokage) Renew c9c8205644 Implement NodeSub2 to AnimationTree & improve mathematical Nodes 2023-05-27 13:19:54 +09:00
SaracenOne 18c792fe42 Allocate unique track_blends vector for animation states.
Quick fix for a bug which occurs when blending the result of multiple instanced state machines outputting the same animation, but using filter tracks.
2023-05-18 20:02:43 +01:00
Silc Renew fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
Silc Renew 991e6e90ba Rework StateMachine and nested StateMachine process
Breaking compatibility: If a StateMachineTransition is connected to a nested StateMachine prior to this, it is removed. Also, there was a feature to connect another StateMachine as the End of a StateMachine, which is also removed to avoid reference confusion. It was like a GoTo Statement, also further passing the same reference to the blending process, causing the blending calculation to break or causing some StateMachines to not work.
2023-04-18 19:06:51 +09:00
Silc Renew 7b18ad7d98 Add root motion accumulator to fix broken RootMotionView 2023-02-10 01:22:00 +09:00
Rémi Verschelde 3f02cf7ced
Merge pull request #72722 from TokageItLab/animtree-map
Fix AnimationNodeTransition initialization and AnimationNode remapping method
2023-02-07 08:36:00 +01:00
Silc Renew fff3ae1d89 Fix NodeTransition initialization and AnimationNode remapping method 2023-02-05 06:24:14 +09:00
Silc Renew b9b8130432 Fixed animation audio to play considering time when seeking 2023-02-05 03:57:52 +09:00
Silc Renew 2a39b5bcde Remove meaningless `rename_parameter` in AnimationTree 2023-02-01 23:14:36 +09:00
SaracenOne eff3828896 Force update AnimationTree player cache when AnimationPlayer changes. 2023-01-31 11:32:05 +00:00
Silc Renew d27005f80e Remove the max input limit & cleanup AnimationNodeTransition API 2023-01-30 03:52:55 +09:00
Silc Renew 75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Silc Renew d33fdfcdad Fix AnimationTree MethodTrack discards all process 2023-01-27 17:44:25 +09:00
Silc Renew 9ef2fb3cd4 Make AnimTree/Player processes adopt to GDVIRTUAL 2023-01-26 23:22:57 +09:00
Silc Renew 4e56c2b0b0 Fix spamming audio preview and cleanup process in AnimationPlayer/Tree 2023-01-26 14:09:25 +09:00
Silc Renew 451cb5577d Fix wrong BezierTrack init value 2023-01-22 06:52:40 +09:00
Silc Renew e480262c53 Allow AnimationNodes to restart when transitioning to the same state 2023-01-19 03:10:59 +09:00
Yuri Sizov 82c00c21e6 Simplify some editor plugin logic and remove dead code 2023-01-05 21:04:54 +03:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde ecd895a860
Merge pull request #70278 from TokageItLab/add-animation-started-finished-signal-to-tree
Add `animation_started/finished` signals to `AnimationTree` and fix time accuracy in StateMachine
2022-12-23 09:08:17 +01:00
Silc Renew 060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
Silc Renew 4cd144d5fb Add animation_started/finished signals to AnimationTree 2022-12-21 01:20:22 +09:00
Silc Renew b0eb3b6ebd Add null checks to AnimationTreeEditors and _clear_editors() 2022-12-13 03:06:51 +09:00
Silc Renew af7595a9fb Fix seeking process order to retrieve key correctly for AnimationTrack 2022-12-12 06:27:26 +09:00
Medhat Riad 03474b0985 Avoid error spamming in animation_tree when path is not found 2022-12-07 10:36:12 +01:00
Silc Renew 83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
Rémi Verschelde 10e9a85607
Merge pull request #69336 from TokageItLab/get-anim-keys-more-exactly
Refactor process of animation to retrive keys more exactly
2022-12-02 12:24:24 +01:00
Silc Renew 962b6a3e8f Fix animation signal caches_cleared firing timing 2022-12-02 15:02:36 +09:00
Silc Renew 1fc3833617 Refactor process of animation to retrive keys more exactly 2022-12-01 22:07:47 +09:00