Forráskód Böngészése

Merge branch '3.7-beta' into 3.7-beta-cpp

badlogic 6 éve
szülő
commit
f825a1a0ae

BIN
spine-as3/spine-as3-example/lib/spine-as3.swc


+ 12 - 2
spine-as3/spine-as3/src/spine/PathConstraint.as

@@ -416,13 +416,23 @@ package spine {
 		}
 		}
 
 
 		private function addCurvePosition(p : Number, x1 : Number, y1 : Number, cx1 : Number, cy1 : Number, cx2 : Number, cy2 : Number, x2 : Number, y2 : Number, out : Vector.<Number>, o : int, tangents : Boolean) : void {
 		private function addCurvePosition(p : Number, x1 : Number, y1 : Number, cx1 : Number, cy1 : Number, cx2 : Number, cy2 : Number, x2 : Number, y2 : Number, out : Vector.<Number>, o : int, tangents : Boolean) : void {
-			if (p == 0 || isNaN(p)) p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt : Number = p * p, ttt : Number = tt * p, u : Number = 1 - p, uu : Number = u * u, uuu : Number = uu * u;
 			var tt : Number = p * p, ttt : Number = tt * p, u : Number = 1 - p, uu : Number = u * u, uuu : Number = uu * u;
 			var ut : Number = u * p, ut3 : Number = ut * 3, uut3 : Number = u * ut3, utt3 : Number = ut3 * p;
 			var ut : Number = u * p, ut3 : Number = ut * 3, uut3 : Number = u * ut3, utt3 : Number = ut3 * p;
 			var x : Number = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y : Number = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x : Number = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y : Number = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents) out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		}
 		}
 
 
 		public function get bones() : Vector.<Bone> {
 		public function get bones() : Vector.<Bone> {

+ 13 - 2
spine-c/spine-c/src/spine/PathConstraint.c

@@ -224,13 +224,24 @@ static void _addCurvePosition (float p, float x1, float y1, float cx1, float cy1
 	float tt, ttt, u, uu, uuu;
 	float tt, ttt, u, uu, uuu;
 	float ut, ut3, uut3, utt3;
 	float ut, ut3, uut3, utt3;
 	float x, y;
 	float x, y;
-	if (p == 0 || _isNan(p, 0)) p = 0.0001f;
+	if (p == 0 || _isNan(p, 0)) {
+		out[o] = x1;
+		out[o + 1] = y1;
+		out[o + 2] = ATAN2(cy1 - y1, cx1 - x1);
+		return;
+	}
 	tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 	tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 	ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 	ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 	x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 	x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 	out[o] = x;
 	out[o] = x;
 	out[o + 1] = y;
 	out[o + 1] = y;
-	if (tangents) out[o + 2] = ATAN2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+	if (tangents) {
+		if (p < 0.001) {
+			out[o + 2] = ATAN2(cy1 - y1, cx1 - x1);
+		} else {
+			out[o + 2] = ATAN2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+		}
+	}
 }
 }
 
 
 float* spPathConstraint_computeWorldPositions(spPathConstraint* self, spPathAttachment* path, int spacesCount, int/*bool*/ tangents, int/*bool*/percentPosition, int/**/percentSpacing) {
 float* spPathConstraint_computeWorldPositions(spPathConstraint* self, spPathAttachment* path, int spacesCount, int/*bool*/ tangents, int/*bool*/percentPosition, int/**/percentSpacing) {

+ 10 - 3
spine-cpp/spine-cpp/src/spine/PathConstraint.cpp

@@ -549,7 +549,10 @@ void PathConstraint::addAfterPosition(float p, Vector<float> &temp, int i, Vecto
 void PathConstraint::addCurvePosition(float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2,
 void PathConstraint::addCurvePosition(float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2,
 									  float y2, Vector<float> &output, int o, bool tangents) {
 									  float y2, Vector<float> &output, int o, bool tangents) {
 	if (p < EPSILON || MathUtil::isNan(p)) {
 	if (p < EPSILON || MathUtil::isNan(p)) {
-		p = EPSILON;
+		output[o] = x1;
+		output[o + 1] = y1;
+		output[o + 2] = MathUtil::atan2(cy1 - y1, cx1 - x1);
+		return;
 	}
 	}
 
 
 	float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 	float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
@@ -558,7 +561,11 @@ void PathConstraint::addCurvePosition(float p, float x1, float y1, float cx1, fl
 	output[o] = x;
 	output[o] = x;
 	output[o + 1] = y;
 	output[o + 1] = y;
 	if (tangents) {
 	if (tangents) {
-		output[o + 2] = MathUtil::atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt),
-										x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+		if (p < 0.001) {
+			output[o + 2] = MathUtil::atan2(cy1 - y1, cx1 - x1);
+		} else {
+			output[o + 2] = MathUtil::atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt),
+											x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+		}
 	}
 	}
 }
 }

+ 13 - 4
spine-csharp/src/PathConstraint.cs

@@ -71,7 +71,7 @@ namespace Spine {
 		public void Apply () {
 		public void Apply () {
 			Update();
 			Update();
 		}
 		}
-			
+
 		public void Update () {
 		public void Update () {
 			PathAttachment attachment = target.Attachment as PathAttachment;
 			PathAttachment attachment = target.Attachment as PathAttachment;
 			if (attachment == null) return;
 			if (attachment == null) return;
@@ -416,14 +416,23 @@ namespace Spine {
 
 
 		static void AddCurvePosition (float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2, float y2,
 		static void AddCurvePosition (float p, float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2, float y2,
 			float[] output, int o, bool tangents) {
 			float[] output, int o, bool tangents) {
-			if (p < PathConstraint.Epsilon || float.IsNaN(p)) p = PathConstraint.Epsilon;
+			if (p < PathConstraint.Epsilon || float.IsNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = (float)Math.Atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			float tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			float ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			float ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			float x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			float x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			output[o] = x;
 			output[o] = x;
 			output[o + 1] = y;
 			output[o + 1] = y;
-			if (tangents)
-				output[o + 2] = (float)Math.Atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001f)
+					out[o + 2] = (float)Math.Atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = (float)Math.Atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		}
 		}
 	}
 	}
 }
 }

+ 13 - 2
spine-lua/PathConstraint.lua

@@ -532,7 +532,12 @@ function PathConstraint:addAfterPosition(p, temp, i, out, o)
 end
 end
 
 
 function PathConstraint:addCurvePosition(p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents)
 function PathConstraint:addCurvePosition(p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents)
-	if p == 0 or (p ~= p) then p = 0.0001 end
+	if p == 0 or (p ~= p) then
+    out[o + 1] = x1
+		out[o + 2] = y1
+		out[o + 3] = math_atan2(cy1 - y1, cx1 - x1)
+		return;
+  end
 	local tt = p * p
 	local tt = p * p
 	local ttt = tt * p
 	local ttt = tt * p
 	local u = 1 - p
 	local u = 1 - p
@@ -546,7 +551,13 @@ function PathConstraint:addCurvePosition(p, x1, y1, cx1, cy1, cx2, cy2, x2, y2,
 	local y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt
 	local y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt
 	out[o + 1] = x
 	out[o + 1] = x
 	out[o + 2] = y
 	out[o + 2] = y
-	if tangents then out[o + 3] = math_atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt)) end
+	if tangents then 
+    if p < 0.001 then
+      out[o + 3] = math_atan2(cy1 - y1, cx1 - x1)
+    else
+      out[o + 3] = math_atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt))
+    end
+  end
 end
 end
 
 
 return PathConstraint
 return PathConstraint

