Browse Source

Fixed reading draw order timeline in binary format.

NathanSweet 9 years ago
parent
commit
2c0dea8f87

+ 2 - 1
spine-csharp/src/SkeletonBinary.cs

@@ -605,6 +605,7 @@ namespace Spine {
 				DrawOrderTimeline timeline = new DrawOrderTimeline(drawOrderCount);
 				int slotCount = skeletonData.slots.Count;
 				for (int i = 0; i < drawOrderCount; i++) {
+					float time = ReadFloat(input);
 					int offsetCount = ReadVarint(input, true);
 					int[] drawOrder = new int[slotCount];
 					for (int ii = slotCount - 1; ii >= 0; ii--)
@@ -625,7 +626,7 @@ namespace Spine {
 					// Fill in unchanged items.
 					for (int ii = slotCount - 1; ii >= 0; ii--)
 						if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex];
-					timeline.SetFrame(i, ReadFloat(input), drawOrder);
+					timeline.SetFrame(i, time, drawOrder);
 				}
 				timelines.Add(timeline);
 				duration = Math.Max(duration, timeline.frames[drawOrderCount - 1]);

+ 2 - 1
spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java

@@ -613,6 +613,7 @@ public class SkeletonBinary {
 				DrawOrderTimeline timeline = new DrawOrderTimeline(drawOrderCount);
 				int slotCount = skeletonData.slots.size;
 				for (int i = 0; i < drawOrderCount; i++) {
+					float time = input.readFloat();
 					int offsetCount = input.readInt(true);
 					int[] drawOrder = new int[slotCount];
 					for (int ii = slotCount - 1; ii >= 0; ii--)
@@ -633,7 +634,7 @@ public class SkeletonBinary {
 					// Fill in unchanged items.
 					for (int ii = slotCount - 1; ii >= 0; ii--)
 						if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex];
-					timeline.setFrame(i, input.readFloat(), drawOrder);
+					timeline.setFrame(i, time, drawOrder);
 				}
 				timelines.add(timeline);
 				duration = Math.max(duration, timeline.getFrames()[drawOrderCount - 1]);