Commit Graph

815 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes 6777e1b4bf Replace memory allocation point of ValueTrack correctly in AnimationMixer
When a animation track doesn't have an keys, it's possible that we leak memory due the ERR_CONTINUE_MSG macro usage.

By checking the error condition first, we avoid a allocation and thus the leak.

(cherry picked from commit ea84effb84)
2024-01-25 18:32:35 +01:00
Silc Lizard (Tokage) Renew 209aa9821a Make default blend_left consider current blend amount
(cherry picked from commit f8da9460c1)
2024-01-25 17:19:42 +01:00
Silc Lizard (Tokage) Renew b20ba6bd12 Fix discrete key retrieval method after start
(cherry picked from commit b438e28509)
2024-01-25 17:19:41 +01:00
Silc Lizard (Tokage) Renew 19bb93513a Make unstore AnimationLibrary if AnimationTree is assigned Player
(cherry picked from commit c380b1296a)
2024-01-25 17:19:41 +01:00
Haoyu Qiu f1f56746b9 Make AnimationTree reference AnimationPlayer instead of AnimationMixer
(cherry picked from commit 7946e84187)
2024-01-25 17:03:57 +01:00
Silc Lizard (Tokage) Renew d094b574bb Fix Audio track crossfade in AnimationPlayer does not work 2024-01-03 01:46:18 +09:00
kobewi 492b0c322a
Fix Tween loop initial value
(cherry picked from commit 20aecefd9b)
2023-12-07 10:27:05 +01:00
Silc Lizard (Tokage) Renew 871d00c980
Fix AnimationPlayer seeking for Discrete keys
(cherry picked from commit 7ed7ea53e6)
2023-12-07 10:27:05 +01:00
jsjtxietian 2786f0e43e
Prevent a crash when calling AnimationMixer::restore when an invalid reference
(cherry picked from commit 937411e152)
2023-12-07 10:27:04 +01:00
Rémi Verschelde a363269479
AnimationMixer: Validate ObjectID before blend in case the object was freed
Works around #85365, but it's likely only a partial fix.
The proper fix would be to remove the Object pointer from the TrackCache
and always go back to the ObjectID before doing operations like this.
2023-11-28 12:27:23 +01:00
Rémi Verschelde a008a85443
Merge pull request #85411 from TokageItLab/fix-animpbtrack-stop
Make AnimationPlaybackTrack keep state when stopping
2023-11-28 08:28:25 +01:00
Silc Lizard (Tokage) Renew d3a429962f Make AnimationPlaybakTrack keep state when stopping 2023-11-27 12:14:25 +09:00
Silc Lizard (Tokage) Renew c36200b9a1 Check the seek process immediately after playback as a special case 2023-11-26 07:32:34 +09:00
Yuri Sizov 671c04f89f Fix a crash when trying to restore uncopyable animation tracks 2023-11-24 14:20:30 +01:00
Pedro J. Estébanez fbb931df8c Perform safe copies in AnimatedValuesBackup::get_cache_copy() 2023-11-24 11:38:59 +01:00
kobewi 1c0a0f5fdd Fix TrackCache memory crash 2023-11-23 20:26:03 +01:00
Rémi Verschelde bb63963486
Merge pull request #85254 from TokageItLab/bind-reset-animedit
Bind `_reset`/`_restore` in AnimationMixer
2023-11-23 15:35:15 +01:00
Silc Lizard (Tokage) Renew f66224dd2d Bind `_reset`/`_restore` in AnimationMixer 2023-11-23 22:47:52 +09:00
Silc Lizard (Tokage) Renew 9c3104292d Clear seeked/started flag after seeking/advancing in AnimationPlayer 2023-11-22 23:40:53 +09:00
Rémi Verschelde 6ae6cc0bf5
Merge pull request #84815 from TokageItLab/array-animation
Rework blending method in `Variant` animation for `Int`/`Array`/`String`
2023-11-16 14:52:00 +01:00
Silc Lizard (Tokage) Renew 80c9533810 Rework blending method in Variant animation for Int/Array/String 2023-11-16 21:37:18 +09:00
Alistair Leslie-Hughes 5b6f641e99 Fix sizeof usage for Variant pointers in alloca
Coverity report this as a non portable usage of sizeof
2023-11-16 07:13:14 +11:00
Silc Lizard (Tokage) Renew f853d675e8 Fix ValueTrack with Resource is leaking 2023-11-16 02:12:39 +09:00
Rémi Verschelde 7c7d9e2169
Merge pull request #83781 from martinfelis/fix-animationplayer-ready-autoplay
Ensure AnimationPlayer evaluate animations when autoplay is enabled and node becomes ready
2023-11-14 11:27:44 +01:00
Martin Felis f04ec34b78 Ensure AnimationPlayer evaluate animations when autoplay is enabled and node becomes ready.
Fixes #83326.

