From 70482336ac3b2e57f8295b6178824fc0ef32bd8b Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 30 Oct 2017 14:02:39 +0100 Subject: [PATCH 1/3] Always compute timeline data for track 0, which cannot be additive. --- .../src/com/esotericsoftware/spine/AnimationState.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 93e866b1a..84e4c5cb0 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -658,7 +658,7 @@ public class AnimationState { for (int i = 0, n = tracks.size; i < n; i++) { TrackEntry entry = tracks.get(i); - if (entry != null && entry.mixBlend != MixBlend.add) entry.setTimelineData(null, mixingTo, propertyIDs); + if (entry != null && (i == 0 || entry.mixBlend != MixBlend.add)) entry.setTimelineData(null, mixingTo, propertyIDs); } } From c25675f75e8b5dfbd9d00f2cc90f275cc3d07c41 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 30 Oct 2017 14:15:27 +0100 Subject: [PATCH 2/3] Disallow additive on track 0. --- .../src/com/esotericsoftware/spine/SkeletonViewer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java index 1bd2cfbbf..37a3f34d5 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java @@ -496,6 +496,8 @@ public class SkeletonViewer extends ApplicationAdapter { alphaSlider.setValue(1); alphaSlider.setDisabled(true); + + addCheckbox.setDisabled(true); window.setMovable(false); window.setResizable(false); From 5c788591519e3a6e0f4baa3b064570a63da1fe51 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 30 Oct 2017 14:15:43 +0100 Subject: [PATCH 3/3] Fixed scale timeline. closes #1030 --- .../src/com/esotericsoftware/spine/Animation.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index a358e47e5..18036a2fc 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -562,8 +562,10 @@ public class Animation { break; case first: case replace: - bone.scaleX += (x - bone.scaleX * Math.signum(x)) * alpha; - bone.scaleY += (y - bone.scaleY * Math.signum(y)) * alpha; + bx = Math.abs(bone.scaleX) * Math.signum(x); + by = Math.abs(bone.scaleY) * Math.signum(y); + bone.scaleX = bx + (x - bx) * alpha; + bone.scaleY = by + (y - by) * alpha; break; case add: bx = Math.signum(x);