BIN
spine-starling/spine-starling-example/lib/spine-as3.swc


BIN
spine-starling/spine-starling/lib/spine-as3.swc


+ 46 - 46
spine-ts/build/spine-all.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1271,11 +1271,11 @@ declare module spine.canvas {
 		private tempColor;
 		private tempColor;
 		constructor(context: CanvasRenderingContext2D);
 		constructor(context: CanvasRenderingContext2D);
 		draw(skeleton: Skeleton): void;
 		draw(skeleton: Skeleton): void;
-		private drawImages(skeleton);
-		private drawTriangles(skeleton);
-		private drawTriangle(img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2);
-		private computeRegionVertices(slot, region, pma);
-		private computeMeshVertices(slot, mesh, pma);
+		private drawImages;
+		private drawTriangles;
+		private drawTriangle;
+		private computeRegionVertices;
+		private computeMeshVertices;
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1330,7 +1330,7 @@ declare module spine.webgl {
 		touchesPool: Pool<Touch>;
 		touchesPool: Pool<Touch>;
 		private listeners;
 		private listeners;
 		constructor(element: HTMLElement);
 		constructor(element: HTMLElement);
-		private setupCallbacks(element);
+		private setupCallbacks;
 		addListener(listener: InputListener): void;
 		addListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 	}
 	}
