From 8c4d03c8be26fa01016f6557209d2f409f02ec5e Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 1 Mar 2021 18:18:05 +0100 Subject: [PATCH] Fixed reading path constraint mix timelines in binary data. --- spine-csharp/src/SkeletonBinary.cs | 2 +- .../src/com/esotericsoftware/spine/SkeletonBinary.java | 2 +- spine-ts/core/src/SkeletonBinary.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spine-csharp/src/SkeletonBinary.cs b/spine-csharp/src/SkeletonBinary.cs index 12a872040..1b8702107 100644 --- a/spine-csharp/src/SkeletonBinary.cs +++ b/spine-csharp/src/SkeletonBinary.cs @@ -879,7 +879,7 @@ namespace Spine { PathConstraintMixTimeline timeline = new PathConstraintMixTimeline(input.ReadInt(true), input.ReadInt(true), index); float time = input.ReadFloat(), mixRotate = input.ReadFloat(), mixX = input.ReadFloat(), mixY = input.ReadFloat(); - for (int frame = 0, bezier = 0, frameLast = nn - 1; ; frame++) { + for (int frame = 0, bezier = 0, frameLast = timeline.FrameCount - 1; ; frame++) { timeline.SetFrame(frame, time, mixRotate, mixX, mixY); if (frame == frameLast) break; float time2 = input.ReadFloat(), mixRotate2 = input.ReadFloat(), mixX2 = input.ReadFloat(), 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 8bcc84c3d..2ea432fe0 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -861,7 +861,7 @@ public class SkeletonBinary extends SkeletonLoader { PathConstraintMixTimeline timeline = new PathConstraintMixTimeline(input.readInt(true), input.readInt(true), index); float time = input.readFloat(), mixRotate = input.readFloat(), mixX = input.readFloat(), mixY = input.readFloat(); - for (int frame = 0, bezier = 0, frameLast = nn - 1;; frame++) { + for (int frame = 0, bezier = 0, frameLast = timeline.getFrameCount() - 1;; frame++) { timeline.setFrame(frame, time, mixRotate, mixX, mixY); if (frame == frameLast) break; float time2 = input.readFloat(), mixRotate2 = input.readFloat(), mixX2 = input.readFloat(), diff --git a/spine-ts/core/src/SkeletonBinary.ts b/spine-ts/core/src/SkeletonBinary.ts index be012f35f..64adbbf49 100644 --- a/spine-ts/core/src/SkeletonBinary.ts +++ b/spine-ts/core/src/SkeletonBinary.ts @@ -842,7 +842,7 @@ module spine { let timeline = new PathConstraintMixTimeline(input.readInt(true), input.readInt(true), index); let time = input.readFloat(), mixRotate = input.readFloat(), mixX = input.readFloat(), mixY = input.readFloat(); - for (let frame = 0, bezier = 0, frameLast = nn - 1;; frame++) { + for (let frame = 0, bezier = 0, frameLast = timeline.getFrameCount() - 1;; frame++) { timeline.setFrame(frame, time, mixRotate, mixX, mixY); if (frame == frameLast) break; let time2 = input.readFloat(), mixRotate2 = input.readFloat(), mixX2 = input.readFloat(),