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..36881ff91 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -332,8 +332,8 @@ 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++) + Object[] bones = skin.bones.setSize(input.readInt(true)); + for (int i = 0, n = skin.bones.size; i < n; i++) bones[i] = skeletonData.bones.get(input.readInt(true)); for (int i = 0, n = input.readInt(true); i < n; i++) 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()) {