@@ -1439,7 +1439,7 @@ declare module spine.webgl {
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		bind(shader: Shader): void;
 		bind(shader: Shader): void;
 		unbind(shader: Shader): void;
 		unbind(shader: Shader): void;
-		private update();
+		private update;
 		restore(): void;
 		restore(): void;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -1465,7 +1465,7 @@ declare module spine.webgl {
 		constructor();
 		constructor();
 	}
 	}
 	enum VertexAttributeType {
 	enum VertexAttributeType {
-		Float = 0,
+		Float = 0
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1484,7 +1484,7 @@ declare module spine.webgl {
 		begin(shader: Shader): void;
 		begin(shader: Shader): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
-		private flush();
+		private flush;
 		end(): void;
 		end(): void;
 		getDrawCalls(): number;
 		getDrawCalls(): number;
 		dispose(): void;
 		dispose(): void;
@@ -1524,13 +1524,13 @@ declare module spine.webgl {
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		end(): void;
 		end(): void;
 		resize(resizeMode: ResizeMode): void;
 		resize(resizeMode: ResizeMode): void;
-		private enableRenderer(renderer);
+		private enableRenderer;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ResizeMode {
 	enum ResizeMode {
 		Stretch = 0,
 		Stretch = 0,
 		Expand = 1,
 		Expand = 1,
-		Fit = 2,
+		Fit = 2
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1558,9 +1558,9 @@ declare module spine.webgl {
 		getVertexShaderSource(): string;
 		getVertexShaderSource(): string;
 		getFragmentSource(): string;
 		getFragmentSource(): string;
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
-		private compile();
-		private compileShader(type, source);
-		private compileProgram(vs, fs);
+		private compile;
+		private compileShader;
+		private compileProgram;
 		restore(): void;
 		restore(): void;
 		bind(): void;
 		bind(): void;
 		unbind(): void;
 		unbind(): void;
@@ -1607,16 +1607,16 @@ declare module spine.webgl {
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
-		private vertex(x, y, color);
+		private vertex;
 		end(): void;
 		end(): void;
-		private flush();
-		private check(shapeType, numVertices);
+		private flush;
+		private check;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ShapeType {
 	enum ShapeType {
 		Point = 0,
 		Point = 0,
 		Line = 1,
 		Line = 1,
-		Filled = 4,
+		Filled = 4
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1756,9 +1756,9 @@ declare module spine.threejs {
 		private tempColor;
 		private tempColor;
 		constructor(skeletonData: SkeletonData);
 		constructor(skeletonData: SkeletonData);
 		update(deltaTime: number): void;
 		update(deltaTime: number): void;
-		private clearBatches();
-		private nextBatch();
-		private updateGeometry();
+		private clearBatches;
+		private nextBatch;
+		private updateGeometry;
 	}
 	}
 }
 }
 declare module spine.threejs {
 declare module spine.threejs {
@@ -1793,10 +1793,10 @@ declare module spine {
 		private loaded;
 		private loaded;
 		private bounds;
 		private bounds;
 		constructor(element: HTMLElement | string, config: SpineWidgetConfig);
 		constructor(element: HTMLElement | string, config: SpineWidgetConfig);
-		private validateConfig(config);
-		private load();
-		private render();
-		private resize();
+		private validateConfig;
+		private load;
+		private render;
+		private resize;
 		pause(): void;
 		pause(): void;
 		play(): void;
 		play(): void;
 		isPlaying(): boolean;
 		isPlaying(): boolean;
@@ -1804,7 +1804,7 @@ declare module spine {
 		static loadWidgets(): void;
 		static loadWidgets(): void;
 		static loadWidget(widget: HTMLElement): void;
 		static loadWidget(widget: HTMLElement): void;
 		static pageLoaded: boolean;
 		static pageLoaded: boolean;
-		private static ready();
+		private static ready;
 		static setupDOMListener(): void;
 		static setupDOMListener(): void;
 	}
 	}
 	class SpineWidgetConfig {
 	class SpineWidgetConfig {

+ 18 - 7
spine-ts/build/spine-all.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-all.js.map


+ 25 - 25
spine-ts/build/spine-canvas.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1271,10 +1271,10 @@ declare module spine.canvas {
 		private tempColor;
 		private tempColor;
 		constructor(context: CanvasRenderingContext2D);
 		constructor(context: CanvasRenderingContext2D);
 		draw(skeleton: Skeleton): void;
 		draw(skeleton: Skeleton): void;
-		private drawImages(skeleton);
-		private drawTriangles(skeleton);
-		private drawTriangle(img, x0, y0, u0, v0, x1, y1, u1, v1, x2, y2, u2, v2);
-		private computeRegionVertices(slot, region, pma);
-		private computeMeshVertices(slot, mesh, pma);
+		private drawImages;
+		private drawTriangles;
+		private drawTriangle;
+		private computeRegionVertices;
+		private computeMeshVertices;
 	}
 	}
 }
 }

+ 18 - 7
spine-ts/build/spine-canvas.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-canvas.js.map


+ 20 - 20
spine-ts/build/spine-core.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {

+ 18 - 7
spine-ts/build/spine-core.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-core.js.map


+ 23 - 23
spine-ts/build/spine-threejs.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1290,9 +1290,9 @@ declare module spine.threejs {
 		private tempColor;
 		private tempColor;
 		constructor(skeletonData: SkeletonData);
 		constructor(skeletonData: SkeletonData);
 		update(deltaTime: number): void;
 		update(deltaTime: number): void;
-		private clearBatches();
-		private nextBatch();
-		private updateGeometry();
+		private clearBatches;
+		private nextBatch;
+		private updateGeometry;
 	}
 	}
 }
 }
 declare module spine.threejs {
 declare module spine.threejs {

+ 18 - 7
spine-ts/build/spine-threejs.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-threejs.js.map


+ 33 - 33
spine-ts/build/spine-webgl.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1299,7 +1299,7 @@ declare module spine.webgl {
 		touchesPool: Pool<Touch>;
 		touchesPool: Pool<Touch>;
 		private listeners;
 		private listeners;
 		constructor(element: HTMLElement);
 		constructor(element: HTMLElement);
-		private setupCallbacks(element);
+		private setupCallbacks;
 		addListener(listener: InputListener): void;
 		addListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 	}
 	}
@@ -1408,7 +1408,7 @@ declare module spine.webgl {
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		bind(shader: Shader): void;
 		bind(shader: Shader): void;
 		unbind(shader: Shader): void;
 		unbind(shader: Shader): void;
-		private update();
+		private update;
 		restore(): void;
 		restore(): void;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -1434,7 +1434,7 @@ declare module spine.webgl {
 		constructor();
 		constructor();
 	}
 	}
 	enum VertexAttributeType {
 	enum VertexAttributeType {
-		Float = 0,
+		Float = 0
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1453,7 +1453,7 @@ declare module spine.webgl {
 		begin(shader: Shader): void;
 		begin(shader: Shader): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
-		private flush();
+		private flush;
 		end(): void;
 		end(): void;
 		getDrawCalls(): number;
 		getDrawCalls(): number;
 		dispose(): void;
 		dispose(): void;
@@ -1493,13 +1493,13 @@ declare module spine.webgl {
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		end(): void;
 		end(): void;
 		resize(resizeMode: ResizeMode): void;
 		resize(resizeMode: ResizeMode): void;
-		private enableRenderer(renderer);
+		private enableRenderer;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ResizeMode {
 	enum ResizeMode {
 		Stretch = 0,
 		Stretch = 0,
 		Expand = 1,
 		Expand = 1,
-		Fit = 2,
+		Fit = 2
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1527,9 +1527,9 @@ declare module spine.webgl {
 		getVertexShaderSource(): string;
 		getVertexShaderSource(): string;
 		getFragmentSource(): string;
 		getFragmentSource(): string;
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
-		private compile();
-		private compileShader(type, source);
-		private compileProgram(vs, fs);
+		private compile;
+		private compileShader;
+		private compileProgram;
 		restore(): void;
 		restore(): void;
 		bind(): void;
 		bind(): void;
 		unbind(): void;
 		unbind(): void;
@@ -1576,16 +1576,16 @@ declare module spine.webgl {
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
-		private vertex(x, y, color);
+		private vertex;
 		end(): void;
 		end(): void;
-		private flush();
-		private check(shapeType, numVertices);
+		private flush;
+		private check;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ShapeType {
 	enum ShapeType {
 		Point = 0,
 		Point = 0,
 		Line = 1,
 		Line = 1,
-		Filled = 4,
+		Filled = 4
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {

+ 18 - 7
spine-ts/build/spine-webgl.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-webgl.js.map


+ 38 - 38
spine-ts/build/spine-widget.d.ts

@@ -16,11 +16,11 @@ declare module spine {
 		setup = 0,
 		setup = 0,
 		first = 1,
 		first = 1,
 		replace = 2,
 		replace = 2,
-		add = 3,
+		add = 3
 	}
 	}
 	enum MixDirection {
 	enum MixDirection {
 		in = 0,
 		in = 0,
-		out = 1,
+		out = 1
 	}
 	}
 	enum TimelineType {
 	enum TimelineType {
 		rotate = 0,
 		rotate = 0,
@@ -37,7 +37,7 @@ declare module spine {
 		pathConstraintPosition = 11,
 		pathConstraintPosition = 11,
 		pathConstraintSpacing = 12,
 		pathConstraintSpacing = 12,
 		pathConstraintMix = 13,
 		pathConstraintMix = 13,
-		twoColor = 14,
+		twoColor = 14
 	}
 	}
 	abstract class CurveTimeline implements Timeline {
 	abstract class CurveTimeline implements Timeline {
 		static LINEAR: number;
 		static LINEAR: number;
@@ -341,7 +341,7 @@ declare module spine {
 		end = 2,
 		end = 2,
 		dispose = 3,
 		dispose = 3,
 		complete = 4,
 		complete = 4,
-		event = 5,
+		event = 5
 	}
 	}
 	interface AnimationStateListener2 {
 	interface AnimationStateListener2 {
 		start(entry: TrackEntry): void;
 		start(entry: TrackEntry): void;
@@ -380,8 +380,8 @@ declare module spine {
 		private toLoad;
 		private toLoad;
 		private loaded;
 		private loaded;
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
 		constructor(textureLoader: (image: HTMLImageElement) => any, pathPrefix?: string);
-		private static downloadText(url, success, error);
-		private static downloadBinary(url, success, error);
+		private static downloadText;
+		private static downloadBinary;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadText(path: string, success?: (path: string, text: string) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTexture(path: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
 		loadTextureData(path: string, data: string, success?: (path: string, image: HTMLImageElement) => void, error?: (path: string, error: string) => void): void;
@@ -414,7 +414,7 @@ declare module spine {
 		Normal = 0,
 		Normal = 0,
 		Additive = 1,
 		Additive = 1,
 		Multiply = 2,
 		Multiply = 2,
-		Screen = 3,
+		Screen = 3
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -483,7 +483,7 @@ declare module spine {
 		OnlyTranslation = 1,
 		OnlyTranslation = 1,
 		NoRotationOrReflection = 2,
 		NoRotationOrReflection = 2,
 		NoScale = 3,
 		NoScale = 3,
-		NoScaleOrReflection = 4,
+		NoScaleOrReflection = 4
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -593,17 +593,17 @@ declare module spine {
 	}
 	}
 	enum PositionMode {
 	enum PositionMode {
 		Fixed = 0,
 		Fixed = 0,
-		Percent = 1,
+		Percent = 1
 	}
 	}
 	enum SpacingMode {
 	enum SpacingMode {
 		Length = 0,
 		Length = 0,
 		Fixed = 1,
 		Fixed = 1,
-		Percent = 2,
+		Percent = 2
 	}
 	}
 	enum RotateMode {
 	enum RotateMode {
 		Tangent = 0,
 		Tangent = 0,
 		Chain = 1,
 		Chain = 1,
-		ChainScale = 2,
+		ChainScale = 2
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -614,12 +614,12 @@ declare module spine {
 		private rawAssets;
 		private rawAssets;
 		private errors;
 		private errors;
 		constructor(pathPrefix?: string);
 		constructor(pathPrefix?: string);
-		private queueAsset(clientId, textureLoader, path);
+		private queueAsset;
 		loadText(clientId: string, path: string): void;
 		loadText(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadJson(clientId: string, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		loadTexture(clientId: string, textureLoader: (image: HTMLImageElement) => any, path: string): void;
 		get(clientId: string, path: string): any;
 		get(clientId: string, path: string): any;
-		private updateClientAssets(clientAssets);
+		private updateClientAssets;
 		isLoadingComplete(clientId: string): boolean;
 		isLoadingComplete(clientId: string): boolean;
 		dispose(): void;
 		dispose(): void;
 		hasErrors(): boolean;
 		hasErrors(): boolean;
@@ -823,12 +823,12 @@ declare module spine {
 		MipMapNearestNearest = 9984,
 		MipMapNearestNearest = 9984,
 		MipMapLinearNearest = 9985,
 		MipMapLinearNearest = 9985,
 		MipMapNearestLinear = 9986,
 		MipMapNearestLinear = 9986,
-		MipMapLinearLinear = 9987,
+		MipMapLinearLinear = 9987
 	}
 	}
 	enum TextureWrap {
 	enum TextureWrap {
 		MirroredRepeat = 33648,
 		MirroredRepeat = 33648,
 		ClampToEdge = 33071,
 		ClampToEdge = 33071,
-		Repeat = 10497,
+		Repeat = 10497
 	}
 	}
 	class TextureRegion {
 	class TextureRegion {
 		renderObject: any;
 		renderObject: any;
@@ -855,7 +855,7 @@ declare module spine {
 		pages: TextureAtlasPage[];
 		pages: TextureAtlasPage[];
 		regions: TextureAtlasRegion[];
 		regions: TextureAtlasRegion[];
 		constructor(atlasText: string, textureLoader: (path: string) => any);
 		constructor(atlasText: string, textureLoader: (path: string) => any);
-		private load(atlasText, textureLoader);
+		private load;
 		findRegion(name: string): TextureAtlasRegion;
 		findRegion(name: string): TextureAtlasRegion;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -931,9 +931,9 @@ declare module spine {
 		private polygonIndicesPool;
 		private polygonIndicesPool;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		triangulate(verticesArray: ArrayLike<number>): Array<number>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
 		decompose(verticesArray: Array<number>, triangles: Array<number>): Array<Array<number>>;
-		private static isConcave(index, vertexCount, vertices, indices);
-		private static positiveArea(p1x, p1y, p2x, p2y, p3x, p3y);
-		private static winding(p1x, p1y, p2x, p2y, p3x, p3y);
+		private static isConcave;
+		private static positiveArea;
+		private static winding;
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1105,7 +1105,7 @@ declare module spine {
 		Mesh = 2,
 		Mesh = 2,
 		LinkedMesh = 3,
 		LinkedMesh = 3,
 		Path = 4,
 		Path = 4,
-		Point = 5,
+		Point = 5
 	}
 	}
 }
 }
 declare module spine {
 declare module spine {
@@ -1299,7 +1299,7 @@ declare module spine.webgl {
 		touchesPool: Pool<Touch>;
 		touchesPool: Pool<Touch>;
 		private listeners;
 		private listeners;
 		constructor(element: HTMLElement);
 		constructor(element: HTMLElement);
-		private setupCallbacks(element);
+		private setupCallbacks;
 		addListener(listener: InputListener): void;
 		addListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 		removeListener(listener: InputListener): void;
 	}
 	}
@@ -1408,7 +1408,7 @@ declare module spine.webgl {
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		drawWithOffset(shader: Shader, primitiveType: number, offset: number, count: number): void;
 		bind(shader: Shader): void;
 		bind(shader: Shader): void;
 		unbind(shader: Shader): void;
 		unbind(shader: Shader): void;
-		private update();
+		private update;
 		restore(): void;
 		restore(): void;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
@@ -1434,7 +1434,7 @@ declare module spine.webgl {
 		constructor();
 		constructor();
 	}
 	}
 	enum VertexAttributeType {
 	enum VertexAttributeType {
-		Float = 0,
+		Float = 0
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1453,7 +1453,7 @@ declare module spine.webgl {
 		begin(shader: Shader): void;
 		begin(shader: Shader): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		setBlendMode(srcBlend: number, dstBlend: number): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
 		draw(texture: GLTexture, vertices: ArrayLike<number>, indices: Array<number>): void;
-		private flush();
+		private flush;
 		end(): void;
 		end(): void;
 		getDrawCalls(): number;
 		getDrawCalls(): number;
 		dispose(): void;
 		dispose(): void;
@@ -1493,13 +1493,13 @@ declare module spine.webgl {
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		end(): void;
 		end(): void;
 		resize(resizeMode: ResizeMode): void;
 		resize(resizeMode: ResizeMode): void;
-		private enableRenderer(renderer);
+		private enableRenderer;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ResizeMode {
 	enum ResizeMode {
 		Stretch = 0,
 		Stretch = 0,
 		Expand = 1,
 		Expand = 1,
-		Fit = 2,
+		Fit = 2
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1527,9 +1527,9 @@ declare module spine.webgl {
 		getVertexShaderSource(): string;
 		getVertexShaderSource(): string;
 		getFragmentSource(): string;
 		getFragmentSource(): string;
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
 		constructor(context: ManagedWebGLRenderingContext | WebGLRenderingContext, vertexShader: string, fragmentShader: string);
-		private compile();
-		private compileShader(type, source);
-		private compileProgram(vs, fs);
+		private compile;
+		private compileShader;
+		private compileProgram;
 		restore(): void;
 		restore(): void;
 		bind(): void;
 		bind(): void;
 		unbind(): void;
 		unbind(): void;
@@ -1576,16 +1576,16 @@ declare module spine.webgl {
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		polygon(polygonVertices: ArrayLike<number>, offset: number, count: number, color?: Color): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		circle(filled: boolean, x: number, y: number, radius: number, color?: Color, segments?: number): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
 		curve(x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number, segments: number, color?: Color): void;
-		private vertex(x, y, color);
+		private vertex;
 		end(): void;
 		end(): void;
-		private flush();
-		private check(shapeType, numVertices);
+		private flush;
+		private check;
 		dispose(): void;
 		dispose(): void;
 	}
 	}
 	enum ShapeType {
 	enum ShapeType {
 		Point = 0,
 		Point = 0,
 		Line = 1,
 		Line = 1,
-		Filled = 4,
+		Filled = 4
 	}
 	}
 }
 }
 declare module spine.webgl {
 declare module spine.webgl {
@@ -1703,10 +1703,10 @@ declare module spine {
 		private loaded;
 		private loaded;
 		private bounds;
 		private bounds;
 		constructor(element: HTMLElement | string, config: SpineWidgetConfig);
 		constructor(element: HTMLElement | string, config: SpineWidgetConfig);
-		private validateConfig(config);
-		private load();
-		private render();
-		private resize();
+		private validateConfig;
+		private load;
+		private render;
+		private resize;
 		pause(): void;
 		pause(): void;
 		play(): void;
 		play(): void;
 		isPlaying(): boolean;
 		isPlaying(): boolean;
@@ -1714,7 +1714,7 @@ declare module spine {
 		static loadWidgets(): void;
 		static loadWidgets(): void;
 		static loadWidget(widget: HTMLElement): void;
 		static loadWidget(widget: HTMLElement): void;
 		static pageLoaded: boolean;
 		static pageLoaded: boolean;
-		private static ready();
+		private static ready;
 		static setupDOMListener(): void;
 		static setupDOMListener(): void;
 	}
 	}
 	class SpineWidgetConfig {
 	class SpineWidgetConfig {

+ 18 - 7
spine-ts/build/spine-widget.js

@@ -1,7 +1,10 @@
 var __extends = (this && this.__extends) || (function () {
 var __extends = (this && this.__extends) || (function () {
-	var extendStatics = Object.setPrototypeOf ||
-		({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-		function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+	var extendStatics = function (d, b) {
+		extendStatics = Object.setPrototypeOf ||
+			({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+			function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+		return extendStatics(d, b);
+	}
 	return function (d, b) {
 	return function (d, b) {
 		extendStatics(d, b);
 		extendStatics(d, b);
 		function __() { this.constructor = d; }
 		function __() { this.constructor = d; }
@@ -3242,15 +3245,23 @@ var spine;
 			out[o + 2] = r;
 			out[o + 2] = r;
 		};
 		};
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
 		PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {
-			if (p == 0 || isNaN(p))
-				p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents)
-				out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		};
 		};
 		PathConstraint.prototype.getOrder = function () {
 		PathConstraint.prototype.getOrder = function () {
 			return this.data.order;
 			return this.data.order;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
spine-ts/build/spine-widget.js.map


+ 12 - 2
spine-ts/core/src/PathConstraint.ts

@@ -400,13 +400,23 @@ module spine {
 
 
 		addCurvePosition (p: number, x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number,
 		addCurvePosition (p: number, x1: number, y1: number, cx1: number, cy1: number, cx2: number, cy2: number, x2: number, y2: number,
 			out: Array<number>, o: number, tangents: boolean) {
 			out: Array<number>, o: number, tangents: boolean) {
-			if (p == 0 || isNaN(p)) p = 0.0001;
+			if (p == 0 || isNaN(p)) {
+				out[o] = x1;
+				out[o + 1] = y1;
+				out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				return;
+			}
 			let tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			let tt = p * p, ttt = tt * p, u = 1 - p, uu = u * u, uuu = uu * u;
 			let ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			let ut = u * p, ut3 = ut * 3, uut3 = u * ut3, utt3 = ut3 * p;
 			let x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			let x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt, y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;
 			out[o] = x;
 			out[o] = x;
 			out[o + 1] = y;
 			out[o + 1] = y;
-			if (tangents) out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			if (tangents) {
+				if (p < 0.001)
+					out[o + 2] = Math.atan2(cy1 - y1, cx1 - x1);
+				else
+					out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));
+			}
 		}
 		}
 
 
 		getOrder () {
 		getOrder () {

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott