From 0b6a3139c5a37b15db2f2f34972710816df8c000 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 5 Jun 2019 15:50:15 +0200 Subject: [PATCH 1/3] [libgdx] JsonRollback, add some attributes that are now optional. --- .../src/com/esotericsoftware/spine/JsonRollback.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/JsonRollback.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/JsonRollback.java index 95d3faa5b..aacb87ae2 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/JsonRollback.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/JsonRollback.java @@ -132,10 +132,18 @@ public class JsonRollback { static private void rollbackCurves (JsonValue map) { if (map == null) return; + + if (map.isObject() && map.parent.isArray()) { // Probably a key. + if (!map.has("time")) map.addChild("time", new JsonValue(0f)); + if (map.parent.name != null && map.parent.name.equals("rotate") && !map.has("angle")) + map.addChild("angle", new JsonValue(0f)); + } + JsonValue curve = map.get("curve"); if (curve == null) { - for (map = map.child; map != null; map = map.next) - rollbackCurves(map); + if (map.name != null && map.name.equals("color")) System.out.println(); + for (JsonValue child = map.child; child != null; child = child.next) + rollbackCurves(child); return; } if (curve.isNumber()) { From 30a1a9b8c7208e84f73ab35b4cc43254dfc2b1a1 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 5 Jun 2019 16:37:07 +0200 Subject: [PATCH 2/3] [libgdx] SkeletonBinary, fixed reading a skin's bones. --- .../src/com/esotericsoftware/spine/SkeletonBinary.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 e96c73abd..578a79b45 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -332,9 +332,9 @@ public class SkeletonBinary { Skin skin = new Skin(defaultSkin ? "default" : input.readStringRef()); if (!defaultSkin) { - Object[] bones = skeletonData.bones.setSize(input.readInt(true)); - for (int i = 0, n = skeletonData.bones.size; i < n; i++) - bones[i] = skeletonData.bones.get(input.readInt(true)); + Object[] bones = skin.bones.setSize(input.readInt(true)); + for (int i = 0, n = skin.bones.size; i < n; i++) + bones[i] = skin.bones.get(input.readInt(true)); for (int i = 0, n = input.readInt(true); i < n; i++) skin.constraints.add(skeletonData.ikConstraints.get(input.readInt(true))); From 634887fa098c04b02036fb156a8149313b9c62f7 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 5 Jun 2019 16:39:38 +0200 Subject: [PATCH 3/3] [libgdx] SkeletonBinary, fixed reading a skin's bones fix. --- .../src/com/esotericsoftware/spine/SkeletonBinary.java | 2 +- 1 file changed, 1 insertion(+), 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 578a79b45..36881ff91 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -334,7 +334,7 @@ public class SkeletonBinary { if (!defaultSkin) { Object[] bones = skin.bones.setSize(input.readInt(true)); for (int i = 0, n = skin.bones.size; i < n; i++) - bones[i] = skin.bones.get(input.readInt(true)); + bones[i] = skeletonData.bones.get(input.readInt(true)); for (int i = 0, n = input.readInt(true); i < n; i++) skin.constraints.add(skeletonData.ikConstraints.get(input.readInt(true)));