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
Mai Lavelle
ac15f6a7e2
Fix blending with negative blend weights
2022-11-22 20:51:41 -05:00
Silc Renew
c1ec99f0e1
Refactor process of AnimationTree for end of animation
2022-11-22 18:12:45 +09:00
Rémi Verschelde
dff8a51c6c
Merge pull request #68593 from TokageItLab/optimize-blend-animation
...
Optimize animation blend tree process
2022-11-22 09:59:54 +01:00
Silc Renew
dce3e07fb2
Fix animation blending for value track DISCRETE/TRIGGER mode
2022-11-22 17:39:29 +09:00
Jonathan Nicholl
f8021dae9c
Add animation_changed signal to AnimationLibrary
...
AnimationLibrary now listens for the animation_changed signal on its
animations and emits this new signal, with the animation name added
on. AnimationPlayer now connects to this signal rather than connecting
to each individual animation, which was poor practice due to bypassing
encapsulation.
2022-11-21 15:39:03 -05:00
Silc Renew
b739bafd51
Fix connection of animation changed signal in AnimationTrackEditor
2022-11-20 06:38:51 +09:00
Silc Renew
17ce879a15
Optimize animation blend tree process
2022-11-16 02:52:04 +09:00
Rémi Verschelde
be126d42d4
Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
...
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
Marc Gilleron
7543a5e014
Rename queue_delete => queue_free
...
# Conflicts:
# editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
kobewi
d06a8320e5
Simplify GDVIRTUAL_CALL calls
2022-10-19 00:05:48 +02:00
Juan Velandia
6e603f202f
Connect signal animation_removed to its proper method
2022-10-10 18:39:49 -05:00
Rémi Verschelde
8c24b35b76
Merge pull request #65942 from SaracenOne/animation_change_callback_fix
...
Fix animation change callbacks
2022-10-10 13:53:53 +02:00
Rémi Verschelde
2b376437a2
Merge pull request #65983 from Mickeon/rename-audio-player-volume-db
...
Rename AudioStreamPlayer3D's `unit_db` to `volume_db`
2022-10-08 13:56:10 +02:00
Rémi Verschelde
c723125dfc
Merge pull request #67020 from GuilhermeGSousa/remove-transition-expression-node
...
Remove expression base node for transitions
2022-10-07 14:23:00 +02:00
Guilherme Sousa
12940e53c1
Remove expression base node for transitions
2022-10-07 11:13:43 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Rémi Verschelde
7562932eb2
Merge pull request #66160 from dpalais/double_time
...
Use double instead of real_t type for time-related parameters and variables
2022-09-27 10:04:10 +02:00
Dave Palais
0c46068af0
Change time parameters and variables to double type
...
Addresses #65313
2022-09-26 13:52:54 -05:00
Rémi Verschelde
fa85821199
Merge pull request #66301 from GuilhermeGSousa/fix-animation-transition-expressions
...
Fix expression base path on transitions
2022-09-26 15:50:32 +02:00
Rémi Verschelde
49fcf4ffad
Style: Cleanup header guards for consistency
...
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
Guilherme Sousa
5e5bb088de
Fix expression base path on transitions
2022-09-25 09:00:03 +02:00
Marc Gilleron
aed3822a93
Change return type of `get_configuration_warnings` to `PackedStringArray`
2022-09-19 16:43:15 +01:00
Micky
eb0cc08a23
Rename AudioStreamPlayer3D's `unit_db` to `volume_db`
...
AudioStreamPlayer3D.`unit_db` -> `volume_db`
Now matches the same name AudioStreamPlayer and AudioStreamPlayer2D use.
2022-09-17 16:06:30 +02:00
SaracenOne
6a8fbf3d25
Fix animation change callbacks
2022-09-16 14:04:24 -07:00
kobewi
1a462bc84e
Fix crash when playing Tween right after finishing
2022-09-16 14:20:12 +02:00
Rémi Verschelde
a981a8061f
Merge pull request #65325 from TokageItLab/refactor-variant-for-anim
...
Move some static methods to `Animation` from `Variant` for refactoring `Animation` and `Tween`
2022-09-16 09:20:50 +02:00
Rémi Verschelde
80802d2718
Merge pull request #65196 from TokageItLab/fix-redraw-anim-tree
...
Fix redraw timing in `AnimationBlendTreeEditor`
2022-09-15 20:11:36 +02:00
Silc Renew
9d47e079b7
Move some methods to Animation from Variant for refactoring
2022-09-15 04:52:43 +09:00
Silc Renew
cff95e54e0
Fix redraw timing in AnimationBlendTreeEditor
2022-09-14 21:05:21 +09:00
Micky
dd26ecdd31
Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
...
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Hugo Locurcio
f7292dbeb3
Rename `or_lesser` range property hint to `or_less`
...
"less" should be used for quantity, rather than "lesser".
Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Rémi Verschelde
736632ee7e
Merge pull request #63893 from guilhermefelipecgs/fix_state_machine_is_playing
...
Fix AnimationNodeStateMachinePlayback::is_playing
2022-08-31 17:41:17 +02:00
Rémi Verschelde
fbf8632556
Merge pull request #64247 from guilhermefelipecgs/fix_end_node
...
Re-add AnimationNodeStateMachine::end_node for root state machine
2022-08-31 17:40:38 +02:00
Rémi Verschelde
7b63e5db1e
Merge pull request #59919 from piiertho/enhancement/rename-AnimationNodeTransition-input_count-to_enabled_inputs
2022-08-31 12:07:31 +02:00
Pierre-Thomas Meisels
9391316b8e
enhancement: Rename declared property AnimationNodeTransition::input_count to AnimationNodeTransition::enabled_inputs
2022-08-31 10:34:03 +02:00
Hugo Locurcio
ae18928748
Rename Curve/Curve2D/Curve3D/Gradient `interpolate()` to `sample()`
...
"sampling" is a more accurate term than "interpolating" for what's
happening when using that function.
2022-08-30 22:08:38 +02:00
Micky
2b18a4002c
Cast between float and ints in Tween.`tween_property()`
2022-08-30 10:53:31 +02:00
Haoyu Qiu
385a5b44aa
Improve documentation for `get_animation()`
2022-08-29 14:54:57 +08:00
Silc Renew
931fb4dc11
Add linear/cubic angle interpolation to Animation interpolation type
2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Micky
59e11934d8
Rename `str2var` to `str_to_var` and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
0123752dc4
Merge pull request #54456 from rafallus/fix/anim_state_machine_start
...
Fix AnimationTree state machine start()
2022-08-26 07:47:11 +02:00
Rémi Verschelde
b9919fd87d
Merge pull request #64678 from TokageItLab/implement-ease-baker
...
Fix Quaternion Tween and add Easing baker to AnimationTrackEditor
2022-08-23 09:19:21 +02:00
Rémi Verschelde
b8a64313f0
Merge pull request #59564 from KoBeWi/FINALLY,_ULTIMATE_UNDO_REDO
2022-08-22 22:37:33 +02:00
Rémi Verschelde
9c567a0604
Merge pull request #63802 from TokageItLab/curve-transition
2022-08-22 22:30:09 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
kobewi
ece3df3938
Add per-scene UndoRedo
2022-08-22 18:05:10 +02:00
Yuri Sizov
1a24c9e14b
Make `_validate_property` a multilevel method
2022-08-22 18:35:11 +03:00
Silc Renew
f7dd83ce60
Fix Quaternion Tween and implement ease baker
2022-08-22 19:04:58 +09:00
Aaron Franke
8893b2bdb4
Clean up mesh include code and comments
2022-08-20 13:24:40 -05:00
Silc Renew
2c2e1a7736
added Curve in animation node transition for better control over cros…
...
Co-authored-by: jeronimo-schreyer <jeronimo.schreyer@gmail.com>
2022-08-18 08:17:30 +09:00
Guilherme Felipe de C. G. da Silva
15b5bc88e2
Re-add AnimationNodeStateMachine::end_node for root state machine
...
Fix #63660
2022-08-10 19:29:53 -03:00
Yuri Sizov
1362bc22bd
Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript
2022-08-08 16:36:01 +03:00
Guilherme Felipe de C. G. da Silva
a2e63096c6
Fix AnimationNodeStateMachinePlayback::is_playing
...
Fix #24790
2022-08-03 14:38:57 -03:00
Guilherme Felipe de C. G. da Silva
0ad580a740
Fix AnimationNodeStateMachine::rename_node
2022-07-31 18:47:19 -03:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Hugo Locurcio
aaeb60eafc
Add a Movie Quit On Finish property to AnimationPlayer
...
This quits the project when an animation is done playing in the
given AnimationPlayer, but only in Movie Maker mode.
When this happens, a message is printed with the absolute path of the
AnimationPlayer node that caused the engine to quit.
This can be used to create videos that stop at a specified time
without having to write any script.
A report is now also printed to the console when the video is done
recording (as long as the engine was exited properly).
This report is unfortunately not always visible in the editor's
Output panel, as it's printed too late.
A method was also added to get the path to the output file from the
scripting API.
2022-07-27 18:50:28 +02:00
Silc Renew
dde235ad82
add position track normalization & post process key value for retarget
2022-07-26 18:48:08 +09:00
Silc Renew
e27119a51f
Fix initial value of TRS3DTrack cache in AnimationPlayer
2022-07-26 05:32:26 +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
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
João Pedro São Gregorio Silva
324b4884d6
Fix incorrect expression base in `AnimationNodeStateMachinePlayback::_check_advance_condition`
2022-07-21 16:36:52 +02:00
Silc Renew
9be288edf9
refactor sync in AnimationTree
2022-07-16 21:45:32 +09:00
Rémi Verschelde
d631ee3307
Merge pull request #62510 from MinusKube/animation-reset-crash
...
Fix animation player crashing when caching disabled tracks
2022-06-29 10:19:33 +02:00
MinusKube
a73882305c
Fix animation player crashing when caching disabled tracks
2022-06-29 06:18:45 +02:00
Silc Renew
2201c281dd
fixed Pingpong animation get snaging on the edge in AnimationTree
2022-06-29 08:39:41 +09:00
SaracenOne
75a8606b83
Add AnimationTree Advance Expressions
...
Allows specifying an expression as a condition for state machine transitions.
This gives much greater flexibility for creating complex state machines. By directly interfacing with the script code, it is possible to create complex animation advance condition for switching between states.
Ensure assigning AnimationTreeStateMachineTransition base expression node in editor is relative to current AnimationTree node.
Allow setting an expression base node on the AnimationTree itself.
Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-28 09:26:13 -07:00
Rémi Verschelde
1a4a4856f6
Merge pull request #61885 from TokageItLab/fix-method-seek
...
Improved way of getting MethodTrack keys
2022-06-23 10:07:45 +02:00
Rémi Verschelde
21b51fdf7e
Merge pull request #61826 from guilhermefelipecgs/fix_leak
...
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-23 09:58:51 +02:00
Rémi Verschelde
64918e4ae9
Merge pull request #62337 from reduz/respect-disabled-animation-tracks
...
Respect disabled animation tracks
2022-06-23 09:13:54 +02:00
reduz
11805ac01d
Respect disabled animation tracks
...
Fixes #25537 , supersedes #60509
2022-06-23 08:35:34 +02:00
reduz
df6cd650d1
Fix animation reset on save
...
Old (prototype) name was left in code
Supersedes #60565
2022-06-23 07:49:41 +02:00
Silc 'Tokage' Renew
dedc4710a3
improved way of getting method track keys
2022-06-23 04:57:42 +09:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Haoyu Qiu
74e15ea35f
Remove argument option for the `remove_animation` that no longer exists
2022-06-19 11:08:19 +08:00
Andreas Raddau
0e4fd72ae6
Remove duplicate assignment of AnimationNode::State.valid
...
In AnimationTree::_process_graph, the State.valid variable is set to true.
A few lines later, it's set again. Probably a copy/paste mistake. This
commit removes the second assignment.
2022-06-18 11:59:19 +02:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Guilherme Felipe de C. G. da Silva
7fc3aa43ce
Fix ObjectDB instances leaked on state machine when editor closes
2022-06-08 17:08:48 -03:00
SnailRhymer
b0e31eeb4a
Remove configuration warning from AnimationPlayer
...
Remove warning about animations in different libraries having the same name, since shared names are fine.
Also fix missing vformat argument when setting the name of an animation to one that does conflict with an animation in the same library.
2022-05-24 13:22:16 +01:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
...
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
9923851370
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Haoyu Qiu
fc3b845c07
Add dedicated macros for property name extraction
...
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
Rémi Verschelde
5b3d596285
Merge pull request #60774 from TokageItLab/root-seek-mode
...
Fixed broken root motion calculation in internal process of `AnimationBlendTree` such as `NodeOneShot`
2022-05-18 15:24:21 +02:00
SnailRhymer
d79818acb6
Fix errors and improve UX relating to new animation libraries
...
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Silc Renew
ba8398f270
Fixed delta & Implement selection of whether or not to seek root
2022-05-09 08:28:32 +09:00
kobewi
45e4cb2bbf
Fix error spam when tweened node leaves tree
2022-05-05 17:57:25 +02:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
...
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
...
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Hugo Locurcio
180e5d3028
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Guilherme Felipe
e7056c195d
Improvements of state machine
...
- Open the menu to add new animation nodes by dragging the transitions to
empty areas and automatically connecting them.
- Adds box selection to the state machine.
- Add feature to group/ungroup selected nodes in a "sub" state machine.
- Add start/end node by default. In addition, add new color to these
nodes to differentiate then.
- Add tooltip for transitions to show the connection "from -> to".
- Add new "type" of transition line when multiple transitions are
grouped.
- Add popup to connect nodes in sub state machine.
- Add dialog to select which nodes can be deleted when they are grouped.
- Add classes:
AnimationNodeStartState
AnimationNodeEndState
EditorAnimationMultiTransitionEdit
- Implements disabled transition
API Changes:
- Now it's posible to add transitions between state machines,
`AnimationNodeStateMachine::add_transition` will works with relative path,
this means you can use it like this `add_transition("Idle", "Walk", tr)`
or `add_transition("Idle", "StateMachine/Shoot)`.
2022-05-02 13:06:36 -03:00
kobewi
f473aab00d
Improve Tween infinite loop detection
2022-05-01 00:24:07 +02:00
kobewi
7f0bc91844
Simplify Callable error text methods
2022-04-30 13:42:26 +02:00
Aaron Franke
1bf94dff3a
Rename Basis "elements" to "rows"
2022-04-29 08:02:56 -05:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns"
2022-04-29 08:02:39 -05:00
Rémi Verschelde
1eb09364f8
Merge pull request #60247 from ScottVMariotte/AnimationTree_atEndFix
...
Replaced `loops_current` with `end_loop` in `AnimationNodeStateMachinePlayback`
2022-04-28 18:22:23 +02:00
Haoyu Qiu
6c01ef8f4c
Miscellaneous Tween fixes
2022-04-28 21:19:01 +08:00
Rémi Verschelde
1de51133c9
Merge pull request #60331 from KoBeWi/tween_static()
2022-04-27 13:20:11 +02:00
Rémi Verschelde
f40952e0ba
Merge pull request #60349 from TokageItLab/fix-rotated-root-motion-view
2022-04-27 12:41:24 +02:00
Rémi Verschelde
6c20ade250
Merge pull request #60440 from KoBeWi/Ȑ̶̛̘̻̹̪͙̇̍̔͐̊̆̏̏̓̈́̉͌͘Ȩ̸͉̳̘̬̣̩̽̈́́̅̈́̕͝ͅS̷͓̮̙̪̪̺̭̰̓̎̌́͗͆͌̈́̒͋͊͘Ë̷̡̨͔̻͈̺͓̘͉́̏̍̓͋̋͠T̶̠̙͍̱̠̱̟͎͇̬̥̞̘͛̔̄̏̆̽̄̌̅͝ͅ
2022-04-27 11:06:20 +02:00
Silc 'Tokage' Renew
df89969865
fixed rotated RootMotionView grid glitch
2022-04-24 15:46:39 +09:00