96 Commits

Author SHA1 Message Date
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Rémi Verschelde
6d4c2d002d Revert "Use AHashMap for RBMap nodes and HashMap input_activity"
This reverts commit c91c604eaa66d2307d13655ce513392e3bae77d6.

This caused a critical regression:

- Fixes #102374.
2025-02-04 20:41:29 +01:00
Nazarii
c91c604eaa Use AHashMap for RBMap nodes and HashMap input_activity 2025-01-14 19:35:42 +02:00
Yyf2333
2f9a6636bd Convert Vector to LocalVector in animation system.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:50:48 +08:00
Thaddeus Crews
3c6896fd2a
Merge pull request #99181 from GuilhermeGSousa/animation-node-extension
Add animation node extension
2024-12-13 16:19:30 -06:00
Guilherme Sousa
d7462d223c Add animation node extension 2024-12-05 04:27:16 -08:00
rune-scape
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
Silc Lizard (Tokage) Renew
0c1f970adb Add advance_on_start option to NodeAnimation 2024-11-12 04:40:15 +09:00
Thaddeus Crews
598cfbdfd6
Merge pull request #97020 from GuilhermeGSousa/fix-non-const-anim-node-process
Fix non const animation node `_process` virtual function
2024-10-29 19:26:00 -05:00
Guilherme Sousa
ec62978dd0 Fix non const animation node process function 2024-10-26 17:56:51 +02:00
nazarii
76208f7155 Implement array based hash map 2024-10-24 21:34:12 +03:00
nazarii
3580ced21e Optimize animations 2024-08-30 19:18:56 +03:00
Silc Lizard (Tokage) Renew
4de79fed45 Determine break_loop_at_end 1 frame earlier using prediction by delta 2024-07-28 15:55:41 +09:00
Silc Lizard (Tokage) Renew
88e590c9d3 Add approx comparing methods to Animation, use them on time comparison 2024-07-24 01:18:06 +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
21f0529aa9
Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa450d77edb30df2bb1c77bd7bc45befc.
2024-02-17 19:03:21 +01:00
RedMser
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01: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
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
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
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
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
Silc Renew
fff3ae1d89 Fix NodeTransition initialization and AnimationNode remapping method 2023-02-05 06:24:14 +09:00
Silc Renew
2a39b5bcde Remove meaningless rename_parameter in AnimationTree 2023-02-01 23:14:36 +09:00
Silc Renew
d27005f80e Remove the max input limit & cleanup AnimationNodeTransition API 2023-01-30 03:52:55 +09:00
Silc Renew
fa198c482e Fix AnimatedSprite play() don't redraw immediately 2023-01-29 08:00:42 +09:00
Silc Renew
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Silc Renew
9ef2fb3cd4 Make AnimTree/Player processes adopt to GDVIRTUAL 2023-01-26 23:22:57 +09:00
Silc Renew
e480262c53 Allow AnimationNodes to restart when transitioning to the same state 2023-01-19 03:10:59 +09: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
Silc Renew
1fc3833617 Refactor process of animation to retrive keys more exactly 2022-12-01 22:07:47 +09:00
Rémi Verschelde
12f0660518
Merge pull request #68992 from TokageItLab/animtree-trackend-process
Refactor process of AnimationTree for end of animation
2022-11-28 14:49:19 +01:00
Silc Renew
09adf5f20e Fix broken root motion scale and refactor API 2022-11-26 17:26:10 +09:00
Rémi Verschelde
a8a88194a5
Merge pull request #68993 from TokageItLab/fix-anim-blending-for-DISCRETE-mode
Fix animation blending for value track `UPDATE_DISCRETE` and `UPDATE_TRIGGER` mode
2022-11-23 10:25:19 +01:00
Silc Renew
c1ec99f0e1 Refactor process of AnimationTree for end of animation 2022-11-22 18:12:45 +09:00
Silc Renew
dce3e07fb2 Fix animation blending for value track DISCRETE/TRIGGER mode 2022-11-22 17:39:29 +09:00
Silc Renew
17ce879a15 Optimize animation blend tree process 2022-11-16 02:52:04 +09:00
Dave Palais
0c46068af0 Change time parameters and variables to double type
Addresses #65313
2022-09-26 13:52:54 -05:00
Marc Gilleron
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
Silc Renew
cff95e54e0 Fix redraw timing in AnimationBlendTreeEditor 2022-09-14 21:05:21 +09:00
Silc Renew
931fb4dc11 Add linear/cubic angle interpolation to Animation interpolation type 2022-08-27 07:58:22 +09:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Silc Renew
dde235ad82 add position track normalization & post process key value for retarget 2022-07-26 18:48:08 +09:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Silc Renew
9be288edf9 refactor sync in AnimationTree 2022-07-16 21:45:32 +09:00