From cb5e05008a1678d2e51924fc1c73d13142bbedf0 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sun, 9 Dec 2018 18:31:36 +0100 Subject: [PATCH] [libgdx] Fixed disable inherit scale. #1224 --- .../spine-libgdx/src/com/esotericsoftware/spine/Bone.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index 77955c4ff..6a3151dc3 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -37,6 +37,8 @@ import com.badlogic.gdx.math.Matrix3; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; +import com.esotericsoftware.spine.BoneData.TransformMode; + /** Stores a bone's current pose. *

* A bone has a local transform which is used to compute its world transform. A bone also has an applied transform, which is a @@ -180,6 +182,8 @@ public class Bone implements Updatable { za *= s; zc *= s; s = (float)Math.sqrt(za * za + zc * zc); + if (data.transformMode == TransformMode.noScale + && (pa * pd - pb * pc < 0) != (skeleton.scaleX < 0 != skeleton.scaleY < 0)) s = -s; float r = PI / 2 + atan2(zc, za); float zb = cos(r) * s; float zd = sin(r) * s;