diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationState.as b/spine-as3/spine-as3/src/spine/animation/AnimationState.as index e9b3abf79..8113aefb5 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationState.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationState.as @@ -200,10 +200,9 @@ public class AnimationState { _tracks[trackIndex] = entry; if (delay <= 0) { - if (last) { - if (last.time < last.endTime) delay += last.endTime - last.time; - delay -= _data.getMix(last.animation, animation); - } else + if (last) + delay += last.endTime - _data.getMix(last.animation, animation); + else delay = 0; } entry.delay = delay; diff --git a/spine-c/src/spine/AnimationState.c b/spine-c/src/spine/AnimationState.c index 3ae0b8859..e7287cfbc 100644 --- a/spine-c/src/spine/AnimationState.c +++ b/spine-c/src/spine/AnimationState.c @@ -262,10 +262,9 @@ spTrackEntry* spAnimationState_addAnimation (spAnimationState* self, int trackIn self->tracks[trackIndex] = entry; if (delay <= 0) { - if (last) { - if (last->time < last->endTime) delay += last->endTime - last->time; - delay -= spAnimationStateData_getMix(self->data, last->animation, animation); - } else + if (last) + delay += last->endTime - spAnimationStateData_getMix(self->data, last->animation, animation); + else delay = 0; } entry->delay = delay; diff --git a/spine-csharp/src/AnimationState.cs b/spine-csharp/src/AnimationState.cs index 92de2b7cd..0453b81e6 100644 --- a/spine-csharp/src/AnimationState.cs +++ b/spine-csharp/src/AnimationState.cs @@ -213,10 +213,9 @@ namespace Spine { tracks[trackIndex] = entry; if (delay <= 0) { - if (last != null) { - if (last.time < last.endTime) delay += last.endTime - last.time; - delay -= data.GetMix(last.animation, animation); - } else + if (last != null) + delay += last.endTime - data.GetMix(last.animation, animation); + else delay = 0; } entry.delay = delay; diff --git a/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 652a95bca..08a540774 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -231,10 +231,9 @@ public class AnimationState { tracks.set(trackIndex, entry); if (delay <= 0) { - if (last != null) { - if (last.time < last.endTime) delay += last.endTime - last.time; - delay -= data.getMix(last.animation, animation); - } else + if (last != null) + delay += last.endTime - data.getMix(last.animation, animation); + else delay = 0; } entry.delay = delay; diff --git a/spine-lua/AnimationState.lua b/spine-lua/AnimationState.lua index 62b872c14..439602c16 100644 --- a/spine-lua/AnimationState.lua +++ b/spine-lua/AnimationState.lua @@ -200,8 +200,7 @@ function AnimationState.new (data) delay = delay or 0 if delay <= 0 then if last then - if last.time < last.endTime then delay = delay + last.endTime - last.time end - delay = delay - self.data:getMix(last.animation.name, animation.name) + delay = delay + last.endTime - self.data:getMix(last.animation.name, animation.name) else delay = 0 end