From 061e9d7ec51ddf6b6deedcbf6e7f437e6ab31da0 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Tue, 20 May 2025 19:53:04 -0400 Subject: [PATCH] [libgdx] Fixed binary path constraints and JSON skin constraints. --- .../src/com/esotericsoftware/spine/SkeletonBinary.java | 2 +- .../src/com/esotericsoftware/spine/SkeletonJson.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index 48911388a..be5a819bf 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -369,7 +369,7 @@ public class SkeletonBinary extends SkeletonLoader { data.slot = slots[input.readInt(true)]; int flags = input.read(); data.skinRequired = (flags & 1) != 0; - data.positionMode = PositionMode.values[flags & 2]; + data.positionMode = PositionMode.values[(flags >> 1) & 2]; data.spacingMode = SpacingMode.values[(flags >> 2) & 3]; data.rotateMode = RotateMode.values[(flags >> 4) & 3]; if ((flags & 128) != 0) data.offsetRotation = input.readFloat(); diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index d58174695..c420b4524 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -443,6 +443,11 @@ public class SkeletonJson extends SkeletonLoader { if (constraint == null) throw new SerializationException("Skin physics constraint not found: " + entry); skin.constraints.add(constraint); } + for (JsonValue entry = skinMap.getChild("slider"); entry != null; entry = entry.next) { + SliderData constraint = skeletonData.findConstraint(entry.asString(), SliderData.class); + if (constraint == null) throw new SerializationException("Skin slider not found: " + entry); + skin.constraints.add(constraint); + } skin.constraints.shrink(); for (JsonValue slotEntry = skinMap.getChild("attachments"); slotEntry != null; slotEntry = slotEntry.next) { SlotData slot = skeletonData.findSlot(slotEntry.name);