From dd61552c8286778b8f5b8c8e08b971fe22863237 Mon Sep 17 00:00:00 2001 From: badlogic Date: Fri, 12 Jan 2018 11:08:49 +0100 Subject: [PATCH] [libgdx] Fix for #1064, delay was calculated incorrectly for non-loop previous track entries. --- .../src/com/esotericsoftware/spine/AnimationState.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 2b57ae887..426635702 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -528,9 +528,13 @@ public class AnimationState { last.next = entry; if (delay <= 0) { float duration = last.animationEnd - last.animationStart; - if (duration != 0) - delay += duration * (1 + (int)(last.trackTime / duration)) - data.getMix(last.animation, animation); - else + if (duration != 0) { + if (last.loop) + delay += duration * (1 + (int)(last.trackTime / duration)); + else + delay += duration; + delay -= data.getMix(last.animation, animation); + } else delay = 0; } }