Rémi Verschelde
6b21a185e2
Merge pull request #85428 from jsjtxietian/prevent-nullptr-crash-in-AnimationMixer--restore
...
Prevent a crash when calling `AnimationMixer::restore` with an invalid resource
2023-12-04 23:14:29 +01:00
kobewi
20aecefd9b
Fix Tween loop initial value
2023-12-02 20:20:50 +01:00
Silc Lizard (Tokage) Renew
7ed7ea53e6
Fix AnimationPlayer seeking for Discrete keys
2023-12-01 05:26:21 +09:00
Silc Lizard (Tokage) Renew
c380b1296a
Make unstore AnimationLibrary if AnimationTree is assigned Player
2023-12-01 04:50:58 +09: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
jsjtxietian
937411e152
Prevent a crash when calling AnimationMixer::restore when an invalid reference
2023-11-28 12:54:06 +08: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
kobewi
58f4984d60
Add set_custom_interpolator() to PropertyTweener
2023-10-12 16:41:51 +02: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
Rémi Verschelde
c5a7462a00
Merge pull request #80702 from KoBeWi/lagging_animation
...
Fix initial value with delay in PropertyTweener
2023-08-17 11:28:15 +02:00
kobewi
1660575bd8
Fix initial value with delay in PropertyTweener
2023-08-17 10:28:26 +02:00
Chia-Hsiang Cheng
ef5d0b1c06
Avoid emitting signals if the animation is not ready to be processed
2023-08-07 18:21:28 +08:00
kobewi
dbecf8bd1a
Improve and clarify paused Tweens
2023-07-25 13:29:30 +02:00
Yuri Sizov
752b89dc36
Merge pull request #79403 from TokageItLab/fix-negative-timescale-transition
...
Fix `AnimationNodeTransition` with negative time scale
2023-07-24 19:32:37 +02:00
Yuri Sizov
6a30f64dc8
Merge pull request #79595 from TokageItLab/rbmap-animblendtree
...
Make `AnimationNodeBlendTree` use `RBMap` insteads `HashMap`
2023-07-21 17:15:42 +02:00
Silc Lizard (Tokage) Renew
a3cdacdc4e
Make AnimationNodeBlendTree use RBMap insteads HashMap
2023-07-18 17:57:53 +09:00
kobewi
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
Silc Lizard (Tokage) Renew
1ac2bdd97b
Fix NodeTransition with negative time scale
2023-07-13 08:38:53 +09:00
Silc Lizard (Tokage) Renew
fc40ba21cd
Fix infinity loop state can't break
2023-07-07 16:12:37 +09:00
Ninni Pipping
0c16082e1e
Use `get_node_or_null` when null checks are present
...
Avoids duplicate or unnecessary errors
2023-06-10 13:22:56 +02:00
Ninni Pipping
dcd2b883eb
Use NULL instead of COND checks when appropriate
...
Restricted to scene
2023-06-10 08:56:30 +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
Silc Lizard (Tokage) Renew
c9c8205644
Implement NodeSub2 to AnimationTree & improve mathematical Nodes
2023-05-27 13:19:54 +09:00
kobewi
87a6145135
Fix AnimationPlayer cumulative speed_scale
2023-05-26 07:11:29 +02:00
Rémi Verschelde
7a176459b1
Merge pull request #76899 from rakkarage/spring-tween
...
Add TRANS_SPRING to Tween
2023-05-22 13:48:47 +02: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
Rakka Rage
780e21bcac
Add TRANS_SPRING to Tween
2023-05-17 17:54:37 -04:00
Rémi Verschelde
437041a983
Merge pull request #77141 from TokageItLab/optimize-tween-division
...
Optimize Tween calculations by caching some divisions
2023-05-17 11:25:30 +02:00
Silc Lizard (Tokage) Renew
e09c3d8126
Optimize Tween calculations by caching some divisions
2023-05-17 07:03:45 +09:00
Rémi Verschelde
88f5b8d687
Merge pull request #74190 from TokageItLab/respect-fade-abort-oneshot
...
Fix NodeOneShot doesn't respect fade-out when aborting and improvement
2023-05-15 13:43:20 +02:00
Silc Lizard (Tokage) Renew
238bc9fe1f
Fix NodeOneShot doesn't respect fade-out when aborting and improvement
2023-05-15 18:51:45 +09:00
Rémi Verschelde
3e6a731904
Merge pull request #76418 from reduz/method-bind-validated-call
...
Add ValidatedCall to MethodBind
2023-05-08 13:52:42 +02:00
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