Przeglądaj źródła

Merge branch '3.8-beta' of https://github.com/EsotericSoftware/spine-runtimes into 3.8-beta

badlogic 6 lat temu
rodzic
commit
625f9b076a

+ 2 - 2
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());
 		Skin skin = new Skin(defaultSkin ? "default" : input.readStringRef());
 
 
 		if (!defaultSkin) {
 		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));
 				bones[i] = skeletonData.bones.get(input.readInt(true));
 
 
 			for (int i = 0, n = input.readInt(true); i < n; i++)
 			for (int i = 0, n = input.readInt(true); i < n; i++)

+ 10 - 2
spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/JsonRollback.java

@@ -132,10 +132,18 @@ public class JsonRollback {
 
 
 	static private void rollbackCurves (JsonValue map) {
 	static private void rollbackCurves (JsonValue map) {
 		if (map == null) return;
 		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");
 		JsonValue curve = map.get("curve");
 		if (curve == null) {
 		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;
 			return;
 		}
 		}
 		if (curve.isNumber()) {
 		if (curve.isNumber()) {