The issue was introduced in the refactoring done in 1b95827d3e.
2023-11-14 08:30:40 +01:00
Rémi Verschelde 0e6160a00f
Merge pull request #81525 from KoBeWi/tweening_the_impossible
Check if property exists before tweening
2023-11-09 20:03:53 +01:00
kobewi 8d71095622 Fix RESET not effective when saving inactive scene 2023-11-03 12:58:56 +01:00
Silc Lizard (Tokage) Renew a33884943f Add PackedArray to the list of enforcing Discrete for AnimationMixer 2023-11-03 09:35:17 +09:00
Raul Santos ae9ac5c76e
Remove AnimationMixer bindings only bound in the editor 2023-10-16 17:56:14 +02:00
Wilson E. Alvarez 4c8497092a
Show AnimationMixer warning for non-numeric types only when relevant 2023-10-15 20:53:33 -04:00
Rémi Verschelde 1e55eeb91d
Merge pull request #83030 from TokageItLab/patch-misc-blending
AnimationMixer: Fix non-numeric misc type (`Resource`, `Dictionary` & etc.) values cannot be blended with `UpdateMode.UPDATE_CONTINUOUS`
2023-10-09 15:40:14 +02:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde 35ede42d1d
Merge pull request #82695 from maiself/object-less-callables-fixes
Fixes to allow object-less callables throughout Godot
2023-10-09 15:32:38 +02:00
Silc 'Tokage' Renew c4743baba1 Patch fix for AnimationMixer: misc type values cannot be blended 2023-10-09 17:26:57 +09:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
Mai Lavelle 5e15586ec2 Fixes to allow object-less callables throughout Godot
This fixes #81887
2023-10-06 16:31:35 -04:00
Rémi Verschelde 249e724835
Merge pull request #82898 from TokageItLab/fix-unwanted-start-in-animation-player
Fix `AnimationPlayer::play()` process unwanted start between the same animations
2023-10-06 12:53:09 +02:00
Rémi Verschelde 373c4b22d3
Fix various typos with codespell
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
Silc 'Tokage' Renew d46c962f18 Fix AnimationPlayer::play() process unwanted start 2023-10-06 15:47:54 +09:00
Aaron Franke dcc7612823
Tweak AnimationPlayer speed scale property hint to make dragging useful 2023-10-01 13:23:31 -05:00
Silc Lizard (Tokage) Renew 599f0dbf97 Fix GroupedStateMachine reset 2023-09-30 10:37:46 +09:00
Silc Lizard (Tokage) Renew 1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
Yuri Sizov b351cffddf Fix theme access and improve UX in AnimationTree editor 2023-09-23 21:47:27 +02:00
Rémi Verschelde 3e233e1f24
Fix various typos with codespell
Using 2.2.6.dev193+g907e5380.
2023-09-18 09:53:39 +02:00
A Thousand Ships a29416e332 [Scene,Main] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-12 12:53:06 +02:00
kobewi bf9d971215 Check if property exists before tweening 2023-09-11 12:59:43 +02: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
kobewi 598d9972c8 Prevent errors if Tween callback's object is freed 2023-08-29 14:50:53 +02:00
Rémi Verschelde 0511f9d9a7
Merge pull request #80708 from garychia/anim_seek
Ensure methods skipped by `AnimationPlayer::seek` are not called
2023-08-17 15:44:03 +02:00
Chia-Hsiang Cheng 125ae78a89 Ensure methods skipped by AnimationPlayer::seek are not called 2023-08-17 17:35:54 +08:00