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 f204e206a..2af49199b 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -351,12 +351,12 @@ public class SkeletonBinary extends SkeletonLoader { froms[ii] = from; } flags = input.read(); - if ((flags & 1) != 0) data.offsets[0] = input.readFloat(); - if ((flags & 2) != 0) data.offsets[1] = input.readFloat() * scale; - if ((flags & 4) != 0) data.offsets[2] = input.readFloat() * scale; - if ((flags & 8) != 0) data.offsets[3] = input.readFloat(); - if ((flags & 16) != 0) data.offsets[4] = input.readFloat(); - if ((flags & 32) != 0) data.offsets[5] = input.readFloat(); + if ((flags & 1) != 0) data.offsets[TransformConstraintData.ROTATION] = input.readFloat(); + if ((flags & 2) != 0) data.offsets[TransformConstraintData.X] = input.readFloat() * scale; + if ((flags & 4) != 0) data.offsets[TransformConstraintData.Y] = input.readFloat() * scale; + if ((flags & 8) != 0) data.offsets[TransformConstraintData.SCALEX] = input.readFloat(); + if ((flags & 16) != 0) data.offsets[TransformConstraintData.SCALEY] = input.readFloat(); + if ((flags & 32) != 0) data.offsets[TransformConstraintData.SHEARY] = input.readFloat(); flags = input.read(); TransformConstraintPose setup = data.setup; if ((flags & 1) != 0) setup.mixRotate = input.readFloat(); diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index 917cd930e..038343eeb 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -320,12 +320,12 @@ public class SkeletonJson extends SkeletonLoader { if (from.to.notEmpty()) data.properties.add(from); } - data.offsets[0] = constraintMap.getFloat("rotation", 0); - data.offsets[1] = constraintMap.getFloat("x", 0) * scale; - data.offsets[2] = constraintMap.getFloat("y", 0) * scale; - data.offsets[3] = constraintMap.getFloat("scaleX", 0); - data.offsets[4] = constraintMap.getFloat("scaleY", 0); - data.offsets[5] = constraintMap.getFloat("shearY", 0); + data.offsets[TransformConstraintData.ROTATION] = constraintMap.getFloat("rotation", 0); + data.offsets[TransformConstraintData.X] = constraintMap.getFloat("x", 0) * scale; + data.offsets[TransformConstraintData.Y] = constraintMap.getFloat("y", 0) * scale; + data.offsets[TransformConstraintData.SCALEX] = constraintMap.getFloat("scaleX", 0); + data.offsets[TransformConstraintData.SCALEY] = constraintMap.getFloat("scaleY", 0); + data.offsets[TransformConstraintData.SHEARY] = constraintMap.getFloat("shearY", 0); TransformConstraintPose setup = data.setup; if (rotate) setup.mixRotate = constraintMap.getFloat("mixRotate", 1); diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java index f4964999c..6512b2c15 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/TransformConstraintData.java @@ -37,6 +37,8 @@ import com.badlogic.gdx.utils.Array; *

* See Transform constraints in the Spine User Guide. */ public class TransformConstraintData extends ConstraintData { + static public final int ROTATION = 0, X = 1, Y = 2, SCALEX = 3, SCALEY = 4, SHEARY = 5; + final Array bones = new Array(true, 0, BoneData[]::new); BoneData source; float[] offsets = new float[6]; @@ -68,56 +70,56 @@ public class TransformConstraintData extends ConstraintData 0 ? offsets[0] : -offsets[0]); + + (source.a * source.d - source.b * source.c > 0 ? offsets[ROTATION] : -offsets[ROTATION]); if (value < 0) value += 360; return value; } @@ -230,7 +232,7 @@ public class TransformConstraintData extends ConstraintData