From 22fabe87693247daa58c7e06ec83862b94aee25c Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 28 May 2013 18:22:06 +0200 Subject: [PATCH] Forgot to flip the root bone for some runtimes since the skeleton is now placed separately from the root bone. --- spine-as3/spine-as3/src/spine/Bone.as | 4 ++-- spine-c/src/spine/Bone.c | 4 ++-- spine-lua/Bone.lua | 12 ++++++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/Bone.as b/spine-as3/spine-as3/src/spine/Bone.as index 8503810b0..4b1d0fc49 100644 --- a/spine-as3/spine-as3/src/spine/Bone.as +++ b/spine-as3/spine-as3/src/spine/Bone.as @@ -39,8 +39,8 @@ public class Bone { _worldScaleY = _parent._worldScaleY * scaleY; _worldRotation = _parent._worldRotation + rotation; } else { - _worldX = x; - _worldY = y; + _worldX = flipX ? -x : x; + _worldY = flipX ? -y : y; _worldScaleX = scaleX; _worldScaleY = scaleY; _worldRotation = rotation; diff --git a/spine-c/src/spine/Bone.c b/spine-c/src/spine/Bone.c index fa6f0a441..9762e1c9f 100644 --- a/spine-c/src/spine/Bone.c +++ b/spine-c/src/spine/Bone.c @@ -62,8 +62,8 @@ void Bone_updateWorldTransform (Bone* self, int flipX, int flipY) { CONST_CAST(float, self->worldScaleY) = self->parent->worldScaleY * self->scaleY; CONST_CAST(float, self->worldRotation) = self->parent->worldRotation + self->rotation; } else { - CONST_CAST(float, self->worldX) = self->x; - CONST_CAST(float, self->worldY) = self->y; + CONST_CAST(float, self->worldX) = flipX ? -self->x : self->x; + CONST_CAST(float, self->worldY) = flipX ? -self->y : self->y; CONST_CAST(float, self->worldScaleX) = self->scaleX; CONST_CAST(float, self->worldScaleY) = self->scaleY; CONST_CAST(float, self->worldRotation) = self->rotation; diff --git a/spine-lua/Bone.lua b/spine-lua/Bone.lua index d186225ff..cdf14aaa7 100644 --- a/spine-lua/Bone.lua +++ b/spine-lua/Bone.lua @@ -42,8 +42,16 @@ function Bone.new (data, parent) self.worldScaleY = parent.worldScaleY * self.scaleY self.worldRotation = parent.worldRotation + self.rotation else - self.worldX = self.x - self.worldY = self.y + if flipX then + self.worldX = -self.x + else + self.worldX = self.x + end + if flipY then + self.worldY = -self.y + else + self.worldY = self.y + end self.worldScaleX = self.scaleX self.worldScaleY = self.scaleY self.worldRotation = self.rotation