diff --git a/spine-c/spine-c/src/spine/Bone.c b/spine-c/spine-c/src/spine/Bone.c index 95cec90c0..e9ceff960 100644 --- a/spine-c/spine-c/src/spine/Bone.c +++ b/spine-c/spine-c/src/spine/Bone.c @@ -161,26 +161,26 @@ void spBone_updateWorldTransformWith(spBone *self, float x, float y, float rotat float za = (pa * cosine + pb * sine) / sx; float zc = (pc * cosine + pd * sine) / sy; float s = SQRT(za * za + zc * zc); - if (s > 0.00001f) s = 1 / s; - za *= s; - zc *= s; - s = SQRT(za * za + zc * zc); - if (self->inherit == SP_INHERIT_NOSCALE && - (pa * pd - pb * pc < 0) != (sx < 0 != sy < 0)) - s = -s; - rotation = PI / 2 + ATAN2(zc, za); - float zb = COS(rotation) * s; - float zd = SIN(rotation) * s; - shearX *= DEG_RAD; - shearY = (90 + shearY) * DEG_RAD; - float la = COS(shearX) * scaleX; - float lb = COS(shearY) * scaleY; - float lc = SIN(shearX) * scaleX; - float ld = SIN(shearY) * scaleY; - self->a = za * la + zb * lc; - self->b = za * lb + zb * ld; - self->c = zc * la + zd * lc; - self->d = zc * lb + zd * ld; + if (s > 0.00001f) s = 1 / s; + za *= s; + zc *= s; + s = SQRT(za * za + zc * zc); + if (self->inherit == SP_INHERIT_NOSCALE && + (pa * pd - pb * pc < 0) != (sx < 0 != sy < 0)) + s = -s; + rotation = PI / 2 + ATAN2(zc, za); + float zb = COS(rotation) * s; + float zd = SIN(rotation) * s; + shearX *= DEG_RAD; + shearY = (90 + shearY) * DEG_RAD; + float la = COS(shearX) * scaleX; + float lb = COS(shearY) * scaleY; + float lc = SIN(shearX) * scaleX; + float ld = SIN(shearY) * scaleY; + self->a = za * la + zb * lc; + self->b = za * lb + zb * ld; + self->c = zc * la + zd * lc; + self->d = zc * lb + zd * ld; } } diff --git a/spine-ts/spine-core/src/SkeletonClipping.ts b/spine-ts/spine-core/src/SkeletonClipping.ts index 17a0eb8bb..8467cd209 100644 --- a/spine-ts/spine-core/src/SkeletonClipping.ts +++ b/spine-ts/spine-core/src/SkeletonClipping.ts @@ -80,10 +80,10 @@ export class SkeletonClipping { return this.clipAttachment != null; } - clipTriangles(vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number): void; - clipTriangles(vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number, uvs: NumberArrayLike, + clipTriangles (vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number): void; + clipTriangles (vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number, uvs: NumberArrayLike, light: Color, dark: Color, twoColor: boolean): void; - clipTriangles(vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number, uvs?: NumberArrayLike, + clipTriangles (vertices: NumberArrayLike, verticesLength: number, triangles: NumberArrayLike, trianglesLength: number, uvs?: NumberArrayLike, light?: Color, dark?: Color, twoColor?: boolean): void { if (uvs && light && dark && typeof twoColor === 'boolean')