From ad263d48bef91b1ba0cf07d6879ec80324fc368f Mon Sep 17 00:00:00 2001 From: Nathan Sweet <> Date: Thu, 16 Nov 2023 12:21:14 -0400 Subject: [PATCH] [libgdx] Physics data loading fixes. --- .../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 035196c88..3e369c75e 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -426,7 +426,7 @@ public class SkeletonBinary extends SkeletonLoader { items = skeletonData.pathConstraints.items; for (int i = 0, n = input.readInt(true); i < n; i++) skin.constraints.add((ConstraintData)items[input.readInt(true)]); - items = skeletonData.pathConstraints.items; + items = skeletonData.physicsConstraints.items; for (int i = 0, n = input.readInt(true); i < n; i++) skin.constraints.add((ConstraintData)items[input.readInt(true)]); skin.constraints.shrink(); 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 1392bc2a3..8c2c1f7ab 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -348,6 +348,11 @@ public class SkeletonJson extends SkeletonLoader { if (constraint == null) throw new SerializationException("Skin path constraint not found: " + entry); skin.constraints.add(constraint); } + for (JsonValue entry = skinMap.getChild("physics"); entry != null; entry = entry.next) { + PhysicsConstraintData constraint = skeletonData.findPhysicsConstraint(entry.asString()); + if (constraint == null) throw new SerializationException("Skin physics constraint 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);