Commit Graph

734 Commits

Author SHA1 Message Date
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