From 2c6b43a9c2a5b3750728838aba6da35e767c035a Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sat, 19 Apr 2025 12:24:00 -0400 Subject: [PATCH] [libgdx] Fixed slot color, clipping. --- .../src/com/esotericsoftware/spine/Animation.java | 8 ++++---- .../src/com/esotericsoftware/spine/SlotPose.java | 2 +- .../com/esotericsoftware/spine/utils/Triangulator.java | 2 +- 3 files changed, 6 insertions(+), 6 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 73448df41..f986d3601 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -57,7 +57,7 @@ public class Animation { if (name == null) throw new IllegalArgumentException("name cannot be null."); this.name = name; this.duration = duration; - timelineIds = new ObjectSet(timelines.size); + timelineIds = new ObjectSet(timelines.size << 1); setTimelines(timelines); } @@ -71,7 +71,7 @@ public class Animation { this.timelines = timelines; int n = timelines.size; - timelineIds.clear(n); + timelineIds.clear(n << 1); Timeline[] items = timelines.items; for (int i = 0; i < n; i++) timelineIds.addAll(items[i].getPropertyIds()); @@ -649,8 +649,8 @@ public class Animation { break; case first: case replace: - pose.x += (setup.x + x - pose.x) * alpha; - pose.y += (setup.y + y - pose.y) * alpha; + pose.x = x; + pose.y = y; break; case add: pose.x += x * alpha; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java index c2f83fcf8..ec98413e0 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotPose.java @@ -42,7 +42,7 @@ import com.esotericsoftware.spine.attachments.VertexAttachment; * for an attachment. State cannot be stored in an attachment itself because attachments are stateless and may be shared across * multiple skeletons. */ public class SlotPose implements Pose { - final Color color = new Color(); + final Color color = new Color(1, 1, 1, 1); @Null Color darkColor; @Null Attachment attachment; // Not used in setup pose. int sequenceIndex; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java index 7e6986e4d..079808cc3 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/utils/Triangulator.java @@ -37,7 +37,7 @@ import com.badlogic.gdx.utils.ShortArray; class Triangulator { private final Array convexPolygons = new Array(false, 8, FloatArray[]::new); - private final Array convexPolygonsIndices = new Array(false, 8, FloatArray[]::new); + private final Array convexPolygonsIndices = new Array(false, 8, ShortArray[]::new); private final ShortArray indicesArray = new ShortArray(); private final BooleanArray isConcaveArray = new BooleanArray();