From f5a6b4bf92b408f7d5e76d3e9ea2ae7491a9eda6 Mon Sep 17 00:00:00 2001 From: badlogic Date: Mon, 7 Nov 2016 12:26:11 +0100 Subject: [PATCH] PathConstraint needs to take into account flipX/Y or parent scale. Determining handedness of base vectors let's us compensate --- .../src/com/esotericsoftware/spine/PathConstraint.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java index de573b955..fcac1238b 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/PathConstraint.java @@ -149,7 +149,8 @@ public class PathConstraint implements Constraint { r = positions[p + 2]; else r = atan2(dy, dx); - r -= atan2(c, a) - offsetRotation * degRad; + float det = a * d - b * c; + r -= atan2(c, a) + (det > 0 ? -offsetRotation * degRad : offsetRotation * degRad); if (tip) { cos = cos(r); sin = sin(r);