summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilc Lizard (Tokage) Renew <61938263+TokageItLab@users.noreply.github.com>2023-12-16 14:19:50 +0900
committerSilc Lizard (Tokage) Renew <61938263+TokageItLab@users.noreply.github.com>2024-01-03 02:29:00 +0900
commitb438e28509a266dc1b57a83ae63f8f8bf62dc052 (patch)
tree2aa991c217fe6c6153557c69f8a3b39782d9ba57
parent06bb9f28e740aa005b9d48643becfefa5156487d (diff)
downloadredot-engine-b438e28509a266dc1b57a83ae63f8f8bf62dc052.tar.gz
Fix discrete key retrieval method after start
-rw-r--r--scene/animation/animation_player.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp
index 02b74c9188..49362f47c8 100644
--- a/scene/animation/animation_player.cpp
+++ b/scene/animation/animation_player.cpp
@@ -233,7 +233,9 @@ void AnimationPlayer::_process_playback_data(PlaybackData &cd, double p_delta, f
pi.delta = delta;
pi.seeked = p_seeked;
}
- pi.is_external_seeking = true; // AnimationPlayer doesn't have internal seeking.
+ // AnimationPlayer doesn't have internal seeking.
+ // However, immediately after playback, discrete keys should be retrieved with EXACT mode since behind keys must be ignored at that time.
+ pi.is_external_seeking = !p_started;
pi.looped_flag = looped_flag;
pi.weight = p_blend;
make_animation_instance(cd.from->name, pi);