Juan Linietsky
1c93606e47
Add ValidatedCall to MethodBind
...
* This should optimize GDScript function calling _enormously_.
* It also should simplify the GDScript VM considerably.
NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
2023-04-30 20:01:26 +02:00
Yuri Sizov
0562decf34
Unexpose AnimationTrackEditPlugin as not implemented
2023-04-25 11:38:17 +02:00
Silc Renew
fac8a918f9
Expose interpolation methods for 3D track in Animation class
2023-04-25 01:45:14 +09:00
Rémi Verschelde
13544fb508
Merge pull request #75759 from TokageItLab/reimplement-grouped-statemachine
...
Rework for nested `AnimationNodeStateMachine`
2023-04-24 16:44:21 +02: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
yedpodtrzitko
c01d2902d9
optimize blend position search
2023-04-08 18:49:06 +07:00
kobewi
20f03884f2
Various Tween code improvements
2023-04-03 15:40:02 +02:00
John Pennycook
4cb2085543
Add get_loops_left() function to Tween
...
Implements godotengine/godot-proposals#5141 .
Adds a new get_loops_left() function to Tween, allowing developers to
reason about how many times a tweening sequence will repeat and whether
to expect finished or loop_finished as the next signal.
Co-authored-by: Tomek <kobewi4e@gmail.com>
2023-03-20 20:49:31 -07:00
kobewi
45f4d59fa4
Check for type mismatch in PropertyTweener.from()
2023-02-28 17:16:56 +01:00
Silc Renew
ae5dadc8d1
Refactor NodeTransition/OneShot to handle seek/filter correctly
2023-02-13 10:04:51 +09:00
kobewi
17fe5c2b23
Fix tween_method() type validation
2023-02-12 22:08:25 +01:00
Rémi Verschelde
9075d5e932
Merge pull request #73120 from TokageItLab/fix-transition-reset-fade
...
Fix remaining fade doesn't clear when reset in AnimationNodeTransition
2023-02-11 22:03:35 +01:00
Silc Renew
7bf83a8603
Fix NodeOneShot fade-out doesn't blend animations correctly
2023-02-12 04:32:40 +09:00
Silc Renew
2a0beb1ef3
Fix remaining fade doesn't clear when reset in AnimationNodeTransition
2023-02-12 04:12:15 +09:00
Rémi Verschelde
cac4cda89b
Merge pull request #73024 from TokageItLab/fix-transtition-first-frame
...
Fix broken first frame of `NodeTransition`/`NodeOneShot` when xfade is 0
2023-02-10 15:08:34 +01:00
Haoyu Qiu
26581ca574
Add some missing translatable editor strings
2023-02-10 16:55:50 +08:00
Silc Renew
836d62f0c6
Fix broken first frame of NodeTransition/NodeOneShot when xfade is 0
2023-02-10 13:57:11 +09:00
Silc Renew
7b18ad7d98
Add root motion accumulator to fix broken RootMotionView
2023-02-10 01:22:00 +09:00
Markus Sauermann
826e54fa73
Some code simplifications
...
1. `number_width` isn't used later
2. `return_type` is used only once
3. AudioServer::get_singleton()->get_channel_count() always returns a channel_count of 1 or larger
4. negative `aa->backward` conditional
5. `current_canvas` == `find_world_2d()->get_canvas()`
6. identical if `render_shadows`
2023-02-07 14:30:16 +01: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
Rémi Verschelde
1d61150f8f
Merge pull request #72509 from TokageItLab/seekcon
...
Consistent with NodeTimeSeek parameters OtherNodes
2023-02-02 16:27:19 +01:00
Silc Renew
2a39b5bcde
Remove meaningless rename_parameter
in AnimationTree
2023-02-01 23:14:36 +09:00
Silc Renew
6782edd5a4
Consistent with NodeTimeSeek parameters OtherNodes
2023-02-01 20:58:36 +09:00
Rémi Verschelde
d8e71dc51a
Merge pull request #72450 from TokageItLab/optional-restart
...
Make restart in NodeStateMachine / NodeTransition optional
2023-02-01 07:24:05 +01:00
Silc Renew
4525181c2d
Make restart in NodeStateMachine / NodeTransition optional
2023-02-01 03:57:11 +09:00
Rémi Verschelde
92a6586fb6
Merge pull request #72396 from TokageItLab/bs1dconsist
...
Consistent with NodeBlendSpace1D option NodeBlendSpace2D
2023-01-31 15:55:53 +01:00
SaracenOne
eff3828896
Force update AnimationTree player cache when AnimationPlayer changes.
2023-01-31 11:32:05 +00:00
Rémi Verschelde
73c1fa9826
Merge pull request #72383 from MewPurPur/correct-tween-errors
...
Fix error messages for {}Tweener.new()
2023-01-30 20:27:06 +01:00
Silc Renew
a0c4f849e0
Consistent with NodeBlendSpace1D option NodeBlendSpace2D
...
Co-authored-by: Skrapion <rick@firefang.com>
2023-01-31 02:14:55 +09:00
VolTer
5313bc90f6
Fix error messages of {}Tweener.new()
2023-01-30 17:58:20 +01:00
Rémi Verschelde
551f5191e5
Merge pull request #72388 from TokageItLab/transition-reset-each
...
Allow the Reset option of NodeTransition to be set for each Input
2023-01-30 17:35:00 +01:00
Silc Renew
2dd3abd0c5
Allow the Reset option of NodeTransition to be set for each Input
2023-01-31 00:40:45 +09:00
Silc Renew
f8d529a232
Allow seek() without assigned animation in AnimationPlayer
2023-01-30 23:54:20 +09:00
Rémi Verschelde
38f8411ed8
Merge pull request #71964 from bruvzg/mat_key
...
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D.
2023-01-30 10:03:49 +01: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
Rémi Verschelde
91c0ed5e33
Merge pull request #71907 from TokageItLab/change-animated-sprite-api
...
Make `AnimatedSprite`'s playback API consistent with `AnimationPlayer`
2023-01-27 10:32:23 +01: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
17bf6238fc
Make AnimatedSprite's playback API consistent with AnimationPlayer
2023-01-26 12:40:19 +09:00
SaracenOne
02a82c9531
Add indicator for state machine transition fade progress and position of state transitioning from.
2023-01-25 10:17:55 +00:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
bruvzg
1c774a6083
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D.
2023-01-24 12:24:53 +02:00
Rémi Verschelde
285e6ed9a5
Merge pull request #71840 from TokageItLab/fix-travel-reset
...
Fix weird behavior of teleporting to self-state when `reset_on_teleport` is `false` in StateMachine
2023-01-22 11:08:57 +01:00
Rémi Verschelde
c0f35a8db1
Merge pull request #71839 from TokageItLab/expose-fading-from-statemachine
...
Expose `fading_from` from StateMachine
2023-01-22 11:08:34 +01:00
Rémi Verschelde
813d7c417b
Merge pull request #71823 from TokageItLab/fix-bezier-init
...
Fix wrong BezierTrack init value
2023-01-22 11:08:09 +01:00
Silc Renew
a6d8afc90c
Fix weird behavior of teleporting to self-state when reset is false
2023-01-22 16:16:48 +09:00
Silc Renew
8b04f58604
Expose fading_from_node from StateMachine
2023-01-22 15:50:53 +09:00
Silc Renew
451cb5577d
Fix wrong BezierTrack init value
2023-01-22 06:52:40 +09:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
Silc Renew
3bb298b78a
Fix max limit of AnimationNodeTransition input count in the inspector
2023-01-21 14:57:36 +09:00
Rémi Verschelde
d919d77367
Merge pull request #71418 from TokageItLab/restart-anim-tree
...
Allow AnimationStateMachine / AnimationNode to restart when transitioning to the same state
2023-01-19 21:52:35 +01:00
Rémi Verschelde
a202f5104f
Merge pull request #71264 from TokageItLab/improve-statemachine
...
Add next/reset function to `AnimationStateMachine`
2023-01-19 21:52:05 +01:00
Silc Renew
e480262c53
Allow AnimationNodes to restart when transitioning to the same state
2023-01-19 03:10:59 +09:00
Silc Renew
8bfaf098c7
Add next/reset function to AnimationStateMachine
2023-01-19 03:10:45 +09:00
Silc Renew
d16004f297
Add p_keep_state to AnimationPlayer::stop()
2023-01-19 01:05:46 +09:00
kobewi
1260cb0bfb
Improve empty Tween error message
2023-01-16 10:30:21 +01:00
kobewi
b58111588a
Add EditorUndoRedoManager singleton
2023-01-16 01:11:52 +01:00
Tomasz Chabora
4668a186db
Reset animation on playback stop
2023-01-13 13:41:37 +01:00
kobewi
f64dd732b8
Improve some Tween internals
2023-01-11 14:08:14 +01:00
kobewi
da9396881e
Split pause() from AnimationPlayer's stop()
2023-01-11 14:03:31 +01: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
d322c154a6
Merge pull request #70795 from KoBeWi/TweenCounted
...
Improve `RefCounted` support in `Tween`
2023-01-05 12:56:53 +01:00
kobewi
a6e02f149f
Improve RefCounted support in Tween
2023-01-01 18:45:17 +01:00
Silc Renew
74e0903bb8
Fix wrong AnimationStateMachine process for end of fading
2022-12-26 13:08:08 +09: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
Rémi Verschelde
8eec9f7d3c
Merge pull request #69797 from TokageItLab/time-edit-inspector-plugin
...
Animation: Add inspector plugin for key time edit & Change `track_find_key()` argument to find key with approximate
2022-12-23 09:07:15 +01:00
Rémi Verschelde
9b4888b7c9
Merge pull request #65312 from SaracenOne/auto_advance_behaviour
...
Make auto-advance flag a requirement for conditional/expression evaluation
2022-12-23 09:05:49 +01:00
Rémi Verschelde
d894fa8ba3
Merge pull request #37001 from jitspoe/master.anim_blend_fix
...
Fix for short animation blend taking too long when played during a long animation blend.
2022-12-22 08:51:06 +01:00
Silc Renew
060fb2d093
Add inspector plugin for key time edit & Change find key argument
2022-12-22 10:03:06 +09:00
jitspoe
7a7f5a2216
Fix animation blending bug where an animation with a short blend time played immediately after an animation with a long blend time would play with a long blend time or cause popping/incorrect animation positions.
2022-12-21 17:40:44 -05:00
Silc Renew
95abe32b76
Fix StateMachine cannot connect nodes bug
2022-12-21 06:30:33 +09:00
Silc Renew
4cd144d5fb
Add animation_started/finished signals to AnimationTree
2022-12-21 01:20:22 +09:00
Silc Renew
bd0541c25b
Fixed a bug where negative Blend values were being discarded
2022-12-20 03:41:57 +09:00
SaracenOne
092dbe52a9
Change auto_advance flag to advance_mode enum and unify with disabled flag.
...
Expressions and conditions now require auto mode to be set to auto.
Adds a toggle button to the state machine editor for whether new transitions
advance settings should default to auto mode or not.
2022-12-16 07:42:59 +00: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
Silc Renew
c87e9f0b7c
Fix unmerged history in AnimationTrackEditor
2022-12-10 22:21:38 +09:00
Silc Renew
bd8395882e
Change init for cache_update_size & add pointer animation player
2022-12-07 22:34:41 +09:00
Rémi Verschelde
c92e70e711
Merge pull request #69685 from TokageItLab/fix-immediate-method-anim
...
Fix AnimationPlayer method track call oneself with IMMEDIATE mode
2022-12-07 13:26:41 +01:00
Silc Renew
d3b77d9cc3
Fix AnimationPlayer method track call oneself with IMMEDIATE mode
2022-12-07 19:48:06 +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
8c540b1d71
Fix animation play backward doesn't process current key&animtrack seek
2022-12-05 15:59:08 +09:00
Silc Renew
83135aa122
Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
...
#69357
2022-12-02 20:28:10 +09:00
Rémi Verschelde
8c094207a0
Merge pull request #61958 from jtnicholl/animation_connections
...
Add `animation_changed` signal to `AnimationLibrary`, have `AnimationPlayer` connect to it instead of `Animation`'s `changed`
2022-12-02 12:24:32 +01: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
Silc Renew
c1a29f5ef4
Remove unneeded calc in root motion
2022-12-01 11:11:21 +09:00
Silc Renew
9a3d9c6cae
Emphasize the warning about special case blend for animation
2022-12-01 02:13:24 +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
Rémi Verschelde
bb9cd4063e
Merge pull request #69199 from TokageItLab/fix-and-refactor-root-motion
...
Fix broken root motion scale & Refactor API & Add sample codes in documentation
2022-11-28 14:49:04 +01:00
Silc Renew
1193c2641b
Fixed AnimationTree TrackCacheValue bug for special case blending
2022-11-27 13:29:38 +09: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