diff --git a/spine-c/include/spine/Bone.h b/spine-c/include/spine/Bone.h index 33160ecd4..5e8b1f7bf 100644 --- a/spine-c/include/spine/Bone.h +++ b/spine-c/include/spine/Bone.h @@ -47,7 +47,6 @@ struct spBone { float x, y; float rotation, rotationIK; float scaleX, scaleY; - int/*bool*/flipX, flipY; float const m00, m01, worldX; /* a b x */ float const m10, m11, worldY; /* c d y */ diff --git a/spine-c/src/spine/Bone.c b/spine-c/src/spine/Bone.c index 107a0cb3c..0e91facc5 100644 --- a/spine-c/src/spine/Bone.c +++ b/spine-c/src/spine/Bone.c @@ -65,8 +65,8 @@ void spBone_updateWorldTransform (spBone* self) { CONST_CAST(float, self->worldRotation) = self->data->inheritRotation ? self->parent->worldRotation + self->rotationIK : self->rotationIK; } else { - CONST_CAST(float, self->worldX) = self->flipX ? -self->x : self->x; - CONST_CAST(float, self->worldY) = self->flipY != yDown ? -self->y : self->y; + CONST_CAST(float, self->worldX) = self->skeleton->flipX ? -self->x : self->x; + CONST_CAST(float, self->worldY) = self->skeleton->flipY != yDown ? -self->y : self->y; CONST_CAST(float, self->worldScaleX) = self->scaleX; CONST_CAST(float, self->worldScaleY) = self->scaleY; CONST_CAST(float, self->worldRotation) = self->rotationIK; @@ -74,14 +74,14 @@ void spBone_updateWorldTransform (spBone* self) { radians = self->worldRotation * DEG_RAD; cosine = COS(radians); sine = SIN(radians); - if (self->flipX) { + if (self->skeleton->flipX) { CONST_CAST(float, self->m00) = -cosine * self->worldScaleX; CONST_CAST(float, self->m01) = sine * self->worldScaleY; } else { CONST_CAST(float, self->m00) = cosine * self->worldScaleX; CONST_CAST(float, self->m01) = -sine * self->worldScaleY; } - if (self->flipY != yDown) { + if (self->skeleton->flipY != yDown) { CONST_CAST(float, self->m10) = -sine * self->worldScaleX; CONST_CAST(float, self->m11) = -cosine * self->worldScaleY; } else { @@ -103,7 +103,7 @@ void spBone_worldToLocal (spBone* self, float worldX, float worldY, float* local float invDet; float dx = worldX - self->worldX, dy = worldY - self->worldY; float m00 = self->m00, m11 = self->m11; - if (self->flipX != (self->flipY != yDown)) { + if (self->skeleton->flipX != (self->skeleton->flipY != yDown)) { m00 *= -1; m11 *= -1; }