From 4a205a65f65b328bf3cb53307bd91dd770151f45 Mon Sep 17 00:00:00 2001 From: Eric Zhong Date: Mon, 15 Sep 2014 22:34:27 +0800 Subject: [PATCH 01/91] Update Animation.c fix object size when copy slot datas. --- spine-c/src/spine/Animation.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index b246e8c07..8784ba437 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -602,7 +602,7 @@ void _spDrawOrderTimeline_apply (const spTimeline* timeline, spSkeleton* skeleto drawOrderToSetupIndex = self->drawOrders[frameIndex]; if (!drawOrderToSetupIndex) - memcpy(skeleton->drawOrder, skeleton->slots, self->slotsCount * sizeof(int)); + memcpy(skeleton->drawOrder, skeleton->slots, self->slotsCount * sizeof(spSlot*)); else { for (i = 0; i < self->slotsCount; ++i) skeleton->drawOrder[i] = skeleton->slots[drawOrderToSetupIndex[i]]; From 2d17ceb681c9626b0567b28fd5c6ce40dbd24e48 Mon Sep 17 00:00:00 2001 From: Borislav Kosharov Date: Tue, 23 Sep 2014 01:43:38 +0300 Subject: [PATCH 02/91] Fixes problem with IK classes not found Just manually added the files to the solution. Fixes #295 --- spine-csharp/spine-csharp.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spine-csharp/spine-csharp.csproj b/spine-csharp/spine-csharp.csproj index 1f7dc948a..9cbdb5373 100644 --- a/spine-csharp/spine-csharp.csproj +++ b/spine-csharp/spine-csharp.csproj @@ -69,6 +69,8 @@ + + From 113940e2c8bb74550f1120723f53fbe0ec4b601e Mon Sep 17 00:00:00 2001 From: "Guilherme A. David" Date: Sat, 27 Sep 2014 08:34:42 -0300 Subject: [PATCH 03/91] Makefile(Linux and MingW support) for spine-c, options are (debug-dynamic, release-dynamic and release-static) --- spine-c/Makefile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 spine-c/Makefile diff --git a/spine-c/Makefile b/spine-c/Makefile new file mode 100644 index 000000000..a277e035b --- /dev/null +++ b/spine-c/Makefile @@ -0,0 +1,50 @@ +LIBS = -lm +CFLAGS = -Wall -I./include/ + +SRC=$(wildcard src/spine/*.c) +OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=.o))) +STATIC_OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=-s.o))) +DEBUG_OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=-d.o))) + +default: + @echo + @echo "- Options are (debug|release)-dynamic and release-static." + @echo "- Ex: release-static" + @echo + +release-dynamic: $(OBJ_FILES) + @mkdir -p dist + gcc -s -shared -Wl,-soname,libspine.so -o dist/libspine.so $(OBJ_FILES) + @echo + @echo - /dist/libspine.so + @echo + +debug-dynamic: $(DEBUG_OBJ_FILES) + @mkdir -p dist + gcc -g3 -shared -Wl,-soname,libspine.so -o dist/libspine-d.so $(DEBUG_OBJ_FILES) + @echo + @echo - /dist/libspine-d.so + @echo + +obj/%.o: src/spine/%.c + @mkdir -p obj + gcc -fPIC -c -o $@ $< $(CFLAGS) $(LIBS) + +obj/%-d.o: src/spine/%.c + @mkdir -p obj + gcc -fPIC -c -o $@ $< $(CFLAGS) + +release-static: $(STATIC_OBJ_FILES) + @mkdir -p dist + ar rcs dist/libspine-s.a $(STATIC_OBJ_FILES) + @echo + @echo - /dist/libspine-s.a + @echo + +obj/%-s.o: src/spine/%.c + @mkdir -p obj + gcc -c -o $@ $< $(CFLAGS) $(LIBS) + +clean: + rm -rf obj/* + rm -rf dist/* From 5c154fd236e3cd5dc1f7c276170a12013f0b16ec Mon Sep 17 00:00:00 2001 From: Sebastien Flory Date: Mon, 29 Sep 2014 16:51:34 +0200 Subject: [PATCH 04/91] Fix to avoid excessive flushing of polygon batch. It seems that when we use a starling SubTexture instead of an Spine texture, this line will trigger a lot of flushing instead of batching the polygons. This fix avoid that. Btw, you are using Animation.binarySearch1() in AnimationTimeline wich does not exists yet :-p --- .../spine-starling/src/spine/starling/PolygonBatch.as | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as index 74553ab49..eba94728f 100644 --- a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as +++ b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as @@ -125,7 +125,7 @@ internal class PolygonBatch { _support.applyBlendMode(true); } - if (texture != _texture) { + if (!_texture || texture.base != _texture.base) { flush(); _texture = texture; } From 94f969c9a301b5aefb5678eed63c4b90014077d7 Mon Sep 17 00:00:00 2001 From: Sebastien Flory Date: Mon, 29 Sep 2014 18:10:41 +0200 Subject: [PATCH 05/91] Avoid silent Array allocations Hello, In AS3, if a function accepts an arbitrary number of arguments, it will create an Array object behind the scene. Math.min / Math.max are famous culprits :) --- .../spine-starling/src/spine/starling/SkeletonSprite.as | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as index 7868c0bfe..aeec9bde9 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as @@ -243,10 +243,10 @@ public class SkeletonSprite extends DisplayObject { continue; for (var ii:int = 0; ii < verticesLength; ii += 2) { var x:Number = worldVertices[ii], y:Number = worldVertices[ii + 1]; - minX = Math.min(minX, x); - minY = Math.min(minY, y); - maxX = Math.max(maxX, x); - maxY = Math.max(maxY, y); + minX = minX < x ? minX : x; + minY = minY < y ? minY : y; + maxX = maxX > x ? maxX : x; + maxY = maxY > y ? maxY : y; } } From 01c990c618e107c31eddac5ee49fd88bb65e0c22 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Mon, 29 Sep 2014 14:23:20 -0700 Subject: [PATCH 06/91] [Unity Bugfix] Auto Ingest failure when atlas contains EOL CLRF after manual editing. [Unity] Max texture size automatically set to 2048 --- .../Assets/spine-unity/Editor/SpineEditorUtilities.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 3f0a9d403..606412702 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -368,8 +368,12 @@ public class SpineEditorUtilities : AssetPostprocessor { AtlasAsset atlasAsset = AtlasAsset.CreateInstance(); atlasAsset.atlasFile = atlasText; - - string[] atlasLines = atlasText.text.Split('\n'); + + //strip CR + string atlasStr = atlasText.text; + atlasStr = atlasStr.Replace("\r", ""); + + string[] atlasLines = atlasStr.Split('\n'); List pageFiles = new List(); for(int i = 0; i < atlasLines.Length-1; i++){ if(atlasLines[i].Length == 0) @@ -385,6 +389,8 @@ public class SpineEditorUtilities : AssetPostprocessor { TextureImporter texImporter = (TextureImporter)TextureImporter.GetAtPath(texturePath); texImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; texImporter.mipmapEnabled = false; + //TODO: Get actual size from atlas data + texImporter.maxTextureSize = 2048; EditorUtility.SetDirty(texImporter); AssetDatabase.ImportAsset(texturePath); AssetDatabase.SaveAssets(); From eafcc2829f6df723631b335c0f4ddfa69aa52ba9 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 30 Sep 2014 01:25:35 +0200 Subject: [PATCH 07/91] Fixed EventTimeline. #300 --- spine-lua/Animation.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-lua/Animation.lua b/spine-lua/Animation.lua index 3e23b3a8c..c068e446c 100644 --- a/spine-lua/Animation.lua +++ b/spine-lua/Animation.lua @@ -463,7 +463,7 @@ function Animation.EventTimeline.new () if not firedEvents then return end local frames = self.frames - local frameCount = #frames + local frameCount = #frames + 1 if lastTime > time then -- Fire events after last time for looped animations. self:apply(skeleton, lastTime, 999999, firedEvents, alpha) From 84a80fecccb035e8817dfc0963ac1d665d154b69 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 30 Sep 2014 01:26:47 +0200 Subject: [PATCH 08/91] IK constraints for spine-as3. --- spine-as3/spine-as3/src/spine/Bone.as | 77 +- spine-as3/spine-as3/src/spine/BoneData.as | 13 +- spine-as3/spine-as3/src/spine/Event.as | 3 +- spine-as3/spine-as3/src/spine/EventData.as | 3 +- spine-as3/spine-as3/src/spine/IkConstraint.as | 149 ++ .../spine-as3/src/spine/IkConstraintData.as | 54 + spine-as3/spine-as3/src/spine/Skeleton.as | 175 ++- .../spine-as3/src/spine/SkeletonBounds.as | 2 +- spine-as3/spine-as3/src/spine/SkeletonData.as | 94 +- spine-as3/spine-as3/src/spine/SkeletonJson.as | 82 +- spine-as3/spine-as3/src/spine/Skin.as | 8 +- spine-as3/spine-as3/src/spine/Slot.as | 32 +- spine-as3/spine-as3/src/spine/SlotData.as | 6 +- .../src/spine/animation/Animation.as | 31 +- .../src/spine/animation/AnimationStateData.as | 15 +- .../src/spine/animation/CurveTimeline.as | 96 +- .../src/spine/animation/DrawOrderTimeline.as | 2 +- .../src/spine/animation/EventTimeline.as | 2 +- .../src/spine/animation/FfdTimeline.as | 2 +- .../spine/animation/IkConstraintTimeline.as | 82 + .../.actionScriptProperties | 7 +- .../spine-starling-example/src/raptor.atlas | 251 ++++ .../spine-starling-example/src/raptor.json | 1333 +++++++++++++++++ .../spine-starling-example/src/raptor.png | Bin 0 -> 563690 bytes .../src/{ => spine}/GoblinsExample.as | 4 +- .../src/{ => spine}/Main.as | 7 +- .../src/spine/RaptorExample.as | 62 + .../src/{ => spine}/SpineboyExample.as | 5 +- .../spine-starling-example/src/spineboy.png | Bin 208359 -> 258904 bytes 29 files changed, 2297 insertions(+), 300 deletions(-) create mode 100644 spine-as3/spine-as3/src/spine/IkConstraint.as create mode 100644 spine-as3/spine-as3/src/spine/IkConstraintData.as create mode 100644 spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as create mode 100644 spine-starling/spine-starling-example/src/raptor.atlas create mode 100644 spine-starling/spine-starling-example/src/raptor.json create mode 100644 spine-starling/spine-starling-example/src/raptor.png rename spine-starling/spine-starling-example/src/{ => spine}/GoblinsExample.as (97%) rename spine-starling/spine-starling-example/src/{ => spine}/Main.as (76%) create mode 100644 spine-starling/spine-starling-example/src/spine/RaptorExample.as rename spine-starling/spine-starling-example/src/{ => spine}/SpineboyExample.as (97%) diff --git a/spine-as3/spine-as3/src/spine/Bone.as b/spine-as3/spine-as3/src/spine/Bone.as index 0330f0257..b2442091b 100644 --- a/spine-as3/spine-as3/src/spine/Bone.as +++ b/spine-as3/spine-as3/src/spine/Bone.as @@ -34,10 +34,12 @@ public class Bone { static public var yDown:Boolean; internal var _data:BoneData; + internal var _skeleton:Skeleton; internal var _parent:Bone; public var x:Number; public var y:Number; public var rotation:Number; + public var rotationIK:Number; public var scaleX:Number public var scaleY:Number; @@ -52,48 +54,52 @@ public class Bone { internal var _worldScaleY:Number; /** @param parent May be null. */ - public function Bone (data:BoneData, parent:Bone) { - if (data == null) - throw new ArgumentError("data cannot be null."); + public function Bone (data:BoneData, skeleton:Skeleton, parent:Bone) { + if (data == null) throw new ArgumentError("data cannot be null."); + if (skeleton == null) throw new ArgumentError("skeleton cannot be null."); _data = data; + _skeleton = skeleton; _parent = parent; setToSetupPose(); } /** Computes the world SRT using the parent bone and the local SRT. */ - public function updateWorldTransform (flipX:Boolean, flipY:Boolean) : void { - if (_parent != null) { - _worldX = x * _parent._m00 + y * _parent._m01 + _parent._worldX; - _worldY = x * _parent._m10 + y * _parent._m11 + _parent._worldY; + public function updateWorldTransform () : void { + var parent:Bone = _parent; + if (parent) { + _worldX = x * parent._m00 + y * parent._m01 + parent._worldX; + _worldY = x * parent._m10 + y * parent._m11 + parent._worldY; if (_data.inheritScale) { - _worldScaleX = _parent._worldScaleX * scaleX; - _worldScaleY = _parent._worldScaleY * scaleY; + _worldScaleX = parent._worldScaleX * scaleX; + _worldScaleY = parent._worldScaleY * scaleY; } else { _worldScaleX = scaleX; _worldScaleY = scaleY; } - _worldRotation = _data.inheritRotation ? _parent._worldRotation + rotation : rotation; + _worldRotation = _data.inheritRotation ? parent._worldRotation + rotationIK : rotationIK; } else { - _worldX = flipX ? -x : x; - _worldY = flipY != yDown ? -y : y; + _worldX = _skeleton.flipX ? -x : x; + _worldY = _skeleton.flipY != yDown ? -y : y; _worldScaleX = scaleX; _worldScaleY = scaleY; - _worldRotation = rotation; + _worldRotation = rotationIK; } var radians:Number = _worldRotation * (Math.PI / 180); var cos:Number = Math.cos(radians); var sin:Number = Math.sin(radians); - _m00 = cos * _worldScaleX; - _m10 = sin * _worldScaleX; - _m01 = -sin * _worldScaleY; - _m11 = cos * _worldScaleY; - if (flipX) { - _m00 = -_m00; - _m01 = -_m01; + if (skeleton.flipX) { + _m00 = -cos * _worldScaleX; + _m01 = sin * _worldScaleY; + } else { + _m00 = cos * _worldScaleX; + _m01 = -sin * _worldScaleY; } - if (flipY != yDown) { - _m10 = -_m10; - _m11 = -_m11; + if (_skeleton.flipY != yDown) { + _m10 = -sin * _worldScaleX; + _m11 = -cos * _worldScaleY; + } else { + _m10 = sin * _worldScaleX; + _m11 = cos * _worldScaleY; } } @@ -101,6 +107,7 @@ public class Bone { x = _data.x; y = _data.y; rotation = _data.rotation; + rotationIK = rotation; scaleX = _data.scaleX; scaleY = _data.scaleY; } @@ -108,10 +115,14 @@ public class Bone { public function get data () : BoneData { return _data; } - + public function get parent () : Bone { return _parent; } + + public function get skeleton () : Skeleton { + return _skeleton; + } public function get m00 () : Number { return _m00; @@ -149,6 +160,24 @@ public class Bone { return _worldScaleY; } + public function worldToLocal (world:Vector.) : void { + var dx:Number = world[0] - _worldX, dy:Number = world[1] - _worldY; + var m00:Number = _m00, m10:Number = _m10, m01:Number = _m01, m11:Number = _m11; + if (_skeleton.flipX != (_skeleton.flipY != yDown)) { + m00 = -m00; + m11 = -m11; + } + var invDet:Number = 1 / (m00 * m11 - m01 * m10); + world[0] = (dx * m00 * invDet - dy * m01 * invDet); + world[1] = (dy * m11 * invDet - dx * m10 * invDet); + } + + public function localToWorld (local:Vector.) : void { + var localX:Number = local[0], localY:Number = local[1]; + local[0] = localX * _m00 + localY * _m01 + _worldX; + local[1] = localX * _m10 + localY * _m11 + _worldY; + } + public function toString () : String { return _data._name; } diff --git a/spine-as3/spine-as3/src/spine/BoneData.as b/spine-as3/spine-as3/src/spine/BoneData.as index cdc738904..57b02450e 100644 --- a/spine-as3/spine-as3/src/spine/BoneData.as +++ b/spine-as3/spine-as3/src/spine/BoneData.as @@ -31,8 +31,8 @@ package spine { public class BoneData { - internal var _parent:BoneData; internal var _name:String; + internal var _parent:BoneData; public var length:Number; public var x:Number; public var y:Number; @@ -44,21 +44,20 @@ public class BoneData { /** @param parent May be null. */ public function BoneData (name:String, parent:BoneData) { - if (name == null) - throw new ArgumentError("name cannot be null."); + if (name == null) throw new ArgumentError("name cannot be null."); _name = name; _parent = parent; } + public function get name () : String { + return _name; + } + /** @return May be null. */ public function get parent () : BoneData { return _parent; } - public function get name () : String { - return _name; - } - public function toString () : String { return _name; } diff --git a/spine-as3/spine-as3/src/spine/Event.as b/spine-as3/spine-as3/src/spine/Event.as index 9d22320ad..e33e75022 100644 --- a/spine-as3/spine-as3/src/spine/Event.as +++ b/spine-as3/spine-as3/src/spine/Event.as @@ -37,8 +37,7 @@ public class Event { public var stringValue:String; public function Event (data:EventData) { - if (data == null) - throw new ArgumentError("data cannot be null."); + if (data == null) throw new ArgumentError("data cannot be null."); _data = data; } diff --git a/spine-as3/spine-as3/src/spine/EventData.as b/spine-as3/spine-as3/src/spine/EventData.as index 8ac68e670..b2896a5fe 100644 --- a/spine-as3/spine-as3/src/spine/EventData.as +++ b/spine-as3/spine-as3/src/spine/EventData.as @@ -37,8 +37,7 @@ public class EventData { public var stringValue:String; public function EventData (name:String) { - if (name == null) - throw new ArgumentError("name cannot be null."); + if (name == null) throw new ArgumentError("name cannot be null."); _name = name; } diff --git a/spine-as3/spine-as3/src/spine/IkConstraint.as b/spine-as3/spine-as3/src/spine/IkConstraint.as new file mode 100644 index 000000000..7e754b6d0 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/IkConstraint.as @@ -0,0 +1,149 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine { + +public class IkConstraint { + static private const tempPosition:Vector. = new Vector.(2, true); + static private const radDeg:Number = 180 / Math.PI; + + internal var _data:IkConstraintData; + public var bones:Vector.; + public var target:Bone; + public var bendDirection:int; + public var mix:Number; + + public function IkConstraint (data:IkConstraintData, skeleton:Skeleton) { + if (data == null) throw new ArgumentError("data cannot be null."); + if (skeleton == null) throw new ArgumentError("skeleton cannot be null."); + _data = data; + mix = data.mix; + bendDirection = data.bendDirection; + + bones = new Vector.(); + for each (var boneData:BoneData in data.bones) + bones[bones.length] = skeleton.findBone(boneData.name); + target = skeleton.findBone(data.target._name); + } + + public function apply () : void { + switch (bones.length) { + case 1: + apply1(bones[0], target._worldX, target._worldY, mix); + break; + case 2: + apply2(bones[0], bones[1], target._worldX, target._worldY, bendDirection, mix); + break; + } + } + + public function get data () : IkConstraintData { + return _data; + } + + public function toString () : String { + return _data._name; + } + + /** Adjusts the bone rotation so the tip is as close to the target position as possible. The target is specified in the world + * coordinate system. */ + static public function apply1 (bone:Bone, targetX:Number, targetY:Number, alpha:Number) : void { + var parentRotation:Number = (!bone._data.inheritRotation || bone._parent == null) ? 0 : bone._parent._worldRotation; + var rotation:Number = bone.rotation; + var rotationIK:Number = Math.atan2(targetY - bone._worldY, targetX - bone._worldX) * radDeg - parentRotation; + bone.rotationIK = rotation + (rotationIK - rotation) * alpha; + } + + /** Adjusts the parent and child bone rotations so the tip of the child is as close to the target position as possible. The + * target is specified in the world coordinate system. + * @param child Any descendant bone of the parent. */ + static public function apply2 (parent:Bone, child:Bone, targetX:Number, targetY:Number, bendDirection:int, alpha:Number) : void { + var childRotation:Number = child.rotation, parentRotation:Number = parent.rotation; + if (alpha == 0) { + child.rotationIK = childRotation; + parent.rotationIK = parentRotation; + return; + } + var positionX:Number, positionY:Number; + var parentParent:Bone = parent._parent; + if (parentParent) { + tempPosition[0] = targetX; + tempPosition[1] = targetY; + parentParent.worldToLocal(tempPosition); + targetX = (tempPosition[0] - parent.x) * parentParent._worldScaleX; + targetY = (tempPosition[1] - parent.y) * parentParent._worldScaleY; + } else { + targetX -= parent.x; + targetY -= parent.y; + } + if (child._parent == parent) { + positionX = child.x; + positionY = child.y; + } else { + tempPosition[0] = child.x; + tempPosition[1] = child.y; + child._parent.localToWorld(tempPosition); + parent.worldToLocal(tempPosition); + positionX = tempPosition[0]; + positionY = tempPosition[1]; + } + var childX:Number = positionX * parent._worldScaleX, childY:Number = positionY * parent._worldScaleY; + var offset:Number = Math.atan2(childY, childX); + var len1:Number = Math.sqrt(childX * childX + childY * childY), len2:Number = child.data.length * child._worldScaleX; + // Based on code by Ryan Juckett with permission: Copyright (c) 2008-2009 Ryan Juckett, http://www.ryanjuckett.com/ + var cosDenom:Number = 2 * len1 * len2; + if (cosDenom < 0.0001) { + child.rotationIK = childRotation + (Math.atan2(targetY, targetX) * radDeg - parentRotation - childRotation) * alpha; + return; + } + var cos:Number = (targetX * targetX + targetY * targetY - len1 * len1 - len2 * len2) / cosDenom; + if (cos < -1) + cos = -1; + else if (cos > 1) + cos = 1; + var childAngle:Number = Math.acos(cos) * bendDirection; + var adjacent:Number = len1 + len2 * cos, opposite:Number = len2 * Math.sin(childAngle); + var parentAngle:Number = Math.atan2(targetY * adjacent - targetX * opposite, targetX * adjacent + targetY * opposite); + var rotation:Number = (parentAngle - offset) * radDeg - parentRotation; + if (rotation > 180) + rotation -= 360; + else if (rotation < -180) // + rotation += 360; + parent.rotationIK = parentRotation + rotation * alpha; + rotation = (childAngle + offset) * radDeg - childRotation; + if (rotation > 180) + rotation -= 360; + else if (rotation < -180) // + rotation += 360; + child.rotationIK = childRotation + (rotation + parent._worldRotation - child._parent._worldRotation) * alpha; + } +} + +} diff --git a/spine-as3/spine-as3/src/spine/IkConstraintData.as b/spine-as3/spine-as3/src/spine/IkConstraintData.as new file mode 100644 index 000000000..4a3e64782 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/IkConstraintData.as @@ -0,0 +1,54 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine { + +public class IkConstraintData { + internal var _name:String; + public var bones:Vector. = new Vector.(); + public var target:BoneData; + public var bendDirection:int = 1; + public var mix:Number = 1; + + public function IkConstraintData (name:String) { + if (name == null) throw new ArgumentError("name cannot be null."); + _name = name; + } + + public function get name () : String { + return _name; + } + + public function toString () : String { + return _name; + } +} + +} diff --git a/spine-as3/spine-as3/src/spine/Skeleton.as b/spine-as3/spine-as3/src/spine/Skeleton.as index 04ff6b8f2..2ed29df15 100644 --- a/spine-as3/spine-as3/src/spine/Skeleton.as +++ b/spine-as3/spine-as3/src/spine/Skeleton.as @@ -33,45 +33,95 @@ import spine.attachments.Attachment; public class Skeleton { internal var _data:SkeletonData; - internal var _bones:Vector.; - internal var _slots:Vector.; - internal var _drawOrder:Vector.; - internal var _skin:Skin; - public var r:Number = 1; - public var g:Number = 1; - public var b:Number = 1; - public var a:Number = 1; + public var bones:Vector.; + public var slots:Vector.; + public var drawOrder:Vector.; + public var ikConstraints:Vector.; + private var _boneCache:Vector.> = new Vector.>(); + private var _skin:Skin; + public var r:Number = 1, g:Number = 1, b:Number = 1, a:Number = 1; public var time:Number = 0; - public var flipX:Boolean; - public var flipY:Boolean; - public var x:Number = 0; - public var y:Number = 0; + public var flipX:Boolean, flipY:Boolean; + public var x:Number = 0, y:Number = 0; public function Skeleton (data:SkeletonData) { if (data == null) throw new ArgumentError("data cannot be null."); _data = data; - _bones = new Vector.(); + bones = new Vector.(); for each (var boneData:BoneData in data.bones) { - var parent:Bone = boneData.parent == null ? null : _bones[data.bones.indexOf(boneData.parent)]; - _bones[_bones.length] = new Bone(boneData, parent); + var parent:Bone = boneData.parent == null ? null : bones[data.bones.indexOf(boneData.parent)]; + bones[bones.length] = new Bone(boneData, this, parent); } - _slots = new Vector.(); - _drawOrder = new Vector.(); + slots = new Vector.(); + drawOrder = new Vector.(); for each (var slotData:SlotData in data.slots) { - var bone:Bone = _bones[data.bones.indexOf(slotData.boneData)]; - var slot:Slot = new Slot(slotData, this, bone); - _slots[_slots.length] = slot; - _drawOrder[_drawOrder.length] = slot; + var bone:Bone = bones[data.bones.indexOf(slotData.boneData)]; + var slot:Slot = new Slot(slotData, bone); + slots[slots.length] = slot; + drawOrder[drawOrder.length] = slot; + } + + ikConstraints = new Vector.() + for each (var ikConstraintData:IkConstraintData in data.ikConstraints) + ikConstraints[ikConstraints.length] = new IkConstraint(ikConstraintData, this); + + updateCache(); + } + + /** Caches information about bones and IK constraints. Must be called if bones or IK constraints are added or removed. */ + public function updateCache () : void { + var ikConstraintsCount:int = ikConstraints.length; + + var arrayCount:int = ikConstraintsCount + 1; + if (_boneCache.length > arrayCount) _boneCache.splice(arrayCount, _boneCache.length - arrayCount); + for each (var cachedBones:Vector. in _boneCache) + cachedBones.length = 0; + while (_boneCache.length < arrayCount) + _boneCache[_boneCache.length] = new Vector.(); + + var nonIkBones:Vector. = _boneCache[0]; + + outer: + for each (var bone:Bone in bones) { + var current:Bone = bone; + do { + var ii:int = 0; + for each (var ikConstraint:IkConstraint in ikConstraints) { + var parent:Bone = ikConstraint.bones[0]; + var child:Bone = ikConstraint.bones[int(ikConstraint.bones.length - 1)]; + while (true) { + if (current == child) { + _boneCache[ii].push(bone); + _boneCache[int(ii + 1)].push(bone); + continue outer; + } + if (child == parent) break; + child = child.parent; + } + ii++; + } + current = current.parent; + } while (current != null); + nonIkBones[nonIkBones.length] = bone; } } - /** Updates the world transform for each bone. */ + /** Updates the world transform for each bone and applies IK constraints. */ public function updateWorldTransform () : void { - for each (var bone:Bone in _bones) - bone.updateWorldTransform(flipX, flipY); + var bone:Bone; + for each (bone in bones) + bone.rotationIK = bone.rotation; + var i:int = 0, last:int = _boneCache.length - 1; + while (true) { + for each (bone in _boneCache[i]) + bone.updateWorldTransform(); + if (i == last) break; + ikConstraints[i].apply(); + i++; + } } /** Sets the bones and slots to their setup pose values. */ @@ -81,13 +131,18 @@ public class Skeleton { } public function setBonesToSetupPose () : void { - for each (var bone:Bone in _bones) + for each (var bone:Bone in bones) bone.setToSetupPose(); + + for each (var ikConstraint:IkConstraint in ikConstraints) { + ikConstraint.bendDirection = ikConstraint._data.bendDirection; + ikConstraint.mix = ikConstraint._data.mix; + } } public function setSlotsToSetupPose () : void { var i:int = 0; - for each (var slot:Slot in _slots) { + for each (var slot:Slot in slots) { drawOrder[i++] = slot; slot.setToSetupPose(); } @@ -97,23 +152,17 @@ public class Skeleton { return _data; } - public function get bones () : Vector. { - return _bones; - } - public function get rootBone () : Bone { - if (_bones.length == 0) - return null; - return _bones[0]; + if (bones.length == 0) return null; + return bones[0]; } /** @return May be null. */ public function findBone (boneName:String) : Bone { if (boneName == null) throw new ArgumentError("boneName cannot be null."); - for each (var bone:Bone in _bones) - if (bone.data.name == boneName) - return bone; + for each (var bone:Bone in bones) + if (bone._data._name == boneName) return bone; return null; } @@ -122,25 +171,19 @@ public class Skeleton { if (boneName == null) throw new ArgumentError("boneName cannot be null."); var i:int = 0; - for each (var bone:Bone in _bones) { - if (bone.data.name == boneName) - return i; + for each (var bone:Bone in bones) { + if (bone._data._name == boneName) return i; i++; } return -1; } - public function get slots () : Vector. { - return _slots; - } - /** @return May be null. */ public function findSlot (slotName:String) : Slot { if (slotName == null) throw new ArgumentError("slotName cannot be null."); - for each (var slot:Slot in _slots) - if (slot.data.name == slotName) - return slot; + for each (var slot:Slot in slots) + if (slot._data._name == slotName) return slot; return null; } @@ -149,26 +192,20 @@ public class Skeleton { if (slotName == null) throw new ArgumentError("slotName cannot be null."); var i:int = 0; - for each (var slot:Slot in _slots) { - if (slot.data.name == slotName) - return i; + for each (var slot:Slot in slots) { + if (slot._data._name == slotName) return i; i++; } return -1; } - public function get drawOrder () : Vector. { - return _drawOrder; - } - public function get skin () : Skin { return _skin; } public function set skinName (skinName:String) : void { var skin:Skin = data.findSkin(skinName); - if (skin == null) - throw new ArgumentError("Skin not found: " + skinName); + if (skin == null) throw new ArgumentError("Skin not found: " + skinName); this.skin = skin; } @@ -182,8 +219,8 @@ public class Skeleton { newSkin.attachAll(this, skin); else { var i:int = 0; - for each (var slot:Slot in _slots) { - var name:String = slot.data.attachmentName; + for each (var slot:Slot in slots) { + var name:String = slot._data.attachmentName; if (name) { var attachment:Attachment = newSkin.getAttachment(i, name); if (attachment) slot.attachment = attachment; @@ -202,25 +239,21 @@ public class Skeleton { /** @return May be null. */ public function getAttachmentForSlotIndex (slotIndex:int, attachmentName:String) : Attachment { - if (attachmentName == null) - throw new ArgumentError("attachmentName cannot be null."); + if (attachmentName == null) throw new ArgumentError("attachmentName cannot be null."); if (skin != null) { var attachment:Attachment = skin.getAttachment(slotIndex, attachmentName); - if (attachment != null) - return attachment; + if (attachment != null) return attachment; } - if (data.defaultSkin != null) - return data.defaultSkin.getAttachment(slotIndex, attachmentName); + if (data.defaultSkin != null) return data.defaultSkin.getAttachment(slotIndex, attachmentName); return null; } /** @param attachmentName May be null. */ public function setAttachment (slotName:String, attachmentName:String) : void { - if (slotName == null) - throw new ArgumentError("slotName cannot be null."); + if (slotName == null) throw new ArgumentError("slotName cannot be null."); var i:int = 0; - for each (var slot:Slot in _slots) { - if (slot.data.name == slotName) { + for each (var slot:Slot in slots) { + if (slot._data._name == slotName) { var attachment:Attachment = null; if (attachmentName != null) { attachment = getAttachmentForSlotIndex(i, attachmentName); @@ -235,6 +268,14 @@ public class Skeleton { throw new ArgumentError("Slot not found: " + slotName); } + /** @return May be null. */ + public function findIkConstraint (ikConstraintName:String) : IkConstraint { + if (ikConstraintName == null) throw new ArgumentError("ikConstraintName cannot be null."); + for each (var ikConstraint:IkConstraint in ikConstraints) + if (ikConstraint._data._name == ikConstraintName) return ikConstraint; + return null; + } + public function update (delta:Number) : void { time += delta; } diff --git a/spine-as3/spine-as3/src/spine/SkeletonBounds.as b/spine-as3/spine-as3/src/spine/SkeletonBounds.as index cff12650b..6335840fd 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonBounds.as +++ b/spine-as3/spine-as3/src/spine/SkeletonBounds.as @@ -43,7 +43,7 @@ public class SkeletonBounds { var slots:Vector. = skeleton.slots; var slotCount:int = slots.length; var x:Number = skeleton.x, y:Number = skeleton.y; - + boundingBoxes.length = 0; for each (var polygon:Polygon in polygons) polygonPool[polygonPool.length] = polygon; diff --git a/spine-as3/spine-as3/src/spine/SkeletonData.as b/spine-as3/spine-as3/src/spine/SkeletonData.as index f09a31022..158a1f687 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonData.as +++ b/spine-as3/spine-as3/src/spine/SkeletonData.as @@ -32,6 +32,7 @@ package spine { import spine.animation.Animation; public class SkeletonData { + /** May be null. */ public var name:String; public var bones:Vector. = new Vector.(); // Ordered parents first. public var slots:Vector. = new Vector.(); // Setup pose draw order. @@ -39,122 +40,87 @@ public class SkeletonData { public var defaultSkin:Skin; public var events:Vector. = new Vector.(); public var animations:Vector. = new Vector.(); + public var ikConstraints:Vector. = new Vector.(); + public var width:Number, height:Number; + public var version:String, hash:String; // --- Bones. - public function addBone (bone:BoneData) : void { - if (bone == null) - throw new ArgumentError("bone cannot be null."); - bones[bones.length] = bone; - } - /** @return May be null. */ public function findBone (boneName:String) : BoneData { - if (boneName == null) - throw new ArgumentError("boneName cannot be null."); + if (boneName == null) throw new ArgumentError("boneName cannot be null."); for (var i:int = 0, n:int = bones.length; i < n; i++) { var bone:BoneData = bones[i]; - if (bone._name == boneName) - return bone; + if (bone._name == boneName) return bone; } return null; } /** @return -1 if the bone was not found. */ public function findBoneIndex (boneName:String) : int { - if (boneName == null) - throw new ArgumentError("boneName cannot be null."); + if (boneName == null) throw new ArgumentError("boneName cannot be null."); for (var i:int = 0, n:int = bones.length; i < n; i++) - if (bones[i]._name == boneName) - return i; + if (bones[i]._name == boneName) return i; return -1; } // --- Slots. - public function addSlot (slot:SlotData) : void { - if (slot == null) - throw new ArgumentError("slot cannot be null."); - slots[slots.length] = slot; - } - /** @return May be null. */ public function findSlot (slotName:String) : SlotData { - if (slotName == null) - throw new ArgumentError("slotName cannot be null."); + if (slotName == null) throw new ArgumentError("slotName cannot be null."); for (var i:int = 0, n:int = slots.length; i < n; i++) { var slot:SlotData = slots[i]; - if (slot._name == slotName) - return slot; + if (slot._name == slotName) return slot; } return null; } /** @return -1 if the bone was not found. */ public function findSlotIndex (slotName:String) : int { - if (slotName == null) - throw new ArgumentError("slotName cannot be null."); + if (slotName == null) throw new ArgumentError("slotName cannot be null."); for (var i:int = 0, n:int = slots.length; i < n; i++) - if (slots[i]._name == slotName) - return i; + if (slots[i]._name == slotName) return i; return -1; } // --- Skins. - public function addSkin (skin:Skin) : void { - if (skin == null) - throw new ArgumentError("skin cannot be null."); - skins[skins.length] = skin; - } - /** @return May be null. */ public function findSkin (skinName:String) : Skin { - if (skinName == null) - throw new ArgumentError("skinName cannot be null."); + if (skinName == null) throw new ArgumentError("skinName cannot be null."); for each (var skin:Skin in skins) - if (skin._name == skinName) - return skin; + if (skin._name == skinName) return skin; return null; } // --- Events. - public function addEvent (eventData:EventData) : void { - if (eventData == null) - throw new ArgumentError("eventData cannot be null."); - events[events.length] = eventData; - } - /** @return May be null. */ public function findEvent (eventName:String) : EventData { - if (eventName == null) - throw new ArgumentError("eventName cannot be null."); - for (var i:int = 0, n:int = events.length; i < n; i++) { - var eventData:EventData = events[i]; - if (eventData.name == eventName) - return eventData; - } + if (eventName == null) throw new ArgumentError("eventName cannot be null."); + for each (var eventData:EventData in events) + if (eventData._name == eventName) return eventData; return null; } // --- Animations. - public function addAnimation (animation:Animation) : void { - if (animation == null) - throw new ArgumentError("animation cannot be null."); - animations[animations.length] = animation; - } - /** @return May be null. */ public function findAnimation (animationName:String) : Animation { - if (animationName == null) - throw new ArgumentError("animationName cannot be null."); - for (var i:int = 0, n:int = animations.length; i < n; i++) { - var animation:Animation = animations[i]; - if (animation.name == animationName) - return animation; - } + if (animationName == null) throw new ArgumentError("animationName cannot be null."); + for each (var animation:Animation in animations) + if (animation.name == animationName) return animation; + return null; + } + + // --- IK constraints. + + /** @return May be null. */ + public function findIkConstraint (ikConstraintName:String) : IkConstraintData { + if (ikConstraintName == null) throw new ArgumentError("ikConstraintName cannot be null."); + for each (var ikConstraintData:IkConstraintData in ikConstraints) + if (ikConstraintData._name == ikConstraintName) return ikConstraintData; return null; } diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index 0e0cc1ad9..385b56536 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -38,6 +38,7 @@ import spine.animation.CurveTimeline; import spine.animation.DrawOrderTimeline; import spine.animation.EventTimeline; import spine.animation.FfdTimeline; +import spine.animation.IkConstraintTimeline; import spine.animation.RotateTimeline; import spine.animation.ScaleTimeline; import spine.animation.Timeline; @@ -66,8 +67,7 @@ public class SkeletonJson { /** @param object A String or ByteArray. */ public function readSkeletonData (object:*, name:String = null) : SkeletonData { - if (object == null) - throw new ArgumentError("object cannot be null."); + if (object == null) throw new ArgumentError("object cannot be null."); var root:Object; if (object is String) @@ -82,6 +82,15 @@ public class SkeletonJson { var skeletonData:SkeletonData = new SkeletonData(); skeletonData.name = name; + // Skeleton. + var skeletonMap:Object = root["skeleton"]; + if (skeletonMap) { + skeletonData.hash = skeletonMap["hash"]; + skeletonData.version = skeletonMap["spine"]; + skeletonData.width = skeletonMap["width"] || 0; + skeletonData.height = skeletonMap["height"] || 0; + } + // Bones. var boneData:BoneData; for each (var boneMap:Object in root["bones"]) { @@ -89,8 +98,7 @@ public class SkeletonJson { var parentName:String = boneMap["parent"]; if (parentName) { parent = skeletonData.findBone(parentName); - if (!parent) - throw new Error("Parent bone not found: " + parentName); + if (!parent) throw new Error("Parent bone not found: " + parentName); } boneData = new BoneData(boneMap["name"], parent); boneData.length = (boneMap["length"] || 0) * scale; @@ -101,15 +109,33 @@ public class SkeletonJson { boneData.scaleY = boneMap.hasOwnProperty("scaleY") ? boneMap["scaleY"] : 1; boneData.inheritScale = boneMap.hasOwnProperty("inheritScale") ? boneMap["inheritScale"] : true; boneData.inheritRotation = boneMap.hasOwnProperty("inheritRotation") ? boneMap["inheritRotation"] : true; - skeletonData.addBone(boneData); + skeletonData.bones[skeletonData.bones.length] = boneData; + } + + // IK constraints. + for each (var ikMap:Object in root["ik"]) { + var ikConstraintData:IkConstraintData = new IkConstraintData(ikMap["name"]); + + for each (var boneName:String in ikMap["bones"]) { + var bone:BoneData = skeletonData.findBone(boneName); + if (!bone) throw new Error("IK bone not found: " + boneName); + ikConstraintData.bones[ikConstraintData.bones.length] = bone; + } + + ikConstraintData.target = skeletonData.findBone(ikMap["target"]); + if (!ikConstraintData.target) throw new Error("Target bone not found: " + ikMap["target"]); + + ikConstraintData.bendDirection = (!ikMap.hasOwnProperty("bendPositive") || ikMap["bendPositive"]) ? 1 : -1; + ikConstraintData.mix = ikMap["mix"] || 1; + + skeletonData.ikConstraints[skeletonData.ikConstraints.length] = ikConstraintData; } // Slots. for each (var slotMap:Object in root["slots"]) { - var boneName:String = slotMap["bone"]; + boneName = slotMap["bone"]; boneData = skeletonData.findBone(boneName); - if (!boneData) - throw new Error("Slot bone not found: " + boneName); + if (!boneData) throw new Error("Slot bone not found: " + boneName); var slotData:SlotData = new SlotData(slotMap["name"], boneData); var color:String = slotMap["color"]; @@ -123,7 +149,7 @@ public class SkeletonJson { slotData.attachmentName = slotMap["attachment"]; slotData.additiveBlending = slotMap["additive"]; - skeletonData.addSlot(slotData); + skeletonData.slots[skeletonData.slots.length] = slotData; } // Skins. @@ -140,7 +166,7 @@ public class SkeletonJson { skin.addAttachment(slotIndex, attachmentName, attachment); } } - skeletonData.addSkin(skin); + skeletonData.skins[skeletonData.skins.length] = skin; if (skin.name == "default") skeletonData.defaultSkin = skin; } @@ -154,7 +180,7 @@ public class SkeletonJson { eventData.intValue = eventMap["int"] || 0; eventData.floatValue = eventMap["float"] || 0; eventData.stringValue = eventMap["string"] || null; - skeletonData.addEvent(eventData); + skeletonData.events[skeletonData.events.length] = eventData; } } @@ -322,8 +348,7 @@ public class SkeletonJson { var bones:Object = map["bones"]; for (var boneName:String in bones) { var boneIndex:int = skeletonData.findBoneIndex(boneName); - if (boneIndex == -1) - throw new Error("Bone not found: " + boneName); + if (boneIndex == -1) throw new Error("Bone not found: " + boneName); var boneMap:Object = bones[boneName]; for (timelineName in boneMap) { @@ -368,6 +393,24 @@ public class SkeletonJson { } } + var ikMap:Object = map["ik"]; + for (var ikConstraintName:String in ikMap) { + var ikConstraint:IkConstraintData = skeletonData.findIkConstraint(ikConstraintName); + values = ikMap[ikConstraintName]; + var ikTimeline:IkConstraintTimeline = new IkConstraintTimeline(values.length); + ikTimeline.ikConstraintIndex = skeletonData.ikConstraints.indexOf(ikConstraint); + frameIndex = 0; + for each (valueMap in values) { + var mix:Number = valueMap["mix"] || 1; + var bendDirection:int = (!valueMap.hasOwnProperty("bendPositive") || valueMap["bendPositive"]) ? 1 : -1; + ikTimeline.setFrame(frameIndex, valueMap["time"], mix, bendDirection); + readCurve(ikTimeline, frameIndex, valueMap); + frameIndex++; + } + timelines[timelines.length] = ikTimeline; + duration = Math.max(duration, ikTimeline.frames[ikTimeline.frameCount * 3 - 3]); + } + var ffd:Object = map["ffd"]; for (var skinName:String in ffd) { var skin:Skin = skeletonData.findSkin(skinName); @@ -468,7 +511,7 @@ public class SkeletonJson { frameIndex = 0; for each (var eventMap:Object in eventsMap) { var eventData:EventData = skeletonData.findEvent(eventMap["name"]); - if (eventData == null) throw new Error("Event not found: " + eventMap["name"]); + if (!eventData) throw new Error("Event not found: " + eventMap["name"]); var event:Event = new Event(eventData); event.intValue = eventMap.hasOwnProperty("int") ? eventMap["int"] : eventData.intValue; event.floatValue = eventMap.hasOwnProperty("float") ? eventMap["float"] : eventData.floatValue; @@ -479,23 +522,20 @@ public class SkeletonJson { duration = Math.max(duration, eventTimeline.frames[eventTimeline.frameCount - 1]); } - skeletonData.addAnimation(new Animation(name, timelines, duration)); + skeletonData.animations[skeletonData.animations.length] = new Animation(name, timelines, duration); } static private function readCurve (timeline:CurveTimeline, frameIndex:int, valueMap:Object) : void { var curve:Object = valueMap["curve"]; - if (curve == null) - return; + if (!curve) return; if (curve == "stepped") timeline.setStepped(frameIndex); - else if (curve is Array) { + else if (curve is Array) timeline.setCurve(frameIndex, curve[0], curve[1], curve[2], curve[3]); - } } static private function toColor (hexString:String, colorIndex:int) : Number { - if (hexString.length != 8) - throw new ArgumentError("Color hexidecimal length must be 8, recieved: " + hexString); + if (hexString.length != 8) throw new ArgumentError("Color hexidecimal length must be 8, recieved: " + hexString); return parseInt(hexString.substring(colorIndex * 2, colorIndex * 2 + 2), 16) / 255; } diff --git a/spine-as3/spine-as3/src/spine/Skin.as b/spine-as3/spine-as3/src/spine/Skin.as index c12e509ef..45f6e4b94 100644 --- a/spine-as3/spine-as3/src/spine/Skin.as +++ b/spine-as3/spine-as3/src/spine/Skin.as @@ -39,14 +39,12 @@ public class Skin { private var _attachments:Vector. = new Vector.(); public function Skin (name:String) { - if (name == null) - throw new ArgumentError("name cannot be null."); + if (name == null) throw new ArgumentError("name cannot be null."); _name = name; } public function addAttachment (slotIndex:int, name:String, attachment:Attachment) : void { - if (attachment == null) - throw new ArgumentError("attachment cannot be null."); + if (attachment == null) throw new ArgumentError("attachment cannot be null."); if (slotIndex >= attachments.length) attachments.length = slotIndex + 1; if (!attachments[slotIndex]) attachments[slotIndex] = new Dictionary(); attachments[slotIndex][name] = attachment; @@ -74,7 +72,7 @@ public class Skin { /** Attach each attachment in this skin if the corresponding attachment in the old skin is currently attached. */ public function attachAll (skeleton:Skeleton, oldSkin:Skin) : void { var slotIndex:int = 0; - for each (var slot:Slot in skeleton._slots) { + for each (var slot:Slot in skeleton.slots) { var slotAttachment:Attachment = slot.attachment; if (slotAttachment && slotIndex < oldSkin.attachments.length) { var dictionary:Dictionary = oldSkin.attachments[slotIndex]; diff --git a/spine-as3/spine-as3/src/spine/Slot.as b/spine-as3/spine-as3/src/spine/Slot.as index 0303bdda0..ea32a5d80 100644 --- a/spine-as3/spine-as3/src/spine/Slot.as +++ b/spine-as3/spine-as3/src/spine/Slot.as @@ -34,7 +34,6 @@ import spine.attachments.Attachment; public class Slot { internal var _data:SlotData; internal var _bone:Bone; - internal var _skeleton:Skeleton; public var r:Number; public var g:Number; public var b:Number; @@ -43,15 +42,10 @@ public class Slot { private var _attachmentTime:Number; public var attachmentVertices:Vector. = new Vector.(); - public function Slot (data:SlotData, skeleton:Skeleton, bone:Bone) { - if (data == null) - throw new ArgumentError("data cannot be null."); - if (skeleton == null) - throw new ArgumentError("skeleton cannot be null."); - if (bone == null) - throw new ArgumentError("bone cannot be null."); + public function Slot (data:SlotData, bone:Bone) { + if (data == null) throw new ArgumentError("data cannot be null."); + if (bone == null) throw new ArgumentError("bone cannot be null."); _data = data; - _skeleton = skeleton; _bone = bone; setToSetupPose(); } @@ -59,14 +53,14 @@ public class Slot { public function get data () : SlotData { return _data; } - - public function get skeleton () : Skeleton { - return _skeleton; - } - + public function get bone () : Bone { return _bone; } + + public function get skeleton () : Skeleton { + return _bone._skeleton; + } /** @return May be null. */ public function get attachment () : Attachment { @@ -77,26 +71,26 @@ public class Slot { * @param attachment May be null. */ public function set attachment (attachment:Attachment) : void { _attachment = attachment; - _attachmentTime = _skeleton.time; + _attachmentTime = _bone._skeleton.time; attachmentVertices.length = 0; } public function set attachmentTime (time:Number) : void { - _attachmentTime = skeleton.time - time; + _attachmentTime = _bone._skeleton.time - time; } /** Returns the time since the attachment was set. */ public function get attachmentTime () : Number { - return skeleton.time - _attachmentTime; + return _bone._skeleton.time - _attachmentTime; } public function setToSetupPose () : void { - var slotIndex:int = skeleton.data.slots.indexOf(data); + var slotIndex:int = _bone._skeleton.data.slots.indexOf(data); r = _data.r; g = _data.g; b = _data.b; a = _data.a; - attachment = _data.attachmentName == null ? null : skeleton.getAttachmentForSlotIndex(slotIndex, data.attachmentName); + attachment = _data.attachmentName == null ? null : _bone._skeleton.getAttachmentForSlotIndex(slotIndex, data.attachmentName); } public function toString () : String { diff --git a/spine-as3/spine-as3/src/spine/SlotData.as b/spine-as3/spine-as3/src/spine/SlotData.as index 4ac20778d..2cba62223 100644 --- a/spine-as3/spine-as3/src/spine/SlotData.as +++ b/spine-as3/spine-as3/src/spine/SlotData.as @@ -41,10 +41,8 @@ public class SlotData { public var additiveBlending:Boolean; public function SlotData (name:String, boneData:BoneData) { - if (name == null) - throw new ArgumentError("name cannot be null."); - if (boneData == null) - throw new ArgumentError("boneData cannot be null."); + if (name == null) throw new ArgumentError("name cannot be null."); + if (boneData == null) throw new ArgumentError("boneData cannot be null."); _name = name; _boneData = boneData; } diff --git a/spine-as3/spine-as3/src/spine/animation/Animation.as b/spine-as3/spine-as3/src/spine/animation/Animation.as index 078567de2..244b819d6 100644 --- a/spine-as3/spine-as3/src/spine/animation/Animation.as +++ b/spine-as3/spine-as3/src/spine/animation/Animation.as @@ -38,10 +38,8 @@ public class Animation { public var duration:Number; public function Animation (name:String, timelines:Vector., duration:Number) { - if (name == null) - throw new ArgumentError("name cannot be null."); - if (timelines == null) - throw new ArgumentError("timelines cannot be null."); + if (name == null) throw new ArgumentError("name cannot be null."); + if (timelines == null) throw new ArgumentError("timelines cannot be null."); _name = name; _timelines = timelines; this.duration = duration; @@ -53,8 +51,7 @@ public class Animation { /** Poses the skeleton at the specified time for this animation. */ public function apply (skeleton:Skeleton, lastTime:Number, time:Number, loop:Boolean, events:Vector.) : void { - if (skeleton == null) - throw new ArgumentError("skeleton cannot be null."); + if (skeleton == null) throw new ArgumentError("skeleton cannot be null."); if (loop && duration != 0) { time %= duration; @@ -68,8 +65,7 @@ public class Animation { /** Poses the skeleton at the specified time for this animation mixed with the current pose. * @param alpha The amount of this animation that affects the current pose. */ public function mix (skeleton:Skeleton, lastTime:Number, time:Number, loop:Boolean, events:Vector., alpha:Number) : void { - if (skeleton == null) - throw new ArgumentError("skeleton cannot be null."); + if (skeleton == null) throw new ArgumentError("skeleton cannot be null."); if (loop && duration != 0) { time %= duration; @@ -107,6 +103,25 @@ public class Animation { return 0; // Can't happen. } + /** @param target After the first and before the last entry. */ + static public function binarySearch1 (values:Vector., target:Number) : int { + var low:int = 0; + var high:int = values.length - 2; + if (high == 0) + return 1; + var current:int = high >>> 1; + while (true) { + if (values[int(current + 1)] <= target) + low = current + 1; + else + high = current; + if (low == high) + return low + 1; + current = (low + high) >>> 1; + } + return 0; // Can't happen. + } + static public function linearSearch (values:Vector., target:Number, step:int) : int { for (var i:int = 0, last:int = values.length - step; i <= last; i += step) if (values[i] > target) diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as b/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as index d3bc864d6..15ca733c4 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as @@ -46,26 +46,21 @@ public class AnimationStateData { public function setMixByName (fromName:String, toName:String, duration:Number) : void { var from:Animation = _skeletonData.findAnimation(fromName); - if (from == null) - throw new ArgumentError("Animation not found: " + fromName); + if (from == null) throw new ArgumentError("Animation not found: " + fromName); var to:Animation = _skeletonData.findAnimation(toName); - if (to == null) - throw new ArgumentError("Animation not found: " + toName); + if (to == null) throw new ArgumentError("Animation not found: " + toName); setMix(from, to, duration); } public function setMix (from:Animation, to:Animation, duration:Number) : void { - if (from == null) - throw new ArgumentError("from cannot be null."); - if (to == null) - throw new ArgumentError("to cannot be null."); + if (from == null) throw new ArgumentError("from cannot be null."); + if (to == null) throw new ArgumentError("to cannot be null."); animationToMixTime[from.name + ":" + to.name] = duration; } public function getMix (from:Animation, to:Animation) : Number { var time:Object = animationToMixTime[from.name + ":" + to.name]; - if (time == null) - return defaultMix; + if (time == null) return defaultMix; return time as Number; } } diff --git a/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as b/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as index 825f36319..4f54c0134 100644 --- a/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as @@ -35,78 +35,51 @@ import spine.Skeleton; /** Base class for frames that use an interpolation bezier curve. */ public class CurveTimeline implements Timeline { static private const LINEAR:Number = 0; - static private const STEPPED:Number = -1; + static private const STEPPED:Number = 1; + static private const BEZIER:Number = 2; static private const BEZIER_SEGMENTS:int = 10; + static private const BEZIER_SIZE:int = BEZIER_SEGMENTS * 2 - 1; - private var curves:Vector.; // dfx, dfy, ddfx, ddfy, dddfx, dddfy, ... + private var curves:Vector.; // type, x, y, ... public function CurveTimeline (frameCount:int) { - curves = new Vector.(frameCount * 6, true) + curves = new Vector.((frameCount - 1) * BEZIER_SIZE, true) } public function apply (skeleton:Skeleton, lastTime:Number, time:Number, firedEvents:Vector., alpha:Number) : void { } public function get frameCount () : int { - return curves.length / 6; + return curves.length / BEZIER_SIZE + 1; } public function setLinear (frameIndex:int) : void { - curves[int(frameIndex * 6)] = LINEAR; + curves[int(frameIndex * BEZIER_SIZE)] = LINEAR; } public function setStepped (frameIndex:int) : void { - curves[int(frameIndex * 6)] = STEPPED; + curves[int(frameIndex * BEZIER_SIZE)] = STEPPED; } /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of * the difference between the keyframe's values. */ public function setCurve (frameIndex:int, cx1:Number, cy1:Number, cx2:Number, cy2:Number) : void { - var subdiv_step:Number = 1 / BEZIER_SEGMENTS; - var subdiv_step2:Number = subdiv_step * subdiv_step; - var subdiv_step3:Number = subdiv_step2 * subdiv_step; - var pre1:Number = 3 * subdiv_step; - var pre2:Number = 3 * subdiv_step2; - var pre4:Number = 6 * subdiv_step2; - var pre5:Number = 6 * subdiv_step3; - var tmp1x:Number = -cx1 * 2 + cx2; - var tmp1y:Number = -cy1 * 2 + cy2; - var tmp2x:Number = (cx1 - cx2) * 3 + 1; - var tmp2y:Number = (cy1 - cy2) * 3 + 1; - var i:int = frameIndex * 6; - curves[i] = cx1 * pre1 + tmp1x * pre2 + tmp2x * subdiv_step3; - curves[int(i + 1)] = cy1 * pre1 + tmp1y * pre2 + tmp2y * subdiv_step3; - curves[int(i + 2)] = tmp1x * pre4 + tmp2x * pre5; - curves[int(i + 3)] = tmp1y * pre4 + tmp2y * pre5; - curves[int(i + 4)] = tmp2x * pre5; - curves[int(i + 5)] = tmp2y * pre5; - } + var subdiv1:Number = 1 / BEZIER_SEGMENTS, subdiv2:Number = subdiv1 * subdiv1, subdiv3:Number = subdiv2 * subdiv1; + var pre1:Number = 3 * subdiv1, pre2:Number = 3 * subdiv2, pre4:Number = 6 * subdiv2, pre5:Number = 6 * subdiv3; + var tmp1x:Number = -cx1 * 2 + cx2, tmp1y:Number = -cy1 * 2 + cy2, tmp2x:Number = (cx1 - cx2) * 3 + 1, tmp2y:Number = (cy1 - cy2) * 3 + 1; + var dfx:Number = cx1 * pre1 + tmp1x * pre2 + tmp2x * subdiv3, dfy:Number = cy1 * pre1 + tmp1y * pre2 + tmp2y * subdiv3; + var ddfx:Number = tmp1x * pre4 + tmp2x * pre5, ddfy:Number = tmp1y * pre4 + tmp2y * pre5; + var dddfx:Number = tmp2x * pre5, dddfy:Number = tmp2y * pre5; - public function getCurvePercent (frameIndex:int, percent:Number) : Number { - var curveIndex:int = frameIndex * 6; - var dfx:Number = curves[curveIndex]; - if (dfx == LINEAR) - return percent; - if (dfx == STEPPED) - return 0; - var dfy:Number = curves[int(curveIndex + 1)]; - var ddfx:Number = curves[int(curveIndex + 2)]; - var ddfy:Number = curves[int(curveIndex + 3)]; - var dddfx:Number = curves[int(curveIndex + 4)]; - var dddfy:Number = curves[int(curveIndex + 5)]; - var x:Number = dfx; - var y:Number = dfy; - var i:int = BEZIER_SEGMENTS - 2; - while (true) { - if (x >= percent) { - var prevX:Number = x - dfx; - var prevY:Number = y - dfy; - return prevY + (y - prevY) * (percent - prevX) / (x - prevX); - } - if (i == 0) - break; - i--; + var i:int = frameIndex * BEZIER_SIZE; + var curves:Vector. = this.curves; + curves[int(i++)] = BEZIER; + + var x:Number = dfx, y:Number = dfy; + for (var n:int = i + BEZIER_SIZE - 1; i < n; i += 2) { + curves[i] = x; + curves[int(i + 1)] = y; dfx += ddfx; dfy += ddfy; ddfx += dddfx; @@ -114,6 +87,31 @@ public class CurveTimeline implements Timeline { x += dfx; y += dfy; } + } + + public function getCurvePercent (frameIndex:int, percent:Number) : Number { + var curves:Vector. = this.curves; + var i:int = frameIndex * BEZIER_SIZE; + var type:Number = curves[i]; + if (type == LINEAR) return percent; + if (type == STEPPED) return 0; + i++; + var x:Number = 0; + for (var start:int = i, n:int = i + BEZIER_SIZE - 1; i < n; i += 2) { + x = curves[i]; + if (x >= percent) { + var prevX:Number, prevY:Number; + if (i == start) { + prevX = 0; + prevY = 0; + } else { + prevX = curves[int(i - 2)]; + prevY = curves[int(i - 1)]; + } + return prevY + (curves[int(i + 1)] - prevY) * (percent - prevX) / (x - prevX); + } + } + var y:Number = curves[int(i - 1)]; return y + (1 - y) * (percent - x) / (1 - x); // Last point is 1,1. } } diff --git a/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as b/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as index a8e9d132b..ed3340ada 100644 --- a/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as @@ -60,7 +60,7 @@ public class DrawOrderTimeline implements Timeline { if (time >= frames[int(frames.length - 1)]) // Time is after last frame. frameIndex = frames.length - 1; else - frameIndex = Animation.binarySearch(frames, time, 1) - 1; + frameIndex = Animation.binarySearch1(frames, time) - 1; var drawOrder:Vector. = skeleton.drawOrder; var slots:Vector. = skeleton.slots; diff --git a/spine-as3/spine-as3/src/spine/animation/EventTimeline.as b/spine-as3/spine-as3/src/spine/animation/EventTimeline.as index 8b4346f6f..606f29be9 100644 --- a/spine-as3/spine-as3/src/spine/animation/EventTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/EventTimeline.as @@ -67,7 +67,7 @@ public class EventTimeline implements Timeline { if (lastTime < frames[0]) frameIndex = 0; else { - frameIndex = Animation.binarySearch(frames, lastTime, 1); + frameIndex = Animation.binarySearch1(frames, lastTime); var frame:Number = frames[frameIndex]; while (frameIndex > 0) { // Fire multiple events with the same frame. if (frames[int(frameIndex - 1)] != frame) break; diff --git a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as index 83104ab5c..1f9c323ea 100644 --- a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as @@ -83,7 +83,7 @@ public class FfdTimeline extends CurveTimeline { } // Interpolate between the previous frame and the current frame. - var frameIndex:int = Animation.binarySearch(frames, time, 1); + var frameIndex:int = Animation.binarySearch1(frames, time); var frameTime:Number = frames[frameIndex]; var percent:Number = 1 - (time - frameTime) / (frames[int(frameIndex - 1)] - frameTime); percent = getCurvePercent(frameIndex - 1, percent < 0 ? 0 : (percent > 1 ? 1 : percent)); diff --git a/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as b/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as new file mode 100644 index 000000000..e0baf05e6 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as @@ -0,0 +1,82 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine.animation { +import spine.Event; +import spine.IkConstraint; +import spine.Skeleton; + +public class IkConstraintTimeline extends CurveTimeline { + static private const PREV_FRAME_TIME:int = -3; + static private const PREV_FRAME_MIX:int = -2; + static private const PREV_FRAME_BEND_DIRECTION:int = -1; + static private const FRAME_MIX:int = 1; + + public var ikConstraintIndex:int; + public var frames:Vector.; // time, mix, bendDirection, ... + + public function IkConstraintTimeline (frameCount:int) { + super(frameCount); + frames = new Vector.(frameCount * 3, true); + } + + /** Sets the time, mix and bend direction of the specified keyframe. */ + public function setFrame (frameIndex:int, time:Number, mix:Number, bendDirection:int) : void { + frameIndex *= 3; + frames[frameIndex] = time; + frames[int(frameIndex + 1)] = mix; + frames[int(frameIndex + 2)] = bendDirection; + } + + override public function apply (skeleton:Skeleton, lastTime:Number, time:Number, firedEvents:Vector., alpha:Number) : void { + if (time < frames[0]) return; // Time is before first frame. + + var ikConstraint:IkConstraint = skeleton.ikConstraints[ikConstraintIndex]; + + if (time >= frames[int(frames.length - 3)]) { // Time is after last frame. + ikConstraint.mix += (frames[int(frames.length - 2)] - ikConstraint.mix) * alpha; + ikConstraint.bendDirection = int(frames[int(frames.length - 1)]); + return; + } + + // Interpolate between the previous frame and the current frame. + var frameIndex:int = Animation.binarySearch(frames, time, 3); + var prevFrameMix:Number = frames[int(frameIndex + PREV_FRAME_MIX)]; + var frameTime:Number = frames[frameIndex]; + var percent:Number = 1 - (time - frameTime) / (frames[int(frameIndex + PREV_FRAME_TIME)] - frameTime); + percent = getCurvePercent(frameIndex / 3 - 1, percent < 0 ? 0 : (percent > 1 ? 1 : percent)); + + var mix:Number = prevFrameMix + (frames[int(frameIndex + FRAME_MIX)] - prevFrameMix) * percent; + ikConstraint.mix += (mix - ikConstraint.mix) * alpha; + ikConstraint.bendDirection = int(frames[int(frameIndex + PREV_FRAME_BEND_DIRECTION)]); + } +} + +} diff --git a/spine-starling/spine-starling-example/.actionScriptProperties b/spine-starling/spine-starling-example/.actionScriptProperties index b692f0508..774d465a2 100644 --- a/spine-starling/spine-starling-example/.actionScriptProperties +++ b/spine-starling/spine-starling-example/.actionScriptProperties @@ -1,6 +1,6 @@ - - + + @@ -34,10 +34,9 @@ - + - diff --git a/spine-starling/spine-starling-example/src/raptor.atlas b/spine-starling/spine-starling-example/src/raptor.atlas new file mode 100644 index 000000000..c90da0078 --- /dev/null +++ b/spine-starling/spine-starling-example/src/raptor.atlas @@ -0,0 +1,251 @@ + +raptor.png +size: 1022,1022 +format: RGBA8888 +filter: Linear,Linear +repeat: none +back_arm + rotate: false + xy: 410, 545 + size: 46, 29 + orig: 46, 29 + offset: 0, 0 + index: -1 +back_bracer + rotate: false + xy: 540, 548 + size: 39, 28 + orig: 39, 28 + offset: 0, 0 + index: -1 +back_hand + rotate: true + xy: 504, 538 + size: 36, 34 + orig: 36, 34 + offset: 0, 0 + index: -1 +back_knee + rotate: false + xy: 299, 478 + size: 49, 67 + orig: 49, 67 + offset: 0, 0 + index: -1 +back_thigh + rotate: true + xy: 140, 247 + size: 39, 24 + orig: 39, 24 + offset: 0, 0 + index: -1 +eyes_open + rotate: true + xy: 2, 2 + size: 47, 45 + orig: 47, 45 + offset: 0, 0 + index: -1 +front_arm + rotate: false + xy: 360, 544 + size: 48, 30 + orig: 48, 30 + offset: 0, 0 + index: -1 +front_bracer + rotate: false + xy: 538, 578 + size: 41, 29 + orig: 41, 29 + offset: 0, 0 + index: -1 +front_hand + rotate: false + xy: 538, 609 + size: 41, 38 + orig: 41, 38 + offset: 0, 0 + index: -1 +front_open_hand + rotate: false + xy: 894, 782 + size: 43, 44 + orig: 43, 44 + offset: 0, 0 + index: -1 +front_thigh + rotate: false + xy: 942, 849 + size: 57, 29 + orig: 57, 29 + offset: 0, 0 + index: -1 +gun + rotate: false + xy: 785, 774 + size: 107, 103 + orig: 107, 103 + offset: 0, 0 + index: -1 +gun_nohand + rotate: false + xy: 614, 703 + size: 105, 102 + orig: 105, 102 + offset: 0, 0 + index: -1 +head + rotate: false + xy: 2, 137 + size: 136, 149 + orig: 136, 149 + offset: 0, 0 + index: -1 +lower_leg + rotate: true + xy: 780, 699 + size: 73, 98 + orig: 73, 98 + offset: 0, 0 + index: -1 +mouth_smile + rotate: true + xy: 49, 2 + size: 47, 30 + orig: 47, 30 + offset: 0, 0 + index: -1 +neck + rotate: true + xy: 1001, 860 + size: 18, 21 + orig: 18, 21 + offset: 0, 0 + index: -1 +raptor_arm_back + rotate: false + xy: 940, 936 + size: 82, 86 + orig: 82, 86 + offset: 0, 0 + index: -1 +raptor_body + rotate: false + xy: 2, 737 + size: 610, 285 + orig: 610, 285 + offset: 0, 0 + index: -1 +raptor_front_arm + rotate: true + xy: 195, 464 + size: 81, 102 + orig: 81, 102 + offset: 0, 0 + index: -1 +raptor_front_leg + rotate: false + xy: 2, 478 + size: 191, 257 + orig: 191, 257 + offset: 0, 0 + index: -1 +raptor_hindleg_back + rotate: false + xy: 614, 807 + size: 169, 215 + orig: 169, 215 + offset: 0, 0 + index: -1 +raptor_horn + rotate: false + xy: 360, 655 + size: 182, 80 + orig: 182, 80 + offset: 0, 0 + index: -1 +raptor_horn_back + rotate: false + xy: 360, 576 + size: 176, 77 + orig: 176, 77 + offset: 0, 0 + index: -1 +raptor_jaw + rotate: false + xy: 785, 879 + size: 153, 143 + orig: 153, 143 + offset: 0, 0 + index: -1 +raptor_saddle_noshadow + rotate: false + xy: 2, 288 + size: 163, 188 + orig: 163, 188 + offset: 0, 0 + index: -1 +raptor_saddle_strap_front + rotate: false + xy: 721, 710 + size: 57, 95 + orig: 57, 95 + offset: 0, 0 + index: -1 +raptor_saddle_strap_rear + rotate: true + xy: 940, 880 + size: 54, 74 + orig: 54, 74 + offset: 0, 0 + index: -1 +raptor_saddle_w_shadow + rotate: false + xy: 195, 547 + size: 163, 188 + orig: 163, 188 + offset: 0, 0 + index: -1 +raptor_tongue + rotate: true + xy: 544, 649 + size: 86, 64 + orig: 86, 64 + offset: 0, 0 + index: -1 +stirrup_back + rotate: false + xy: 458, 539 + size: 44, 35 + orig: 44, 35 + offset: 0, 0 + index: -1 +stirrup_front + rotate: true + xy: 81, 4 + size: 45, 50 + orig: 45, 50 + offset: 0, 0 + index: -1 +stirrup_strap + rotate: true + xy: 894, 828 + size: 49, 46 + orig: 49, 46 + offset: 0, 0 + index: -1 +torso + rotate: true + xy: 610, 647 + size: 54, 91 + orig: 54, 91 + offset: 0, 0 + index: -1 +visor + rotate: false + xy: 2, 51 + size: 131, 84 + orig: 131, 84 + offset: 0, 0 + index: -1 diff --git a/spine-starling/spine-starling-example/src/raptor.json b/spine-starling/spine-starling-example/src/raptor.json new file mode 100644 index 000000000..df9892de6 --- /dev/null +++ b/spine-starling/spine-starling-example/src/raptor.json @@ -0,0 +1,1333 @@ +{ +"skeleton": { "hash": "r3IJRaLbaxgEoW1YBAOrYT69jB4", "spine": "Dev", "width": 1224.2, "height": 1052.38 }, +"bones": [ + { "name": "root" }, + { "name": "front_foot_goal", "parent": "root", "x": -45.79, "y": -28.67, "rotation": -0.94 }, + { "name": "hip", "parent": "root", "x": -136.78, "y": 415.47, "rotation": 3.15 }, + { "name": "rear_foot_goal", "parent": "root", "x": 33.43, "y": 30.81 }, + { "name": "front_leg1", "parent": "hip", "length": 251.74, "x": 27.36, "y": -28.27, "rotation": -51.5 }, + { "name": "front_leg_goal", "parent": "front_foot_goal", "x": -106.06, "y": 115.58 }, + { "name": "rear_leg1", "parent": "hip", "length": 226.27, "x": 55.19, "y": -71.25, "rotation": -54.76 }, + { "name": "rear_leg_goal", "parent": "rear_foot_goal", "x": -127.51, "y": 75.99 }, + { "name": "tail1", "parent": "hip", "length": 162.53, "x": -20.86, "y": 6.87, "rotation": 162.92 }, + { "name": "torso1", "parent": "hip", "length": 126.25, "x": 30.03, "y": -0.4, "rotation": -4.97 }, + { "name": "front_leg2", "parent": "front_leg1", "length": 208.54, "x": 251.03, "y": 0.16, "rotation": 261.93 }, + { "name": "rear_leg2", "parent": "rear_leg1", "length": 172.58, "x": 226.32, "y": 0.23, "rotation": -92.25 }, + { "name": "saddle", "parent": "torso1", "length": 50.91, "x": 4.56, "y": 71.86, "rotation": 91.8 }, + { "name": "tail2", "parent": "tail1", "length": 130.02, "x": 162.53, "y": -0.82, "rotation": 30.3 }, + { "name": "torso2", "parent": "torso1", "length": 121.2, "x": 126.25, "y": -0.37, "rotation": 39.84 }, + { "name": "front_arm1", "parent": "torso2", "length": 109.99, "x": 46.37, "y": -84.61, "rotation": 224.54 }, + { "name": "front_leg3", "parent": "front_leg2", "length": 118.18, "x": 208.5, "y": -1.63, "rotation": 85.46 }, + { "name": "neck", "parent": "torso2", "length": 70.59, "x": 121.19, "y": 0.34, "rotation": 41.37 }, + { "name": "rear_arm1", "parent": "torso2", "length": 109.56, "x": 57.05, "y": -95.38, "rotation": -124.71 }, + { "name": "rear_leg3", "parent": "rear_leg2", "length": 103.05, "x": 172.31, "y": 2.21, "rotation": 82.81 }, + { "name": "saddle_strap_front1", "parent": "saddle", "length": 97.27, "x": -27.36, "y": -73.38, "rotation": -148.11 }, + { "name": "saddle_strap_rear1", "parent": "saddle", "length": 38.62, "x": -33.34, "y": 87.32, "rotation": 151.13 }, + { "name": "spineboy_front_arm_goal", "parent": "saddle", "x": -50.7, "y": -96.93 }, + { "name": "spineboy_hip", "parent": "saddle", "length": 0.52, "x": 81.88, "y": 2.68, "rotation": 90.01 }, + { "name": "spineboy_rear_arm_goal", "parent": "saddle", "x": -30.43, "y": -100.08 }, + { "name": "stirrup", "parent": "saddle", "length": 78.17, "x": -81.94, "y": -103.38, "rotation": -68.85 }, + { "name": "stirrup_strap1", "parent": "saddle", "length": 43.69, "x": -20.38, "y": -29.37, "rotation": -135 }, + { "name": "tail3", "parent": "tail2", "length": 141.06, "x": 130.02, "y": 0.1, "rotation": 6.88 }, + { "name": "back_thigh", "parent": "spineboy_hip", "length": 71.15, "x": -9.57, "y": 2.31, "rotation": 160.75 }, + { "name": "front_arm2", "parent": "front_arm1", "length": 86.33, "x": 109.99, "y": 0.2, "rotation": 105.23 }, + { "name": "front_foot1", "parent": "front_leg3", "length": 57.79, "x": 118.19, "y": -0.79, "scaleX": 1.126, "rotation": 54.46 }, + { "name": "front_thigh", "parent": "spineboy_hip", "length": 77.79, "x": 15.51, "y": 17.01, "rotation": 163.34 }, + { + "name": "gun", + "parent": "spineboy_hip", + "length": 181.35, + "x": 16.86, + "y": -7.89, + "scaleX": 0.816, + "scaleY": 0.816, + "rotation": 107.11 + }, + { "name": "head", "parent": "neck", "length": 105.5, "x": 70.59, "y": 0.03, "rotation": 9.82 }, + { "name": "rear_arm2", "parent": "rear_arm1", "length": 85.8, "x": 109.56, "rotation": 123.56 }, + { "name": "rear_foot1", "parent": "rear_leg3", "length": 84.51, "x": 102.37, "y": -0.02, "rotation": 75.43 }, + { "name": "saddle_strap_front2", "parent": "saddle_strap_front1", "length": 102.74, "x": 97.29, "y": 0.3, "rotation": -11.13 }, + { "name": "saddle_strap_rear2", "parent": "saddle_strap_rear1", "length": 54.36, "x": 38.63, "y": -0.02 }, + { "name": "spineboy_torso", "parent": "spineboy_hip", "length": 122.45, "x": 1.05, "y": -2.1, "rotation": -75.85 }, + { "name": "stirrup_strap2", "parent": "stirrup_strap1", "length": 51.62, "x": 43.7, "rotation": 9.38 }, + { "name": "tail4", "parent": "tail3", "length": 126.25, "x": 141.05, "y": 0.64, "rotation": -18.86 }, + { "name": "back_arm", "parent": "spineboy_torso", "length": 67.21, "x": 96.33, "y": -38.46, "rotation": -120.89 }, + { "name": "back_knee", "parent": "back_thigh", "length": 97.17, "x": 71.15, "y": -0.28, "rotation": -54.97 }, + { "name": "front_arm", "parent": "spineboy_torso", "length": 74.51, "x": 101.37, "y": 9.78, "rotation": -118.16 }, + { + "name": "front_foot2", + "parent": "front_foot1", + "length": 56.19, + "x": 57.78, + "y": -0.02, + "scaleX": 0.73, + "scaleY": 0.823, + "rotation": -0.46, + "inheritRotation": false + }, + { "name": "front_hand", "parent": "front_arm2", "length": 47.55, "x": 86.33, "y": 0.06, "rotation": -56.83 }, + { "name": "horn_front", "parent": "head", "length": 87.48, "x": 82.09, "y": -221.36, "rotation": 49.36 }, + { "name": "horn_rear", "parent": "head", "length": 73.78, "x": 99.27, "y": -226.79, "rotation": 44.31 }, + { "name": "jaw", "parent": "head", "length": 203.76, "x": 29.36, "y": -40.15, "rotation": -140.14, "inheritScale": false }, + { "name": "lower_leg", "parent": "front_thigh", "length": 111.5, "x": 77.92, "y": -0.1, "rotation": -49.62 }, + { "name": "neck2", "parent": "spineboy_torso", "length": 32.04, "x": 113.44, "y": -15.21, "rotation": -45.22 }, + { + "name": "rear_foot2", + "parent": "rear_foot1", + "length": 102.31, + "x": 84.49, + "y": -0.34, + "rotation": -6.13, + "inheritRotation": false + }, + { "name": "rear_hand", "parent": "rear_arm2", "length": 45.8, "x": 85.8, "y": 0.1, "rotation": -76.28 }, + { "name": "saddle_strap_rear3", "parent": "saddle_strap_rear2", "length": 44.04, "x": 54.86, "y": 0.19, "rotation": 3.63 }, + { "name": "tail5", "parent": "tail4", "length": 91.06, "x": 126.25, "y": -0.47, "rotation": -22.34 }, + { "name": "tongue1", "parent": "head", "length": 55.11, "x": 20.81, "y": -104.75, "rotation": -129.04 }, + { "name": "back_bracer", "parent": "back_arm", "length": 43.68, "x": 67.21, "y": -0.31, "rotation": 17.48 }, + { "name": "bone", "parent": "horn_front", "x": 294.58, "y": 234.17, "rotation": -138.59 }, + { "name": "bone2", "parent": "horn_rear", "x": 232.68, "y": 245.84, "rotation": -133.55 }, + { "name": "front_bracer", "parent": "front_arm", "length": 39.85, "x": 74.52, "y": -0.41, "rotation": 20.3 }, + { + "name": "front_foot3", + "parent": "front_foot2", + "length": 129.88, + "x": 49.71, + "y": 20.65, + "scaleX": 1.154, + "rotation": -3.16, + "inheritRotation": false + }, + { "name": "head2", "parent": "neck2", "length": 249.64, "x": 23.01, "y": 3.47, "rotation": 11.65 }, + { "name": "tongue2", "parent": "tongue1", "length": 44.66, "x": 55.59, "y": 0.93, "rotation": 8.93 }, + { "name": "back_hand", "parent": "back_bracer", "length": 41.97, "x": 43.68, "y": 0.06, "rotation": 9.2, "inheritRotation": false }, + { + "name": "front_hand2", + "parent": "front_bracer", + "length": 58.18, + "x": 39.98, + "y": -0.89, + "rotation": 13.9, + "inheritRotation": false + }, + { "name": "tongue3", "parent": "tongue2", "length": 43.64, "x": 44.26, "y": -0.2, "rotation": 12.86 } +], +"ik": [ + { + "name": "front_leg_goal", + "bones": [ "front_leg1", "front_leg2" ], + "target": "front_leg_goal", + "bendPositive": false + }, + { + "name": "rear_leg_goal", + "bones": [ "rear_leg1", "rear_leg2" ], + "target": "rear_leg_goal", + "bendPositive": false + }, + { + "name": "front_foot_goal", + "bones": [ "front_leg3", "front_foot1" ], + "target": "front_foot_goal" + }, + { + "name": "rear_foot_goal", + "bones": [ "rear_leg3", "rear_foot1" ], + "target": "rear_foot_goal" + }, + { + "name": "stirrup", + "bones": [ "stirrup_strap1", "stirrup_strap2" ], + "target": "stirrup" + }, + { + "name": "spineboy_rear_leg_goal", + "bones": [ "back_thigh", "back_knee" ], + "target": "spineboy_rear_arm_goal", + "bendPositive": false + }, + { + "name": "spineboy_front_leg_goal", + "bones": [ "front_thigh", "lower_leg" ], + "target": "spineboy_front_arm_goal", + "bendPositive": false + }, + { + "name": "rear_arm_goal", + "bones": [ "back_arm", "back_bracer" ], + "target": "bone2" + }, + { + "name": "front_arm_goal", + "bones": [ "front_arm", "front_bracer" ], + "target": "bone" + } +], +"slots": [ + { "name": "back_hand", "bone": "back_hand", "attachment": "back_hand" }, + { "name": "back_arm", "bone": "back_arm", "attachment": "back_arm" }, + { "name": "back_bracer", "bone": "back_bracer", "attachment": "back_bracer" }, + { "name": "back_knee", "bone": "back_knee", "attachment": "back_knee" }, + { "name": "raptor_horn_back", "bone": "horn_rear", "attachment": "raptor_horn_back" }, + { "name": "raptor_tongue", "bone": "root", "attachment": "raptor_tongue" }, + { "name": "raptor_hindleg_back", "bone": "rear_leg1", "attachment": "raptor_hindleg_back" }, + { "name": "raptor_arm_back", "bone": "root", "attachment": "raptor_arm_back" }, + { "name": "raptor_body", "bone": "torso1", "attachment": "raptor_body" }, + { "name": "back_thigh", "bone": "back_thigh", "attachment": "back_thigh" }, + { "name": "raptor_saddle_strap_front", "bone": "saddle_strap_front1", "attachment": "raptor_saddle_strap_front" }, + { "name": "raptor_saddle_strap_rear", "bone": "saddle_strap_rear1", "attachment": "raptor_saddle_strap_rear" }, + { "name": "raptor_saddle_w_shadow", "bone": "saddle", "attachment": "raptor_saddle_w_shadow" }, + { "name": "raptor_saddle_noshadow", "bone": "saddle" }, + { "name": "raptor_front_arm", "bone": "root", "attachment": "raptor_front_arm" }, + { "name": "raptor_front_leg", "bone": "front_leg1", "attachment": "raptor_front_leg" }, + { "name": "raptor_jaw", "bone": "jaw", "attachment": "raptor_jaw" }, + { "name": "neck", "bone": "neck2", "attachment": "neck" }, + { "name": "spineboy_torso", "bone": "spineboy_torso", "attachment": "torso" }, + { "name": "head", "bone": "head2", "attachment": "head" }, + { "name": "eyes_open", "bone": "head2", "attachment": "eyes_open" }, + { "name": "mouth_smile", "bone": "head2", "attachment": "mouth_smile" }, + { "name": "visor", "bone": "head2", "attachment": "visor" }, + { "name": "raptor_horn", "bone": "horn_front", "attachment": "raptor_horn" }, + { "name": "front_thigh", "bone": "front_thigh", "attachment": "front_thigh" }, + { "name": "stirrup_back", "bone": "stirrup", "attachment": "stirrup_back" }, + { "name": "lower_leg", "bone": "lower_leg", "attachment": "lower_leg" }, + { "name": "stirrup_strap", "bone": "stirrup", "attachment": "stirrup_strap" }, + { "name": "stirrup_front", "bone": "stirrup", "attachment": "stirrup_front" }, + { "name": "gun", "bone": "gun", "attachment": "gun_nohand" }, + { "name": "front_arm", "bone": "front_arm", "attachment": "front_arm" }, + { "name": "front_bracer", "bone": "front_bracer", "attachment": "front_bracer" }, + { "name": "front_hand", "bone": "front_hand2", "attachment": "front_hand" } +], +"skins": { + "default": { + "back_arm": { + "back_arm": { "x": 29.71, "y": 2.04, "rotation": 16.75, "width": 91, "height": 57 } + }, + "back_bracer": { + "back_bracer": { "x": 13.19, "y": -4.28, "rotation": -0.72, "width": 77, "height": 55 } + }, + "back_hand": { + "back_hand": { "x": 18.6, "y": 4.23, "rotation": -10.99, "width": 72, "height": 68 } + }, + "back_knee": { + "back_knee": { "x": 45.77, "y": 20.47, "rotation": 74.22, "width": 97, "height": 134 } + }, + "back_thigh": { + "back_thigh": { "x": 37.85, "y": -4.36, "rotation": 19.24, "width": 78, "height": 47 } + }, + "eyes_open": { + "eyes_open": { "x": 93.23, "y": -25.45, "rotation": -70.57, "width": 93, "height": 89 } + }, + "front_arm": { + "front_arm": { "x": 31.38, "y": 5.09, "rotation": 14.02, "width": 96, "height": 60 } + }, + "front_bracer": { + "front_bracer": { "x": 11.68, "y": -1.36, "rotation": -6.28, "width": 81, "height": 58 } + }, + "front_hand": { + "front_hand": { "x": 35.7, "y": 7.84, "rotation": -13.96, "width": 82, "height": 75 }, + "front_open_hand": { "x": 42.54, "y": 4.62, "rotation": 62.19, "width": 86, "height": 87 }, + "gun": { "x": 98.9, "y": 22.97, "rotation": 56.34, "width": 213, "height": 206 } + }, + "front_thigh": { + "front_thigh": { "x": 45.7, "y": -3.1, "rotation": 16.65, "width": 114, "height": 58 } + }, + "gun": { + "gun_nohand": { + "type": "mesh", + "uvs": [ 0.71081, 0.16149, 0.85807, 0.41784, 1, 0.6649, 1, 1, 0.71457, 1, 0.49802, 0.6905, 0.30182, 0.41009, 0, 0.58226, 0, 0.1174, 0.27187, 0.12429, 0.24857, 0, 0.36658, 0, 0.61804, 0, 0.70575, 0.53546, 0.53668, 0.26855 ], + "triangles": [ 9, 10, 11, 14, 11, 12, 14, 12, 0, 9, 11, 14, 6, 9, 14, 14, 0, 1, 13, 14, 1, 6, 7, 8, 6, 8, 9, 13, 1, 2, 13, 5, 6, 13, 6, 14, 3, 4, 13, 5, 13, 4, 3, 13, 2 ], + "vertices": [ 23.48, 50.63, 83.86, 46.32, 142.05, 42.17, 197.91, 3.34, 163.7, -45.86, 86.15, -47.34, 15.9, -48.68, 8.42, -120.68, -69.06, -66.81, -35.32, -20.73, -58.83, -10.35, -44.69, 9.99, -14.55, 53.35, 85.21, 6.43, 20.45, 8.2 ], + "hull": 13 + } + }, + "head": { + "head": { "x": 132.33, "y": 1.19, "rotation": -70.57, "width": 271, "height": 298 } + }, + "lower_leg": { + "lower_leg": { "x": 76.2, "y": 22.2, "rotation": 66.28, "width": 146, "height": 195 } + }, + "mouth_smile": { + "mouth_smile": { "x": 27.66, "y": -31.33, "rotation": -70.57, "width": 93, "height": 59 } + }, + "neck": { + "neck": { "x": 15.09, "y": -1.66, "rotation": -58.91, "width": 36, "height": 41 } + }, + "raptor_arm_back": { + "raptor_arm_back": { + "type": "skinnedmesh", + "uvs": [ 0.38711, 0.29362, 0.31382, 0.46513, 0.29242, 0.51521, 0.32475, 0.4931, 0.57587, 0.32138, 0.63254, 0.28263, 0.71632, 0.34507, 0.94948, 0.51888, 1, 0.65257, 1, 0.90624, 0.95462, 0.99934, 0.88957, 0.83204, 0.80294, 0.99998, 0.75236, 0.75696, 0.6654, 0.713, 0.62288, 0.63242, 0.58194, 0.65031, 0.22478, 0.80641, 0.07791, 0.73315, 0.07825, 0.66549, 0.07984, 0.34306, 0, 0.29728, 0, 0, 0.32334, 0, 0.94947, 0.60129 ], + "triangles": [ 6, 14, 15, 5, 6, 15, 5, 15, 4, 6, 7, 14, 24, 7, 8, 24, 14, 7, 13, 14, 24, 11, 13, 24, 11, 24, 8, 11, 8, 9, 10, 11, 9, 12, 13, 11, 15, 16, 4, 18, 19, 2, 16, 3, 4, 17, 18, 2, 17, 2, 3, 17, 3, 16, 20, 21, 22, 23, 20, 22, 0, 20, 23, 1, 20, 0, 1, 19, 20, 2, 19, 1 ], + "vertices": [ 2, 18, 36.95, 33.31, 0.91666, 34, 68.53, 41.05, 0.08333, 2, 18, 66.02, 20.35, 0.76813, 34, 41.41, 24.39, 0.23186, 2, 18, 74.51, 16.57, 0.64468, 34, 33.49, 19.53, 0.35531, 3, 18, 70.89, 21.97, 0.27669, 34, 39.99, 19.46, 0.67508, 52, -29.67, -39.91, 0.04822, 3, 18, 42.77, 63.89, 0.11483, 34, 90.47, 18.95, 0.60854, 52, -17.2, 9, 0.27661, 2, 34, 101.86, 18.83, 0.45955, 52, -14.38, 20.04, 0.54044, 2, 34, 106.47, 2.08, 0.0625, 52, 2.98, 20.56, 0.9375, 1, 52, 51.32, 21.98, 1, 1, 52, 72.39, 9.61, 1, 1, 52, 100.37, -23.87, 1, 1, 52, 104.96, -40.9, 1, 1, 52, 78.37, -25.61, 1, 1, 52, 86.05, -56.84, 1, 1, 52, 52.92, -30.04, 1, 2, 34, 62.24, -43.92, 0.0625, 52, 37.19, -33.33, 0.9375, 2, 34, 64.89, -28.65, 0.3125, 52, 22.98, -27.14, 0.6875, 2, 34, 57.69, -27.17, 0.30612, 52, 19.83, -33.78, 0.69387, 2, 18, 124.19, 3.83, 0.19395, 34, -5.09, -14.23, 0.80604, 2, 18, 110.77, -19.65, 0.3125, 34, -16.88, 10.1, 0.6875, 2, 18, 99.14, -19.2, 0.51613, 34, -9.93, 19.44, 0.48386, 2, 18, 43.73, -17.03, 0.9375, 34, 23.17, 63.92, 0.0625, 1, 18, 35.41, -29.77, 1, 1, 18, -15.68, -28.02, 1, 1, 18, -13.87, 24.65, 1, 1, 52, 60.41, 11.1, 1 ], + "hull": 24 + } + }, + "raptor_body": { + "raptor_body": { + "type": "skinnedmesh", + "uvs": [ 0.89014, 0.11136, 1, 0.22194, 1, 0.42847, 0.88179, 0.38589, 0.874, 0.47986, 0.84783, 0.51728, 0.82504, 0.54984, 0.82403, 0.61606, 0.82305, 0.67972, 0.74042, 0.86709, 0.61596, 0.93097, 0.49649, 0.90968, 0.41186, 0.71379, 0.36955, 0.70086, 0.32823, 0.68824, 0.27515, 0.71028, 0.25301, 0.71948, 0.22568, 0.73082, 0.19092, 0.7164, 0.15952, 0.70337, 0.1301, 0.69116, 0.09227, 0.67546, 0.06029, 0.63165, 0.02855, 0.58817, 0, 0.49874, 0.05045, 0.53494, 0.08267, 0.54507, 0.11815, 0.55623, 0.14733, 0.54161, 0.17913, 0.52568, 0.20324, 0.5136, 0.22867, 0.50087, 0.24871, 0.47664, 0.27523, 0.44458, 0.32026, 0.39015, 0.37517, 0.35747, 0.43476, 0.32201, 0.4893, 0.35534, 0.56021, 0.39867, 0.61587, 0.40674, 0.67769, 0.4157, 0.69094, 0.31314, 0.69362, 0.14742, 0.79219, 0.08354, 0.51541, 0.74573, 0.62393, 0.75425, 0.70856, 0.7287, 0.76132, 0.63288, 0.7566, 0.49454, 0.80613, 0.27517, 0.65885, 0.59037, 0.53929, 0.54937, 0.42632, 0.52207, 0.3246, 0.55241, 0.22715, 0.618, 0.10574, 0.61341, 0.03969, 0.56109, 0.77916, 0.39461, 0.37556, 0.53721, 0.27743, 0.58416, 0.16958, 0.61582, 0.07259, 0.58715, 0.87545, 0.31683, 0.85488, 0.21417, 0.81012, 0.17403, 0.83214, 0.25662, 0.83823, 0.32214, 0.84622, 0.41719, 0.59954, 0.57003, 0.49074, 0.53763, 0.76917, 0.43888, 0.75912, 0.56845, 0.871, 0.3701, 0.85431, 0.43545, 0.89558, 0.32412, 0.90105, 0.22877, 0.91523, 0.20564, 0.93086, 0.219, 0.93446, 0.25858, 0.91956, 0.2776, 0.9061, 0.26423, 0.9415, 0.25929, 0.93589, 0.21545, 0.91669, 0.19192, 0.89297, 0.22201, 0.90245, 0.28513, 0.92006, 0.281, 0.92143, 0.29619, 0.94856, 0.2643, 0.19894, 0.61694, 0.13973, 0.61469, 0.25158, 0.60156 ], + "triangles": [ 10, 11, 45, 45, 11, 44, 11, 12, 44, 44, 68, 45, 12, 69, 44, 12, 58, 52, 21, 22, 55, 22, 61, 55, 22, 23, 61, 55, 61, 27, 23, 56, 61, 23, 24, 56, 61, 56, 26, 61, 26, 27, 26, 56, 25, 56, 24, 25, 19, 60, 89, 19, 20, 60, 60, 20, 90, 20, 21, 90, 90, 21, 55, 89, 60, 29, 90, 28, 60, 60, 28, 29, 55, 27, 90, 90, 27, 28, 16, 17, 54, 91, 15, 16, 18, 54, 17, 54, 18, 89, 16, 54, 91, 18, 19, 89, 15, 91, 59, 31, 91, 54, 89, 30, 54, 89, 29, 30, 32, 59, 91, 30, 31, 54, 32, 91, 31, 33, 59, 32, 14, 15, 59, 33, 53, 59, 13, 58, 12, 58, 13, 53, 59, 53, 14, 13, 14, 53, 34, 58, 53, 35, 52, 58, 34, 53, 33, 58, 34, 35, 44, 69, 51, 12, 52, 69, 51, 38, 39, 51, 69, 38, 38, 69, 37, 69, 52, 37, 36, 52, 35, 36, 37, 52, 4, 5, 70, 4, 57, 73, 73, 57, 67, 4, 73, 3, 3, 73, 72, 3, 74, 2, 74, 87, 2, 87, 88, 2, 88, 1, 2, 73, 67, 72, 72, 67, 66, 67, 57, 66, 57, 49, 66, 57, 41, 49, 3, 72, 74, 72, 62, 74, 72, 66, 62, 74, 85, 87, 85, 74, 84, 49, 65, 66, 66, 65, 62, 84, 74, 62, 63, 62, 65, 84, 62, 63, 41, 42, 49, 85, 86, 87, 88, 86, 81, 88, 87, 86, 85, 84, 80, 85, 80, 79, 80, 84, 75, 79, 80, 78, 49, 64, 65, 64, 49, 43, 1, 88, 82, 80, 75, 78, 82, 88, 81, 75, 77, 78, 82, 81, 77, 81, 78, 77, 65, 64, 63, 75, 76, 77, 75, 84, 76, 76, 84, 83, 76, 83, 82, 83, 0, 1, 0, 83, 84, 63, 0, 84, 63, 64, 0, 1, 82, 83, 49, 42, 43, 64, 43, 0, 57, 4, 70, 45, 50, 46, 46, 47, 8, 46, 50, 47, 8, 47, 7, 50, 71, 47, 47, 71, 7, 7, 71, 6, 71, 50, 48, 48, 50, 40, 50, 68, 40, 71, 48, 6, 6, 48, 5, 5, 48, 70, 48, 40, 70, 70, 40, 57, 57, 40, 41, 10, 45, 9, 45, 46, 9, 9, 46, 8, 45, 68, 50, 44, 51, 68, 68, 39, 40, 68, 51, 39 ], + "vertices": [ 1, 33, 147.48, -145.48, 1, 1, 33, 89.4, -281.62, 1, 1, 33, -28.24, -285.93, 1, 1, 33, -14.58, -194.68, 1, 5, 9, 363.21, 87.73, 0.02179, 14, 238.39, -84.13, 0.20397, 17, 32.1, -140.85, 0.18915, 33, -61.96, -132.26, 0.41197, 48, 129.57, 6.39, 0.1731, 5, 9, 332.7, 63.71, 0.06905, 14, 199.57, -83.03, 0.29424, 17, 3.69, -114.37, 0.2194, 33, -85.43, -101.32, 0.30859, 48, 127.34, -26.64, 0.1087, 5, 9, 307.08, 43.5, 0.11018, 14, 166.95, -82.13, 0.37282, 17, -20.18, -92.14, 0.24572, 33, -105.18, -75.34, 0.21862, 48, 123.08, -64.79, 0.05264, 5, 9, 307.75, 5.7, 0.18146, 14, 143.25, -111.59, 0.56512, 17, -57.43, -98.57, 0.12044, 33, -142.98, -75.33, 0.10715, 48, 154.85, -83.49, 0.0258, 2, 9, 308.7, -30.55, 0.25, 14, 120.75, -140.04, 0.75, 2, 9, 213.94, -142.7, 0.75, 14, -23.83, -165.45, 0.25, 3, 9, 64.45, -187.34, 0.31139, 8, -158.45, 158.33, 0.10379, 2, 84.16, -190.98, 0.5848, 1, 2, -61.47, -178.84, 1, 1, 2, -166.91, -67.95, 1, 6, 9, -246.26, -74, 0.04136, 8, 170.4, 123.13, 0.2858, 13, 66.71, 104.77, 0.57052, 27, -53.08, 110.21, 0.10163, 40, -220.11, 35.3, 5.1E-4, 54, -331.4, -106.89, 1.5E-4, 6, 9, -297.45, -69.74, 0.01855, 8, 221.11, 131.31, 0.14592, 13, 115.07, 87.47, 0.47026, 27, -6.58, 88.39, 0.30085, 40, -168.92, 31, 0.06162, 54, -282.82, -90.19, 0.00276, 6, 9, -359.24, -85.1, 0.00915, 8, 277.38, 161.09, 0.07914, 13, 178.73, 86.41, 0.35008, 27, 56.68, 81.29, 0.38638, 40, -107.13, 46.31, 0.15555, 54, -232.44, -51.26, 0.01966, 6, 9, -376.16, -107.83, 0.0043, 8, 294.31, 176.47, 0.03904, 13, 203.26, 86.51, 0.25323, 27, 83.06, 77.02, 0.42283, 40, -79.56, 53.53, 0.23684, 54, -210.89, -28.3, 0.04374, 6, 9, -416.83, -99.41, 0.00211, 8, 329.83, 188.85, 0.0196, 13, 238.06, 85.41, 0.18217, 27, 115.65, 74.66, 0.41374, 40, -49.53, 60.58, 0.30031, 54, -185.49, -14.98, 0.08205, 6, 9, -449.42, -116.23, 0.00122, 8, 364.17, 200.07, 0.01106, 13, 275.48, 71.62, 0.13243, 27, 152.97, 53.58, 0.37336, 40, -5.82, 53.94, 0.34144, 54, -142.85, 0.11, 0.14047, 6, 9, -498.22, -88.19, 7.8E-4, 8, 411.52, 197.55, 0.00669, 13, 313.81, 53.61, 0.09623, 27, 188.04, 35.82, 0.32105, 40, 31.84, 49.3, 0.36432, 54, -106.46, 7.49, 0.21089, 6, 9, -524.31, -113.4, 5.8E-4, 8, 437.98, 213.03, 0.00423, 13, 345.74, 45.54, 0.06864, 27, 219.6, 19.28, 0.26387, 40, 68.31, 43.02, 0.36996, 54, -70.13, 18.19, 0.2927, 6, 9, -580.94, -76.79, 4.7E-4, 8, 494.56, 206.4, 0.00237, 13, 390.81, 21.3, 0.0452, 27, 261.62, -3.66, 0.20066, 40, 114.55, 37.83, 0.35931, 54, -26.15, 30.34, 0.39196, 6, 9, -621.23, -53.98, 4.4E-4, 8, 539.16, 193.96, 0.00115, 13, 423.87, -11.11, 0.02629, 27, 291.46, -39.06, 0.13478, 40, 154.83, 14.99, 0.33453, 54, 19.91, 25.67, 0.50278, 6, 9, -661.22, -31.34, 4.6E-4, 8, 583.41, 181.62, 5.6E-4, 13, 456.68, -43.27, 0.01512, 27, 321.06, -74.2, 0.08778, 40, 194.79, -7.66, 0.31014, 54, 65.62, 21.04, 0.58591, 6, 9, -698.76, 17.64, 4.7E-4, 8, 631.64, 143.1, 4.0E-4, 13, 480.34, -100.28, 0.01183, 27, 339.2, -133.2, 0.07247, 40, 232.3, -56.69, 0.30126, 54, 119.7, -8.69, 0.61353, 6, 9, -636.21, 0.4, 4.5E-4, 8, 566.79, 144.78, 5.5E-4, 13, 424.34, -67.52, 0.01513, 27, 286.57, -95.27, 0.08778, 40, 169.77, -39.4, 0.31045, 54, 55.51, -18.08, 0.5856, 6, 9, -596.68, -3.21, 4.2E-4, 8, 527.55, 138.78, 0.00111, 13, 387.08, -53.84, 0.02607, 27, 250.77, -78.11, 0.13421, 40, 130.24, -35.75, 0.33502, 54, 17.87, -30.67, 0.50314, 6, 9, -553.14, -7.2, 4.2E-4, 8, 484.33, 132.17, 0.00229, 13, 346.04, -38.78, 0.04477, 27, 211.34, -59.22, 0.19954, 40, 86.7, -31.72, 0.3598, 54, -23.59, -44.54, 0.39316, 6, 9, -516.96, -25.93, 4.7E-4, 8, 449.17, 125.97, 0.00408, 13, 311.45, -35.25, 0.06808, 27, 175.89, -56.83, 0.26228, 40, 51.53, -43.14, 0.37032, 54, -52.88, -67.87, 0.29473, 6, 9, -479.88, 14.24, 6.0E-4, 8, 418.38, 93.72, 0.00651, 13, 269.72, -40.64, 0.09608, 27, 135.19, -53.82, 0.32015, 40, 13.42, -53.11, 0.36453, 54, -82.03, -93.66, 0.21211, 6, 9, -451.64, 0.32, 8.3E-4, 8, 390.82, 86.58, 0.01046, 13, 241.19, -39.8, 0.13162, 27, 105.59, -52.93, 0.37317, 40, -16.25, -62.16, 0.34265, 54, -108.34, -111.24, 0.14123, 6, 9, -420.35, 31.66, 0.00137, 8, 364.8, 62.48, 0.01849, 13, 207.71, -42.14, 0.18078, 27, 73.33, -49.43, 0.41415, 40, -46.11, -70.49, 0.30264, 54, -129.51, -133.56, 0.08254, 6, 9, -399.11, 28.98, 0.00258, 8, 345.49, 47.53, 0.03705, 13, 182.34, -50.62, 0.25183, 27, 45.87, -56.62, 0.4234, 40, -71.57, -84.96, 0.24035, 54, -150.85, -153.35, 0.04477, 6, 9, -365.43, 66.79, 0.00485, 8, 319.95, 15.15, 0.07594, 13, 145.6, -61.95, 0.35325, 27, 9.61, -63.26, 0.38742, 40, -101.06, -105.58, 0.15807, 54, -165.65, -187.83, 0.02044, 6, 9, -312.31, 100.78, 0.00731, 8, 276.58, -30.61, 0.13928, 13, 85.52, -81.11, 0.48508, 27, -52.01, -76.62, 0.30338, 40, -154.2, -139.52, 0.06214, 54, -200.6, -240.31, 0.00279, 6, 9, -242.48, 124.41, 0.00974, 8, 214.5, -70.36, 0.27055, 13, 11.97, -85.98, 0.61489, 27, -125.69, -74.48, 0.10409, 40, -224.04, -163.1, 5.4E-4, 54, -255.01, -290.05, 1.5E-4, 6, 9, -166.71, 150.07, 0.02469, 8, 147.14, -113.5, 0.57033, 13, -67.84, -91.26, 0.38714, 27, -205.65, -72.16, 0.01755, 40, -299.83, -188.7, 2.0E-4, 54, -314.05, -344.03, 5.0E-5, 2, 9, -113.14, 135.84, 0.24192, 8, 91.72, -112.59, 0.75807, 2, 9, -42.12, 116.77, 0.14515, 8, 18.2, -111.17, 0.85484, 1, 9, 44.2, 107.1, 1, 2, 9, 140.09, 96.35, 0.22579, 14, 72.59, 65.41, 0.7742, 4, 9, 137.69, 169.35, 0.05644, 14, 117.5, 123, 0.24355, 17, 78.3, 94.48, 0.2125, 33, 23.7, 91.74, 0.4875, 2, 17, 171.15, 111.98, 0.25, 33, 118.17, 93.15, 0.75, 1, 33, 158.96, -25.58, 1, 1, 2, -40.63, -86.01, 1, 3, 9, 67.34, -86.66, 0.33215, 8, -137.02, 59.92, 0.08303, 2, 92.54, -90.61, 0.5848, 2, 9, 170.13, -66.29, 0.75, 14, -8.53, -78.72, 0.25, 2, 9, 231.74, -8.12, 0.4, 14, 76.03, -73.52, 0.6, 5, 9, 222.04, 70.41, 0.16894, 14, 118.9, -7, 0.5373, 17, -6.58, -3.99, 0.17075, 33, -76.73, 9.18, 0.08551, 48, 45.05, -108.02, 0.03748, 1, 33, 50.43, -46.56, 1, 1, 14, -9.88, 20.65, 1, 2, 9, -53.22, 20.53, 0.2, 8, 5.8, -15.09, 0.8, 6, 9, -180.71, 32.22, 0.0849, 8, 132.35, 4.24, 0.55723, 13, -23.98, 19.01, 0.34911, 27, -151.51, 33.44, 0.0085, 40, -285.75, -70.86, 1.8E-4, 54, -348.66, -230.51, 5.0E-5, 6, 9, -304.22, 7.95, 0.01243, 8, 246.39, 57.53, 0.13635, 13, 101.61, 10.65, 0.48532, 27, -27.28, 13.2, 0.30559, 40, -162.22, -46.69, 0.05823, 54, -245.36, -158.59, 0.00205, 6, 9, -418.56, -35.1, 0.00168, 8, 346.99, 126.85, 0.01839, 13, 223.17, 22.83, 0.18014, 27, 94.88, 13.77, 0.41602, 40, -47.85, -3.72, 0.30281, 54, -158.02, -73.16, 0.08093, 6, 9, -566.47, -40.57, 4.4E-4, 8, 489.24, 167.77, 0.00225, 13, 367.51, -9.96, 0.04446, 27, 235.45, -32.57, 0.20024, 40, 100.06, 1.62, 0.36103, 54, -24.81, -8.63, 0.39156, 6, 9, -648.5, -15.19, 4.5E-4, 8, 574.96, 162.88, 5.5E-4, 13, 440.24, -55.6, 0.01566, 27, 303.52, -84.91, 0.09149, 40, 182.07, -23.8, 0.3135, 54, 60.48, 1.14, 0.57832, 3, 14, 174.99, 22.22, 0.2, 17, 54.82, -19.14, 0.6, 33, -18.8, -16.2, 0.2, 6, 9, -242.34, 20.11, 0.02478, 8, 189.25, 30.83, 0.26443, 13, 38.68, 14.84, 0.61556, 27, -89.52, 23.34, 0.09454, 40, -224.1, -58.8, 5.1E-4, 54, -297.11, -194.62, 1.4E-4, 6, 9, -359.57, -12.88, 0.00674, 8, 295.08, 91.08, 0.07453, 13, 160.45, 16.54, 0.35139, 27, 31.85, 13.48, 0.39116, 40, -106.86, -25.89, 0.15674, 54, -203.08, -117.24, 0.01941, 6, 9, -488.69, -37.69, 6.7E-4, 8, 414.43, 146.25, 0.00642, 13, 291.61, 7.27, 0.09534, 27, 161.53, -8.2, 0.32068, 40, 22.27, -1.18, 0.36568, 54, -94.86, -42.56, 0.21117, 6, 9, -607.64, -27.83, 4.3E-4, 8, 532.26, 165.32, 0.00108, 13, 404.01, -32.87, 0.02584, 27, 269.61, -58.84, 0.13469, 40, 141.21, -11.13, 0.33582, 54, 17.98, -3.72, 0.50211, 1, 33, 26.4, -166.06, 1, 1, 33, 87.21, -106.12, 1, 1, 33, 108.19, -49.62, 1, 2, 33, 61.73, -82.13, 0.50021, 48, 4.42, 52.83, 0.49978, 2, 33, 22.84, -109.4, 0.50021, 48, 51.52, 46.73, 0.49978, 5, 9, 348.39, 119.13, 0.00694, 14, 247.12, -50.52, 0.065, 17, 60.86, -121.4, 0.06027, 33, -30.3, -118, 0.48738, 48, 96.58, 17.22, 0.38039, 1, 9, 26.73, 14.8, 1, 2, 9, -107.97, 25.67, 0.24192, 8, 60.17, -6.91, 0.75807, 5, 9, 235.53, 102.96, 0.07484, 14, 150.1, 9.35, 0.34943, 17, 27.64, -12.34, 0.40983, 33, -44.43, -4.87, 0.14928, 48, 34.03, -74.39, 0.0166, 5, 9, 227.15, 28.49, 0.29239, 14, 95.96, -42.46, 0.5708, 17, -47.23, -15.44, 0.07952, 33, -118.74, 4.84, 0.03982, 48, 84.85, -129.5, 0.01745, 2, 33, 5.19, -153.1, 0.87618, 48, 90.96, 71.21, 0.12381, 5, 9, 351.78, 108.85, 0.01127, 14, 243.13, -60.59, 0.10548, 17, 51.21, -126.33, 0.09782, 33, -40.65, -121.21, 0.46541, 48, 105.71, 17.33, 0.32, 1, 33, 23.69, -185.21, 1, 1, 33, 79.64, -175.94, 1, 1, 33, 93.96, -187.56, 1, 1, 33, 87.07, -206.55, 1, 1, 33, 64.2, -216.74, 1, 1, 33, 52.23, -203.68, 1, 1, 33, 59.24, -187.03, 1, 1, 33, 64.26, -223.8, 1, 1, 33, 89.44, -211.41, 1, 1, 33, 102.04, -186.95, 1, 1, 33, 83.1, -166.14, 1, 1, 33, 46.84, -186.41, 1, 1, 33, 50.32, -204.36, 1, 1, 33, 41.7, -206.59, 1, 1, 33, 61.87, -230.97, 1, 6, 9, -448.12, -58.75, 9.7E-4, 8, 374.97, 143.6, 0.01016, 13, 256.29, 17.42, 0.13074, 27, 127.43, 2.07, 0.37548, 40, -13.35, -3.05, 0.34387, 54, -128.14, -55.46, 0.13875, 6, 9, -519.55, -68.54, 5.1E-4, 8, 442.75, 168.18, 0.00402, 13, 327.21, 4.42, 0.06791, 27, 196.28, -19.32, 0.26429, 40, 58.71, -1.05, 0.3719, 54, -62.24, -26.21, 0.29134, 6, 9, -386.43, -41.35, 0.00321, 8, 318.32, 113.62, 0.03567, 13, 192.26, 20.14, 0.25008, 27, 64.19, 12.44, 0.42824, 40, -76.55, -13.67, 0.24036, 54, -182.56, -89.31, 0.0424 ], + "hull": 44 + } + }, + "raptor_front_arm": { + "raptor_front_arm": { + "type": "skinnedmesh", + "uvs": [ 0.39562, 0.1396, 0.3877, 0.30212, 0.3123, 0.41784, 0.27287, 0.47835, 0.33388, 0.4507, 0.54879, 0.35328, 0.64092, 0.31152, 0.73024, 0.36529, 1, 0.5277, 1, 0.86606, 0.93242, 1, 0.86176, 0.80967, 0.75576, 0.99765, 0.71748, 1, 0.70276, 0.77442, 0.62031, 0.73448, 0.58792, 0.64519, 0.53561, 0.6582, 0.13448, 0.75798, 0, 0.69218, 0.01846, 0.56357, 0.05498, 0.30917, 0, 0.27863, 0, 0.12423, 0, 0, 0.19596, 0, 0.40242, 0, 0.24536, 0.1924, 0.21678, 0.0811 ], + "triangles": [ 0, 28, 26, 23, 25, 28, 28, 25, 26, 23, 24, 25, 6, 7, 16, 6, 16, 5, 15, 16, 7, 7, 14, 15, 8, 14, 7, 11, 14, 8, 11, 8, 9, 12, 14, 11, 13, 14, 12, 10, 11, 9, 17, 4, 5, 16, 17, 5, 18, 19, 3, 18, 3, 4, 18, 4, 17, 27, 28, 0, 27, 22, 23, 27, 23, 28, 1, 27, 0, 21, 22, 27, 21, 27, 1, 2, 21, 1, 2, 20, 21, 3, 20, 2, 19, 20, 3 ], + "vertices": [ 2, 15, 3.06, 31.88, 0.51075, 14, 66.56, -109.48, 0.48924, 1, 15, 35.87, 35.62, 1, 2, 15, 60.94, 27.12, 0.8464, 29, 46.49, 31.12, 0.15359, 3, 15, 74.05, 22.67, 0.34375, 29, 36.5, 21.53, 0.64062, 45, -45.25, -29.96, 0.01562, 3, 15, 67, 31.58, 0.10937, 29, 47.66, 23.68, 0.78125, 45, -40.93, -19.44, 0.10937, 3, 15, 42.17, 62.99, 0.01562, 29, 86.98, 31.24, 0.64062, 45, -25.75, 17.61, 0.34375, 2, 29, 103.83, 34.49, 0.34375, 45, -19.24, 33.49, 0.65625, 2, 29, 114.04, 19.51, 0.10937, 45, -1.11, 33.84, 0.89062, 2, 29, 144.85, -25.73, 0.02083, 45, 53.62, 34.88, 0.97916, 1, 45, 96.03, -19.16, 1, 1, 45, 104.2, -47.31, 1, 1, 45, 71.34, -23.98, 1, 1, 45, 81.39, -64.61, 1, 1, 45, 76.8, -68.81, 1, 2, 29, 83.18, -57.72, 0.02083, 45, 46.65, -34.25, 0.97916, 2, 29, 73.13, -45.76, 0.10937, 45, 31.14, -36.12, 0.89062, 2, 29, 73.98, -26.9, 0.34375, 45, 15.82, -25.09, 0.65625, 3, 15, 103.67, 70.28, 0.01562, 29, 65.1, -26.69, 0.64062, 45, 10.78, -32.41, 0.34375, 3, 15, 133.56, 9.13, 0.10937, 29, -2.94, -25.03, 0.78125, 45, -27.84, -88.47, 0.10937, 3, 15, 123.67, -14.42, 0.34375, 29, -19.29, -5.39, 0.64062, 45, -53.23, -91.41, 0.01562, 2, 15, 97.41, -15.43, 0.8464, 29, -8.08, 18.37, 0.15359, 1, 15, 45.46, -17.43, 1, 2, 15, 40.69, -27.17, 0.45035, 14, -1.69, -93.8, 0.54964, 2, 15, -2.74, -29.63, 0.44352, 14, 18.99, -72.93, 0.55647, 1, 14, 32.11, -48.45, 1, 1, 14, 57.56, -67.43, 1, 1, 14, 84.38, -87.42, 1, 2, 15, 16.44, 5.21, 0.7182, 14, 46.31, -101.86, 0.28179, 2, 15, -4.51, 5.32, 0.48851, 14, 52.82, -81.94, 0.51148 ], + "hull": 27 + } + }, + "raptor_front_leg": { + "raptor_front_leg": { + "type": "skinnedmesh", + "uvs": [ 0.55116, 0.17817, 0.6279, 0.36027, 0.6671, 0.4533, 0.64879, 0.51527, 0.53553, 0.56893, 0.32335, 0.66946, 0.28674, 0.72086, 0.32538, 0.804, 0.36258, 0.80144, 0.42056, 0.79744, 0.61015, 0.78435, 0.84813, 0.84028, 1, 0.93854, 0.62439, 0.91738, 0.72812, 1, 0.58574, 1, 0.36707, 0.96667, 0.26306, 0.95082, 0.16266, 0.93552, 0.03859, 0.72237, 0, 0.66946, 0.0374, 0.62999, 0.1647, 0.49562, 0.23731, 0.4568, 0.27019, 0.43923, 0.28063, 0.43364, 0.223, 0.4057, 0.12565, 0.35851, 0, 0.29759, 0, 0.1524, 0, 0, 0.32132, 0, 0.32222, 0.22778, 0.4493, 0.38031, 0.47664, 0.44361, 0.4615, 0.47375, 0.35106, 0.53247, 0.20091, 0.65256, 0.18527, 0.72148, 0.25222, 0.86314, 0.30941, 0.88124, 0.55694, 0.89613, 0.55857, 0.89207, 0.47493, 0.85339, 0.6059, 0.91526, 0.39705, 0.89129, 0.13229, 0.09352, 0.36997, 0.45345, 0.37163, 0.43827, 0.32515, 0.39424, 0.23759, 0.34425, 0.34065, 0.47414 ], + "triangles": [ 46, 30, 31, 43, 9, 10, 42, 43, 10, 41, 43, 42, 13, 44, 42, 10, 13, 42, 11, 13, 10, 13, 11, 12, 45, 8, 9, 45, 9, 43, 40, 8, 45, 41, 42, 44, 45, 43, 41, 45, 41, 44, 16, 40, 45, 17, 40, 16, 15, 45, 44, 16, 45, 15, 14, 15, 44, 13, 14, 44, 19, 21, 38, 20, 21, 19, 39, 38, 6, 39, 6, 7, 40, 39, 7, 40, 7, 8, 18, 19, 38, 18, 38, 39, 17, 39, 40, 18, 39, 17, 47, 25, 48, 24, 25, 47, 35, 48, 34, 47, 48, 35, 51, 24, 47, 23, 24, 51, 3, 34, 2, 35, 34, 3, 36, 51, 47, 23, 51, 36, 22, 23, 36, 36, 47, 35, 4, 35, 3, 36, 35, 4, 37, 22, 36, 21, 22, 37, 5, 37, 36, 5, 36, 4, 6, 37, 5, 38, 21, 37, 38, 37, 6, 29, 30, 46, 32, 31, 0, 46, 31, 32, 28, 29, 46, 28, 46, 32, 32, 27, 28, 50, 27, 32, 33, 32, 0, 33, 0, 1, 49, 50, 32, 33, 49, 32, 26, 27, 50, 26, 50, 49, 25, 26, 49, 48, 49, 33, 25, 49, 48, 34, 33, 1, 48, 33, 34, 34, 1, 2 ], + "vertices": [ 3, 4, 128.03, 88.47, 0.83908, 10, -70.2, -134.13, 0.01331, 2, 158.83, -71.91, 0.1476, 2, 4, 219.55, 53.15, 0.77988, 10, -48.04, -38.58, 0.22011, 3, 4, 266.3, 35.1, 0.53531, 10, -36.73, 10.22, 0.46443, 30, 127.25, 245.46, 2.4E-4, 4, 4, 286.89, 9.79, 0.35076, 10, -14.56, 34.14, 0.64667, 30, 125.69, 212.88, 0.0023, 44, 101.39, 199.13, 2.5E-4, 4, 4, 281.54, -41.24, 0.09169, 10, 36.71, 36, 0.90196, 30, 87.64, 178.44, 0.00513, 44, 58.29, 171.29, 0.00119, 5, 4, 271.53, -136.86, 0.05608, 10, 132.77, 39.48, 0.69232, 16, 34.99, 78.76, 0.22087, 30, 16.38, 113.93, 0.0224, 44, -22.45, 119.13, 0.0083, 5, 4, 283.51, -164.25, 0.01987, 10, 158.21, 55.17, 0.50334, 16, 52.65, 54.63, 0.3617, 30, 7.01, 85.54, 0.08322, 44, -36.28, 92.63, 0.03184, 6, 4, 326.15, -179.3, 0.00798, 10, 167.14, 99.49, 0.21327, 16, 97.55, 49.25, 0.35075, 30, 28.72, 45.87, 0.14107, 44, -21.26, 49.99, 0.22311, 60, -72.29, 25.96, 0.0638, 6, 4, 333.96, -167.35, 0.00242, 10, 154.22, 105.55, 0.07519, 16, 102.57, 62.6, 0.22995, 30, 42.51, 49.55, 0.2831, 44, -7.06, 51.39, 0.2694, 60, -58.17, 28.03, 0.13992, 6, 4, 344.19, -149.68, 4.9E-4, 10, 134.24, 114.44, 0.0176, 16, 109.72, 83.39, 0.11397, 30, 64.09, 55.23, 0.07976, 44, 15.12, 53.51, 0.36292, 60, -36.09, 31.19, 0.42523, 1, 60, 35.8, 41.81, 1, 1, 60, 128.11, 17.93, 1, 1, 60, 188.72, -29.42, 1, 1, 60, 44.86, -26.17, 1, 1, 44, 133.17, -49.83, 1, 1, 44, 78.78, -50.15, 1, 5, 4, 399.32, -220.02, 2.2E-4, 10, 195.56, 179.43, 0.01703, 16, 179.46, 27.52, 0.2372, 30, 58.34, -33.93, 0.2023, 44, -4.91, -33.55, 0.54324, 5, 4, 370.41, -244.91, 3.2E-4, 10, 225.9, 152.49, 0.02513, 16, 155.04, -5.13, 0.35003, 30, 17.88, -32.5, 0.29852, 44, -44.62, -25.61, 0.32598, 5, 4, 340.37, -270.04, 0.00251, 10, 254.98, 126.27, 0.10129, 16, 131.21, -36.2, 0.54075, 30, -21.24, -31.17, 0.2082, 44, -83.02, -17.97, 0.14723, 5, 4, 225.1, -238.94, 0.01529, 10, 240.33, 7.81, 0.24036, 16, 11.94, -30.98, 0.57881, 30, -86.31, 68.9, 0.12023, 44, -131.06, 91.29, 0.04528, 5, 4, 194.64, -233.55, 0.04819, 10, 239.26, -23.1, 0.40427, 16, -18.96, -32.37, 0.48451, 30, -105.4, 93.25, 0.04604, 44, -145.97, 118.4, 0.01697, 5, 4, 187.65, -209.73, 0.09565, 10, 216.66, -33.35, 0.57617, 16, -30.97, -10.65, 0.30651, 30, -94.71, 115.65, 0.01788, 44, -131.8, 138.78, 0.00376, 4, 4, 163.85, -128.67, 0.19533, 10, 139.75, -68.26, 0.8011, 30, -58.32, 191.88, 0.00327, 44, -83.58, 208.13, 2.9E-4, 4, 4, 165.74, -94.49, 0.31921, 10, 105.59, -71.26, 0.6795, 30, -5.04, 220.72, 0.00117, 44, -56.32, 275.96, 1.0E-4, 4, 4, 166.39, -79.07, 0.46205, 10, 90.23, -72.76, 0.53752, 30, 5.55, 230.48, 3.9E-4, 44, -40.61, 286.16, 2.0E-5, 3, 4, 166.49, -74.17, 0.53779, 10, 85.42, -73.28, 0.46208, 30, -19.99, 230.7, 1.2E-4, 2, 4, 141.54, -82.46, 0.73138, 10, 97.13, -96.82, 0.26861, 3, 4, 99.76, -97.08, 0.81379, 10, 117.34, -136.23, 0.13997, 2, -2.56, -164.19, 0.04623, 3, 4, 45.01, -114.56, 0.8186, 10, 142.41, -187.89, 0.02098, 2, -51.09, -135.29, 0.1604, 3, 4, -16.2, -74.76, 0.62389, 10, 113.82, -253.08, 0.00952, 2, -42.95, -58.38, 0.36658, 2, 4, -74.73, -19.33, 0.31468, 2, -52.66, 17.55, 0.68531, 2, 4, 1.67, 76.75, 0.25576, 2, 70.07, 18.78, 0.74423, 1, 4, 93.54, 4.13, 1, 2, 4, 185.14, -6.66, 0.75461, 10, 15.98, -64.27, 0.24538, 2, 4, 217.11, -18.75, 0.50845, 10, 23.47, -30.93, 0.49154, 3, 4, 225.63, -32.92, 0.32512, 10, 36.3, -20.5, 0.6744, 30, 51.57, 221.95, 4.7E-4, 4, 4, 223, -84.73, 0.20061, 10, 87.96, -15.86, 0.79287, 30, 15.03, 185.13, 0.00581, 44, -12.28, 189.61, 6.9E-4, 5, 4, 235.61, -168.06, 0.07777, 10, 168.69, 8.29, 0.54931, 16, 6.74, 40.47, 0.33413, 30, -31.18, 114.66, 0.0321, 44, -69.27, 127.55, 0.00667, 5, 4, 259.63, -194.79, 0.01921, 10, 191.79, 35.8, 0.30498, 16, 36, 19.62, 0.53642, 30, -31.14, 78.74, 0.09568, 44, -75.03, 92.09, 0.04369, 5, 4, 332.55, -220.1, 0.00292, 10, 206.64, 111.53, 0.10776, 16, 112.69, 10.82, 0.51915, 30, 6.25, 11.23, 0.23449, 44, -49.03, 19.43, 0.13566, 4, 10, 192.51, 130.62, 0.03213, 16, 130.6, 26.41, 0.33941, 30, 29.35, 5.71, 0.27333, 44, -27.12, 10.25, 0.35511, 1, 44, 67.46, 3.16, 1, 1, 60, 19.07, -14.51, 1, 6, 4, 381.55, -150.4, 3.0E-4, 10, 130.71, 150.34, 0.00811, 16, 145.36, 89.53, 0.04102, 30, 89.29, 30.41, 0.02558, 44, 36, 24.95, 0.37636, 60, -13.89, 3.64, 0.54861, 1, 44, 86.23, -6.55, 1, 4, 10, 164.9, 153.55, 0.02263, 16, 151.18, 56, 0.23908, 30, 65.44, 5.55, 0.19254, 44, 8.45, 4.27, 0.54574, 2, 4, -9.28, -17.5, 0.59606, 2, 7.72, -30.85, 0.40393, 3, 4, 195.9, -53.81, 0.42356, 10, 61.11, -47.06, 0.57613, 30, 39.7, 225.21, 2.9E-4, 3, 4, 190.1, -48.45, 0.53227, 10, 56.61, -53.56, 0.46765, 30, 39.83, 233.12, 6.0E-5, 2, 4, 161.26, -48.26, 0.79873, 10, 60.44, -82.13, 0.20126, 3, 4, 120.37, -58.54, 0.8485, 10, 76.31, -121.18, 0.14441, 2, 41.04, -161.4, 0.00707, 4, 4, 197.37, -69.23, 0.33487, 10, 76.17, -43.46, 0.66324, 30, 30.34, 213.88, 0.0017, 44, -9.09, 262.42, 1.8E-4 ], + "hull": 32 + } + }, + "raptor_hindleg_back": { + "raptor_hindleg_back": { + "type": "skinnedmesh", + "uvs": [ 0.45041, 0.09352, 0.56933, 0.23361, 0.65294, 0.47296, 0.66353, 0.50822, 0.63174, 0.54254, 0.32383, 0.69723, 0.30068, 0.73875, 0.27934, 0.77704, 0.30417, 0.83513, 0.31058, 0.85014, 0.341, 0.85046, 0.45165, 0.85163, 0.59555, 0.81881, 0.91176, 0.92548, 1, 1, 0.56336, 0.96426, 0.48349, 0.9826, 0.29878, 0.98027, 0.22808, 0.98389, 0.15997, 0.98737, 0.15423, 0.95546, 0.13894, 0.87047, 0.07371, 0.78726, 0, 0.75299, 0, 0.7049, 0, 0.671, 0.11875, 0.64652, 0.16535, 0.52659, 0.28495, 0.47397, 0.2901, 0.45773, 0.29427, 0.4446, 0.20635, 0.40396, 0.06128, 0.33691, 0, 0.25247, 0, 0, 0.30793, 0, 0.27599, 0.20261, 0.40397, 0.31121, 0.48439, 0.45963, 0.48317, 0.48383, 0.47029, 0.51062, 0.22698, 0.67328, 0.17141, 0.7242, 0.17122, 0.78241, 0.22995, 0.89469, 0.24677, 0.90829, 0.28672, 0.9146, 0.46582, 0.91414 ], + "triangles": [ 16, 47, 15, 15, 12, 13, 15, 13, 14, 15, 47, 12, 47, 10, 11, 17, 46, 47, 47, 46, 10, 18, 46, 17, 17, 47, 16, 18, 45, 46, 47, 11, 12, 22, 23, 24, 43, 42, 7, 43, 22, 42, 21, 22, 43, 44, 43, 7, 44, 7, 8, 44, 8, 9, 21, 43, 44, 45, 44, 9, 46, 45, 9, 20, 21, 44, 20, 45, 19, 44, 45, 20, 45, 18, 19, 46, 9, 10, 41, 27, 28, 26, 27, 41, 41, 28, 40, 5, 41, 40, 5, 40, 4, 24, 25, 26, 42, 26, 41, 24, 26, 42, 6, 41, 5, 42, 41, 6, 28, 29, 40, 40, 39, 4, 7, 42, 6, 24, 42, 22, 40, 29, 39, 36, 34, 35, 36, 35, 0, 33, 34, 36, 37, 36, 0, 37, 0, 1, 32, 33, 36, 31, 32, 36, 31, 36, 37, 30, 31, 37, 38, 37, 1, 30, 37, 38, 38, 1, 2, 39, 30, 38, 39, 38, 2, 29, 30, 39, 39, 2, 3, 4, 39, 3 ], + "vertices": [ 1, 6, 53.94, 69.15, 1, 1, 6, 126.23, 67.31, 1, 2, 6, 226.42, 31.13, 0.9375, 11, -30.87, -1.11, 0.0625, 2, 6, 240.84, 25.33, 0.7, 11, -25.64, 13.52, 0.3, 2, 6, 246.67, 8.05, 0.3, 11, -8.61, 20.02, 0.7, 3, 6, 240.81, -115.25, 0.0625, 11, 114.8, 19.01, 0.875, 19, 9.48, 59.16, 0.0625, 2, 11, 131.07, 29.69, 0.7, 19, 22.11, 44.35, 0.3, 2, 11, 146.06, 39.54, 0.3, 19, 33.76, 30.71, 0.7, 4, 11, 152.6, 65.01, 0.12438, 19, 59.85, 27.41, 0.74434, 35, 15.85, 48.05, 0.12104, 51, -80.52, 23.87, 0.01022, 4, 11, 154.28, 71.59, 0.0519, 19, 66.59, 26.56, 0.74749, 35, 16.72, 41.31, 0.15401, 51, -77.54, 17.76, 0.04658, 4, 11, 145.73, 77.3, 0.02193, 19, 71.19, 35.76, 0.63296, 35, 26.78, 39.17, 0.1288, 51, -67.32, 18.96, 0.21628, 3, 19, 87.93, 69.21, 0.0625, 35, 63.37, 31.39, 0.675, 51, -30.17, 23.3, 0.26249, 2, 35, 113.82, 35.72, 0.1038, 51, 16.23, 43.56, 0.89619, 1, 51, 128.14, 12.02, 1, 1, 51, 161.85, -15.81, 1, 2, 35, 90.98, -23.36, 0.0138, 51, 13.52, -19.72, 0.98619, 2, 35, 62.97, -25.81, 0.7, 51, -12.23, -31.02, 0.3, 3, 19, 115.12, -1.33, 0.08333, 35, 1.93, -12.66, 0.83333, 51, -74.26, -38.1, 0.08333, 2, 19, 106.11, -23.53, 0.3, 35, -21.8, -9.52, 0.7, 2, 19, 97.43, -44.9, 0.7, 35, -44.67, -6.51, 0.3, 2, 19, 84.26, -40.69, 0.9375, 35, -43.9, 7.29, 0.0625, 1, 19, 49.18, -29.46, 1, 2, 11, 206.75, 5.37, 0.13333, 19, 7.44, -33.77, 0.86666, 2, 11, 219.64, -20.52, 0.36111, 19, -16.64, -49.8, 0.63888, 2, 11, 208.4, -37.82, 0.72083, 19, -35.22, -40.82, 0.27916, 2, 11, 200.49, -50.02, 0.91666, 19, -48.31, -34.48, 0.08333, 1, 11, 161.1, -36.97, 1, 2, 6, 150.1, -116.76, 0.08333, 11, 119.88, -71.55, 0.91666, 2, 6, 154.99, -70.71, 0.42846, 11, 73.68, -68.47, 0.57153, 2, 6, 150.3, -65.27, 0.35604, 11, 68.42, -73.36, 0.64395, 2, 6, 146.51, -60.87, 0.59147, 11, 64.17, -77.32, 0.40852, 2, 6, 115.12, -75.08, 0.8446, 11, 79.61, -108.13, 0.15539, 1, 6, 63.33, -98.53, 1, 1, 6, 21.78, -94.55, 1, 1, 6, -66.69, -32.04, 1, 1, 6, -6.62, 52.97, 1, 1, 6, 58.14, -6, 1, 1, 6, 121.17, 2.44, 1, 2, 6, 188.87, -12.1, 0.96, 11, 13.79, -36.92, 0.04, 2, 6, 197.11, -18.42, 0.7, 11, 19.79, -28.44, 0.3, 2, 6, 203.98, -28.61, 0.3, 11, 29.69, -21.17, 0.7, 3, 6, 213.53, -136.06, 0.04, 11, 136.67, -7.42, 0.91999, 19, -14.02, 34.16, 0.04, 2, 11, 164.32, 0.66, 0.7, 19, -2.53, 7.73, 0.3, 2, 11, 177.97, 21.57, 0.25, 19, 19.92, -3.19, 0.75, 3, 11, 187.55, 72.78, 0.04, 19, 71.93, -6.29, 0.91999, 35, -13.72, 27.87, 0.04, 2, 19, 79.66, -3.72, 0.7, 35, -9.28, 21.04, 0.3, 3, 19, 87.98, 7.25, 0.3, 35, 3.42, 15.76, 0.66, 51, -81.96, -10.7, 0.04, 3, 19, 114.16, 61.85, 0.04, 35, 62.84, 4.15, 0.7, 51, -21.95, -2.66, 0.26 ], + "hull": 36 + } + }, + "raptor_horn": { + "raptor_horn": { "x": 156.2, "y": 74.1, "rotation": -137.26, "width": 363, "height": 159 } + }, + "raptor_horn_back": { + "raptor_horn_back": { "x": 121.42, "y": 83.01, "rotation": -132.21, "width": 351, "height": 153 } + }, + "raptor_jaw": { + "raptor_jaw": { + "type": "skinnedmesh", + "uvs": [ 0.40984, 0.22169, 0.42214, 0.3988, 0.67894, 0.53819, 0.7589, 0.62838, 0.99999, 0.4726, 1, 0.53491, 0.87731, 0.77925, 0.63281, 0.94487, 0.39908, 0.96947, 0.19456, 0.89404, 0.21609, 0.6497, 0, 0.46111, 0, 0, 0.26069, 0, 0.19456, 0.29385, 0.31758, 0.50047 ], + "triangles": [ 14, 13, 0, 10, 11, 15, 15, 14, 1, 2, 7, 8, 8, 9, 10, 15, 2, 8, 15, 8, 10, 7, 3, 6, 7, 2, 3, 2, 15, 1, 6, 3, 5, 5, 3, 4, 14, 0, 1, 11, 14, 15, 11, 12, 14, 14, 12, 13 ], + "vertices": [ 1, 48, 28.6, 68.85, 1, 1, 48, 69.65, 38.95, 1, 1, 48, 150.72, 72.88, 1, 1, 48, 186.16, 74.79, 1, 1, 48, 199.76, 159.69, 1, 1, 48, 213.35, 148.16, 1, 1, 48, 242.43, 74.42, 1, 1, 48, 230.31, -13.08, 1, 1, 48, 189.56, -71.99, 1, 1, 48, 132.76, -105.6, 1, 1, 48, 83.71, -55.39, 1, 2, 33, -18.31, 12.1, 0.67732, 48, -0.04, -70.76, 0.32267, 1, 33, 113.44, 16.95, 1, 1, 33, 116.36, -62.48, 1, 1, 48, 1.86, 5.43, 1, 1, 48, 71.19, -4.17, 1 ], + "hull": 14 + } + }, + "raptor_saddle_noshadow": { + "raptor_saddle_noshadow": { "x": 80.83, "y": 10.63, "rotation": -88.64, "width": 326, "height": 375 } + }, + "raptor_saddle_strap_front": { + "raptor_saddle_strap_front": { "x": 128.83, "y": -4.71, "rotation": 61.29, "width": 114, "height": 189 } + }, + "raptor_saddle_strap_rear": { + "raptor_saddle_strap_rear": { + "type": "skinnedmesh", + "uvs": [ 0.85499, 0.06802, 1, 0.13237, 1, 0.20266, 0.95981, 0.26524, 0.88583, 0.38045, 0.80684, 0.46413, 0.74038, 0.53453, 0.81676, 0.5895, 0.51961, 1, 0.4516, 1, 0.01739, 0.8407, 0, 0.80889, 0.24645, 0.36639, 0.3792, 0.39151, 0.42457, 0.32099, 0.49229, 0.21571, 0.57673, 0.10986, 0.66437, 0, 0.70168, 0, 0.56028, 0.46321, 0.68822, 0.29772, 0.76845, 0.18722, 0.61529, 0.39206 ], + "triangles": [ 19, 14, 22, 13, 14, 19, 19, 22, 6, 13, 10, 11, 9, 13, 19, 8, 9, 19, 6, 8, 19, 13, 11, 12, 9, 10, 13, 7, 8, 6, 22, 15, 20, 14, 15, 22, 5, 20, 4, 22, 20, 5, 15, 16, 20, 20, 21, 4, 6, 22, 5, 21, 18, 0, 16, 17, 18, 21, 16, 18, 0, 1, 2, 3, 21, 0, 2, 3, 0, 20, 16, 21, 4, 21, 3 ], + "vertices": [ 1, 21, 3.9, -3.27, 1, 1, 21, 4.25, 15.05, 1, 1, 21, 13.24, 20.28, 1, 2, 21, 23.42, 21.2, 0.7, 37, -15.2, 21.22, 0.3, 3, 21, 41.11, 22.87, 0.3, 37, 2.48, 22.89, 0.6375, 53, -33.83, 24.96, 0.0625, 3, 21, 52.07, 21.72, 0.0625, 37, 13.43, 21.74, 0.6375, 53, -22.97, 23.11, 0.3, 2, 37, 18.39, 20.76, 0.25, 53, -18.09, 21.82, 0.75, 1, 53, -18.76, 33.09, 1, 1, 53, 49.92, 31.57, 1, 1, 53, 53.21, 25, 1, 1, 53, 53.11, -27.48, 1, 1, 53, 49.74, -31.27, 1, 1, 53, -20.73, -36.76, 1, 1, 53, -23.82, -22.28, 1, 3, 21, 53.48, -24.61, 0.0625, 37, 14.84, -24.59, 0.575, 53, -24.51, -23.21, 0.3625, 3, 21, 41.44, -26.12, 0.3, 37, 2.81, -26.09, 0.6375, 53, -36.62, -23.95, 0.0625, 2, 21, 24.38, -26.12, 0.7, 37, -14.24, -26.1, 0.3, 1, 21, 5.57, -26.12, 1, 1, 21, 3.54, -22.64, 1, 1, 53, -23.08, -0.04, 1, 3, 21, 41.66, -1.72, 0.3, 37, 3.03, -1.7, 0.66, 53, -34.85, 0.38, 0.04, 2, 21, 23.85, -2.46, 0.7, 37, -14.77, -2.44, 0.3, 3, 21, 52.58, -1.52, 0.04, 37, 13.95, -1.5, 0.62, 53, -23.94, -0.11, 0.34 ], + "hull": 19 + } + }, + "raptor_saddle_w_shadow": { + "raptor_saddle_w_shadow": { "x": 80.83, "y": 10.63, "rotation": -88.64, "width": 326, "height": 375 } + }, + "raptor_tongue": { + "raptor_tongue": { + "type": "skinnedmesh", + "uvs": [ 0.35242, 0.2156, 0.4794, 0.44245, 0.62071, 0.61176, 0.80562, 0.75373, 1, 0.90297, 1, 1, 0.8971, 1, 0.72054, 0.92254, 0.50668, 0.82872, 0.30401, 0.70725, 0.10537, 0.57888, 0, 0.50622, 0, 0, 0.26224, 0 ], + "triangles": [ 8, 7, 6, 6, 4, 5, 4, 6, 3, 6, 7, 3, 7, 8, 3, 8, 2, 3, 9, 10, 1, 8, 9, 2, 9, 1, 2, 1, 10, 0, 10, 11, 0, 0, 12, 13, 0, 11, 12 ], + "vertices": [ 2, 55, 3.63, 27.04, 0.6875, 62, -47.26, 33.87, 0.3125, 3, 55, 39.09, 19.45, 0.3125, 62, -13.41, 20.86, 0.625, 65, -51.54, 33.37, 0.0625, 3, 55, 71.56, 19.02, 0.0625, 62, 18.58, 15.39, 0.625, 65, -21.56, 20.92, 0.3125, 2, 62, 55.03, 16.85, 0.3125, 65, 14.29, 14.23, 0.6875, 2, 62, 93.34, 18.39, 0.08333, 65, 51.98, 7.21, 0.91666, 1, 65, 56.09, -4.5, 1, 2, 62, 85.06, -1.49, 0.08333, 65, 39.48, -10.33, 0.91666, 2, 62, 54.22, -9.18, 0.3125, 65, 7.71, -10.96, 0.6875, 3, 55, 75.14, -14.72, 0.0625, 62, 16.87, -18.5, 0.625, 65, -30.77, -11.73, 0.3125, 3, 55, 38.8, -25.8, 0.3125, 62, -20.74, -23.8, 0.625, 65, -68.62, -8.53, 0.0625, 2, 55, 2.4, -35.77, 0.6875, 62, -58.25, -27.99, 0.3125, 2, 55, -17.28, -40.62, 0.91666, 62, -78.45, -29.71, 0.08333, 1, 55, -59.91, 8.18, 1, 2, 55, -26.13, 37.69, 0.91666, 62, -75.02, 49.02, 0.08333 ], + "hull": 14 + } + }, + "spineboy_torso": { + "torso": { "x": 55.88, "y": 4.86, "rotation": -104.14, "width": 108, "height": 182 } + }, + "stirrup_back": { + "stirrup_back": { "x": 53.2, "y": 31.34, "rotation": -21.12, "width": 87, "height": 69 } + }, + "stirrup_front": { + "stirrup_front": { "x": 36.13, "y": 20.39, "rotation": -21.12, "width": 89, "height": 100 } + }, + "stirrup_strap": { + "stirrup_strap": { + "type": "skinnedmesh", + "uvs": [ 0.36822, 0.27893, 0.45737, 0.38897, 0.54451, 0.49651, 0.67872, 0.59135, 0.81977, 0.69102, 1, 0.77344, 1, 1, 0.77956, 1, 0.63729, 0.81629, 0.53364, 0.72348, 0.40534, 0.6086, 0.30886, 0.52535, 0.21049, 0.44047, 0, 0.26245, 0, 0, 0.30637, 0, 0.20241, 0.23 ], + "triangles": [ 2, 10, 1, 9, 10, 2, 9, 2, 3, 8, 9, 3, 8, 3, 4, 7, 8, 4, 7, 4, 5, 7, 5, 6, 16, 14, 15, 13, 14, 16, 16, 15, 0, 12, 16, 0, 12, 0, 1, 13, 16, 12, 11, 12, 1, 10, 11, 1 ], + "vertices": [ 2, 26, 24.71, 8.03, 0.80344, 39, -17.42, 11.02, 0.19655, 2, 26, 37.95, 8.04, 0.59978, 39, -4.36, 8.87, 0.40021, 2, 26, 50.88, 8.04, 0.36895, 39, 8.39, 6.77, 0.63104, 2, 26, 65.92, 12.27, 0.17748, 39, 23.91, 8.48, 0.82251, 2, 26, 81.72, 16.7, 0.05943, 39, 40.23, 10.28, 0.94056, 2, 26, 98.82, 25.04, 0.01209, 39, 58.46, 15.71, 0.9879, 2, 26, 114.44, 11.57, 0.00191, 39, 71.67, -0.11, 0.99808, 2, 26, 100.47, -4.61, 0.01817, 39, 55.25, -13.81, 0.98182, 2, 26, 78.79, -4.14, 0.07487, 39, 33.94, -9.81, 0.92512, 2, 26, 65.83, -6.24, 0.2028, 39, 20.81, -9.76, 0.79719, 2, 26, 49.78, -8.83, 0.39971, 39, 4.55, -9.7, 0.60028, 2, 26, 37.93, -10.97, 0.62658, 39, -7.48, -9.88, 0.37341, 2, 26, 25.85, -13.15, 0.82034, 39, -19.75, -10.06, 0.17965, 2, 26, 0.25, -18.03, 0.95288, 39, -45.81, -10.7, 0.04711, 2, 26, -17.83, -2.43, 0.97709, 39, -61.11, 7.63, 0.0229, 2, 26, 1.57, 20.07, 0.94774, 39, -38.29, 26.67, 0.05225, 2, 26, 10.84, -1.23, 0.97709, 39, -32.62, 4.14, 0.0229 ], + "hull": 16 + } + }, + "visor": { + "visor": { "x": 99.13, "y": 6.51, "rotation": -70.57, "width": 261, "height": 168 } + } + } +}, +"animations": { + "empty": {}, + "gungrab": { + "slots": { + "front_hand": { + "attachment": [ + { "time": 0, "name": "front_open_hand" }, + { "time": 0.1666, "name": "gun" } + ] + }, + "gun": { + "attachment": [ + { "time": 0, "name": "gun_nohand" }, + { "time": 0.1666, "name": null } + ] + } + }, + "bones": { + "front_hand2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 12.33 }, + { "time": 0.1666, "angle": -89.54 }, + { "time": 0.2333, "angle": -79.78 }, + { "time": 0.4666, "angle": -10.18 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.1666, "x": 0.938, "y": 0.938 }, + { "time": 0.4666, "x": 1, "y": 1 } + ] + }, + "front_arm": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.0666, "angle": -31.99 }, + { + "time": 0.1666, + "angle": 223.11, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.2333, + "angle": 155.19, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3666, + "angle": 246.13, + "curve": [ 0.184, 0.33, 0.75, 1 ] + }, + { "time": 0.4666, "angle": -56.74 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1666, "x": 6.49, "y": -2.66 }, + { "time": 0.2333, "x": 6.84, "y": 4.79 }, + { "time": 0.4666, "x": 0, "y": 0 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1666, "angle": 86.01 }, + { "time": 0.2333, "angle": 114.94 }, + { + "time": 0.3666, + "angle": 81.86, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4666, "angle": 34.73 } + ] + } + }, + "ik": { + "front_arm_goal": [ + { + "time": 0, + "mix": 1, + "bendPositive": true, + "curve": [ 0.317, 0.13, 0.781, 0.56 ] + }, + { "time": 0.1333, "mix": 0, "bendPositive": true } + ] + } + }, + "walk": { + "bones": { + "root": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_foot_goal": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.2666, "angle": -51.26 }, + { "time": 0.4, "angle": -65.17 }, + { "time": 0.5333, "angle": -76.28 }, + { "time": 0.8, "angle": -76.52 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 343.28, "y": 36.5 }, + { "time": 0.2666, "x": 86.5, "y": 36.99 }, + { "time": 0.5333, "x": -173.36, "y": 37.42 }, + { "time": 0.6, "x": -68.15, "y": 141.15 }, + { "time": 0.7333, "x": 91.78, "y": 238.01 }, + { "time": 0.8, "x": 155.89, "y": 190.91 }, + { "time": 0.9666, "x": 303.28, "y": 94.4 }, + { "time": 1.0666, "x": 343.28, "y": 36.5 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": -4.78 }, + { "time": 0.0666, "angle": -3.99 }, + { "time": 0.2666, "angle": -12.49 }, + { "time": 0.5333, "angle": -4.78 }, + { "time": 0.6, "angle": -3.99 }, + { "time": 0.8, "angle": -12.49 }, + { "time": 1.0666, "angle": -4.78 } + ], + "translate": [ + { + "time": 0, + "x": 161.93, + "y": 4.89, + "curve": [ 0.27, 0.37, 0.62, 0.4 ] + }, + { + "time": 0.0666, + "x": 165.04, + "y": -5.99, + "curve": [ 0.244, 0, 0.757, 1 ] + }, + { + "time": 0.2666, + "x": 178.8, + "y": 136.52, + "curve": [ 0.25, 0, 0.841, 0.8 ] + }, + { + "time": 0.5333, + "x": 161.93, + "y": 4.89, + "curve": [ 0.27, 0.37, 0.62, 0.4 ] + }, + { + "time": 0.6, + "x": 165.04, + "y": -5.99, + "curve": [ 0.244, 0, 0.757, 1 ] + }, + { + "time": 0.8, + "x": 178.8, + "y": 136.52, + "curve": [ 0.25, 0, 0.858, 0.82 ] + }, + { "time": 1.0666, "x": 161.93, "y": 4.89 } + ] + }, + "rear_foot_goal": { + "rotate": [ + { "time": 0, "angle": -62.73 }, + { "time": 0.2666, "angle": -107.17 }, + { "time": 0.4666, "angle": -40.51 }, + { "time": 0.8, "angle": -97.15 }, + { "time": 1.0666, "angle": -62.73 } + ], + "translate": [ + { "time": 0, "x": -266.69, "y": -15.46 }, + { "time": 0.1333, "x": -87.88, "y": 124.85 }, + { "time": 0.2666, "x": 88.35, "y": 134.06 }, + { "time": 0.3666, "x": 198.39, "y": 90.64 }, + { "time": 0.4666, "x": 308.19, "y": -26.42 }, + { "time": 0.6, "x": 167.06, "y": -26.42 }, + { "time": 1.0666, "x": -266.69, "y": -15.46 } + ] + }, + "front_leg1": { + "rotate": [ + { "time": 0, "angle": 27.07 }, + { "time": 0.5333, "angle": -41.93 }, + { "time": 0.6333, "angle": -16.71 }, + { "time": 0.7333, "angle": 16.92 }, + { "time": 1.0666, "angle": 31.39 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.0666, "x": -0.21, "y": 15.19 }, + { "time": 0.5333, "x": -0.33, "y": 12.15 }, + { "time": 0.7333, "x": -4.74, "y": 31.93 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_leg_goal": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -18.04, "y": -2.88 }, + { "time": 0.4333, "x": -42.2, "y": -88.63 }, + { "time": 0.5333, "x": -27.31, "y": -43.9 }, + { "time": 0.7333, "x": -1.52, "y": -94.28 }, + { "time": 0.8, "x": -24.29, "y": -116.41 }, + { "time": 1, "x": -41.88, "y": -93.3 }, + { "time": 1.0666, "x": -18.04, "y": -2.88 } + ] + }, + "rear_leg1": { + "rotate": [ + { "time": 0, "angle": -64.85 }, + { "time": 0.1, "angle": -45.79 }, + { "time": 0.1666, "angle": -19.95 }, + { "time": 0.4, "angle": 35.36 }, + { "time": 1.0666, "angle": -45.71 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_leg_goal": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -2.05, "y": 15.12 }, + { "time": 0.2666, "x": 17.49, "y": -150.43 }, + { "time": 0.4666, "x": -40.21, "y": -81.76 }, + { "time": 0.5333, "x": -31.68, "y": -82.43 }, + { "time": 0.8, "x": 2.65, "y": -169.21 }, + { "time": 0.9333, "x": -16.76, "y": -98.31 }, + { "time": 1.0666, "x": -2.05, "y": 15.12 } + ] + }, + "tail1": { + "rotate": [ + { "time": 0, "angle": 1.3 }, + { "time": 0.0666, "angle": 4.13 }, + { "time": 0.3333, "angle": -5.77 }, + { "time": 0.6333, "angle": 4.13 }, + { "time": 0.9, "angle": -5.77 }, + { "time": 1.0666, "angle": 1.3 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.0666, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "torso1": { + "rotate": [ + { "time": 0, "angle": 7.21 }, + { "time": 0.2666, "angle": 4.19 }, + { "time": 0.5333, "angle": 7.21 }, + { "time": 0.8, "angle": 4.19 }, + { "time": 1.0666, "angle": 7.21 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_leg2": { + "rotate": [ + { "time": 0, "angle": -347.28 }, + { "time": 0.5333, "angle": -346.78 }, + { "time": 0.6333, "angle": -398.52 }, + { "time": 0.7333, "angle": -393.21 }, + { "time": 1.0666, "angle": -362.06 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_leg2": { + "rotate": [ + { "time": 0, "angle": 27.05 }, + { "time": 0.0666, "angle": -14.99 }, + { "time": 0.1, "angle": -28.87 }, + { "time": 0.1666, "angle": -49.87 }, + { "time": 0.4, "angle": -14.45 }, + { "time": 0.4666, "angle": 11.42 }, + { "time": 1.0666, "angle": 9.92 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle": { + "rotate": [ + { "time": 0, "angle": -2.51 }, + { "time": 0.2666, "angle": -4.17 }, + { "time": 0.5333, "angle": -3.85 }, + { "time": 0.8, "angle": -3.09 }, + { "time": 1.0666, "angle": -2.51 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { + "time": 0.2666, + "x": 0, + "y": 0, + "curve": [ 0.149, 0.28, 0.75, 1 ] + }, + { + "time": 0.3333, + "x": -0.03, + "y": 5.91, + "curve": [ 0.421, 0, 0.85, 0.78 ] + }, + { "time": 0.5333, "x": 0, "y": 0 }, + { "time": 0.6, "x": -0.2, "y": -2.35 }, + { + "time": 0.8, + "x": 0, + "y": 0, + "curve": [ 0.149, 0.28, 0.75, 1 ] + }, + { + "time": 0.8666, + "x": -0.03, + "y": 5.91, + "curve": [ 0.421, 0, 0.85, 0.78 ] + }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "tail2": { + "rotate": [ + { "time": 0, "angle": -6.57 }, + { "time": 0.0666, "angle": -1.96 }, + { "time": 0.3333, "angle": -18.09 }, + { "time": 0.6333, "angle": -1.96 }, + { "time": 0.9, "angle": -18.09 }, + { "time": 1.0666, "angle": -6.57 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.0666, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1.024, "y": 1 }, + { "time": 0.0666, "x": 1.072, "y": 1 }, + { "time": 0.3333, "x": 0.947, "y": 1 }, + { "time": 0.6333, "x": 1.072, "y": 1 }, + { "time": 0.9, "x": 0.903, "y": 1 }, + { "time": 1.0666, "x": 1.024, "y": 1 } + ] + }, + "torso2": { + "rotate": [ + { "time": 0, "angle": 8.6 }, + { + "time": 0.2666, + "angle": 9.52, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.5333, "angle": 8.01 }, + { + "time": 0.8, + "angle": 5.48, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.0666, "angle": 8.6 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_arm1": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": -367.82 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 20.64, "y": -7.55 }, + { "time": 0.5, "x": -2.86, "y": 3.32 }, + { "time": 0.8, "x": 24.09, "y": -1.47 }, + { "time": 0.9333, "x": 21.73, "y": -3.7 }, + { "time": 1.0666, "x": 20.64, "y": -7.55 } + ] + }, + "front_leg3": { + "rotate": [ + { "time": 0, "angle": 1.14, "curve": "stepped" }, + { "time": 1.0666, "angle": 1.14 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 6.5 }, + { "time": 0.2666, "angle": 12.71 }, + { "time": 0.5333, "angle": 6.5 }, + { "time": 0.8, "angle": 12.71 }, + { "time": 1.0666, "angle": 6.5 } + ], + "translate": [ + { "time": 0, "x": 12.59, "y": -31.3 }, + { + "time": 0.2666, + "x": -10.84, + "y": -72.28, + "curve": [ 0.204, 0.01, 0.861, 0.86 ] + }, + { "time": 0.5333, "x": 12.59, "y": -31.3 }, + { + "time": 0.8, + "x": -10.84, + "y": -72.28, + "curve": [ 0.204, 0.01, 0.861, 0.86 ] + }, + { "time": 1.0666, "x": 12.59, "y": -31.3 } + ] + }, + "rear_arm1": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 13.71 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.5, "x": 11.12, "y": -13.38 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_leg3": { + "rotate": [ + { "time": 0, "angle": -23.18, "curve": "stepped" }, + { "time": 1.0666, "angle": -23.18 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle_strap_front1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle_strap_rear1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "tail3": { + "rotate": [ + { "time": 0, "angle": -14.83 }, + { "time": 0.0666, "angle": -24.31 }, + { "time": 0.3333, "angle": 8.86 }, + { "time": 0.6333, "angle": -24.31 }, + { "time": 0.9, "angle": 8.86 }, + { "time": 1.0666, "angle": -14.83 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.0666, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 0.995, "y": 1 }, + { "time": 0.0666, "x": 1, "y": 1 }, + { "time": 0.3333, "x": 0.947, "y": 1 }, + { "time": 1.0666, "x": 0.995, "y": 1 } + ] + }, + "front_arm2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 22.44 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_foot1": { + "rotate": [ + { "time": 0, "angle": -41.33, "curve": "stepped" }, + { "time": 1.0666, "angle": -41.33 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": -7.36 }, + { + "time": 0.1333, + "angle": -12.99, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4, "angle": -6.12 }, + { "time": 0.5333, "angle": -7.36 }, + { + "time": 0.6666, + "angle": -12.99, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.9333, "angle": -6.12 }, + { "time": 1.0666, "angle": -7.36 } + ], + "translate": [ + { "time": 0, "x": -3.88, "y": -32.87 }, + { "time": 0.9333, "x": -3.33, "y": -22.81 }, + { "time": 1.0666, "x": -3.88, "y": -32.87 } + ] + }, + "rear_arm2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": -30.2 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_foot1": { + "rotate": [ + { "time": 0, "angle": 2.07, "curve": "stepped" }, + { "time": 1.0666, "angle": 2.07 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle_strap_front2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle_strap_rear2": { + "rotate": [ + { "time": 0, "angle": -4.44 }, + { "time": 0.1, "angle": -2.66 }, + { "time": 0.3, "angle": -0.35 }, + { "time": 0.4333, "angle": -1.7 }, + { "time": 0.6333, "angle": -2.54 }, + { "time": 0.9, "angle": -0.51 }, + { "time": 1.0666, "angle": -4.44 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "stirrup": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.2666, "angle": -4.95 }, + { "time": 0.5333, "angle": 0 }, + { "time": 0.8, "angle": -4.95 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 8.97, "y": 4.99 }, + { "time": 0.2666, "x": 4.85, "y": 0.99 }, + { "time": 0.5333, "x": 7.75, "y": -2.99 }, + { "time": 0.8, "x": 4.85, "y": 0.99 }, + { "time": 1.0666, "x": 8.97, "y": 4.99 } + ] + }, + "tail4": { + "rotate": [ + { "time": 0, "angle": 16.99 }, + { "time": 0.0666, "angle": 7.36 }, + { "time": 0.3333, "angle": 41.06 }, + { "time": 0.6333, "angle": 7.36 }, + { "time": 0.9, "angle": 41.06 }, + { "time": 1.0666, "angle": 16.99 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.0666, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 0.995, "y": 1 }, + { "time": 0.0666, "x": 1, "y": 1 }, + { "time": 0.3333, "x": 0.947, "y": 1 }, + { "time": 1.0666, "x": 0.995, "y": 1 } + ] + }, + "front_foot2": { + "rotate": [ + { "time": 0, "angle": 44.18 }, + { "time": 0.0666, "angle": 7.88 }, + { "time": 0.1333, "angle": 4.66 }, + { "time": 0.4, "angle": 7.59 }, + { "time": 0.5333, "angle": 8.08 }, + { "time": 0.6666, "angle": -67.33 }, + { "time": 0.7333, "angle": -65.23 }, + { "time": 1, "angle": 42.33 }, + { "time": 1.0666, "angle": 44.18 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_hand": { + "rotate": [ + { "time": 0, "angle": 9.49 }, + { "time": 0.5, "angle": -48.6 }, + { "time": 1.0666, "angle": 9.49 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "horn_front": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2666, "x": -7.18, "y": -1.38 }, + { "time": 0.5333, "x": 0, "y": 0 }, + { "time": 0.8, "x": -7.18, "y": -1.38 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "horn_rear": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2666, "x": 12.34, "y": 9.16 }, + { "time": 0.5333, "x": 0, "y": 0 }, + { "time": 0.8, "x": 12.34, "y": 9.16 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "jaw": { + "rotate": [ + { "time": 0, "angle": 25.56 }, + { "time": 0.2, "angle": 21.27 }, + { "time": 0.3333, "angle": 21.35 }, + { "time": 0.6666, "angle": 15.6 }, + { "time": 0.8666, "angle": 22.96 }, + { "time": 1.0666, "angle": 25.56 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_foot2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": -82.37 }, + { "time": 0.2666, "angle": -110.3 }, + { "time": 0.4333, "angle": 36.21 }, + { "time": 0.5333, "angle": 2.1 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "rear_hand": { + "rotate": [ + { "time": 0, "angle": -28.89 }, + { "time": 0.5, "angle": 12.19 }, + { "time": 1.0666, "angle": -28.89 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "saddle_strap_rear3": { + "rotate": [ + { "time": 0, "angle": -1.31 }, + { "time": 0.1, "angle": 0.46 }, + { "time": 0.3, "angle": 2.77 }, + { "time": 0.4333, "angle": 1.42 }, + { "time": 0.6333, "angle": 0.58 }, + { "time": 0.9, "angle": 2.61 }, + { "time": 1.0666, "angle": -1.31 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "tail5": { + "rotate": [ + { "time": 0, "angle": -15.7 }, + { "time": 0.0666, "angle": -38.39 }, + { "time": 0.3333, "angle": 41.03 }, + { "time": 0.6333, "angle": -38.39 }, + { "time": 0.9, "angle": 41.03 }, + { "time": 1.0666, "angle": -15.7 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.0666, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 0.995, "y": 1 }, + { "time": 0.0666, "x": 1, "y": 1 }, + { "time": 0.3333, "x": 0.947, "y": 1 }, + { "time": 1.0666, "x": 0.995, "y": 1 } + ] + }, + "tongue1": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3333, "angle": 7.55 }, + { "time": 0.6666, "angle": -1.68 }, + { "time": 0.9333, "angle": 8.11 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "front_foot3": { + "rotate": [ + { "time": 0, "angle": 27.59 }, + { "time": 0.0666, "angle": -5.29 }, + { "time": 0.1333, "angle": -3.94 }, + { "time": 0.2666, "angle": -3.81 }, + { "time": 0.5333, "angle": -5.89 }, + { "time": 0.6, "angle": -21.2 }, + { "time": 0.6666, "angle": -73.63 }, + { "time": 0.7333, "angle": -102.81 }, + { "time": 0.8333, "angle": -41.3 }, + { "time": 1, "angle": 27.59 }, + { "time": 1.0666, "angle": 27.59 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "tongue2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3333, "angle": 7.55 }, + { "time": 0.6666, "angle": -1.68 }, + { "time": 0.9333, "angle": 8.11 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "tongue3": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3333, "angle": 7.55 }, + { "time": 0.6666, "angle": -1.68 }, + { "time": 0.9333, "angle": 8.11 }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "head2": { + "rotate": [ + { "time": 0, "angle": 38.59 }, + { "time": 0.2666, "angle": 43.18 }, + { "time": 0.5333, "angle": 38.59 }, + { "time": 0.8, "angle": 43.18 }, + { "time": 1.0666, "angle": 38.59 } + ] + }, + "neck2": { + "rotate": [ + { "time": 0, "angle": 9.65 }, + { "time": 0.2666, "angle": 14.71 }, + { "time": 0.5333, "angle": 9.65 }, + { "time": 0.8, "angle": 14.71 }, + { "time": 1.0666, "angle": 9.65 } + ] + }, + "spineboy_hip": { + "translate": [ + { + "time": 0, + "x": 32.54, + "y": 1.34, + "curve": [ 0.412, 0, 0.872, 0.78 ] + }, + { + "time": 0.2666, + "x": -12.88, + "y": 0.58, + "curve": [ 0.138, 0.17, 0.75, 1 ] + }, + { + "time": 0.5333, + "x": 32.54, + "y": 1.34, + "curve": [ 0.367, 0, 0.867, 0.81 ] + }, + { + "time": 0.8, + "x": -12.88, + "y": 0.58, + "curve": [ 0.164, 0.17, 0.75, 1 ] + }, + { "time": 1.0666, "x": 32.54, "y": 1.34 } + ] + }, + "spineboy_torso": { + "rotate": [ + { "time": 0, "angle": -37.93 }, + { + "time": 0.2666, + "angle": -29.47, + "curve": [ 0.492, 0, 0.75, 1 ] + }, + { "time": 0.5333, "angle": -37.93 }, + { + "time": 0.8, + "angle": -29.47, + "curve": [ 0.492, 0, 0.75, 1 ] + }, + { "time": 1.0666, "angle": -37.71 } + ] + }, + "front_arm": { + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.3333, "x": -14.43, "y": -11.03 }, + { "time": 0.5333, "x": 0, "y": 0 }, + { "time": 0.8, "x": -14.43, "y": -11.03 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "gun": { + "rotate": [ + { + "time": 0, + "angle": -11.68, + "curve": [ 0.379, 0.6, 0.724, 1 ] + }, + { "time": 0.0666, "angle": -17.59 }, + { + "time": 0.3333, + "angle": 14.45, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6, + "angle": -24.74, + "curve": [ 0.326, 0, 0.715, 1 ] + }, + { + "time": 0.8666, + "angle": 14.45, + "curve": [ 0.242, 0, 0.666, 0.66 ] + }, + { "time": 1.0666, "angle": -11.68 } + ], + "translate": [ + { "time": 0, "x": 0.84, "y": -3.81 }, + { "time": 0.0666, "x": 0, "y": 0 }, + { "time": 0.3333, "x": 3.37, "y": -15.27 }, + { "time": 0.6, "x": 0, "y": 0 }, + { "time": 0.8666, "x": 3.37, "y": -15.27 }, + { "time": 1.0666, "x": 0.84, "y": -3.81 } + ] + } + }, + "ffd": { + "default": { + "raptor_body": { + "raptor_body": [ + { "time": 0 }, + { + "time": 0.2666, + "offset": 368, + "vertices": [ -16.78, 15.47, -0.63, 22.82, 18.11, 13.89, 19.32, 12.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, 0, 0, 0, 0, 0, 0, -3.24, 0.81, 0, 0, -3.24, 0.81 ] + }, + { "time": 0.5333 }, + { + "time": 0.8, + "offset": 368, + "vertices": [ -16.78, 15.47, -0.63, 22.82, 18.11, 13.89, 19.32, 12.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, -3.24, 0.81, 0, 0, 0, 0, 0, 0, -3.24, 0.81, 0, 0, -3.24, 0.81 ] + }, + { "time": 1.0666 } + ] + }, + "raptor_front_leg": { + "raptor_front_leg": [ + { "time": 0, "curve": "stepped" }, + { "time": 0.2666 }, + { + "time": 0.5333, + "offset": 216, + "vertices": [ -2.23, 21.95, 21.54, -4.75 ] + }, + { + "time": 0.6, + "offset": 216, + "vertices": [ 7.17, 15.14, 15.26, -6.91 ] + }, + { + "time": 0.7333, + "offset": 176, + "vertices": [ -0.82, 0.73, -0.01, -1.1, -0.27, 1.06, -1.28, 0.39, 0, 0, 0, 0, 0, 0, 1.48, -2.59, 0.98, 2.82, 2.73, -10.49, 6.12, 8.95, -3.72, -10.18, -2.6, -2.28, 3.43, -0.47, -3.44, -0.39, -2.28, -4.76, 5.08, 1.4, -4.58, -2.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.37, -1.75, 2.22, 0.1, -1.86, -0.75, -2.86, -0.77, 2.45, -1.65 ] + }, + { "time": 0.8, "curve": "stepped" }, + { "time": 0.9666, "curve": "stepped" }, + { "time": 1.0666 } + ] + } + } + } + } +} +} \ No newline at end of file diff --git a/spine-starling/spine-starling-example/src/raptor.png b/spine-starling/spine-starling-example/src/raptor.png new file mode 100644 index 0000000000000000000000000000000000000000..861dbce1ae89dcbf9f9e0adc9618ad47e372a749 GIT binary patch literal 563690 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

*&aShG$sr^341v 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� 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 @YMM_Fa;U5lXgAlXX?wi|Dq%9fQF&f~bjJ5Wt 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�F*n#Y=Odu0dQ*I1;=*`7FOLoINbCQ71 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 z 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 z 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 Date: Tue, 30 Sep 2014 01:27:16 +0200 Subject: [PATCH 09/91] Dragon license. --- spine-unity/Assets/Examples/Spine/Dragon/license.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 spine-unity/Assets/Examples/Spine/Dragon/license.txt diff --git a/spine-unity/Assets/Examples/Spine/Dragon/license.txt b/spine-unity/Assets/Examples/Spine/Dragon/license.txt new file mode 100644 index 000000000..41ebddd5b --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Dragon/license.txt @@ -0,0 +1,5 @@ +Copyright (c) 2013, ODI EntertainmenT + +The project file and images in this "dragon" project are provided for +demonstration purposes only and may not be redistributed for any reason nor +used as the basis for derivative work. \ No newline at end of file From 57f24ff8cc658aafbd0642df746926b5ff298022 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 30 Sep 2014 01:27:41 +0200 Subject: [PATCH 10/91] Clean up. --- spine-csharp/src/Animation.cs | 4 ---- spine-csharp/src/Bone.cs | 4 ++-- spine-csharp/src/IkConstraint.cs | 6 ++++-- spine-csharp/src/Skeleton.cs | 11 ++++------- spine-csharp/src/SkeletonData.cs | 2 +- spine-csharp/src/SkeletonJson.cs | 2 +- spine-libgdx/src/com/esotericsoftware/spine/Bone.java | 4 ++-- 7 files changed, 14 insertions(+), 19 deletions(-) diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index cb824f0df..2fdbebc5d 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -637,10 +637,6 @@ namespace Spine { frames = new float[frameCount * 3]; } - public float[] getFrames () { - return frames; - } - /** Sets the time, mix and bend direction of the specified keyframe. */ public void setFrame (int frameIndex, float time, float mix, int bendDirection) { frameIndex *= 3; diff --git a/spine-csharp/src/Bone.cs b/spine-csharp/src/Bone.cs index fdad97882..058493342 100644 --- a/spine-csharp/src/Bone.cs +++ b/spine-csharp/src/Bone.cs @@ -134,8 +134,8 @@ namespace Spine { float m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; Skeleton skeleton = this.skeleton; if (skeleton.flipX != (skeleton.flipY != yDown)) { - m00 *= -1; - m11 *= -1; + m00 = -m00; + m11 = -m11; } float invDet = 1 / (m00 * m11 - m01 * m10); localX = (dx * m00 * invDet - dy * m01 * invDet); diff --git a/spine-csharp/src/IkConstraint.cs b/spine-csharp/src/IkConstraint.cs index 5a6160842..6261e083a 100644 --- a/spine-csharp/src/IkConstraint.cs +++ b/spine-csharp/src/IkConstraint.cs @@ -38,8 +38,8 @@ namespace Spine { internal IkConstraintData data; internal List bones = new List(); internal Bone target; - internal int bendDirection = 1; - internal float mix = 1; + internal int bendDirection; + internal float mix; public IkConstraintData Data { get { return data; } } public List Bones { get { return bones; } } @@ -48,6 +48,8 @@ namespace Spine { public float Mix { get { return mix; } set { mix = value; } } public IkConstraint (IkConstraintData data, Skeleton skeleton) { + if (data == null) throw new ArgumentNullException("data cannot be null."); + if (skeleton == null) throw new ArgumentNullException("skeleton cannot be null."); this.data = data; mix = data.mix; bendDirection = data.bendDirection; diff --git a/spine-csharp/src/Skeleton.cs b/spine-csharp/src/Skeleton.cs index 02aa9653f..359b41afd 100644 --- a/spine-csharp/src/Skeleton.cs +++ b/spine-csharp/src/Skeleton.cs @@ -37,7 +37,7 @@ namespace Spine { internal List bones; internal List slots; internal List drawOrder; - internal List ikConstraints = new List(); + internal List ikConstraints; private List> boneCache = new List>(); internal Skin skin; internal float r = 1, g = 1, b = 1, a = 1; @@ -74,12 +74,9 @@ namespace Spine { bones = new List(data.bones.Count); foreach (BoneData boneData in data.bones) { Bone parent = boneData.parent == null ? null : bones[data.bones.IndexOf(boneData.parent)]; - bones.Add(new Bone(boneData, this, parent)); - } - - foreach(Bone b in bones){ - if(b.Parent != null) - b.Parent.children.Add(b); + Bone bone = new Bone(boneData, this, parent); + if (parent != null) parent.children.Add(bone); + bones.Add(bone); } slots = new List(data.slots.Count); diff --git a/spine-csharp/src/SkeletonData.cs b/spine-csharp/src/SkeletonData.cs index edc5d648b..48b500363 100644 --- a/spine-csharp/src/SkeletonData.cs +++ b/spine-csharp/src/SkeletonData.cs @@ -136,7 +136,7 @@ namespace Spine { return null; } - // --- IK + // --- IK constraints. /// May be null. public IkConstraintData FindIkConstraint (String ikConstraintName) { diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs index 8ad08bb6e..57784e5d5 100644 --- a/spine-csharp/src/SkeletonJson.cs +++ b/spine-csharp/src/SkeletonJson.cs @@ -96,7 +96,7 @@ namespace Spine { skeletonData.hash = (String)skeletonMap["hash"]; skeletonData.version = (String)skeletonMap["spine"]; skeletonData.width = GetFloat(skeletonMap, "width", 0); - skeletonData.height = GetFloat(skeletonMap, "width", 1); + skeletonData.height = GetFloat(skeletonMap, "height", 0); } // Bones. diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index 6022a6fc3..d2e81bea8 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -264,8 +264,8 @@ public class Bone { float m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; Skeleton skeleton = this.skeleton; if (skeleton.flipX != skeleton.flipY) { - m00 *= -1; - m11 *= -1; + m00 = -m00; + m11 = -m11; } float invDet = 1 / (m00 * m11 - m01 * m10); world.x = (x * m00 * invDet - y * m01 * invDet); From d8eac649ba51188073fa5a3bfd4ccb97950695dd Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 30 Sep 2014 02:17:39 +0200 Subject: [PATCH 11/91] Improved examples. --- .../spine-as3-example/.actionScriptProperties | 7 +- .../spine-as3-example/src/{ => spine}/Main.as | 11 +- .../com/esotericsoftware/spine/IkTest.java | 170 +++ .../src/spine/GoblinsExample.as | 4 +- .../spine-starling-example/src/spine/Main.as | 2 - .../src/spine/RaptorExample.as | 2 +- .../src/spine/SpineboyExample.as | 23 +- .../src/spineboy-starling.json | 1002 ----------------- .../src/spineboy-starling.png | Bin 113804 -> 0 bytes .../src/spineboy-starling.xml | 32 - 10 files changed, 185 insertions(+), 1068 deletions(-) rename spine-as3/spine-as3-example/src/{ => spine}/Main.as (95%) create mode 100644 spine-libgdx/test/com/esotericsoftware/spine/IkTest.java delete mode 100644 spine-starling/spine-starling-example/src/spineboy-starling.json delete mode 100644 spine-starling/spine-starling-example/src/spineboy-starling.png delete mode 100644 spine-starling/spine-starling-example/src/spineboy-starling.xml diff --git a/spine-as3/spine-as3-example/.actionScriptProperties b/spine-as3/spine-as3-example/.actionScriptProperties index 0d78d262b..c1ebbc092 100644 --- a/spine-as3/spine-as3-example/.actionScriptProperties +++ b/spine-as3/spine-as3-example/.actionScriptProperties @@ -1,6 +1,6 @@ - - + + @@ -33,10 +33,9 @@ - + - diff --git a/spine-as3/spine-as3-example/src/Main.as b/spine-as3/spine-as3-example/src/spine/Main.as similarity index 95% rename from spine-as3/spine-as3-example/src/Main.as rename to spine-as3/spine-as3-example/src/spine/Main.as index 3f499db10..bf8c1c6fa 100644 --- a/spine-as3/spine-as3-example/src/Main.as +++ b/spine-as3/spine-as3-example/src/spine/Main.as @@ -28,20 +28,17 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -package { +package spine { import flash.display.Sprite; -import spine.Event; -import spine.SkeletonData; -import spine.SkeletonJson; import spine.animation.AnimationStateData; import spine.atlas.Atlas; import spine.attachments.AtlasAttachmentLoader; import spine.flash.FlashTextureLoader; import spine.flash.SkeletonAnimation; -[SWF(width = "640", height = "480", frameRate = "60", backgroundColor = "#dddddd")] +[SWF(width = "800", height = "600", frameRate = "60", backgroundColor = "#dddddd")] public class Main extends Sprite { [Embed(source = "spineboy.atlas", mimeType = "application/octet-stream")] static public const SpineboyAtlas:Class; @@ -66,8 +63,8 @@ public class Main extends Sprite { stateData.setMixByName("jump", "jump", 0.2); skeleton = new SkeletonAnimation(skeletonData, stateData); - skeleton.x = 320; - skeleton.y = 420; + skeleton.x = 400; + skeleton.y = 560; skeleton.state.onStart.add(function (trackIndex:int) : void { trace(trackIndex + " start: " + skeleton.state.getCurrent(trackIndex)); diff --git a/spine-libgdx/test/com/esotericsoftware/spine/IkTest.java b/spine-libgdx/test/com/esotericsoftware/spine/IkTest.java new file mode 100644 index 000000000..7b5b189dd --- /dev/null +++ b/spine-libgdx/test/com/esotericsoftware/spine/IkTest.java @@ -0,0 +1,170 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package com.esotericsoftware.spine; + +import com.badlogic.gdx.ApplicationAdapter; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.backends.lwjgl.LwjglApplication; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.OrthographicCamera; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.math.Vector2; + +public class IkTest extends ApplicationAdapter { + OrthographicCamera camera; + SpriteBatch batch; + SkeletonRenderer renderer; + SkeletonRendererDebug debugRenderer; + + TextureAtlas atlas; + Skeleton skeleton; + AnimationState state; + + public void create () { + camera = new OrthographicCamera(); + batch = new SpriteBatch(); + renderer = new SkeletonRenderer(); + renderer.setPremultipliedAlpha(true); + debugRenderer = new SkeletonRendererDebug(); + debugRenderer.setBoundingBoxes(false); + debugRenderer.setRegionAttachments(false); + + atlas = new TextureAtlas(Gdx.files.internal("spineboy/spineboy.atlas")); + SkeletonJson json = new SkeletonJson(atlas); // This loads skeleton JSON data, which is stateless. + json.setScale(0.6f); // Load the skeleton at 60% the size it was in Spine. + SkeletonData skeletonData = json.readSkeletonData(Gdx.files.internal("spineboy/spineboy.json")); + + skeleton = new Skeleton(skeletonData); // Skeleton holds skeleton state (bone positions, slot attachments, etc). + skeleton.setPosition(250, 20); + + AnimationStateData stateData = new AnimationStateData(skeletonData); // Defines mixing (crossfading) between animations. + stateData.setMix("run", "jump", 0.2f); + stateData.setMix("jump", "run", 0.2f); + + state = new AnimationState(stateData); // Holds the animation state for a skeleton (current animation, time, etc). + state.setTimeScale(0.5f); // Slow all animations down to 50% speed. + state.setAnimation(0, "run", true); + state.addAnimation(0, "jump", false, 2); // Jump after 2 seconds. + state.addAnimation(0, "run", true, 0); // Run after the jump. + + // skeleton.findBone("front_foot").parent = skeleton.findBone("hip"); + + IkConstraintData data; + + data = new IkConstraintData("head"); + data.getBones().add(skeletonData.findBone("torso")); + data.getBones().add(skeletonData.findBone("head")); + data.target = skeletonData.findBone("front_foot"); + data.setBendDirection(-1); + skeleton.getIkConstraints().add(new IkConstraint(data, skeleton)); + +// data = new IkConstraintData("arm"); +// data.getBones().add(skeletonData.findBone("front_upper_arm")); +// data.getBones().add(skeletonData.findBone("front_bracer")); +// data.setTarget(skeletonData.findBone("front_foot")); +// skeleton.getIkConstraints().add(new IkConstraint(data, skeleton)); +// +// data = new IkConstraintData("leg"); +// data.getBones().add(skeletonData.findBone("front_thigh")); +// data.getBones().add(skeletonData.findBone("front_shin")); +// data.target = skeletonData.findBone("front_foot"); +// data.setBendDirection(-1); +// skeleton.getIkConstraints().add(new IkConstraint(data, skeleton)); +// //skeleton.getIkConstraints().peek().setMix(0.5f); + + skeleton.updateCache(); + skeleton.updateWorldTransform(); + } + + public void render () { + state.update(Gdx.graphics.getDeltaTime()); // Update the animation time. + + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + // state.apply(skeleton); // Poses skeleton using current animations. This sets the bones' local SRT. + +// skeleton.findBone("front_shin").y = 40; +// skeleton.findBone("front_shin").scaleX = 2; +// skeleton.findBone("front_thigh").scaleX = 2; +// skeleton.findBone("front_bracer").y = 40; +// skeleton.findBone("front_bracer").scaleX = 2; +// skeleton.findBone("front_upper_arm").scaleX = 2; +// skeleton.getRootBone().setScale(1.3f, 0.6f); + + // skeleton.findBone("front_upper_arm").parent = skeleton.findBone("front_shin"); +// skeleton.findBone("head").scaleX = 2; +// skeleton.findBone("head").x = 100; +// skeleton.findBone("head").y = 100; +// skeleton.findBone("head").rotation = 0; +// skeleton.findBone("neck").x = 100; +// skeleton.findBone("neck").y = 100; +// skeleton.findBone("neck").rotation = 45; + + skeleton.setPosition(250, 20); +// skeleton.setFlip(false, false); + skeleton.setPosition(250, 20); +// skeleton.setFlipX(true); +// skeleton.setFlipY(false); + +// skeleton.findBone("torso").setFlipX(true); +// skeleton.findBone("torso").setFlipY(true); + + Vector2 p = skeleton.findBone("front_foot").parent.worldToLocal(new Vector2(Gdx.input.getX() - skeleton.getX(), + Gdx.graphics.getHeight() - Gdx.input.getY() - skeleton.getY())); + skeleton.findBone("front_foot").setPosition(p.x, p.y); + + skeleton.updateWorldTransform(); // Uses the bones' local SRT to compute their world SRT. + + // Configure the camera, SpriteBatch, and SkeletonRendererDebug. + camera.update(); + batch.getProjectionMatrix().set(camera.combined); + debugRenderer.getShapeRenderer().setProjectionMatrix(camera.combined); + + batch.begin(); + renderer.draw(batch, skeleton); // Draw the skeleton images. + batch.end(); + + debugRenderer.draw(skeleton); // Draw debug lines. + } + + public void resize (int width, int height) { + camera.setToOrtho(false); // Update camera with new size. + } + + public void dispose () { + atlas.dispose(); + } + + public static void main (String[] args) throws Exception { + new LwjglApplication(new IkTest()); + } +} diff --git a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as index 2d36d3387..f4aece8fe 100644 --- a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as +++ b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as @@ -34,8 +34,10 @@ public class GoblinsExample extends Sprite { private var skeleton:SkeletonAnimation; public function GoblinsExample () { + var useStarlingAtlas:Boolean = true; + var attachmentLoader:AttachmentLoader; - if (Main.useStarlingAtlas) { + if (useStarlingAtlas) { var texture:Texture = Texture.fromBitmap(new GoblinsStarlingAtlasTexture()); var xml:XML = XML(new GoblinsStarlingAtlas()); var starlingAtlas:TextureAtlas = new TextureAtlas(texture, xml); diff --git a/spine-starling/spine-starling-example/src/spine/Main.as b/spine-starling/spine-starling-example/src/spine/Main.as index 6985e7715..057c9e0af 100644 --- a/spine-starling/spine-starling-example/src/spine/Main.as +++ b/spine-starling/spine-starling-example/src/spine/Main.as @@ -8,14 +8,12 @@ import starling.core.Starling; [SWF(width = "800", height = "600", frameRate = "60", backgroundColor = "#dddddd")] public class Main extends Sprite { private var _starling:Starling; - static public var useStarlingAtlas:Boolean; public function Main () { var example:Class; //example = SpineboyExample; //example = GoblinsExample; example = RaptorExample; - useStarlingAtlas = true; _starling = new Starling(example, stage); _starling.enableErrorChecking = true; diff --git a/spine-starling/spine-starling-example/src/spine/RaptorExample.as b/spine-starling/spine-starling-example/src/spine/RaptorExample.as index cc26eb931..706d33713 100644 --- a/spine-starling/spine-starling-example/src/spine/RaptorExample.as +++ b/spine-starling/spine-starling-example/src/spine/RaptorExample.as @@ -38,7 +38,7 @@ public class RaptorExample extends Sprite { var skeletonData:SkeletonData = json.readSkeletonData(new RaptorJson()); skeleton = new SkeletonAnimation(skeletonData, true); - skeleton.x = 320; + skeleton.x = 400; skeleton.y = 560; skeleton.state.setAnimationByName(0, "walk", true); diff --git a/spine-starling/spine-starling-example/src/spine/SpineboyExample.as b/spine-starling/spine-starling-example/src/spine/SpineboyExample.as index 9baba5430..29142c1fa 100644 --- a/spine-starling/spine-starling-example/src/spine/SpineboyExample.as +++ b/spine-starling/spine-starling-example/src/spine/SpineboyExample.as @@ -26,26 +26,11 @@ public class SpineboyExample extends Sprite { [Embed(source = "spineboy.png")] static public const SpineboyAtlasTexture:Class; - [Embed(source = "spineboy-starling.xml", mimeType = "application/octet-stream")] - static public const SpineboyStarlingAtlas:Class; - - [Embed(source = "spineboy-starling.png")] - static public const SpineboyStarlingAtlasTexture:Class; - private var skeleton:SkeletonAnimation; public function SpineboyExample () { - var attachmentLoader:AttachmentLoader; - if (Main.useStarlingAtlas) { - var texture:Texture = Texture.fromBitmap(new SpineboyAtlasTexture()); - var xml:XML = XML(new SpineboyStarlingAtlas()); - var starlingAtlas:TextureAtlas = new TextureAtlas(texture, xml); - attachmentLoader = new StarlingAtlasAttachmentLoader(starlingAtlas); - } else { - var spineAtlas:Atlas = new Atlas(new SpineboyAtlas(), new StarlingTextureLoader(new SpineboyAtlasTexture())); - attachmentLoader = new AtlasAttachmentLoader(spineAtlas); - } - + var spineAtlas:Atlas = new Atlas(new SpineboyAtlas(), new StarlingTextureLoader(new SpineboyAtlasTexture())); + var attachmentLoader:AttachmentLoader = new AtlasAttachmentLoader(spineAtlas); var json:SkeletonJson = new SkeletonJson(attachmentLoader); json.scale = 0.6; var skeletonData:SkeletonData = json.readSkeletonData(new SpineboyJson()); @@ -56,8 +41,8 @@ public class SpineboyExample extends Sprite { stateData.setMixByName("jump", "jump", 0.2); skeleton = new SkeletonAnimation(skeletonData, false, stateData); - skeleton.x = 320; - skeleton.y = 420; + skeleton.x = 400; + skeleton.y = 560; skeleton.state.onStart.add(function (trackIndex:int) : void { trace(trackIndex + " start: " + skeleton.state.getCurrent(trackIndex)); diff --git a/spine-starling/spine-starling-example/src/spineboy-starling.json b/spine-starling/spine-starling-example/src/spineboy-starling.json deleted file mode 100644 index 113e72c33..000000000 --- a/spine-starling/spine-starling-example/src/spineboy-starling.json +++ /dev/null @@ -1,1002 +0,0 @@ -{ -"bones": [ - { "name": "root" }, - { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, - { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, - { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, - { "name": "right upper leg", "parent": "hip", "length": 45.76, "x": -18.27, "rotation": -101.13 }, - { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 94.95 }, - { "name": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 }, - { "name": "left shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 }, - { "name": "neck", "parent": "torso", "length": 18.38, "x": 83.64, "y": -1.78, "rotation": 0.9 }, - { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 50.21, "y": 0.6, "rotation": -10.7 }, - { "name": "right shoulder", "parent": "torso", "length": 49.95, "x": 81.9, "y": 6.79, "rotation": 130.6 }, - { "name": "head", "parent": "neck", "length": 68.28, "x": 19.09, "y": 6.97, "rotation": -8.94 }, - { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 }, - { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 }, - { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 }, - { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, - { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, - { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 } -], -"slots": [ - { "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" }, - { "name": "left arm", "bone": "left arm", "attachment": "left-arm" }, - { "name": "left hand", "bone": "left hand", "attachment": "left-hand" }, - { "name": "left foot", "bone": "left foot", "attachment": "left-foot" }, - { "name": "left lower leg", "bone": "left lower leg", "attachment": "left-lower-leg" }, - { "name": "left upper leg", "bone": "left upper leg", "attachment": "left-upper-leg" }, - { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, - { "name": "right foot", "bone": "right foot", "attachment": "right-foot" }, - { "name": "right lower leg", "bone": "right lower leg", "attachment": "right-lower-leg" }, - { "name": "right upper leg", "bone": "right upper leg", "attachment": "right-upper-leg" }, - { "name": "torso", "bone": "torso", "attachment": "torso" }, - { "name": "neck", "bone": "neck", "attachment": "neck" }, - { "name": "head", "bone": "head", "attachment": "head" }, - { "name": "eyes", "bone": "head", "attachment": "eyes" }, - { "name": "right shoulder", "bone": "right shoulder", "attachment": "right-shoulder", "additive": true }, - { "name": "right arm", "bone": "right arm", "attachment": "right-arm" }, - { "name": "right hand", "bone": "right hand", "attachment": "right-hand" }, - { "name": "bb-head", "bone": "head", "attachment": "bb-head" } -], -"skins": { - "default": { - "bb-head": { - "bb-head": { - "type": "boundingbox", - "vertices": [ - 55.69696, - -44.60648, - 8.2226715, - -47.609646, - -11.244263, - -32.942703, - -0.05206299, - 35.835804, - 61.018433, - 43.227512, - 90.35846, - -16.054127, - 115.41275, - -32.817406, - 78.29431, - -56.05409 - ] - } - }, - "eyes": { - "eyes": { "x": 28.94, "y": -32.92, "rotation": -86.9, "width": 34, "height": 27 }, - "eyes-closed": { "x": 28.77, "y": -32.86, "rotation": -86.9, "width": 34, "height": 27 } - }, - "head": { - "head": { "x": 53.94, "y": -5.75, "rotation": -86.9, "width": 121, "height": 132 } - }, - "left arm": { - "left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 } - }, - "left foot": { - "left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 } - }, - "left hand": { - "left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 } - }, - "left lower leg": { - "left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 } - }, - "left shoulder": { - "left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 } - }, - "left upper leg": { - "left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 } - }, - "neck": { - "neck": { "x": 9.42, "y": -3.66, "rotation": -100.15, "width": 34, "height": 28 } - }, - "pelvis": { - "pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 } - }, - "right arm": { - "right-arm": { "x": 18.34, "y": -2.64, "rotation": 94.32, "width": 21, "height": 45 } - }, - "right foot": { - "right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 } - }, - "right hand": { - "right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 } - }, - "right lower leg": { - "right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 } - }, - "right shoulder": { - "right-shoulder": { "x": 25.86, "y": 0.03, "rotation": 134.44, "width": 52, "height": 51 } - }, - "right upper leg": { - "right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 } - }, - "torso": { - "torso": { "x": 44.57, "y": -7.08, "rotation": -94.95, "width": 68, "height": 92 } - } - } -}, -"events": { - "behind": {}, - "headAttach": {}, - "headPop": {} -}, -"animations": { - "drawOrder": { - "bones": { - "head": { - "rotate": [ - { "time": 0, "angle": 0 }, - { "time": 0.4827, "angle": -23.11 }, - { "time": 0.8965, "angle": -56.45 }, - { "time": 1.3103, "angle": 1.38 }, - { "time": 1.7931, "angle": 36.12 }, - { "time": 2.1379, "angle": 1.24 }, - { "time": 2.6206, "angle": -37.12 }, - { "time": 2.9666, "angle": 2.07 }, - { "time": 3.4666, "angle": 34.72 }, - { "time": 3.9, "angle": 359.99 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0.19, 0.4, 0.586, 0.75 ] - }, - { - "time": 0.2758, - "x": 57.88, - "y": -35.72, - "curve": [ 0.39, 0.54, 0.632, 0.72 ] - }, - { - "time": 0.4827, - "x": 87.26, - "y": -87.89, - "curve": [ 0.325, 0.23, 0.587, 0.36 ] - }, - { - "time": 0.6896, - "x": 28.89, - "y": -114.62, - "curve": [ 0.383, 0.23, 0.736, 0.55 ] - }, - { - "time": 0.8965, - "x": -76.58, - "y": -124.98, - "curve": [ 0.129, 0.21, 0.547, 0.64 ] - }, - { - "time": 1.1034, - "x": -154.37, - "y": -77.13, - "curve": [ 0.354, 0.48, 0.729, 0.9 ] - }, - { - "time": 1.3103, - "x": -181.02, - "y": 18.56, - "curve": [ 0.063, 0.15, 0.52, 0.62 ] - }, - { - "time": 1.5862, - "x": -150.38, - "y": 128.67, - "curve": [ 0.381, 0.54, 0.778, 1 ] - }, - { - "time": 1.7931, - "x": -112.08, - "y": 146.28, - "curve": [ 0.242, 0, 0.626, 0.45 ] - }, - { - "time": 1.931, - "x": -63.7, - "y": 111.22, - "curve": [ 0.398, 0.35, 0.786, 0.76 ] - }, - { - "time": 2.1379, - "x": -48.94, - "y": -1.55, - "curve": [ 0.188, 0.21, 0.575, 0.61 ] - }, - { - "time": 2.3448, - "x": -91.69, - "y": -91.93, - "curve": [ 0.362, 0.51, 0.766, 1 ] - }, - { - "time": 2.6206, - "x": -142.79, - "y": -126.83, - "curve": [ 0.227, 0.34, 0.593, 0.75 ] - }, - { - "time": 2.7586, - "x": -176.7, - "y": -98.32, - "curve": [ 0.26, 0.4, 0.612, 0.71 ] - }, - { - "time": 2.8965, - "x": -163.95, - "y": -24.04, - "curve": [ 0.338, 0.37, 0.676, 0.71 ] - }, - { - "time": 2.9655, - "x": -150.17, - "y": 10.71, - "curve": [ 0.387, 0.61, 0.741, 1 ] - }, - { - "time": 3.1034, - "x": -102.44, - "y": 45.92, - "curve": [ 0.31, 0.24, 0.648, 0.58 ] - }, - { - "time": 3.2413, - "x": -53.99, - "y": 70.39, - "curve": [ 0.325, 0.29, 0.663, 0.63 ] - }, - { - "time": 3.3793, - "x": 1.88, - "y": 55.54, - "curve": [ 0.387, 0.33, 0.769, 0.73 ] - }, - { - "time": 3.5862, - "x": 34.26, - "y": 36.13, - "curve": [ 0.206, 0.28, 0.596, 0.67 ] - }, - { - "time": 3.7931, - "x": 23.94, - "y": 1.01, - "curve": [ 0.373, 0.56, 0.759, 1 ] - }, - { "time": 4, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0.8275, "x": 1, "y": 1 }, - { "time": 1.3103, "x": 0.742, "y": 0.742 }, - { "time": 1.7931, "x": 1, "y": 1 }, - { "time": 2.1379, "x": 1.502, "y": 1.502 }, - { "time": 2.6206, "x": 1, "y": 1 }, - { "time": 2.9655, "x": 0.707, "y": 0.707 }, - { "time": 3.3793, "x": 1, "y": 1 } - ] - } - }, - "events": [ - { "time": 0, "name": "headPop", "string": "pop.wav" }, - { "time": 1.3103, "name": "behind" }, - { "time": 2.9655, "name": "behind" }, - { "time": 4, "name": "headAttach", "string": "attach.wav" } - ], - "draworder": [ - { - "time": 0.6206, - "offsets": [ - { "slot": "head", "offset": -12 }, - { "slot": "eyes", "offset": -12 } - ] - }, - { - "time": 1.7931, - "offsets": [ - { "slot": "head", "offset": 3 }, - { "slot": "eyes", "offset": 3 } - ] - }, - { - "time": 2.6206, - "offsets": [ - { "slot": "head", "offset": -12 }, - { "slot": "eyes", "offset": -12 } - ] - }, - { "time": 3.5862 } - ] - }, - "jump": { - "bones": { - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 0.9333, "angle": 0, "curve": "stepped" }, - { "time": 1.3666, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": -11.57, "y": -3 }, - { "time": 0.2333, "x": -16.2, "y": -19.43 }, - { - "time": 0.3333, - "x": 7.66, - "y": -8.48, - "curve": [ 0.057, 0.06, 0.712, 1 ] - }, - { "time": 0.3666, "x": 15.38, "y": 5.01 }, - { "time": 0.4666, "x": -7.84, "y": 57.22 }, - { - "time": 0.6, - "x": -10.81, - "y": 96.34, - "curve": [ 0.241, 0, 1, 1 ] - }, - { "time": 0.7333, "x": -7.01, "y": 54.7 }, - { "time": 0.8, "x": -10.58, "y": 32.2 }, - { "time": 0.9333, "x": -31.99, "y": 0.45 }, - { "time": 1.0666, "x": -12.48, "y": -29.47 }, - { "time": 1.3666, "x": -11.57, "y": -3 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left upper leg": { - "rotate": [ - { "time": 0, "angle": 17.13 }, - { "time": 0.2333, "angle": 44.35 }, - { "time": 0.3333, "angle": 16.46 }, - { "time": 0.4, "angle": -9.88 }, - { "time": 0.4666, "angle": -11.42 }, - { "time": 0.5666, "angle": 23.46 }, - { "time": 0.7666, "angle": 71.82 }, - { "time": 0.9333, "angle": 65.53 }, - { "time": 1.0666, "angle": 51.01 }, - { "time": 1.3666, "angle": 17.13 } - ], - "translate": [ - { "time": 0, "x": -3, "y": -2.25, "curve": "stepped" }, - { "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" }, - { "time": 1.3666, "x": -3, "y": -2.25 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -16.25 }, - { "time": 0.2333, "angle": -52.21 }, - { "time": 0.4, "angle": 15.04 }, - { "time": 0.4666, "angle": -8.95 }, - { "time": 0.5666, "angle": -39.53 }, - { "time": 0.7666, "angle": -27.27 }, - { "time": 0.9333, "angle": -3.52 }, - { "time": 1.0666, "angle": -61.92 }, - { "time": 1.3666, "angle": -16.25 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": 0.33 }, - { "time": 0.2333, "angle": 6.2 }, - { "time": 0.3333, "angle": 14.73 }, - { "time": 0.4, "angle": -15.54 }, - { "time": 0.4333, "angle": -21.2 }, - { "time": 0.5666, "angle": -7.55 }, - { "time": 0.7666, "angle": -0.67 }, - { "time": 0.9333, "angle": -0.58 }, - { "time": 1.0666, "angle": 14.64 }, - { "time": 1.3666, "angle": 0.33 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 25.97 }, - { "time": 0.2333, "angle": 46.43 }, - { "time": 0.3333, "angle": 22.61 }, - { "time": 0.4, "angle": 2.13 }, - { - "time": 0.4666, - "angle": 0.04, - "curve": [ 0, 0, 0.637, 0.98 ] - }, - { "time": 0.6, "angle": 65.55 }, - { "time": 0.7666, "angle": 64.93 }, - { "time": 0.9333, "angle": 41.08 }, - { "time": 1.0666, "angle": 66.25 }, - { "time": 1.3666, "angle": 25.97 } - ], - "translate": [ - { "time": 0, "x": 5.74, "y": 0.61 }, - { "time": 0.2333, "x": 4.79, "y": 1.79 }, - { "time": 0.3333, "x": 6.05, "y": -4.55 }, - { "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" }, - { "time": 1.0666, "x": 4.79, "y": 1.79 }, - { "time": 1.3666, "x": 5.74, "y": 0.61 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right lower leg": { - "rotate": [ - { "time": 0, "angle": -27.46 }, - { "time": 0.2333, "angle": -64.03 }, - { "time": 0.4, "angle": -48.36 }, - { "time": 0.5666, "angle": -76.86 }, - { "time": 0.7666, "angle": -26.89 }, - { "time": 0.9, "angle": -18.97 }, - { "time": 0.9333, "angle": -14.18 }, - { "time": 1.0666, "angle": -80.45 }, - { "time": 1.3666, "angle": -27.46 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": 1.08 }, - { "time": 0.2333, "angle": 16.02 }, - { "time": 0.3, "angle": 12.94 }, - { "time": 0.3333, "angle": 15.16 }, - { "time": 0.4, "angle": -14.7 }, - { "time": 0.4333, "angle": -12.85 }, - { "time": 0.4666, "angle": -19.18 }, - { "time": 0.5666, "angle": -15.82 }, - { "time": 0.6, "angle": -3.59 }, - { "time": 0.7666, "angle": -3.56 }, - { "time": 0.9333, "angle": 1.86 }, - { "time": 1.0666, "angle": 16.02 }, - { "time": 1.3666, "angle": 1.08 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -13.35 }, - { "time": 0.2333, "angle": -48.95 }, - { "time": 0.4333, "angle": -35.77 }, - { "time": 0.6, "angle": -4.59 }, - { "time": 0.7666, "angle": 14.61 }, - { "time": 0.9333, "angle": 15.74 }, - { "time": 1.0666, "angle": -32.44 }, - { "time": 1.3666, "angle": -13.35 } - ], - "translate": [ - { "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" }, - { "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" }, - { "time": 1.3666, "x": -3.67, "y": 1.68 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 12.78 }, - { "time": 0.2333, "angle": 16.46 }, - { "time": 0.4, "angle": 26.49 }, - { "time": 0.6, "angle": 15.51 }, - { "time": 0.7666, "angle": 1.34 }, - { "time": 0.9333, "angle": 2.35 }, - { "time": 1.0666, "angle": 6.08 }, - { "time": 1.3, "angle": 21.23 }, - { "time": 1.3666, "angle": 12.78 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "head": { - "rotate": [ - { "time": 0, "angle": 5.19 }, - { "time": 0.2333, "angle": 20.27 }, - { "time": 0.4, "angle": 15.27 }, - { "time": 0.6, "angle": -24.69 }, - { "time": 0.7666, "angle": -11.02 }, - { "time": 0.9333, "angle": -24.38 }, - { "time": 1.0666, "angle": 11.99 }, - { "time": 1.3, "angle": 4.86 }, - { "time": 1.3666, "angle": 5.19 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left shoulder": { - "rotate": [ - { - "time": 0, - "angle": 0.05, - "curve": [ 0, 0, 0.62, 1 ] - }, - { - "time": 0.2333, - "angle": 279.66, - "curve": [ 0.218, 0.67, 0.66, 0.99 ] - }, - { - "time": 0.5, - "angle": 62.27, - "curve": [ 0.462, 0, 0.764, 0.58 ] - }, - { "time": 0.9333, "angle": 28.91 }, - { "time": 1.0666, "angle": -8.62 }, - { "time": 1.1666, "angle": -18.43 }, - { "time": 1.3666, "angle": 0.05 } - ], - "translate": [ - { "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" }, - { "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" }, - { "time": 1.3666, "x": -1.76, "y": 0.56 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left hand": { - "rotate": [ - { "time": 0, "angle": 11.58, "curve": "stepped" }, - { "time": 0.9333, "angle": 11.58, "curve": "stepped" }, - { "time": 1.3666, "angle": 11.58 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left arm": { - "rotate": [ - { "time": 0, "angle": 0.51 }, - { "time": 0.4333, "angle": 12.82 }, - { "time": 0.6, "angle": 47.55 }, - { "time": 0.9333, "angle": 12.82 }, - { "time": 1.1666, "angle": -6.5 }, - { "time": 1.3666, "angle": 0.51 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 43.82, - "curve": [ 0, 0, 0.62, 1 ] - }, - { - "time": 0.2333, - "angle": -8.74, - "curve": [ 0.304, 0.58, 0.709, 0.97 ] - }, - { - "time": 0.5333, - "angle": -208.02, - "curve": [ 0.462, 0, 0.764, 0.58 ] - }, - { "time": 0.9333, "angle": -246.72 }, - { "time": 1.0666, "angle": -307.13 }, - { "time": 1.1666, "angle": 37.15 }, - { "time": 1.3666, "angle": 43.82 } - ], - "translate": [ - { "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" }, - { "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" }, - { "time": 1.3666, "x": -7.84, "y": 7.19 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right arm": { - "rotate": [ - { "time": 0, "angle": -4.02 }, - { "time": 0.6, "angle": 17.5 }, - { "time": 0.9333, "angle": -4.02 }, - { "time": 1.1666, "angle": -16.72 }, - { "time": 1.3666, "angle": -4.02 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 22.92, "curve": "stepped" }, - { "time": 0.9333, "angle": 22.92, "curve": "stepped" }, - { "time": 1.3666, "angle": 22.92 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0 }, - { "time": 0.4333, "angle": -14.52 }, - { "time": 0.8, "angle": 9.86 }, - { "time": 1.3666, "angle": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - } - } - }, - "walk": { - "bones": { - "left upper leg": { - "rotate": [ - { "time": 0, "angle": -26.55 }, - { "time": 0.1333, "angle": -8.78 }, - { "time": 0.2666, "angle": 9.51 }, - { "time": 0.4, "angle": 30.74 }, - { "time": 0.5333, "angle": 25.33 }, - { "time": 0.6666, "angle": 26.11 }, - { "time": 0.8, "angle": -7.7 }, - { "time": 0.9333, "angle": -21.19 }, - { "time": 1.0666, "angle": -26.55 } - ], - "translate": [ - { "time": 0, "x": -3, "y": -2.25 }, - { "time": 0.4, "x": -2.18, "y": -2.25 }, - { "time": 1.0666, "x": -3, "y": -2.25 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 42.45 }, - { "time": 0.1333, "angle": 52.1 }, - { "time": 0.2666, "angle": 5.96 }, - { "time": 0.5333, "angle": -16.93 }, - { "time": 0.6666, "angle": 1.89 }, - { - "time": 0.8, - "angle": 28.06, - "curve": [ 0.462, 0.11, 1, 1 ] - }, - { - "time": 0.9333, - "angle": 58.68, - "curve": [ 0.5, 0.02, 1, 1 ] - }, - { "time": 1.0666, "angle": 42.45 } - ], - "translate": [ - { "time": 0, "x": 8.11, "y": -2.36 }, - { "time": 0.1333, "x": 10.03, "y": -2.56 }, - { "time": 0.4, "x": 2.76, "y": -2.97 }, - { "time": 0.5333, "x": 2.76, "y": -2.81 }, - { "time": 0.9333, "x": 8.67, "y": -2.54 }, - { "time": 1.0666, "x": 8.11, "y": -2.36 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -10.21 }, - { "time": 0.1333, "angle": -55.64 }, - { "time": 0.2666, "angle": -68.12 }, - { "time": 0.5333, "angle": 5.11 }, - { "time": 0.6666, "angle": -28.29 }, - { "time": 0.8, "angle": 4.08 }, - { "time": 0.9333, "angle": 3.53 }, - { "time": 1.0666, "angle": -10.21 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": -3.69 }, - { "time": 0.1333, "angle": -10.42 }, - { "time": 0.2666, "angle": -17.14 }, - { "time": 0.4, "angle": -2.83 }, - { "time": 0.5333, "angle": -3.87 }, - { "time": 0.6666, "angle": 2.78 }, - { "time": 0.8, "angle": 1.68 }, - { "time": 0.9333, "angle": -8.54 }, - { "time": 1.0666, "angle": -3.69 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 20.89, - "curve": [ 0.264, 0, 0.75, 1 ] - }, - { - "time": 0.1333, - "angle": 3.72, - "curve": [ 0.272, 0, 0.841, 1 ] - }, - { "time": 0.6666, "angle": -278.28 }, - { "time": 1.0666, "angle": 20.89 } - ], - "translate": [ - { "time": 0, "x": -7.84, "y": 7.19 }, - { "time": 0.1333, "x": -6.36, "y": 6.42 }, - { "time": 0.6666, "x": -11.07, "y": 5.25 }, - { "time": 1.0666, "x": -7.84, "y": 7.19 } - ] - }, - "right arm": { - "rotate": [ - { - "time": 0, - "angle": -4.02, - "curve": [ 0.267, 0, 0.804, 0.99 ] - }, - { - "time": 0.1333, - "angle": -13.99, - "curve": [ 0.341, 0, 1, 1 ] - }, - { - "time": 0.6666, - "angle": 36.54, - "curve": [ 0.307, 0, 0.787, 0.99 ] - }, - { "time": 1.0666, "angle": -4.02 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 22.92 }, - { "time": 0.4, "angle": -8.97 }, - { "time": 0.6666, "angle": 0.51 }, - { "time": 1.0666, "angle": 22.92 } - ] - }, - "left shoulder": { - "rotate": [ - { "time": 0, "angle": -1.47 }, - { "time": 0.1333, "angle": 13.6 }, - { "time": 0.6666, "angle": 280.74 }, - { "time": 1.0666, "angle": -1.47 } - ], - "translate": [ - { "time": 0, "x": -1.76, "y": 0.56 }, - { "time": 0.6666, "x": -2.47, "y": 8.14 }, - { "time": 1.0666, "x": -1.76, "y": 0.56 } - ] - }, - "left hand": { - "rotate": [ - { - "time": 0, - "angle": 11.58, - "curve": [ 0.169, 0.37, 0.632, 1.55 ] - }, - { - "time": 0.1333, - "angle": 28.13, - "curve": [ 0.692, 0, 0.692, 0.99 ] - }, - { - "time": 0.6666, - "angle": -27.42, - "curve": [ 0.117, 0.41, 0.738, 1.76 ] - }, - { "time": 0.8, "angle": -36.32 }, - { "time": 1.0666, "angle": 11.58 } - ] - }, - "left arm": { - "rotate": [ - { "time": 0, "angle": -8.27 }, - { "time": 0.1333, "angle": 18.43 }, - { "time": 0.6666, "angle": 0.88 }, - { "time": 1.0666, "angle": -8.27 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -10.28 }, - { - "time": 0.1333, - "angle": -15.38, - "curve": [ 0.545, 0, 1, 1 ] - }, - { - "time": 0.4, - "angle": -9.78, - "curve": [ 0.58, 0.17, 1, 1 ] - }, - { "time": 0.6666, "angle": -15.75 }, - { "time": 0.9333, "angle": -7.06 }, - { "time": 1.0666, "angle": -10.28 } - ], - "translate": [ - { "time": 0, "x": -3.67, "y": 1.68 }, - { "time": 0.1333, "x": -3.67, "y": 0.68 }, - { "time": 0.4, "x": -3.67, "y": 1.97 }, - { "time": 0.6666, "x": -3.67, "y": -0.14 }, - { "time": 1.0666, "x": -3.67, "y": 1.68 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": -5.25 }, - { "time": 0.2666, "angle": -4.08 }, - { "time": 0.4, "angle": -6.45 }, - { "time": 0.5333, "angle": -5.39 }, - { "time": 0.8, "angle": -11.68 }, - { "time": 0.9333, "angle": 0.46 }, - { "time": 1.0666, "angle": -5.25 } - ] - }, - "right lower leg": { - "rotate": [ - { "time": 0, "angle": -3.39 }, - { "time": 0.1333, "angle": -45.53 }, - { "time": 0.2666, "angle": -2.59 }, - { "time": 0.5333, "angle": -19.53 }, - { "time": 0.6666, "angle": -64.8 }, - { - "time": 0.8, - "angle": -82.56, - "curve": [ 0.557, 0.18, 1, 1 ] - }, - { "time": 1.0666, "angle": -3.39 } - ] - }, - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 1.0666, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1333, - "x": 0, - "y": -7.61, - "curve": [ 0.272, 0.86, 1, 1 ] - }, - { "time": 0.4, "x": 0, "y": 8.7 }, - { "time": 0.5333, "x": 0, "y": -0.41 }, - { - "time": 0.6666, - "x": 0, - "y": -7.05, - "curve": [ 0.235, 0.89, 1, 1 ] - }, - { "time": 0.8, "x": 0, "y": 2.92 }, - { "time": 0.9333, "x": 0, "y": 6.78 }, - { "time": 1.0666, "x": 0, "y": 0 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 3.6 }, - { "time": 0.1333, "angle": 17.49 }, - { "time": 0.2666, "angle": 6.1 }, - { "time": 0.4, "angle": 3.45 }, - { "time": 0.5333, "angle": 5.17 }, - { "time": 0.6666, "angle": 18.36 }, - { "time": 0.8, "angle": 6.09 }, - { "time": 0.9333, "angle": 2.28 }, - { "time": 1.0666, "angle": 3.6 } - ] - }, - "head": { - "rotate": [ - { - "time": 0, - "angle": 3.6, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.1666, "angle": -0.2 }, - { "time": 0.2666, "angle": 6.1 }, - { "time": 0.4, "angle": 3.45 }, - { - "time": 0.5333, - "angle": 5.17, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.7, "angle": 1.1 }, - { "time": 0.8, "angle": 6.09 }, - { "time": 0.9333, "angle": 2.28 }, - { "time": 1.0666, "angle": 3.6 } - ] - } - } - } -} -} \ No newline at end of file diff --git a/spine-starling/spine-starling-example/src/spineboy-starling.png b/spine-starling/spine-starling-example/src/spineboy-starling.png deleted file mode 100644 index a34d38af0761184152511545d5cd808427b0c50e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113804 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 Hu0mjf&Eo+* diff --git a/spine-starling/spine-starling-example/src/spineboy-starling.xml b/spine-starling/spine-starling-example/src/spineboy-starling.xml deleted file mode 100644 index 3025fa60c..000000000 --- a/spine-starling/spine-starling-example/src/spineboy-starling.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From dd248169ec389a03e22c7763d26d4a996457f238 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Tue, 30 Sep 2014 02:41:12 +0200 Subject: [PATCH 12/91] Update README.md --- spine-libgdx/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/spine-libgdx/README.md b/spine-libgdx/README.md index f936f306d..fe1d64e6a 100644 --- a/spine-libgdx/README.md +++ b/spine-libgdx/README.md @@ -21,3 +21,4 @@ Alternatively, the contents of the `spine-libgdx/src` directory can be copied in * [Box2D Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/Box2DExample.java#L56) (written before bounding boxes were available) * [Mix Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java#L39) * [Skeleton Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java#L47) +* [Super Spinboy](https://github.com/EsotericSoftware/spine-superspineboy) Full game example done with Spine Essential. From 55896be38f247cdd7dee75198caeee02a95dc618 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Tue, 30 Sep 2014 01:12:23 -0700 Subject: [PATCH 13/91] [Unity] Various importer fixes and improvements --- .../Editor/SpineEditorUtilities.cs | 67 +++++++++++++------ 1 file changed, 48 insertions(+), 19 deletions(-) diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 606412702..e62bff4af 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -269,15 +269,23 @@ public class SpineEditorUtilities : AssetPostprocessor { sharedAtlas = data.atlasAsset; - SkeletonAnimation anim = SpawnAnimatedSkeleton(data); + string dir = Path.GetDirectoryName(Path.GetDirectoryName(AssetDatabase.GetAssetPath(data))); string prefabPath = Path.Combine(dir, data.skeletonJSON.name + ".prefab").Replace("\\", "/"); - PrefabUtility.CreatePrefab(prefabPath, anim.gameObject, ReplacePrefabOptions.ReplaceNameBased); - if(EditorApplication.isPlaying) - GameObject.Destroy(anim.gameObject); - else - GameObject.DestroyImmediate(anim.gameObject); + if(File.Exists(prefabPath) == false){ + SkeletonAnimation anim = SpawnAnimatedSkeleton(data); + PrefabUtility.CreatePrefab(prefabPath, anim.gameObject, ReplacePrefabOptions.ReplaceNameBased); + if(EditorApplication.isPlaying) + GameObject.Destroy(anim.gameObject); + else + GameObject.DestroyImmediate(anim.gameObject); + } + else{ + + } + + } } } @@ -338,7 +346,6 @@ public class SpineEditorUtilities : AssetPostprocessor { path = path.Replace("\\", "/"); path = path.Replace(Application.dataPath.Replace("\\", "/"), "Assets"); atlasText = (TextAsset)AssetDatabase.LoadAssetAtPath(path, typeof(TextAsset)); -// Debug.Log("Atlas Path: " + path); } } @@ -363,10 +370,12 @@ public class SpineEditorUtilities : AssetPostprocessor { string atlasPath = assetPath + "/" + primaryName + "_Atlas.asset"; - if(File.Exists(atlasPath)) - return (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); + AtlasAsset atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); + + + if(atlasAsset == null) + atlasAsset = AtlasAsset.CreateInstance(); - AtlasAsset atlasAsset = AtlasAsset.CreateInstance(); atlasAsset.atlasFile = atlasText; //strip CR @@ -402,18 +411,26 @@ public class SpineEditorUtilities : AssetPostprocessor { pageName = "Material"; string materialPath = assetPath + "/" + primaryName + "_" + pageName + ".mat"; - - Material mat = new Material(Shader.Find(defaultShader)); + Material mat = (Material)AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)); + + if(mat == null){ + mat = new Material(Shader.Find(defaultShader)); + AssetDatabase.CreateAsset(mat, materialPath); + } mat.mainTexture = texture; - - AssetDatabase.CreateAsset(mat, materialPath); + EditorUtility.SetDirty(mat); + AssetDatabase.SaveAssets(); atlasAsset.materials[i] = mat; } - - AssetDatabase.CreateAsset(atlasAsset, atlasPath); + + if(AssetDatabase.GetAssetPath( atlasAsset ) == "") + AssetDatabase.CreateAsset(atlasAsset, atlasPath); + else + atlasAsset.Reset(); + AssetDatabase.SaveAssets(); return (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); @@ -442,6 +459,10 @@ public class SpineEditorUtilities : AssetPostprocessor { AssetDatabase.CreateAsset(skelDataAsset, filePath); AssetDatabase.SaveAssets(); } + else{ + skelDataAsset.Reset(); + skelDataAsset.GetSkeletonData(true); + } return skelDataAsset; } @@ -484,7 +505,7 @@ public class SpineEditorUtilities : AssetPostprocessor { return SpawnAnimatedSkeleton(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); } - public static SkeletonAnimation SpawnAnimatedSkeleton(SkeletonDataAsset skeletonDataAsset, Skin skin = null){ + public static SkeletonAnimation SpawnAnimatedSkeleton(SkeletonDataAsset skeletonDataAsset, Skin skin = null){ GameObject go = new GameObject(skeletonDataAsset.name.Replace("_SkeletonData", ""), typeof(MeshFilter), typeof(MeshRenderer), typeof(SkeletonAnimation)); SkeletonAnimation anim = go.GetComponent(); @@ -501,11 +522,19 @@ public class SpineEditorUtilities : AssetPostprocessor { anim.calculateNormals = requiresNormals; + SkeletonData data = skeletonDataAsset.GetSkeletonData(true); + + if(data == null){ + string reloadAtlasPath = AssetDatabase.GetAssetPath( skeletonDataAsset.atlasAsset ); + skeletonDataAsset.atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath( reloadAtlasPath, typeof(AtlasAsset)); + data = skeletonDataAsset.GetSkeletonData(true); + } + if(skin == null) - skin = skeletonDataAsset.GetSkeletonData(true).DefaultSkin; + skin = data.DefaultSkin; if(skin == null) - skin = skeletonDataAsset.GetSkeletonData(true).Skins[0]; + skin = data.Skins[0]; anim.Reset(); From 131e4babe0e1db471b458c237869b4423b95bd0f Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Tue, 30 Sep 2014 01:13:35 -0700 Subject: [PATCH 14/91] [Unity] Added Basic Platformer scripts and Hero character --- .../Examples/Scenes/Basic Platformer.meta | 5 + .../Examples/Scenes/Basic Platformer.unity | Bin 0 -> 46484 bytes .../Scenes/Basic Platformer.unity.meta | 4 + .../Scenes/Basic Platformer/LightmapFar-0.exr | Bin 0 -> 439255 bytes .../Basic Platformer/LightmapFar-0.exr.meta | 47 ++++ .../Basic Platformer/LightmapNear-0.exr | Bin 0 -> 457677 bytes .../Basic Platformer/LightmapNear-0.exr.meta | 47 ++++ .../Scripts/BasicPlatformerController.cs | 222 ++++++++++++++++++ .../Scripts/BasicPlatformerController.cs.meta | 8 + .../Examples/Scripts/ConstrainedCamera.cs | 62 +++++ .../Scripts/ConstrainedCamera.cs.meta | 8 + spine-unity/Assets/Examples/Sound.meta | 5 + .../Assets/Examples/Sound/Footstep.wav | Bin 0 -> 4412 bytes .../Assets/Examples/Sound/Footstep.wav.meta | 12 + .../Assets/Examples/Sound/Hardfall.wav | Bin 0 -> 10438 bytes .../Assets/Examples/Sound/Hardfall.wav.meta | 12 + spine-unity/Assets/Examples/Sound/Jump.wav | Bin 0 -> 12278 bytes .../Assets/Examples/Sound/Jump.wav.meta | 12 + spine-unity/Assets/Examples/Spine/Hero.meta | 5 + spine-unity/Assets/Examples/Spine/Hero.prefab | Bin 0 -> 9024 bytes .../Assets/Examples/Spine/Hero.prefab.meta | 4 + .../Assets/Examples/Spine/Hero/Hero.atlas.txt | 139 +++++++++++ .../Examples/Spine/Hero/Hero.atlas.txt.meta | 4 + .../Assets/Examples/Spine/Hero/Hero.json | 1 + .../Assets/Examples/Spine/Hero/Hero.json.meta | 4 + .../Assets/Examples/Spine/Hero/Hero.png | Bin 0 -> 110200 bytes .../Assets/Examples/Spine/Hero/Hero.png.meta | 47 ++++ .../Examples/Spine/Hero/Hero_Atlas.asset | Bin 0 -> 4180 bytes .../Examples/Spine/Hero/Hero_Atlas.asset.meta | 4 + .../Examples/Spine/Hero/Hero_Material.mat | Bin 0 -> 4216 bytes .../Spine/Hero/Hero_Material.mat.meta | 4 + .../Spine/Hero/Hero_SkeletonData.asset | Bin 0 -> 4344 bytes .../Spine/Hero/Hero_SkeletonData.asset.meta | 4 + 33 files changed, 660 insertions(+) create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer.meta create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer.unity create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer.unity.meta create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr create mode 100644 spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr.meta create mode 100644 spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs create mode 100644 spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs.meta create mode 100644 spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs create mode 100644 spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs.meta create mode 100644 spine-unity/Assets/Examples/Sound.meta create mode 100644 spine-unity/Assets/Examples/Sound/Footstep.wav create mode 100644 spine-unity/Assets/Examples/Sound/Footstep.wav.meta create mode 100644 spine-unity/Assets/Examples/Sound/Hardfall.wav create mode 100644 spine-unity/Assets/Examples/Sound/Hardfall.wav.meta create mode 100644 spine-unity/Assets/Examples/Sound/Jump.wav create mode 100644 spine-unity/Assets/Examples/Sound/Jump.wav.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero.prefab create mode 100644 spine-unity/Assets/Examples/Spine/Hero.prefab.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.json create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.json.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.png create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat.meta create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset create mode 100644 spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer.meta b/spine-unity/Assets/Examples/Scenes/Basic Platformer.meta new file mode 100644 index 000000000..b1ccb4267 --- /dev/null +++ b/spine-unity/Assets/Examples/Scenes/Basic Platformer.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 2a88cb6ea6a9bd94e8513bd8b866934b +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity new file mode 100644 index 0000000000000000000000000000000000000000..d1e257f9fe07460f3d8a2c0a547230fe56e2dea0 GIT binary patch literal 46484 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 CnO`CR literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity.meta b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity.meta new file mode 100644 index 000000000..f3dcac380 --- /dev/null +++ b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: c0218f9f0a3cc144698dca06a3f59668 +DefaultImporter: + userData: diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr new file mode 100644 index 0000000000000000000000000000000000000000..b8563e09704abde31505a0ec781a6caf4cd47089 GIT binary patch literal 439255 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 z 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≪#V z?pht%vQ=S_OHHrv%-H1I{l7Mc#MFk-|00U8?2oArJ5k=w!>RW#fZo3Wb}x2|hx{*w zIL4bm>;3xXE{)->({03W`O~=)wKmOlR%zfL%e@=eY;;Vv$ zr4A6qHD`WPVGzZ|@52}y>BNU~zB|eIdoR+ljX@O0W4wv~BCO3GP80@4#J2KBuYYDi zp`{~}SWk%*BK zM~_dS+UtjZoSvAUxX*xyJU$|N7QgD6^rG55E&ijioLojfA&9TT-xyoE%ic05ARACyC#92_YZyUOUNfk?mc8l!2i}q+nt#93R8oaiz@J;Bg#k? zb3v&iHA6;OI@dIenaz6PHM7Om=(xR`V6Bq(;Qe}+_w8NY=VNgwUUf+fz->xrc=FBa zc7?{;MSXPBk^IA`_0yO_8=1)-cO+wIJEmz`!KNXMDB3K&8K!nv91eA zy>nO>+V;+IHcl>Tgzd8v^(E(0M!s?n$M=HbdY1U!Rcmw7evWSq1wMK;QOOam;~98O z8IxliKl#M*Dg|HT#uQDMWv|`&n<7pSeUJsbNEYo=OaBJN#WCwDGHqfI#EmO`%UE(; zvXreLBk?Y0PyHK4$8kpe#T(*T^lwlcz}Lj}xL=DJ*x`;@K5Q3ANHh1bkUDROln_+B zgX-VZw7zn#Nefi+CMcnPZ0}91okYH8N>S{oPVZ>2GJSmg& zbeEXUi(6wd-&DT=7H&ZYBg@jOHeBqWde^(w1GHO~XdG&@ONENDVH#5?-kXJn9$u@N zyw?v|1BJI|fEsyd{^UvCR;F$`f`pJz!EGY)k10Vf&w?d}f(3 zSdQ10UM*0UH%Sr&Ql?*VsGpBq!H&r(T$GRy zzQ5#|w0sgX?Xe^Jb3_agQDATgb@U?ghvQB8Z{YO*2FX>I>F``C36k?A`MqaNyoF+X(V4S6R#7b%0aX27xnntk;?LqWmTC#+p! z_PvojtgKxReF?ta#yu+Um0xxG>G*Azwb`4rGf7W9x&`|C{Z)8z$DU<*ZjjOa(#XKj zob#aX=NAY4g7=Siass&)1E{F&)u8dv&(amhpRXW;hQeX%>a7zzty^N7|LA6Zi8RV^yf2KMx7m`^-s!KvqoS2$ zncV$8tS#P~)*$M><72Z>P%*a-1Z??YV zt`G*}+dK6!4bn+ujCcu*h4xW&3BUtvwR4*oXo6UH3;r1Djka>2plS_Xm)wmqP;oqe zIRYB^&IWo8KwfND@bQAuzqqnrZrPhHCdG>!6OXMsBmO>G?7e@EUgb4RKXXA^U)uJP zo5o+lQx0J)T5lwhR8toCQr}F=HT8S4huZTk&os7-*)xdhShg+Mqi7rty2Q~-h|XsE zoDyGAp`mE`Tx7!BpQI(KOw=d3LPiO=<9FEZZ|`sN8%WJvoy2BG}=wU0y& zq!82jz5YqQv&+`R{XPaqkXxH@#H~ioTPz=rHEc3+A&K{Jpp*S)fi|42;D;*%;tSR! ztwyW247e{Xp+HK|RqHR^Av-T0we&zZeChL5*Xs~?hX1c5Fw_$7Jw z%kDFEbavE{E-6Xt&ONFYQJzCk`|Gy{cawaVZM}NE+_j&+^<5^R{lfy zM!K61e)xXF3%3_;fT8^#gjFNxVC~{45LV4Yx?N#W?mTS+o^!@DY0}41u=|?I{x57< zfX=z5oIPdnA=uOK3xqZ-vFXv%g4|%bdoav*>97qEq0sh2{E)x7I!!;*?)Dlfwv zzdF2=eeL-QeQKcL?C1s;7Q5fxn>m*^z&ZX!sdNLj z9)}f?9uIl9{B5#JT>yP$z^q4x(W-lBTZ{QNiHS9GUXRUm}`2ZbXTL+9iiWlH(f<^xar;^d2R7Qv$W^p zo#9(+rwzJFRSQElvPOIJSsq-#noh7Pu=`c_6nOGv#_FqPtL(B<)hNXah}X!M1bb|I zchrf6;b&RGOGtcg4Tj$xOD%MZ|=SF%le^gy;)ZDF2w!#lc3LkyvtW3L* zgR1D_VW5cv8bIKBgW_tGA?00!@Q)wMWymfsf$!hO$!>cHL!;GnZun^ZCLov>(l$5* z`i}<#8DkZKrH&4QuZ)fYnpwqed5G3X9-;&IicypBxZVz<69@|zBqdh$H`RKP!4WHz zfL@24(f(Rs7_G6h0V1-ZIJX-26SeE{jUjtZ0KHZZ`|B^cfU_M z=i_B?VhaH|5kr$BgFff(Nv?r1I*{&dPp|w8>3f0jePF<|tJZx_odTU{fzFlHZ;r`0 zmh~BC2}@T_NF#f$%+5~^!p!p#0rcV3-EOrgZE^iAbeSVD=@in+MMB1Ohilgdhe7)7 zs{!e1vBwKtBZIcZD8RDS=>;SKDwC_KoFLKxq;iN`1cIDmqKfb$(g-}L$`}kH+gUiU znjl0)=?DosiS8D8jl!N|Q(*2wEcgHM2uDA$P>|ZeAG3?}-(TX!Sde%U28&0SsBm5? zmBb3?mNrJHNC9SSw;-=Hf}vta(pV~r!85*+M-V~m-0y=Qe|z-h_mWwW#sB*2*)wt6N zr4yq_vXLBAcyzrAQXd%68BS7U?7>0NLCT)eYF zZz)5+PaV4TN?+B5?lW|yWzCUg2w?0(|XR9;YYCHY)+1wcS-0XvAtGpYV zKWA-`*;Xzs9PIV&2UWM7&IJD~x^tQ>x^p-RPIsL8#~hBTGse9%+s3^L`*Ke+HU!7% zSRLG5-8q4~aQ5k0+v(ZXXRCU%51;*1uX3cRb+|E56>>1s;J~}rv6!H1vXT)|+ z-Gx57rtaJiI!^g{7yNkJ>H5?q3is-<*|yYwySo0_`2TAQbgJQ6bnB@w2y|db&Axrg z7%{7?qi<~f_;GZ%9E=Qh=y$puY#_Sd_QT6uJ6%?H&WX;g`_1W|?)W|3zWXqk8DA80 zO*1Bp?J9A$jZ+f_IdQffrozUErZXl*pViMX7~$Xjx>cD-D-zT=8W*qyz`;Wd0FahAUVW9Wu*25d? zKjw^V=VrNAIcHPh9ub(Z(|sh}cKBhtV4}>8Q{jv{eRMY6dPHZ|8YU}aelX?{RR?y$ zk+g6&$T(GNb6sGI(?_%V!G|AaD-N$HL;zl_40|_)1wupTd$-oOE^NSV&U$#W=HG@|c$Sd9LP=b#Xcz5Iw{=-fI98S#$XFEu4s3+k-0h&xZwCn`zgp z_SMOL8ffa4E;1J9?=xiDDx5CcRs{zwv7v1j+Y*?1`Kg(>Ua}rZVwVDw=zAwDZ`vUb z7FqQ+>6_M;e(Kg4qI~$`zUXhah@>7rw$>$G%u6=R*+VFDOmoIP_JpRC&U zF=e1Wu0`h#qRiHbb;I$sj6L+i4jNGlnE#lo1{Op*I>*!OYJMJvTMC9R*Re|M$_Lqb zx!YS~9S(NM5LFX=S&xbOKgpMN?)vbF7Cp~=Q^1ngla4czLH3JAwWiTL#4Lrj?nc*{4~lqOQh$mTA$cOqY<7|o)?u7VeAyz; zh^IbU=cw;h&T`6}=P2%vcEa7|vX|Qtw|C#%ueOt|7GvAy!t`*qTfzw6p#W%p))H0e=urVtUX>uS-#go#VGN&^9J+wB0C9COJtJ90Ha^;AD&%kf`}TY zcNrD42dX=Lr{^kMwR8+P)=LUvMQp1!Yl<>d%7f47n|-cjFc>`4wx zV$Ph}q9ocmH>j&b*f}`SPz7|uR)o?ZcbDp+Ex!Q0@_rP8nDpgUyV3bI&#E=S7iXoO z0OAGTE?8b)Iw6)Md&Mua z3X_jcIOpz6{rIW!$CTUF5W}n6Nslz`xOasNG_K4REf3JY!|sO)cTyiZM#P`_($lW4 zsb4=tccImI;1rop?Yu&p8m!$%he7t>D@KP^Izr`BGQpqpQ?G06biUtQ^;SJa+-mdO z7|A;0+PdMXwiF)GN9rkl#X8S4Q^s{(YF!Y0YI>>Yf+*vyDdVGO8Y#uf-Rdd(Mcdd^ zKWl_;AwVe`0;EP)(#Th>`vIt47JoSo(t!FPfv%8aNEl%%U1+Rwr(!H2!YQ(_Form~ zHJ+GSbGtQiwr0g;46!s=)x+<_)*(7v`&!U>FW{pP4yf^3Ko`)_yLkHmv7DTZth)^| z`l=167Q9sRAX20j`)!<2k*7o+N1Y23WhS+0F!QDPo*&zP5$P0Z?N-F8wTdNBE<}FY zR?B(zRL-hYR%qC{bw$Feb^n0;BuR|)5?fa;hYe%C;Spf#@ljDCor~L9OfNgnBB1_d z2w!knfHh|dzi5EPb5WTs_WFT6v8GS}vc%h-#%h^Z!bVzZ?In;NelTGqB&QK}_D9;3 z3{+^}3U;pOtg<}oTI%_W4?6Ls?CA33J^Jw4@qL>*)+o!9=c<<36=UzQt|m4>JbP=j z4>pY!nYU|e48BY-?U3iCR5tmCJZ`AY=re;p6aVqtSUUnqrv!JvtCpCvV>NIN{8S69IY(L3U zionfUq&^zw<*S~Pk+i&p*R~U0z($cy$My0SB*&y&TZ0tLrVU<&!&Q)aW+HN;qA1xd zRPwos5hK$jw^Xp7(0wz}%6bU+!?gNLAS1sl=%cuJX#ER_j9*^6wK7Z(emjP^g1qpV zaSt6?qu*MnIoHS#6()7v;@-%SD^qKulk<$Mrb!gSx_`C|QwD?ALeO)4pZ{x`W zO)eS9aoK8Y@odCh{6g}@^{p&IzD3EG90?{SLeAvmWP)-JH9M`qh`XKtVsXeIk;sX- z#@rPs9$Z_5c{PPXzN=x&v_^rbzWw&}^SBSyZJ3?uJUK3g<=J8id)rtqRyhiHb!Q(C z+>!54#=3ZN1wcA0d2xp0XAK zap7}HD1|nN7Uga$W(b&mws;ltpWD=lU1D-_=@ywi^Ga88S^^!4SY98^VTcl{d#v4M z2uQ=Aa8?Gl>1!Z6|fP zOiY9GSx$D|v*3Qa;F$vh)vJ=dtkhLW%~z5B85}V$3hqdo6!8VR@;+pK*ULmYn%ov6 zr?(rU&x^H>XHo7q@vo?9Uv93cxYa=l5PILB+fZ@h-Ecxs7WW`avY`$yb(xJAsR{f) zqtJL>=$ncB5NlWjEVU|42&MjF^#S!kLAjNIL4fcfYX&?8#_muqpx-bFemfX?9r}3} zK$b#WT3ps@noghgVnp5v{CIi5$wqg~ranXd5U2}DS2^2y|)dPi@5;K4Sw2`_4JMNUJ9s4K6q<4~C)pGx*M zF<|o)W(Vmwwh zQ2xX5WiTsmuu!IXy0afyW&1U)Vyo}6?a<>7WZMrfPtwlPDFb(^RSWOh4YaH`>Yr-~ zC@504(k|@x9=im6tja7Q|G-~1jdrRoTr47bf~jcyh%w*!lISk=qskiA-tJp>X~ZW! zl~q1Z;I5kx4zOFHgZ2|Rra{fbR?GXD#Dh4AWxUF_zD~dx0{T&{1Vo#~V4UD~wrVHd z1BplFV_$UM)Z+ogmyIh-!-_1i zqK~h&@@j20V8QnAlWuLr*nx6jdYv&n(IHSUOq9DVEi3V7GYx@f9H<0Jp`w6uB|t7s z*smUfQDp&`tI>gxw{-}C18{Knpk}h$aOmvu5OihFY2YN|vlv6dq!zt^srUM**DatV z6e44PkXZL63M5iDpolZ~ON!pvj+0voeE50<8|+cY{>5Ce&?k9R=kBaLr`O z=c44T0~?d1->Gy8AV z4j=9=Kd(77(crY*NX#ZdlI}WRGdeOlk1_-d+Xt49JJK~Z%dM?#uelA}3vvA#;H+xA zBbwj-`z|qV!&MJ0!$eH)w1)(DS7Hyf!CLi9L-2!s^3RjQC*sAn0oRKus}{ee#cr6k zBO{|w;B<|?DON|hnD->x{;-Gh2Y&>-depBz}Ce8rzkOiLx1{T`C zH~}!lveETX_roDA=YW57bP|A46cim^N1;Tnz=`{#ZX<59=t6%p!k?DNse?#p16XIi zpTbZu!|y@vVC{U!hY9od?+os`JFxm03tW^xAds^wpS}{>((;v|+ONkjxk)XD{6uXI z7cYOm^g;548*tFxWD2+u&C)IX66Y9=6(E)3 zco>t}gxx`RvMM)J@m7X=z*T}e;bn+>sA2OUAA&tyPjk_Ivl%nDV3uuiL)m?;wpq>Ca zR#7BEy^VZgTy#T^aFk$TWhgBm4GQaQl6|`-!)3INsa;ffa?MHUIoaj%Q^FT%ZF78E zW-m=JvOm=N8rk#S4ELz#o(*lMiOoJ=L#jh2lgG?VGbuFyh;bhYRepLkUpeJ8A>@1j zm(9}~nJv=A(%E7Dfyng2dmpdi=bJm^BspSZ3Ou4fAFt!~b;Q1s^s>GFG@Df5Q8HBf~In5GKdpw{*i%8J))D6B6DfY(0jxQXqVyeu#}OSrIsEEAL`^?hQM#2`7?aJD<{B@p5&tgF2=mBP zq@y6(V2~rRk|j90j_a^bqZyuAu=ST-UhGFw8+)fvzW$l-v?Md4^W83^GRq@n`9$*v zq+m5#Ko%iB*cFGpB+0NzY?lYG+Pp9dK1j<9dOPI4{vV-$zNZYJH6iFRhm({IgQQQ8 z*7KxmLM%c~?usAnSWmvy&Y4ovgC&~<3J`NAA_)=YL|8T~8W;-yvPc+WA+O}ctB7s- z^;2Y%r;S$HX%*cef{}x?Yi^5+Cs7o%4iACPJd>w4mrNXGuw6~LHGUerzE3{J*hRtb z!3*{F!sa`cx{};>k{OpOWvR_!lwbbhb&YPio|{ev#_PhAb1+~t|KkJY%YW!Pz$scp zVDrw8Ro)xjz;nrud&~)^B}t8En)?HOXS%jC0K;djxnSs}dgSveux>yyGrFCQjRr0s*CIOt#rJxpVj3dUqmJc8+WxWgWik~XS()+N>7sr>c>Bl42RO>utkYdIlx0)! zMSSv9%YXt+ak8vB$Q?OlXZAVew)5iP3xPEGOY9ChD$P>ek+&;%DHg=BkuFEaCz+Tk z*k`!jdZc1?ri9^?fL|Le+kQxVy^8F#GPB+o6Xzn-`&Ma+OrPuzasSBcpe6n^&}T5N zB(Vv8+%hFbDu$omN6UL>GEF+=QhLmEURrD1)~#2xQo=l373DM}LA;#zEAGoG#S)Ai zvUjkvkUp?}d%QLZejF_$B8mDPOTzbBeK3jtOBmLi)~-v!n@C6oZl44bvL6@}m@*UV zh(KX_g`sT}Y-acEdN1+bFmT#+bHdG!&w1IyLEoq{lGdtX6->)y#bStl-n~`a(nlv* zyQ{lF<)~@!+`>KTI$zt#@CU&lx`s~35Cq0{vp*0s2-_i&x+%~4*n7-6&@;cCIw+p)5s;_hfHGU!yCOG7mbM@hzY*0r#C%(_`qJe)e~#%g2l!8cwgp^ zIwV~1BjLWz*LT-qgE4`M_>fi1EIP)Q$x%>??d6v~l8*6TEml!cRaIqZ8xpK*- zUFPcDi}|U5)6s}g+rwPv5v?U{_?IqA8?UY;V^nWEn^yLiXgO9oznr0wm4FVe(EjBH z$;VKslZmFCl)n&IJHiX}#&tAg57bW^`vb@T2iIz##*uxB8kHaELAcp#-`1k{D4-ET z^>)JbnNc7_^;%sB@L_tDl~MVo^HBZn`Qu<}g^tWZe`-BouSCa&9_{-?+tx zhdj>WZ$9sGE&s?8TMGQ*%DAX;e=N;H~F}Gi_w4~6Ygw3FuT^_UxK_A^I_p3I7 zs)s^UmHQ@#wrz-(Q7EQ!pP{fUkIrB3Ur!Fa&(JJXkF!-ACkOc53^Av%BHG|FZ9~37@=Y*Ia5sTNAf6V@ciSWoq=Ys7kXdg)?#P>sW z+xQA+H^>7JSzj1x487F^?vjW@2-D^oN-bsO+~5jmpaQtgR54IOuR$)xGH^DwBK4|! zPM|}Lhbha0fBm{_osro!wTEmm>Cb@%FZ7Q9Bi0M(>4H2OABwB%^iBxFn;7gRMde8v zwch28?oE`y+_JXy7Wm34#c`keoJii4^LNX?UwisFjw-&JtAH+I(>j{(fIEbv%lui6f>QcL>pS*kiNz|U&l2TQYw+9JjfKW|&Lcty-`{73 zqEyG5!vv)fD|5!B;@h@^N8}S?)^`$`1g?C|xgs4HsV{5)YHGJIiq1a@8{qroRS9iJX1235Qj{OYSC2VG$ zV#x6*oeQiy;~g3#SFE|qFYn9Z1zXxa?arN_pba6L#6kFdWXHAg-t<0gi)&B5 zb)3tOHw(Fy<+R)hE~O0dW8LJZDl(+Di=_gNamvHSC9e;`>}Aa8A3*6|^lHF`TsB;k zFv!p=gwZKCaEuJTKUd|x7_z7Kr<2Lz#M$eD$j*UoSPYMZf+NZTM)YjbnAZ`c*+l4zFHr zoc#)PFbp+ES@e2MYJieTQk=TxE?PBu&68Hid4x;aG5yL`-sq*yFb$EH+e%IZo!IGD zm+ss2#I&x-{f??lpl4yyAF#r)ORxqZ+aGt)+ep0F&LpDO;>k782hUHGqwtvb%g@e|D4@N(OL>R10P!IpUMPRwN5Anomy_( z*8r&Lvf)^6gZbbG`^7Xptj$8 zcAaa)g~r2u*RB6JkCa;^y4a>3M|CQWZ4PCcyK`_{_KVJR-n^0Zk50SLo#|EN932y- z&FQI}89Di90-Q~yWJFoV-y51eB}9FX`C)0J94OS*to#*%BnUQ9uqaII53>G5X~`?z zf!;#NQiY!!_6N+wCB) zfDM&-MRxG(l2KKVBW@9q04mY3=9|{0M>Rb1+!Z7xh8*Q`HAUqMcE+T+=21rBCvx$+ zBf+@y4@@_1X79$UX%+KbF)X;g_d;j{R04)3aKqYAIe}Yd;SM%;)FDD$X{kPX43%E`mhKD|uJBpQWQ%{OE!qulp zf~U2-(nKR7PTy{q!RDw}LIu}}mbP1Ym~Pxg8YG!snC}y2eH2s3X^v;L;EMCv6t%Ed zA-)v*TA=gvrx6ipT5K>$oS!_KMnS~{SrTQ&++xBcOmR|>c6IW^atpc#tcHgzXJkp;21&^(z>gK`00;7yyyYh=|EDgf^NQ*Jt(si4uyA^PMe2Sj5(V3cWuP9fYag zay-NftwqsWhQ&gBDa?lNvJ1N8IbRhz=91B2m!=Z~BTYtdU~efexFFqU@1MVa!EJpW zCil7^%2gd+U(%D`px3ivL^iA;l#AOaSmb2pPh=T5rxnonD-Hd3Sk(KpfPc{;cDA-Y zsOWs4ldG#~{BU6r{qOnfH4ib2q_q&rSqh}ptZd9KCDG%-JzcJj3Jrb2kNquEv{Z+2>v??gdF&A`!GlwXaWb&R!=7_;y#f;56!}PZmL{ih0 zRae1@Fns*p?HTqNby>K!KM$T{g3mPD1{7l}E%cVAJ&fGAq?$?e@M3VBQ7BEQci5yU zIC)bG)OB-lLs$0IguI2m5U)l!rUqx1Q52@GWyeuoWXE|h+wP!@2!z7g^^wE1jfZ=C zGcCo$@_5>NI!y>9jtI84+BpAwOT9op>)X#jXqU`+o z-^(X{W{7qxsD_Ep&@)Sgpss3h{i!AI%$~n(bd)x=wzv^ZSZ|~cIxVji6m7CPwtHg@ zj4iMwPD(oec#?k8QIp@G?S#3`Hbu!lH7tEB%*uB(_h_bQ%YnVR)#TdIt-T`HLhQss_*>Ihyn zt=*e$znPkNz91{EO=-;&97UrGYiq;HE$}-acdmAQw($hiNozDI6x=sbgfJbagO_+&VKtK^GRl`JWz7T|sc^RW1-^>aRk9N`4Ss9)-P*jJmAfn}G>8#F^#DB<07F z_`wJ3E%lOD0iPbr1ca@JS8jcU;fhw8D2Qf3`W{dut)Y?kj^FbNUR7D&jkHrwu5G$6R>P1);p6@i+(K#E6RxL#EYv(W7d%&LB{%h@Qw zqr)&6A(F#ne*?jN1+5nf$|zgGWL>26pYUfE>ptzIcr)JYnYchlm?MXQpuHuhPo5M; zSVLKU1f6NokYn|BPQj6)m|RIIKB9%Cm@@IbrpiIFZt>YBbxD#JjdfD?uQF>sCzC;& zu6C~3&ojdUf{rPn%)6N- zL`arcdmaPlZ%EkBOu_w0)~tpGx5Fe7ALAi7ppy0wq65bK7i~Eny>7#)rzzpardiD8 zS){O1EpQHMc&jy2A{S{B-WVJQ)M9j1n2xs9uZn3f{0DT#9^cw-aAT>WqYvuQC2kaL z)qm$NtH#Omt_r?fV$D-7tWzfG@?iN)>g8iwuWwG2>Gip?^;DFTQbsNkdoS!eeiD?gV_Bz4z@_4-^0m z^U@b9aZ(OTtI?##f%fHz>%%;n%C06t_Hnbr3h8J1lJe!VRM&Ls>M zzJ`WAD9E64Gtsg%x2#*Y7FHJ)v=P-R})C*lzkIqH#AM=L~eRg)QVX5zptf9O&m@!W7$nBs#YD_v4@~Fz8R-6W$ zSl6|i2j1K9pUT+Vp^-wZ`9Zo$RLxRXBG`6usr%byTzu}Q;-Vj`f|(5al@txtrZ;B= zU-|~_=SBmJv7o;_@s$s@lA+prS4?^3zPz3+E~G}wDh+k34{X{HGL$vSIy&`jH)U}C z1Vgp|Nnz;g0-TQd&#q(#$R~SVs+3dA$;tMko$Ni;t>4zS6TxT7Qsspah5r^((eV&r za15N(y^>%4ye9B=4g0}2IMJtiI`g$|gP_!a!2{|+)}7c%oRGzY*pG5e&W@ht=fP`k zw8k*bY_YM)eO0yl?nS~FLphr9W71I{%JY>gvv9pXl%l>yWIU*Ap3CO>KHeUM(Xgfb zVjE{B>g@+~LplS+08j?=ms zR_PMT;Ncy}6?YS2kF&DT40sv4Ef9M0%FsX!Sn5zu$lPmq7$|*%`=O|8@bK}4rWtoI z+gax3_`KP{XQLfC3$Y2%KwNVhDZ}V6dTx%-AUhzy-|m|J2DIUtK2T{g(wE%^>hzGa z*csAY4W=(+UXo0|TD`?^_)bw%gXC>dsd_kRFPw5VXFU?Id0l&|zG?2+n^B4QN;8`-r*L4tu}vzTpbF&n>D=XgN7V4WhYE zj*^~tY$NGcu?C;$nV;g9q6{l!2(oDkxN#h*5+}k~)=k(+6;tFd+cVq>2HsRU7R%PC z%m-whWZ)ja&ZbP!pi=I9|Ea?Q^XOFNa_wj3T>hVO-x&dff;()n?1q(-VL$J1@@G35 z+&*EdBcCCnsh6Ga5$XRns^ICxxXz;n87Lj*v&xbu)dfd2^80;W5|X(Qg>2YBNgQMs zEt7s8VBS?+h}XTcH8S6C`C7xRAk(t6P0|9)T5x38H?Mez7F-bi=eA!MZlCQ=mt7wh8j57vQ+Yr1muAM!C?L!%&E+?FXC3&#Cj>eoa zWVz8PJf?x+---43?(>VHkWA}aV>tS=akC`|d)Fz7%D4VBcTP`z zjz};N4JPK5LV{!m7lLv{u?E)HFp5)`(^CIJtw(Ds5fi{YXM52LXgp9bLY7C*vd`9a zQ@x>}nxz^~dOaRLX|C_@%AW7-m$e@+t6yX8u0-(3v!94CO){2ruEbpW&RmvdWl-v< zpK0#xyc^_0a?wezeyx!$BWl&9s*z6vM?nqRx&?x76m)*++S+=R7sK&)ks%TwRY=)u|#blw&MNK@D?{5_i z^I@|0B=>%OSvZ_zE<#vwYj<9)wMo0_rCPJ&+qwqv>4Iul%x9kd~Dh z@HF>nX<2Y-VOe}~kTcYn0QYXgc7U%4Rh{;{)dFP|=Yhk%#%;!Z;noNQ9TvchsW9hF zLv(1M_UvKw2Pms~HQ-F}qE~qZ54uK3Trw+VG3R~66qR^d&){J(RwB~ZP9wZS{?qds z_u!e?JsLrAuCW4@zgY$|^X+uHvx)W>c8~8|qg>dDeh+@;A=sGkmhAw~8DS6oFq;oy zq4D!r_v0$={IgqJPAjoUtzu_;wrkFAM(p-oF|`|O&t7+FBi3-4 z?{~z(cO$@AcatI7l=cbQzgE0qZICb1lP+K;+c~%E%GT4MmsCzxSV?OY2c(Jfe875l zr&V#wIMQghC;fwIHTPcj&dm3R{C1L*7@QJl-Iefv+WHb`sMqlS8SB{hER~&xO4dS% zu}_x43?gfiC0Qz=G-C~^#MH%=E$e8~Vo=JArNY$>H{7@`l@_F^sEF_Xndx?a_xC&h zIhxa%b7q*C@B6;b^Vy!~Azd13`a4Qoj_NuD#)Wh&nSHuMET+YkUbVHrOp6YLbCvX} zbYgn`%2j*NLBwUey``9Li3xstMlpqlizV@*b@QpMLOeH~^5q@nim#X<*^y)X7tRNY zW?EtbrqmEcGRkt`4$mebT}Q4zTY2{YFr@&s8I*VtQ3eO4fppNWl2~>VU`NKnp!8yF zwR=rdJzZKm3a%;{h@ovD`<_T*q3R%{xDryROd_LN?hiwllpj(@!q!8p#6?XZ#CjHRzr7H_`Z2rHc2lPi4q0XD_ z^FPg5FxrX-ot_CF+_@=f?a)XI`2>0N2jG#XM1Aeh|N9j^J=5e!pC$UCJ4FP#_-l-# zbzgq#yMg}V8q}qK9BdFGc@0iRjmd?;NApTfdBEYZI$Vdyi4$bV zi&_4DM0~0;*Xl2gb6v8-w;%tycc(kyZ=*|Tak*XW|fY9@rq#H(XKF&%BdVsF}Rp%DioUY z?@ZAQS^Ts`(eUrslx*zhneK-UNmZeix^f~8GQ|%uO4u|95j+Ot%taOcmmi>A4{s_S zbB-!LT-V*;NRMhN9^&Bt;S$knAZ~!ZvC$hU3ZSe>q8ES^a) z-@NH}O_M@(-C8-%+A@!kTDof?$*n{*aF5k&V1T-knuJ;&OV&0e!AhvIXF4}QM^ZE; zj)y}3$TG=x5F#Wdo3_;spr(q*2y)xXMDVM+@-(1V|GB*pw!Vq+=Uz}Q7fM;s=krFX zbW4lh)a0on@eIfWo=X{A!z+Ry#_`&+f*_T7>vm+G zd>^z*K1y(Wtj3_W(0!UmKTIB3O`c~9Vsb?nI48>zX|2I)9j>P$xdp{2>0vtr^*MgjO};)vSkNZ%2i@QwwaZqd{ua%x_GEbU ze>Mdq8}VIdG_DQWP9U6y#L2zEV8@oigVVX^{qpPCWW!wZCHY%<$6O#V%c%o}3e-g@ z{r|RwxSyIQlI+gmZ6mm=TG!m>{AtPmp%2UV)W3@_DC&nfIj;1G(K7!#3Hc%t-j@o5 zY#xbbzL>$jOE57@aGt;fQu_Rl5>r78j*FB@>4&^Su`|Yh&Ed6C60}bV|CrAPC16K{vZ6I|g-&w)(6TZjD&y^Colr*iL>fr+XsVUXK%`N{8Go>V zOd<#}vo3sE*ugPcmI%HM{G!8ZqG@5yvueFb9quR^%8c0 z(}1DosXbEqLI$VGpl}BlcaH!{%4!Fc88O~4c8*(Id~B4+hhdh6}eKrZ^azsWlj4VABolbBkT9gn*tYyN^7LQIld{ORm9YG zY)I+kzrkhGl~3qW+wjOL&Ro1JuXFR+12>{&Wd$tL(8mNMyfLCO8L8fQ-d3Nq-xa^U zY|A_?QO8?eDABmU&qOG81fA4-LY59GeGa_8e9Wz?f(-|%4Xv$8ZXt#_IPYCnf&2qh z;i*31oBI_y;xGd#LNV`@cr4!~{nR#8PR{#D58`3wb8|hh6v*%l_CN|ZTiJ+9&eD&~ zlBsZh5q-zjM_1SA0Vh!0lu6`060po3GKtf@g>vB5MHy=|lbGvEYfupbic4z)l8iY| z{`9OUUDn;xrS_1@-F{?v7+S5C6L7J9{{y34i<}dCSaMo5E3iWoL->mM8ZUra7hd>^ zx)F%JrIYrxiEkz*sgRFGL8YCSUG!0U@4V~R$FDynkx=2^cRqMpUvO?qfwVax@(^IS zWmF58MN+Y?qh<@$3rko`xyok|Ni4pcpP`wj!FL0D5w;PaQs_sb3<>l*@bS1dg#BPb z$V>FooPuSJJksX1qV9S-}ysG=3iRtQKFs-@a%KRJgP4P1U^O|0vtNk)368>%(_tIVV|P68&f09q<~ zJ7fQv*Jo*GzWZVvK%xRG6((9q>%W+PE7)4{#SFk9J2ccxL#U;AbNv}yv1)ELcX?b1 z8HzVxNWCZ)+fYQ5{f}3MCg|MA^Z(dAc>V-Lq{Pk{sL}d3Ya`=tZ)h#Wq#+#fqlE53 zL+uAL^pU51Z?6Bn44mk{_j$&_(=f`z=%LHW`h^>J3jOAbGbrU zi$zu20{aLB14)eIldJ8}j`+a^jA%QA3n6J(f6=Z1bH|QFo>E!ec`^6IlW>hS0Z$V= ze@H)3U&i;zp|OaXQd(r8VX0I2A6j09RT~?lFc!uuPEQH~Szx5t+>Ycv*Yk25G{U7y) zMDPGFstQxi{c}a{YY}?BVf7KjEXP`@5AVr43P!8AkY9at{x?4f~ATo*iYj zF%eFWQyzS`*`%bX2{59NwXuo2GR+h4Qfqt|$qYo0NlIgW-F4ij&dhW% zlJwLpIUFJoc^+;+yPTJN-Xz;Ob36BJ)yrE)heZsYsF*j+;_03t&!tP^@y7Ztp^1w{ zZgQv61Jy2M3n&@V`1`~jYZ+FQd+|+Oy(1CSgc4MC&t`>85Lb&Y7Z7l1e!O@Qd@jC1 z>!6PtPP^fMV24?T1!(vqX`OdBcCXV~=4nq?Xy2bo@3o>E?&=)+0XyVT1)9!4jAVg& z`Za1Ut7(6XAJ2i*7rlD&{k?Iqhp7oi!yV3t^#|rtW<{++V-YeOK!#R_(RHFb1mxL& zj6e|QUg4U;LI|6m3p&VN&z@}D;ej5ea#M%AS;DsS)`M}@v!HRLB|mzM9acjxq^U^p z8Q`wD30{ey9ds)57>>T{v$_5LPt*ZN#G=SD4_Y>z>&F!EJk%5r7X4i}seU%Dv|76N zwe&Z$C7yVGf@f-Lhn8`x*@lPHTmuQRwkiqUY6_z1ddlJ|>N{o9kMKVO#S&F0&{gF_ z*|GhpG>Ljtn4?#_74kiVps0K%B|?N1D<@0_x^-fF_QRTAD@tm^{FjzvuzGzeq0zW} zwvCN1)UwC$K%6OLXZp#`AuaF!9$jSwtg)}0T-)VB)TTpUkQF9r4)F(R;`}h3yv{_{ zp9$s??R4dZGK169^9B# zAO2pTpEU5vU|xhI*hDJ{H@u`7>VC4A#Osbrt;1IfP+w_2=FqHmQtj=JYjU<%I3GNy zu<=M{4yP}G^-CTlgQIGRzP5zCtvvgIv${%xh8qktLaxmuCT_ZS8KlrowMX||3&K|P zonUXpsgZ~o7DJg295L9Ixe4LjZ&dHT$|6J$xJ??a*XQwc3C;kQ4o zMstfx;UQ1@p%EJ0%j;-IjiG)BD^x=^tAnT`%!4^7p{Bz6+MY7Y%6R^HcZg4M?L_ovo8{v zPhvElj6q=|ZlHEF1~BIk_R`%d(Qk=*y#ralK8FAU;r+{U+wu1HVWu_C4I2^~vquak zz0jYKud76*BBPPx{u3?mJfxiJU`!#eHNGA7o%5Y-NIp3_&_-ge{I!j%jJ-tXLPbNm zZY5O+=^re!ny<&p&&K9gb#;b7LOks{F@#W$$#K)9T05+G7*y+tTn^`M~~jJ-T)!b95!KP1o3m7TTac2+CG4A&Opf&uNVtXC^TL$PGWX|PDR{Ftc6g*EuwpNpYUJOdXvnm)FdK|QC9&l2!r zAI`5~>x!((bj>vn4D#)`<^BdZfu!-nLq%7)YIC{e9)=lYDAg~q6-ARLty^d-9Ek+I zlZaJC*)*GOEDRNJDRBr6>6j-SDm$t@97ghZDqsGGlyDJXqPZn9R|mt6n2UEz`C#0H zmF$B`cw^KuVyX8&vP{nrHcWkNe@_=4_Nm&CYJBcVnMA{)!u?=J%XltTom5X*o-*jT zqQ8*GVXWRP2ol(2ICHgqc&u_vXLv)p+sXJWl*|ai1PKD{%{eSoTg!2K?0CD(3}bUmh8Lor3G0Z57Q?(NGInhs$EPMppYFbsgihcY2?lt z^Zj_+38<#3rK!PQV3%SdqhHo$mqwP78x}yu;&%L5A3pIMfuaAz%Wh<%B=w-C)uYn1 z;bKc_RSFg7BVXI@hF5go*bd51@nt?R+3(Cz*m&m_&GRe_BOB#3+2kbzVFGeTk6vfq zy^C%8XW5xQ`qJCN#rGiVA zbbF^`Pw%z3t=)LS=njpP>;2GO7`Z-@OkQofyGDj*Y(389qpV{JA;PsTMP)vW2G3JS zgGXmmimQIOsbdzVSAYv;Qz%{`xz0QPH7!d%g3UZ#MHNZC(4T}+&92s0UN~{geQD|%`cEIU6 zfsme2Se~9;(-pi-~`hAt|wO|#a&l~i$~@lmtJ~s zCY7%+95fC!5)leP8#>jK%*9{mU09HNVove|al=h_h98-*an$D_@*viLB0xf{YGTCUO5T}R!)X8k#}eLFzK$lK&rFl ziiqVfUzLNBybSt|RwYf>Fqzk%o2@3uWd6_yZ09_GEl`#=vVJyD@A$P%+HA$4nNSXG zmNCbrlN@=fQc&HhV!NTT`*T17e#j2WzRP`=i}6Ea1uV^ZJ-X3dLj zYMUg5)Vph}rGXs~$D14P*m!_P_@QNqSlW%v%6XekVIWf)Sw}xY>uyjsLLHWn1mJ+{ z0)TBAMte?3!)B?1)m^OyAcGnn!&az?D-Mvpc+$|$*MrTGsD1Aya5G*(Atf65#XKU*u1e2pG zGmFLDmq_NG_cj1sazp{41R>wKLAMdw5zkX6W|afzbxa_2@p<86=VuAI8c)gR zmLxus({~Cf>3J8oYjetB(@j#mR;h2$N7;ggr>PcI!pZh8KMHUwT>yE*lJbGYZ#=0S zd4r&pGW#JAK9EEdpMd4C*hedz*yQY9u&?QH@euf`ng}(0D%zJLe#O4O52uUL`s95U zYI-+0>5ESb(l8F^RqQrBz6uc(cV*-1nm?@piUsX?zjh=tnT#wv6bwU2T|ODrR^fJ} zN%4u*ECb2rXGm_9jFfCp7|~d4RG{14i)fJidbxGvrEj*G;|u2l;(hvDEswblv#t}n zOX_#48$P&X;j+g(uiAS>yo$fR>$Rp}(IIL)iDnP*v-U6#uejSK%PzNc!CH2+o_dvj zIud^u8%Bgp>JlU3apg}&66~Fg-D^ky%+i3;evqSEcGAP2H1!WE%-4#ytI9174Gqe# zpR{_3UFCOri;^Vdpz^#?zx>}#itV>P=y&VKDb;xB_;NEq352 z9CBY`+3E&%yn}dtdz$9ZP<^!<2vsge6j#F+=@EL{CoDXSs4cS{rZVBh?^l2tDVYc^4 z5lr^4zf>v2x}vXSn5`H_E(rC<#2bBy96WnW4UkHcGmqrGR!6;p8F4iU(ED|;i0M9@@h$Pg`GA@HHSc?#bh z(L*ad;gXnc2(%_HMh9Z0`CI+af|xqvUIgUuzMS9&5IsXj?{*@BJyUz|-AAh7P<>4i z%?&jA4cPRi$JNf&9?pgy&fCU9OWi7J#?3cEnHoJFeZOs)4o&?PP~<8?6FND*8XYk@ z=M7thy035r2%@!4Gbh#?Nzg^CH?qeWjo)usi*JO=`gtHaR(D>=EB@s1aO1jtsjR}l z0`5T-cl>TMR4gbO>Sa``h|sZl*Hu>L_6TGP^60+P!>;VSf0P@=;w{|WVQNmEgrf?Y zkh$c~Tid&|(P^)^!?8Ck@crUa^~&Eag=ixbp z_b3#Tw)0(bSaDNHA;A71sGU7QCjN1(<=CxTRQjCJ)zfT6LJKkit@7v#@|P7l8Gyf) zJ+MJ+Clm%>+Bft`O88>FzKME~(-Zf^#9x~;6qJ+Cm=wZRlEvFQ$opxyWJkcf z(LcVa?xQ~dz%568WVQ_}=hoC!!axW*>ByHhDDm0IgjAgvEvP`bf2JtA|23Vs48>5y zla6^*mRQG2bNiZox~=94LX|u|DjPB`3KNcOMiKdqugU2fbS+3dM`>UJEzbK8(s=8mvXa0$Z2Yr%n@8w+AEBWeXfHMS3b2&jAtKxTr3IQ4wUL?V9B&d=>j_vNh~%-3!7$ z;SJeHJ&X#5d*nK;cKpjfD8pJLbI#+p8n``B&Hl>|5Iz~Tpbd)4opMDjD`gZ2Q*(RTV@>)yR8o2i_@93Io#Y---~p4$FI?Lu*+o#W>K7P0 zQ%#az>p0nILNS#`sgNlbz9)W1bK|DPW43ju3k6R}Lvf%U@qxWO*Xo-dQ{91dpyk;= zv(W_R3lL`?m~MV%KXwQ9AZH}8`qd)Ey$N^7u63Zq=;Lp5ckPpR9_yoeaUmE;0nTMfGC<4 zcI`J$s38PCfp`~obi?FQ`_g*5u`FNJ3vmZAR_8L$%!@z2srP)_ts%GhfL38nx}s$g zG4UC%AaaG8}TYgXQVi>_Y2)C^Q6S4fr0Be;JUanlHNQA zB?&~mEYZmyp!fj%d)R9o$dma<_T#AsbDZ}TC1z(IR}YD^b2hLD_78oZp@7$Y0}(2C zamp5+6aTmLfd1%Pk>PR0y-%*KjJ%JuH3-q8{uw(5e#i;1Tm*0ck5bFi9z|*frpG}1 zy+nsFsnXX6aZT2RDjH&HgL%_C9(37YDVs$fbg7Zs4Tk2E+npkYL zo6|^Uj*N&b(9_yc$ox|Ca$5_4vum)&gIpY0W5Spj3VK)M{1ScmI)X&`f`k%7>7t;! z0uTf;2G*g#^x8NHI56Vb?hdm6PAt>$IQ`E53BB)oGG{KSPy;1>_%ukbeFpIQ(r-+3nW&olhGxQr~>0Fm;Y zXH&I6#bCTp7!mk+(-==t!K40?gg+7=@~L0_qgF~@W%gnbiWO+2>=`Mie5z7J*$Atw zVkk(^{g)r0-KiOh3^!^HzjalTuE}T~ii9K=*wm|RnP4mTT8Gmi2r3GotVzgiH>>Ld zYaG!d&PkJ?#b5CBh5oyeI~f|Xj`DH1Z>rV7l($EctK~P;YYpY?Rai#R9Cu-7s@0JINV zx5u}T*#}X}`nWp|-O1ba;ML~R9fj)pPQAbD7hDJchh#Ib2ymIL+;$iszCw)r%+1Yr z*~3i@rsKIjnBwYss~Rkf3JR2`eB&()=Efe8@7CQE5_AfWQQsWXnv)k_w-q(Aypb4V z8RR5Z(A(oe6c)dhvhU@aC)#z?qr7|jsiq;d+TkyGa@F}N`)b17>q4vZbhRYdJqZwq ziA@vIJ8Syt?XJvM|4Sgkrm((cEgF*EzSzp1;4~!8diZPo_ez6)fhr;%U&|&Nu8$Ez z`>X~{Q9Kz2JTL%=g<^vs|0@BCy)E?p)I1UQj}ve26U?o-X-`k82O;La^dV)v_U4!i zOkj1nV!>$ePfmLE!okos*wbmd)F#u7XREH>oSI&oF;U3J3Z3CcF1vx`=_+HeB|hr_ z6C_X4;?%U$_UkZVjxBHahXPhDzbx<;*49?bZyPM%^XeK{y~P9uaL3@%nxtdBk2si~ zIB|T>a-D|{@!9Rr$2d(Idq`b2-Ozo|R>aV6Lw!y7On8NeIBM(J)%oV(>+fMcW*~~- zH_^7tj3TcLH^W7s;Yi_1Bceo28ChXRT9aR7|qqDv@s0j1b8);@ZkKV}705XkQ>F>-ebZ8q?rO$yaYM`L892vkYgS4l8a?abB6yzuJ;xxl| zo$kqKcLOW+wUNxt319&s!@H~fs`ph-MN`TSOx2Yz$P#M-xl|bU7c)m49`QcN4>nMF z*Q;gRj5jy&A*fc_%BST4hH80X6L|uj++}0HgAr3!M>+GfgQTJ30E){=xQN4N=o$eR z$!7>ETy~Bn7mBBdQ*EFJVBb;sU0w71gNuKj)Y-p?s#Sz~qe-6|e)&mDmxLu z8!z}R%5!P`?2=>LmaV5OW7{?X4+1#`vK}m1VZps{O@%7UeKFzro$g02YR1Q6(;nfI z3O!zJDUG9Lbe8e>@M9EN0#c%m*21~In|XUaTZ>v_;+;$&hBrO-9<*$YW3mU&3_upp}JLs43doEV4TK zg@Le9TpHNS))5BsBs5gq&vBpWm6FUk1H{V<1_@654d2KoCuLgMy5Sy$*snP%X*`80 z)>CTF|5WGxYS1;s)j{FwxhwW!U}JU1Y@h-S#U*MS@F0wQ$MElHkT=W_(X|WXvhFo5 zzN@*b!pCPfC&_j+I({b;LO8WctNv1QQH>p)7 zZ0VJJx3PVur3j0c&6++aN8vO6ON2UJZ8l|VxM|I=C-n2>`VPCT%tNjelr295+^aIp zCZStgLgo8smSECbqy?SinHMJJctOWh(Y~rXl;2S&@SMG^qYL_Qq1U&t;f&@S(54M! z{Xz!cJMP{}@6Xe-J5#)Uhpg4i ze>N~|do`S-h{S3vex&% zv%Jw)7siAZj}05Y%zl*KH9PR^4b`GwYt}Mxu1MF?Y4;Y8f2O$hWp!)VsamdDdEk{R zswE5D!>#d|Q&*>L;S|DAT~^8-8aC-nJ`m=lygKKKaedThuTa!-MG$dMajGdF#)m`$r!(`tE2WXH1B4b z7S7dbc6gKwfl_S@IG&O3^(s|6)`cq)c8ggqZQ<{hOxWMmWbXLt16*SRz|)*%l=M#b zkfP1Y!fC}x_16Q367_1Gs`n4&OAE`bxEW#H&o$wlf0Cojoy7_Y+kqVQiMoqTJ_X-z zY&0k+C)wmEI1J+%NrP7#F4QE812Z{L}iK|9e#RuW~=?jda_ymeO2#suYob zRtHDSm+^TFh+awZE1{__egn&S4%7IIc7)h8E%zi)fM~DUk=pl70`qXxk#boZIw+U z8Dnw<@VS&%url+w51;z=yEGcLEvtYRIYEYyoWgdd=Q!+|>?JD#gBdF-$M0@uM8WFY z=nvYW6VPU2@k|7Y$93@M+ulcD!LCn2?|Jo2wiQ6tnWNBxHjw68IMpSs?c_^yNS5wHf;g(%oa9VW)acirzdtXcP2Nf^yzM zUH#Nhof3ABVbxG(%KnY1=OH|40EJD#Z$TFv_jn)S<7_1;a!dwm#7;Pg0uw`B61YmjOp1aP3x9HItyv2n<-Wz=7#`peLU}VINNRD;<5>O*> zC3yqx@T+vUYSvMnkj1H6CSta|V)c&-X!T!|46hP%`8$Qvo#Y-1-n7v^POHD9pX^F% zp9za!;bb?#k#JFfP>%lYwc)S0UAn4HQgR@(-fi45TMK{#)niMc$MmPC5`S*C@)3N= zQ}tqM!FOYxkkyo*bjI_*+%Qw|Zi;1k-k+Wltx5+$u|(LOVs@rIc`#0}&aMhwq2d3H zA6dL;nUJc;Tel0{9jFJo{4Xb>8^ESKg>v$3`J0o?6OjXrhL6sBz!yBrV8dF2NKvpN z9}8$)pKLoB@P3%Q%!D06Pj)O266CqC?Z(n`e_I9}OgBKb2YS)FaM;lF@dgrYBpEMZ} zwTEc2RYSz0BFFdPL>Wgx!3u4vrU&)cogA7KV%}DF7Gs+;j4n~bqV6g{B*KsNi}fkF+LnEVl>M6f*`+gDh4#Wd)O52FlhnSOpx_zDMl z3($pBe>Gl0tFE{T)dtq@ixvJl0o7C{8$@XF9WNcY{)gla;IIh`HarAJn>Ylb7TelZ z+m4e#LgG;TH$;xa*AaJ)RrrZC`No4xj0sEhU?akq9k~y!UImSXYQKLP>@To%d9K;( zp|}f~$VwZy@+s)xfU)_Jl~vC*5doWui$$#O<`|DIy%!Fw)9xOKUt`qC_(|B0*Hhh; zU!aj?=2gFFdNhr`^dSH@?}^OC+<*)mSfcbolLFD++4OC_my`LMtFedbAL0wd1oC3j z`e=9DF5;?GwQP#rMAT-ShVnC<|2;nQTqbA@p~VAk(i+d)^RG%a6~B90Av*j|k3P9_ zojFP7unBX%YsdFAjtQzXwfviV^is6qm8;nu$WYN!-y|E7mijSh<`4B6X=>8ZY6H6v z{geR{mpxw)1W7mJK}q5Euup6-U|OQ`wcl}aQ^MJ+dVsAf;ycCqTy()kuDy3}na73t zxv1Ot&|JY%UEu@r<-bdxt{nzN(P;9#=-&-<9Ek*^HkN0hCI5VTB&blsG*%_MfS*As zP3~_XRghc>p=nM|`XPXc>c@Cqu&rqQY|Wn%redR;yg4&QhIL-%q5G%bP_ssszG;1{ zcbg1I5qUnC7rQJ@*)?`YEM;q;|HNe774Y6KNrsM#Ie|n^PB0r<;C&z@AIMAeiZ~nA zM)Z-eogafCyuR!3_&A_LTTxu^Cq}{U!X7k^4HLV8GSOy4BcwGS=5qVw8X2Lp9Sz%; zqUZjeL{_89dr8V}%a#e}?Zh?FYbsm>N35mC`kQ5>?FeL{AuCjOx9kA0OCdTCa_8Pk%G_+vpn~CqOOYS4LL8Xh$v z?}~$(FT3SEK4ZdJcPMoomiy0j_pg=FIp^rpt}PcIeA~9tPrLuu$m@Dfy#w+N2J3D6 zAY1Z10NViU(w_>1QCeppb@hsAXmZ2|ecz{bx~t$2uUT)^jHa@hx;h3e8Hh_azIU

-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 D`uGPz literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta new file mode 100644 index 000000000..01594292f --- /dev/null +++ b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: fadfb38fe9b3ecc4db70956f425e4720 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 3 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 1 + compressionQuality: 100 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 6 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr new file mode 100644 index 0000000000000000000000000000000000000000..eca555faa9ee7a38bfa3674a006604579f003695 GIT binary patch literal 457677 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%0DFRs*d&Wa8A;W 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®0p{fPw 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 z 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�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 literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr.meta b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr.meta new file mode 100644 index 000000000..2899da10c --- /dev/null +++ b/spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 6be9cbac7529e734ab3d6093239f6bec +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: 1 + aniso: 3 + mipBias: -1 + wrapMode: 1 + nPOTScale: 1 + lightmap: 1 + compressionQuality: 100 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: 6 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs new file mode 100644 index 000000000..8da100089 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs @@ -0,0 +1,222 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Basic Platformer Controller created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(CharacterController))] +public class BasicPlatformerController : MonoBehaviour { + + [Header("Controls")] + public string XAxis = "Horizontal"; + public string YAxis = "Vertical"; + public string JumpButton = "Jump"; + + [Header("Moving")] + public float walkSpeed = 4; + public float runSpeed = 10; + public float gravity = 65; + + [Header("Jumping")] + public float jumpSpeed = 25; + public float jumpDuration = 0.5f; + public float jumpInterruptFactor = 100; + public float forceCrouchVelocity = 25; + public float forceCrouchDuration = 0.5f; + + [Header("Graphics")] + public Transform graphicsRoot; + public SkeletonAnimation skeletonAnimation; + + [Header("Animation")] + public string walkName = "Walk"; + public string runName = "Run"; + public string idleName = "Idle"; + public string jumpName = "Jump"; + public string fallName = "Fall"; + public string crouchName = "Crouch"; + + [Header("Audio")] + public AudioSource jumpAudioSource; + public AudioSource hardfallAudioSource; + public AudioSource footstepAudioSource; + public string footstepEventName = "Footstep"; + + + + CharacterController controller; + Vector2 velocity = Vector2.zero; + Vector2 lastVelocity = Vector2.zero; + bool lastGrounded = false; + float jumpEndTime = 0; + bool jumpInterrupt = false; + float forceCrouchEndTime; + + + Quaternion flippedRotation = Quaternion.Euler(0, 180, 0); + + void Awake() + { + controller = GetComponent(); + } + + void Start(){ + //register a callback for Spine Events (in this case, Footstep) + skeletonAnimation.state.Event += HandleEvent; + } + + void HandleEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) + { + //play some sound if footstep event fired + if(e.Data.Name == footstepEventName){ + footstepAudioSource.Stop(); + footstepAudioSource.Play(); + } + } + + void Update() + { + //control inputs + float x = Input.GetAxis(XAxis); + float y = Input.GetAxis(YAxis); + //check for force crouch + bool crouching = (controller.isGrounded && y < -0.5f) || (forceCrouchEndTime > Time.time); + velocity.x = 0; + + //Calculate control velocity + if (!crouching) { + if (Input.GetButtonDown(JumpButton) && controller.isGrounded) + { + //jump + jumpAudioSource.Stop(); + jumpAudioSource.Play(); + velocity.y = jumpSpeed; + jumpEndTime = Time.time + jumpDuration; + } + else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) + { + jumpInterrupt = true; + } + + + if (x != 0) + { + //walk or run + velocity.x = Mathf.Abs(x) > 0.6f ? runSpeed : walkSpeed; + velocity.x *= Mathf.Sign(x); + } + + if (jumpInterrupt) + { + //interrupt jump and smoothly cut Y velocity + if (velocity.y > 0) + { + velocity.y = Mathf.MoveTowards(velocity.y, 0, Time.deltaTime * 100); + } + else + { + jumpInterrupt = false; + } + } + } + + //apply gravity F = mA (Learn it, love it, live it) + velocity.y -= gravity * Time.deltaTime; + + //move + controller.Move(new Vector3(velocity.x, velocity.y, 0) * Time.deltaTime); + + if (controller.isGrounded) + { + //cancel out Y velocity if on ground + velocity.y = -gravity * Time.deltaTime; + jumpInterrupt = false; + } + + + Vector2 deltaVelocity = lastVelocity - velocity; + + if (!lastGrounded && controller.isGrounded) + { + //detect hard fall + if ((gravity*Time.deltaTime) - deltaVelocity.y > forceCrouchVelocity) + { + forceCrouchEndTime = Time.time + forceCrouchDuration; + hardfallAudioSource.Play(); + } + else{ + //play footstep audio if light fall because why not + footstepAudioSource.Play(); + } + + } + + //graphics updates + if (controller.isGrounded) + { + if (crouching) //crouch + { + skeletonAnimation.AnimationName = crouchName; + } + else + { + + if (x == 0) //idle + skeletonAnimation.AnimationName = idleName; + else //move + skeletonAnimation.AnimationName = Mathf.Abs(x) > 0.6f ? runName : walkName; + } + } + else + { + if (velocity.y > 0) //jump + skeletonAnimation.AnimationName = jumpName; + else //fall + skeletonAnimation.AnimationName = fallName; + + } + + //flip left or right + if (x > 0) + graphicsRoot.localRotation = Quaternion.identity; + else if (x < 0) + graphicsRoot.localRotation = flippedRotation; + + + //store previous state + lastVelocity = velocity; + lastGrounded = controller.isGrounded; + } +} diff --git a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs.meta b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs.meta new file mode 100644 index 000000000..18fbb8ef4 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27b3e3370f55c0a438ef0a10c2eba510 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs new file mode 100644 index 000000000..2dc8a1dff --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs @@ -0,0 +1,62 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Constrained Camera created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; + +public class ConstrainedCamera : MonoBehaviour { + public Transform target; + public Vector3 offset; + + public Vector3 min; + public Vector3 max; + + public float smoothing = 5f; + + // Use this for initialization + void Start () { + + } + + // Update is called once per frame + void LateUpdate () { + Vector3 goalPoint = target.position + offset; + goalPoint.x = Mathf.Clamp(goalPoint.x, min.x, max.x); + goalPoint.y = Mathf.Clamp(goalPoint.y, min.y, max.y); + goalPoint.z = Mathf.Clamp(goalPoint.z, min.z, max.z); + + transform.position = Vector3.Lerp(transform.position, goalPoint, smoothing * Time.deltaTime); + } +} diff --git a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs.meta b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs.meta new file mode 100644 index 000000000..127befb45 --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6df2d8b571e22504284108b691b4a3cd +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-unity/Assets/Examples/Sound.meta b/spine-unity/Assets/Examples/Sound.meta new file mode 100644 index 000000000..f57fc03b8 --- /dev/null +++ b/spine-unity/Assets/Examples/Sound.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: ab51e7c76aeecdb4cab94e4cad31b50f +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-unity/Assets/Examples/Sound/Footstep.wav b/spine-unity/Assets/Examples/Sound/Footstep.wav new file mode 100644 index 0000000000000000000000000000000000000000..5e38e4f0681ffb23a159525b82976be1dfaa8e10 GIT binary patch literal 4412 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 QN+6U#D1lG{|Jwxq1H6u+Q~&?~ literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Sound/Jump.wav.meta b/spine-unity/Assets/Examples/Sound/Jump.wav.meta new file mode 100644 index 000000000..eaaad224b --- /dev/null +++ b/spine-unity/Assets/Examples/Sound/Jump.wav.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9afdb740ae0deb74a8906a353b597a03 +AudioImporter: + serializedVersion: 4 + format: -1 + quality: .5 + stream: 1 + 3D: 0 + forceToMono: 0 + useHardware: 0 + loopable: 0 + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero.meta b/spine-unity/Assets/Examples/Spine/Hero.meta new file mode 100644 index 000000000..52aaa786d --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 2c9c8caf9ef4a2d44a6978ea8bdcb3f6 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero.prefab b/spine-unity/Assets/Examples/Spine/Hero.prefab new file mode 100644 index 0000000000000000000000000000000000000000..c0bcadfa9ae996c4f15cd3600b185cf440c4603c GIT binary patch literal 9024 zcmeHN&5s<#6|V`HV8{o7kQhk9uGa*T2ox|N4hUv#FL)(?Y7I1= zEW19<2}QYu3nwI>iJ}}L<;)4?$e)lams}9ymgW84>*{{h-LnUzphR+6v;9%Os`ski ztKWN7ZDZD-HfE!5j5%%0`VL*q^Uu8S%=z(o^Pl76<9q0tF2`5XB)#CK_8>|ZnYmzd z$FBiL>EX}Pm><(+k>t@Naig^;Da`EV_5F9;u(%wJ+-tF&#SMz0~wO^g}`O9{t0!2z)Jy-S#Dxa~BX)JP7v! z+Ofs71VJGb4Ps?Pa;?L5Qn)O!G0Q(CjjC3i@-cfTy6cww?+PXWvHaKV%*lwML;b|^ zF$XB%-x+F?ndaI>XcMXy@BhkZS+{SNJZLKP@lcBtJ?1rQ+EOy>sgy4V$Ia)}1A zndgqol{a6p-Oi{k@S@Xhk0?;DbmErX9_;{?Qxzpq5!ra~Zj@98d`!X3AG@dMXN2*i z?_I8ys|@&a)rnUuoT6WJAY`EoZ9H7Wws68k>%foW z)E4H}U~Y$ST2R%xhLsa2-4a8NTz1vvQzt#1)zCnLXf|6ESlWA8L^{M}gN>C9;&if= zWoafIpX8A*D zqNRVOI_b9buR9RvQgLuA1acTz8Uvba(BhpC=q-Xt?BMCH5O_dYLz)p!UrcB7G@)g} zbXa;3TNrT5C?yy*7 z?zv0IO}5F3Y(yQrpj~H#3xXF=R9Z&VA&7dH@97-}# zr`tNT8Pi8Qv!A9hhL&#*i|D{{r$K;Ylwl{@%WRU5DYUIf{0WK`)zIY*>v>a&fm=S% z#d_>~b(s0q6aU{WD2vGwin(L*jw>mJ^4%0pMJoVYqIuEWyT`ldpX5J4NwfIv63323iF8=c2{X<8f2c)q?4q|+!KQIg1UR5Kr<2z<0j`Jg*b zHo$ngtKz7pIvE8Xd4|3HL`hSE9+ZnA!O@ zZ4M9FA2rAJ%#!g!SV--*)rR## zrJ8EPdf|RewZ6V0x2uR-bTE*&4o#p27FUzq^q~nbEp`jY76>X#GhUV=w}5yF=Q|4+ zMsu!EM+d{`9MglUQ4SXSWDPQ9G^8y%5@k)nfOm})%yV9_`$DP2N{S!ehCNZsd;reJ4xz%QKC2g*JV8 zXlq=z+DwL1+IJ#soYhU~-p^a0vOY8MGt!D!=TuJ~BufJ)pLATZo%nUi%Ss=d^!iI~ z9T`=$9#7fmRGJ~dVPEbAPSM?+-1d) z7Aa{vX6m$ns+q#jc&7ZPslsLx$`H`AK37BUUVK29+Pl08t+@%jtJI)8Dw>z-;u9W+ zz`)6t-4lbHr<$04tywiOVR9o9!?U6=y%9vI(t(W^@+~RIahBb>{FhGB0;8n-)pgg6 z9c}oAj;*6Nmn*HKlb)5<(bz0KSQ&6?h;_nTV5%1F&*2Sx~n z&3OtuQExVNSAi#Xr9CZAT$%Bx&%^w2y5uxS5BHn3w*}I_ajwH74$p{?Wz}!k+UuAc zDj5CB892+38idEz3~Y3Os^dc$b;*yA2`#q2i2f7FA}*>r-1v6#vev0xCkXu)^V*{hz6LCc#QOjM literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Hero.prefab.meta b/spine-unity/Assets/Examples/Spine/Hero.prefab.meta new file mode 100644 index 000000000..1946a559d --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 095df186000aff741a2407fe13d65e42 +NativeFormatImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt b/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt new file mode 100644 index 000000000..ff310bedc --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt @@ -0,0 +1,139 @@ + +Hero.png +size: 512,256 +format: RGBA8888 +filter: Linear,Linear +repeat: none +White/body + rotate: true + xy: 172, 0 + size: 97, 95 + orig: 97, 95 + offset: 0, 0 + index: -1 +White/cape + rotate: false + xy: 172, 97 + size: 146, 159 + orig: 146, 159 + offset: 0, 0 + index: -1 +White/eyes + rotate: true + xy: 267, 15 + size: 82, 31 + orig: 82, 31 + offset: 0, 0 + index: -1 +White/fingers + rotate: true + xy: 371, 85 + size: 31, 33 + orig: 31, 33 + offset: 0, 0 + index: -1 +White/foot1 + rotate: true + xy: 426, 151 + size: 50, 42 + orig: 50, 42 + offset: 0, 0 + index: -1 +White/foot2 + rotate: false + xy: 318, 99 + size: 53, 38 + orig: 53, 38 + offset: 0, 0 + index: -1 +White/forearm1 + rotate: false + xy: 468, 154 + size: 41, 49 + orig: 41, 49 + offset: 0, 0 + index: -1 +White/forearm2 + rotate: false + xy: 412, 115 + size: 31, 32 + orig: 31, 32 + offset: 0, 0 + index: -1 +White/hand1 + rotate: true + xy: 110, 7 + size: 37, 48 + orig: 37, 48 + offset: 0, 0 + index: -1 +White/hand2 + rotate: true + xy: 375, 116 + size: 31, 37 + orig: 31, 37 + offset: 0, 0 + index: -1 +White/head + rotate: false + xy: 0, 83 + size: 172, 173 + orig: 172, 173 + offset: 0, 0 + index: -1 +White/mantles + rotate: false + xy: 318, 201 + size: 136, 55 + orig: 136, 55 + offset: 0, 0 + index: -1 +White/mouth + rotate: true + xy: 298, 36 + size: 61, 13 + orig: 61, 13 + offset: 0, 0 + index: -1 +White/shin1 + rotate: true + xy: 454, 203 + size: 53, 57 + orig: 53, 57 + offset: 0, 0 + index: -1 +White/shin2 + rotate: false + xy: 375, 147 + size: 51, 54 + orig: 51, 54 + offset: 0, 0 + index: -1 +White/thigh1 + rotate: false + xy: 0, 20 + size: 60, 63 + orig: 60, 63 + offset: 0, 0 + index: -1 +White/thigh2 + rotate: false + xy: 318, 137 + size: 57, 64 + orig: 57, 64 + offset: 0, 0 + index: -1 +White/upperarm1 + rotate: false + xy: 60, 27 + size: 50, 56 + orig: 50, 56 + offset: 0, 0 + index: -1 +White/upperarm2 + rotate: true + xy: 110, 44 + size: 39, 59 + orig: 39, 59 + offset: 0, 0 + index: -1 diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta new file mode 100644 index 000000000..e4ffb1d5c --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 51b2d149fb5a7f7449fdafb65d240843 +TextScriptImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.json b/spine-unity/Assets/Examples/Spine/Hero/Hero.json new file mode 100644 index 000000000..779358832 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"HgQWv1l5JEhat9uM4FCui4sIRRA","spine":"2.0.16","width":188.38,"height":331.24},"bones":[{"name":"root"},{"name":"Hip","parent":"root","y":94.88},{"name":"L_Ground","parent":"root","x":-31.28,"y":0.26,"color":"00ff00ff"},{"name":"LookTarget","parent":"root","x":112.83,"y":218.2,"color":"8a009bff"},{"name":"R_Ground","parent":"root","x":28.11,"y":0.26,"color":"ff0000ff"},{"name":"L_Ankle","parent":"L_Ground","x":0.26,"y":33.05,"color":"ff3f00ff"},{"name":"LookConstraintGoal","parent":"LookTarget","y":-43.82,"color":"ff3f00ff"},{"name":"R_Ankle","parent":"R_Ground","y":31.79,"color":"ff3f00ff"},{"name":"body","parent":"Hip","length":60.79,"x":4.09,"y":3.17,"rotation":92.7},{"name":"thigh1","parent":"Hip","length":23.94,"x":-17.51,"y":-5.22,"rotation":-107.07},{"name":"thigh2","parent":"Hip","length":23.65,"x":21.85,"y":-5.86,"rotation":-85.46},{"name":"head","parent":"body","length":24.35,"x":74.55,"y":-4.84,"rotation":-92.69},{"name":"mantles","parent":"body","x":48.47,"y":-9,"rotation":-2.25},{"name":"shin1","parent":"thigh1","length":28.23,"x":29.76,"y":-0.91,"rotation":10.26},{"name":"shin2","parent":"thigh2","length":25.35,"x":31.99,"y":2.96,"rotation":-2.25},{"name":"upperarm1","parent":"body","length":19.35,"x":52.49,"y":41.84,"rotation":130.11},{"name":"upperarm2","parent":"body","length":25.98,"x":57.94,"y":-38.93,"rotation":-178.95},{"name":"capeRoot","parent":"mantles","x":19.61,"y":14.01,"rotation":-90.45},{"name":"foot1","parent":"shin1","length":27.07,"x":28.17,"y":-0.48,"rotation":-90.96,"inheritRotation":false},{"name":"foot2","parent":"shin2","length":22.28,"x":25.54,"y":0.27,"rotation":-90.42,"inheritRotation":false},{"name":"forearm1","parent":"upperarm1","length":22.06,"x":23.97,"y":5.16,"rotation":30.56},{"name":"forearm2","parent":"upperarm2","length":15.3,"x":28.74,"y":-0.9,"rotation":6.79},{"name":"cape1","parent":"capeRoot","length":29.18,"x":-2.88,"y":-14.83,"rotation":-102.96},{"name":"hand1","parent":"forearm1","length":28.01,"x":27.54,"y":0.44,"rotation":16.24},{"name":"hand2","parent":"forearm2","length":23.76,"x":22.8,"y":-0.21,"rotation":1.35},{"name":"cape2","parent":"cape1","length":30.14,"x":29.18,"y":-0.06,"rotation":2.27},{"name":"weapon","parent":"hand2","length":157.4,"x":15.97,"y":1.43,"rotation":77.9},{"name":"cape3","parent":"cape2","length":32.51,"x":30.14,"y":0.22,"rotation":1.8},{"name":"cape4","parent":"cape3","length":33.02,"x":32.51,"y":0.06,"rotation":4.95}],"ik":[{"name":"L_Leg","bones":["thigh1","shin1"],"target":"L_Ankle","bendPositive":false},{"name":"R_Leg","bones":["thigh2","shin2"],"target":"R_Ankle","bendPositive":false},{"name":"LookConstraint","bones":["head"],"target":"LookConstraintGoal","mix":0}],"slots":[{"name":"cape","bone":"capeRoot","attachment":"cape"},{"name":"upperarm2","bone":"upperarm2","attachment":"upperarm2"},{"name":"hand2","bone":"hand2","attachment":"hand2"},{"name":"weapon","bone":"weapon","attachment":"Sword"},{"name":"fingers","bone":"hand2","attachment":"fingers"},{"name":"forearm2","bone":"forearm2","attachment":"forearm2"},{"name":"thigh2","bone":"thigh2","attachment":"thigh2"},{"name":"foot2","bone":"foot2","attachment":"foot2"},{"name":"shin2","bone":"shin2","attachment":"shin2"},{"name":"thigh1","bone":"thigh1","attachment":"thigh1"},{"name":"foot1","bone":"foot1","attachment":"foot1"},{"name":"shin1","bone":"shin1","attachment":"shin1"},{"name":"body","bone":"body","attachment":"body"},{"name":"upperarm1","bone":"upperarm1","attachment":"upperarm1"},{"name":"forearm1","bone":"forearm1","attachment":"forearm1"},{"name":"hand1","bone":"hand1","attachment":"hand1"},{"name":"mantles","bone":"mantles","attachment":"mantles"},{"name":"head","bone":"head","attachment":"head"},{"name":"mouth","bone":"head","attachment":"mouth"},{"name":"eyes","bone":"head","attachment":"eyes"},{"name":"sword","bone":"root"}],"skins":{"default":{},"White":{"body":{"body":{"name":"White/body","x":27.57,"y":2.29,"rotation":-92.7,"width":97,"height":95}},"cape":{"cape":{"name":"White/cape","type":"skinnedmesh","uvs":[0.1298,0.04145,0.25,0,0.5,0,0.75,0,1,0,0.94074,0.25,0.90405,0.5,0.90969,0.75259,0.82336,1,0.55643,1,0.28104,1,0,1,0,0.75518,0.02821,0.5,0.05926,0.25,0.25,0.25,0.25,0.5,0.25,0.75,0.5,0.25,0.5,0.5,0.5,0.75,0.75,0.25,0.75,0.5,0.75,0.75],"triangles":[20,22,23,23,6,7,12,13,17,11,12,17,10,17,20,11,17,10,9,20,23,10,20,9,8,23,7,9,23,8,13,16,17,17,19,20,14,15,16,13,14,16,16,18,19,19,21,22,17,16,19,20,19,22,23,22,6,0,1,15,14,0,15,15,2,18,18,3,21,16,15,18,19,18,21,6,22,21,5,6,21,15,1,2,18,2,3,5,21,3,4,5,3],"vertices":[2,17,-83.99,12.58,0.46604,22,-8.57,-85.18,0.53395,2,17,-47.49,12.58,0.68358,22,-16.73,-49.61,0.31641,1,17,-10.99,12.58,1,1,17,25.5,12.58,1,1,17,62,12.58,1,5,17,62,-27.16,0.46827,22,-2.49,66,0.34919,25,-29.04,67.26,0.138,27,-57.05,68.86,0.03802,28,-83.3,76.26,0.0065,5,17,62,-66.91,0.10393,22,36.24,74.89,0.24994,25,10.01,74.62,0.32221,27,-17.77,74.99,0.22166,28,-43.64,78.98,0.10223,5,17,62,-106.66,0.00721,22,74.98,83.79,0.07037,25,49.07,81.98,0.23464,27,21.49,81.11,0.35566,28,-3.99,81.69,0.3321,4,22,121.89,57.11,6.8E-4,25,94.89,53.47,0.03735,27,66.39,51.18,0.18593,28,38.16,48,0.77602,3,25,101.65,17.6,1.8E-4,27,72.02,15.11,0.0066,28,40.65,11.58,0.9932,2,27,77.64,-20.94,0.05302,28,43.15,-24.82,0.94697,3,25,115.16,-54.13,0.00351,27,83.27,-57,0.13964,28,45.65,-61.23,0.85684,4,22,107.65,-58.5,0.02404,25,76.1,-61.49,0.08882,27,43.99,-63.13,0.31703,28,5.99,-63.95,0.57009,5,17,-83.99,-66.91,0.00248,22,68.91,-67.39,0.18233,25,37.04,-68.85,0.31987,27,4.72,-69.26,0.35134,28,-33.66,-66.67,0.14396,5,17,-83.99,-27.16,0.05345,22,30.17,-76.29,0.47788,25,-2.02,-76.21,0.33484,27,-34.55,-75.38,0.12468,28,-73.31,-69.39,0.00913,5,17,-47.49,-27.16,0.04861,22,22,-40.71,0.52446,25,-8.77,-40.34,0.34709,27,-40.17,-39.32,0.07735,28,-75.81,-32.98,0.00247,4,22,60.74,-31.82,0.12714,25,30.28,-32.98,0.45018,27,-0.9,-33.19,0.37754,28,-36.15,-30.26,0.04511,4,22,99.48,-22.92,0.00852,25,69.34,-25.62,0.04332,27,38.37,-27.07,0.37472,28,3.49,-27.54,0.57342,1,22,13.83,-5.14,1,2,25,23.52,2.88,0.74116,27,-6.52,2.86,0.25883,3,25,62.59,10.24,0.01792,27,32.74,8.99,0.48072,28,1,8.87,0.50134,5,17,25.5,-27.16,0.37653,22,5.66,30.42,0.49807,25,-22.29,31.39,0.10748,27,-51.42,32.8,0.01629,28,-80.8,39.84,0.0016,5,17,25.5,-66.91,0.05159,22,44.41,39.32,0.2736,25,16.77,38.75,0.45121,27,-12.15,38.92,0.18086,28,-41.15,42.56,0.0427,5,17,25.5,-106.66,1.7E-4,22,83.15,48.21,0.01708,25,55.83,46.11,0.12238,27,27.12,45.05,0.35747,28,-1.49,45.28,0.50287],"hull":15,"edges":[0,2,2,4,4,6,6,8,8,10,10,12,12,14,16,18,18,20,20,22,22,24,24,26,26,28,28,0,14,16],"width":146,"height":159}},"eyes":{"eyes":{"name":"White/eyes","x":6.48,"y":50.75,"rotation":0.12,"width":82,"height":31}},"fingers":{"fingers":{"name":"White/fingers","x":16.21,"y":1.37,"rotation":82.36,"width":31,"height":33}},"foot1":{"foot1":{"name":"White/foot1","x":12.55,"y":0.12,"rotation":90.96,"width":50,"height":42}},"foot2":{"foot2":{"name":"White/foot2","x":8.83,"y":2.92,"rotation":90.42,"width":53,"height":38}},"forearm1":{"forearm1":{"name":"White/forearm1","x":11.88,"y":-5.04,"rotation":106.61,"width":41,"height":49}},"forearm2":{"forearm2":{"name":"White/forearm2","x":13.08,"y":-0.63,"rotation":83.71,"width":31,"height":32}},"hand1":{"hand1":{"name":"White/hand1","x":11.92,"y":-0.7,"rotation":90.37,"width":37,"height":48}},"hand2":{"hand2":{"name":"White/hand2","x":14.23,"y":1.64,"rotation":82.36,"width":31,"height":37}},"head":{"head":{"name":"White/head","x":9.43,"y":71.75,"rotation":0.12,"width":172,"height":173}},"mantles":{"mantles":{"name":"White/mantles","x":12.71,"y":16.68,"rotation":-90.45,"width":136,"height":55}},"mouth":{"mouth":{"name":"White/mouth","x":12.07,"y":10.76,"rotation":0.12,"width":61,"height":13}},"shin1":{"shin1":{"name":"White/shin1","x":8.95,"y":0.67,"rotation":96.8,"width":53,"height":57}},"shin2":{"shin2":{"name":"White/shin2","x":2.25,"y":-2.94,"rotation":87.71,"width":51,"height":54}},"thigh1":{"thigh1":{"name":"White/thigh1","x":11.98,"y":-1.01,"rotation":107.07,"width":60,"height":63}},"thigh2":{"thigh2":{"name":"White/thigh2","x":15.7,"y":-4.61,"rotation":85.46,"width":57,"height":64}},"upperarm1":{"upperarm1":{"name":"White/upperarm1","x":6.6,"y":0.05,"rotation":137.18,"width":50,"height":56}},"upperarm2":{"upperarm2":{"name":"White/upperarm2","x":13.32,"y":-2.21,"rotation":90.45,"width":39,"height":59}}}},"events":{"Footstep":{}},"animations":{"Crouch":{"bones":{"upperarm2":{"rotate":[{"time":0,"angle":28.82,"curve":"stepped"},{"time":1,"angle":28.82}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"body":{"rotate":[{"time":0,"angle":-36.77,"curve":"stepped"},{"time":1,"angle":-36.77}],"translate":[{"time":0,"x":-0.41,"y":-2.32,"curve":"stepped"},{"time":1,"x":-0.41,"y":-2.32}]},"head":{"rotate":[{"time":0,"angle":30.45,"curve":"stepped"},{"time":1,"angle":30.45}],"translate":[{"time":0,"x":-4.42,"y":-2.85,"curve":[0.361,0.63,0.697,1]},{"time":0.1666,"x":-4.84,"y":-3.05,"curve":[0.25,0,0.75,1]},{"time":0.6666,"x":-2.35,"y":-1.86,"curve":[0.36,0.43,0.701,0.8]},{"time":1,"x":-4.42,"y":-2.85}]},"Hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":-11.22,"y":-29.62,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":-11.22,"y":-27.36,"curve":[0.25,0,0.75,1]},{"time":1,"x":-11.22,"y":-29.62}]},"mantles":{"rotate":[{"time":0,"angle":5.17,"curve":"stepped"},{"time":1,"angle":5.17}],"translate":[{"time":0,"x":-0.09,"y":0,"curve":"stepped"},{"time":1,"x":-0.09,"y":0}]},"L_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":-10.04,"y":1.18,"curve":"stepped"},{"time":1,"x":-10.04,"y":1.18}]},"R_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":29.75,"curve":"stepped"},{"time":1,"angle":29.75}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":10.14,"curve":"stepped"},{"time":1,"angle":10.14}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":29.22,"curve":"stepped"},{"time":1,"angle":29.22}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"foot1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":17.64,"curve":"stepped"},{"time":1,"angle":17.64}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]}}},"Fall":{"bones":{"R_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":13.15,"y":7.94,"curve":"stepped"},{"time":1,"x":13.15,"y":7.94}]},"L_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":35.34,"y":4.14,"curve":"stepped"},{"time":1,"x":35.34,"y":4.14}]},"foot1":{"rotate":[{"time":0,"angle":19.62,"curve":"stepped"},{"time":1,"angle":19.62}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":39.16,"curve":"stepped"},{"time":1,"angle":39.16}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"Hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"body":{"rotate":[{"time":0,"angle":14.13,"curve":"stepped"},{"time":1,"angle":14.13}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"head":{"rotate":[{"time":0,"angle":-17.81,"curve":"stepped"},{"time":1,"angle":-17.81}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":-25.71,"curve":"stepped"},{"time":1,"angle":-25.71}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":26.18,"curve":"stepped"},{"time":1,"angle":26.18}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm2":{"rotate":[{"time":0,"angle":37.75,"curve":"stepped"},{"time":1,"angle":37.75}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":12.3,"curve":"stepped"},{"time":1,"angle":12.3}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"mantles":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]}}},"Idle":{"bones":{"upperarm2":{"rotate":[{"time":0,"angle":17.45}],"translate":[{"time":0,"x":0,"y":0}]},"body":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":0,"y":-3.7,"curve":[0.25,0,0.75,1]},{"time":1,"x":0,"y":0}]},"head":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":-1.06,"y":0,"curve":[0.382,0.57,0.735,1]},{"time":0.1666,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.6666,"x":-3.74,"y":0,"curve":[0.243,0,0.648,0.6]},{"time":1,"x":-1.06,"y":0}]},"Hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":-0.07,"curve":[0.32,0.28,0.757,1]},{"time":0.4,"x":0,"y":-0.6,"curve":[0.25,0,0.75,1]},{"time":0.9,"x":0,"y":0,"curve":[0.284,0,0.625,0.38]},{"time":1,"x":0,"y":-0.07}]},"mantles":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":-0.09,"y":0,"curve":[0.3,0.21,0.755,1]},{"time":0.4333,"x":-1.41,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.9333,"x":0,"y":0},{"time":1,"x":-0.09,"y":0}]},"L_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"R_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"foot1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]}}},"Jump":{"bones":{"R_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":-6.83,"y":12.06,"curve":"stepped"},{"time":1,"x":-6.83,"y":12.06}]},"L_Ground":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":2.41,"y":1.2,"curve":"stepped"},{"time":1,"x":2.41,"y":1.2}]},"foot1":{"rotate":[{"time":0,"angle":-32.23,"curve":"stepped"},{"time":1,"angle":-32.23}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":-33.3,"curve":"stepped"},{"time":1,"angle":-33.3}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"Hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"body":{"rotate":[{"time":0,"angle":-10.4,"curve":"stepped"},{"time":1,"angle":-10.4}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"head":{"rotate":[{"time":0,"angle":4.89,"curve":"stepped"},{"time":1,"angle":4.89}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":22.69,"curve":"stepped"},{"time":1,"angle":22.69}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":56.41,"curve":"stepped"},{"time":1,"angle":56.41}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"upperarm2":{"rotate":[{"time":0,"angle":23.71,"curve":"stepped"},{"time":1,"angle":23.71}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":20.06,"curve":"stepped"},{"time":1,"angle":20.06}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"mantles":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]}}},"Run":{"bones":{"L_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":2.23,"y":9},{"time":0.1666,"x":56.67,"y":22.49},{"time":0.2666,"x":43.56,"y":1.28},{"time":0.4333,"x":-13.3,"y":22.52},{"time":0.5,"x":2.23,"y":9}]},"foot1":{"rotate":[{"time":0,"angle":-65.99},{"time":0.2666,"angle":-3.82},{"time":0.4333,"angle":-46.96},{"time":0.5,"angle":-65.99}],"translate":[{"time":0,"x":0,"y":0}]},"R_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":-21.78,"y":0},{"time":0.1666,"x":-76.89,"y":42.65},{"time":0.2666,"x":-64.82,"y":24.22},{"time":0.4333,"x":-1.81,"y":22.99},{"time":0.5,"x":-21.78,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":8.38,"y":0},{"time":0.1666,"x":30.15,"y":-1.89},{"time":0.2666,"x":19.46,"y":0},{"time":0.5,"x":8.38,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":-12.98,"y":0},{"time":0.2666,"x":-32.47,"y":0},{"time":0.4333,"x":1.24,"y":0},{"time":0.5,"x":-12.98,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":0},{"time":0.1666,"angle":-59.27},{"time":0.2666,"angle":-51.98},{"time":0.5,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"Hip":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":-2.17},{"time":0.1666,"x":0,"y":6.43},{"time":0.2666,"x":0,"y":-2.17},{"time":0.4333,"x":0,"y":6.43},{"time":0.5,"x":0,"y":-2.17}]},"body":{"rotate":[{"time":0,"angle":-11.09}],"translate":[{"time":0,"x":0,"y":-1.19},{"time":0.1333,"x":0,"y":1.37},{"time":0.2,"x":0,"y":-2.29},{"time":0.3666,"x":0,"y":1.37},{"time":0.4666,"x":0,"y":-2.29},{"time":0.5,"x":0,"y":-1.19}]},"mantles":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0.72,"y":0},{"time":0.1333,"x":2.4,"y":0},{"time":0.2,"x":0,"y":0},{"time":0.3666,"x":2.4,"y":0},{"time":0.4666,"x":0,"y":0},{"time":0.5,"x":0.72,"y":0}]},"head":{"rotate":[{"time":0,"angle":7.24}],"translate":[{"time":0,"x":0,"y":0},{"time":0.1666,"x":1.87,"y":0},{"time":0.2666,"x":0,"y":0},{"time":0.4333,"x":1.87,"y":0},{"time":0.5,"x":0,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":15.52,"curve":[0.362,0.44,0.754,1]},{"time":0.1666,"angle":-6.77,"curve":[0.25,0,0.75,1]},{"time":0.4,"angle":28.5},{"time":0.5,"angle":15.52}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.1666,"x":1.26,"y":0.47,"curve":[0.25,0,0.75,1]},{"time":0.2666,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.4333,"x":1.26,"y":0.47,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":21.03,"curve":[0.381,0.54,0.742,1]},{"time":0.1,"angle":24.38},{"time":0.2,"angle":21,"curve":[0.25,0,0.75,1]},{"time":0.3666,"angle":15.26,"curve":[0.245,0,0.637,0.55]},{"time":0.5,"angle":21.03}],"translate":[{"time":0,"x":0,"y":0}]},"upperarm2":{"rotate":[{"time":0,"angle":-3.88,"curve":[0.351,0.4,0.756,1]},{"time":0.1666,"angle":3.82,"curve":[0.25,0,0.75,1]},{"time":0.4333,"angle":353.05,"curve":[0.264,0,0.617,0.42]},{"time":0.5,"angle":-3.88}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.1666,"x":4.66,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.2666,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.4333,"x":4.66,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":11.12}],"translate":[{"time":0,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":6.7}],"translate":[{"time":0,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]}},"events":[{"time":0.2666,"name":"Footstep"},{"time":0.5,"name":"Footstep"}]},"Walk":{"bones":{"L_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.243,0,0.648,0.6]},{"time":0.3333,"x":40.32,"y":14.53,"curve":[0.382,0.57,0.735,1]},{"time":0.5,"x":56.3,"y":0,"curve":[0.25,0,0.75,1]},{"time":1,"x":0,"y":0}]},"R_Ground":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":-53.31,"y":0,"curve":[0.243,0,0.648,0.6]},{"time":0.8333,"x":-15.12,"y":14.53,"curve":[0.382,0.57,0.735,1]},{"time":1,"x":0,"y":0}]},"thigh1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":20.55,"y":0,"curve":[0.25,0,0.75,1]},{"time":1,"x":0,"y":0}]},"thigh2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5,"x":-26.21,"y":0,"curve":[0.25,0,0.75,1]},{"time":1,"x":0,"y":0}]},"Hip":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":-2.43,"curve":[0.25,0,0.75,1]},{"time":0.3333,"x":0,"y":0.61,"curve":[0.25,0,0.775,0.71]},{"time":0.5,"x":0,"y":-2.43,"curve":[0.25,0,0.75,1]},{"time":0.8333,"x":0,"y":1.22,"curve":[0.25,0,0.772,0.7]},{"time":1,"x":0,"y":-2.43}]},"body":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":-0.96,"curve":[0.362,0.44,0.754,1]},{"time":0.1,"x":0,"y":-3.66,"curve":[0.25,0,0.75,1]},{"time":0.4333,"x":0,"y":0.6,"curve":[0.25,0,0.75,1]},{"time":0.6,"x":0,"y":-3.66,"curve":[0.25,0,0.75,1]},{"time":0.9333,"x":0,"y":0.6,"curve":[0.257,0,0.618,0.45]},{"time":1,"x":0,"y":-0.96}]},"head":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":2.77,"y":0,"curve":[0.32,0.28,0.757,1]},{"time":0.1333,"x":0,"y":0},{"time":0.4666,"x":3.19,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.6333,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.9666,"x":3.19,"y":0,"curve":[0.284,0,0.625,0.38]},{"time":1,"x":2.77,"y":0}]},"mantles":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0.94,"y":0,"curve":[0.381,0.54,0.742,1]},{"time":0.0666,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.4,"x":2.57,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.5666,"x":0,"y":0,"curve":[0.25,0,0.75,1]},{"time":0.9,"x":2.57,"y":0,"curve":[0.245,0,0.637,0.55]},{"time":1,"x":0.94,"y":0}]},"upperarm1":{"rotate":[{"time":0,"angle":29.95,"curve":[0.25,0,0.75,1]},{"time":0.5,"angle":0,"curve":[0.25,0,0.75,1]},{"time":1,"angle":29.95}],"translate":[{"time":0,"x":0,"y":0},{"time":0.3333,"x":-1.29,"y":1.41},{"time":0.5,"x":0,"y":0},{"time":0.8333,"x":-1.29,"y":1.41},{"time":1,"x":0,"y":0}]},"L_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"R_Ankle":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"shin2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"upperarm2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"capeRoot":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"foot1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"foot2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"forearm1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"forearm2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"hand1":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"hand2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape2":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"weapon":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape3":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]},"cape4":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}]}},"events":[{"time":0.5,"name":"Footstep"},{"time":1,"name":"Footstep"}]}}} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.json.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero.json.meta new file mode 100644 index 000000000..652ef27f6 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero.json.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 4d269c9fcaaba024fb93b58c75bcafdd +TextScriptImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.png b/spine-unity/Assets/Examples/Spine/Hero/Hero.png new file mode 100644 index 0000000000000000000000000000000000000000..5965f56cdff7ff5d1b46065c413e4137f4231b52 GIT binary patch literal 110200 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 TfURXC00000NkvXXu0mjfHqVH9 literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta new file mode 100644 index 000000000..53d54547b --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a34fffda3f6321b4288a172798648ba3 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 0 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset b/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset new file mode 100644 index 0000000000000000000000000000000000000000..23e4c11af498d8323073a634aaa08bdde6f92ae1 GIT binary patch literal 4180 zcmeHKJ8u&~5MC3)E4(4ROu$8?6i8_jBnlMS4t8RsfF(jpSo_xYhVvcT+e8VKC4K-x zN`pi}Ly0KqprNLtfdV8NdI}^Ln0cJfXZw)&0XLR!U*GI}^UdDrPKe1*LY!O|LL7z` z8X*?vug@zmS!Rj`TgErEa4sD`XnrBR;cy~H7K z-3Na(bkD#K#~iS%T~)b7aV8J})(2sqK~-s6AqWYf#X&@dBM&%KJgbZ+U5Y=+PLWq) z`~xE(9FE05m;j>qE3&OPW8^RxQGC<@4Oti9niwBSO4bMAU@ZO-#zZ^e@IK^v1A>-3 zS#y;`Ygk(}(y74xky>;4hHHJ4k?a=sDLp(=_v%JJwwNCGD79lT59}tUc02|`MrdQH zo#6SQ*nu_LYeK|3ATJ$aKJ{T@olsI^@E*ohLyHb3AL=qHMf+G$uo>w~ag zZ%HE@X(i2`!6~pfA|k`eExR%ZDh`}<-O$PqyR+=YZXI@KUITX1v27FCor`Z0_J`S> zPe4$aX4ln@Ed+srGD!;r@&2MZU5L5hL}HyT#z2|y(2mvVQUYijo*KRpZ3#D>mTo{| zWMe=KiCT_|aT(?!jbpT;Qq7EPfQ(3j9!9RmR^a;Aa4? S@H_vjkGBbfZ=t!VocIgm;23BC literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta new file mode 100644 index 000000000..16f296767 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a071d9faa273ab047939cccdcacddc55 +NativeFormatImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat b/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat new file mode 100644 index 0000000000000000000000000000000000000000..8302298a8d56d568b01bb6ed07d5d5500673b5e0 GIT binary patch literal 4216 zcmeHKOLH7G5SDq9@JIrLH*7+}8v}6?z!>8PUgAn6Sz^f5C3`jNp>}7CMr*vBrl{h; zKgorAxN)Y!kKn+8GjL_;uX{Asjzzd~*sj{0mim*r^{HE$QR>JIrH<_@r5>awJ(M~> zdtr7inNxp{$Kx4lKS94M+8LYbzFN_RQDhhc3Ar18rBV;jW0)0bFEia%nmIMtytehF z*>;!Gu4(smuTb|81QSB=^m?b`?7~_%b-7*JcZMd(vqc);u_n=59c@kKWG?n{7f;}) zm{Dkp!*<#?>z}Y64y*Pfo&?m^?zRj zgytdt_eVg5vuW0&)nC;EVH!Rm9AzobWoz|F$v<|3Hm|01W=YkY6zMmH`8YxVh%8m~ z?Hz4ZS3AwUN2PND!DMXg=&rFKLo_Dgp#TjvO2WedNZ5^#@JIx-M|qRm+T&$2`Z~AW zf)nr20FT7O#7#Po$n{DI9MW* zhFzWwfJ(KvT9SUQo!aNK1OO|g&I{z}9iIJ%Z31tlbou~!>NEH3o)TEmWJ=;`%{ zUDCIWcqMz^2tlRnbu$OvBn*gS@(ANut`CT}$O!T5LZ8guS#*(vQ`{kY-xhQY$FOGh zz7xSTBY(GYiSg0wJr_*kqo2&)xd=j7uJRW5;`snnsntobn)h=nR9^@|rEt*<_#$CA zSYQcri0b!XAo0OMpQQSIbdfNk{Lh2p0|pMC7a=cw`Oj%xugbc9JWdVR%pQ2vP5 bvyyHq{6v7mSMKKO(B(;@ez|>{uf%@U>y(jrBQ0#zU!JdkNSg_Z3tnVk~w#L+tk55~l+ z35sVfTs&xmn~4`p{2#oi2kZCE?6%W(>fNM6x-;MG@B4n=i``j5>LP^f`$-7d0W(a5 z+-$qm)}Co6fAaZ!2xOS@gRbNDuqirgxj9aHsK?~C#KQ$)WI-9oIi5A?uym8<2$G!` zPCjKR(Ql<$pG_w{vL%4~vs8t3A|ZHZENuyw$L0hBBd*g8`U%c5G?}2BIYQYYbpYQ4 zKOCqYfAsH4R)EL))W)FgzR;q3u=s z()|GB32r%)z&Hfyl})U=-fw^fKc$@0c@mXZ?En2>2`$K9r0A1pJ!7)f4!}(u0SMQr zDauKj3MzLG;uZ`YQE*0O?w(COFP?@@w=x#v(z`=SOQ|g=b>&ylyTh87%` zmwMM=K*%z+L*-T0Ls`d6~s$XTb1~fhLQ9j&%(3Kx z(9da5QpKb5nn#GK2>pU?q)rLtp7Y$rC&2Yl P+eY2>wTIpR_;vjS|F5`1 literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta new file mode 100644 index 000000000..9d4301298 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 6ba8c33ba732ee34290c79f1d69e0d55 +NativeFormatImporter: + userData: From bbb27ee2e31baab57b2333228eab1612d1579874 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Tue, 30 Sep 2014 01:20:37 -0700 Subject: [PATCH 15/91] [Unity] Forgot to merge scene and audio references --- .../Examples/Scenes/Basic Platformer.unity | Bin 46484 -> 51380 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity index d1e257f9fe07460f3d8a2c0a547230fe56e2dea0..ccef0743b09403b6a8ff0b0623e8de88d1b70a08 100644 GIT binary patch delta 5698 zcmcJTdu&tJ9mmg29O67^9g>g-g*XquKnM;`m#0Gl1WLdOj|Ij$8)6fKW4pGKCJ<`V z7Dgv%lOC8NZKGjqgRW2_xzi$*ZRw<`>9k4dw6y_BF|^gvma3tX){J#y-{1AU;aqBI z`=?hr_xgU$@BDth^ZlLs^2tw=Uh7USX6(5V#s*(wjHThX6-TzPVo}8c*8=vRd-v|; zbr)Ai#^{;4&!y<9q`EZz+o=;us#=@ezAe7iz#ivHwy(9tF94>8hYkE@X_@pGuU}Ut zZRFjl1v3PTm8{tjXmU9`9s$b3>f~XYPg3bCzIgoVRDF#ezRKIG3N6493lAH?(?*^@Xd}w9%EdEAQe)>kA z&o2*~M5puWT0?P<*|HDCqcwiw_J)`(;PwUFp$^$a4tFdm$gJ`C{T^pvqqEKF;Wrx! z5NAS0o!eXE4u%}wJx+edna#aRGSllE?F!>}mKalP4)6RLUSuiACC34u$K!Lk>U>R3 z*>?fulfAmb?+6ChxLnRXp`e^+A@M13z7Y|eUS~k;pF;iNcz**@3hdtL^E%^WA4xE& zDzCf65pw&y)vbXxrlSjuj>=TRrQGa{IBauxTAlo& zwIDlw?)Gl+`22CZGP28wb6;!de#dnF#+JM+RAMg{@VLA)Kno24=X$Tp?N#eJlVFxF z7}8J^dEWJaPJV}1F8G5&&5BQm{STpLD`tXDb4VwtoPs4#YOZELLZvEbXqKRqtlvDM z3G^}(Po!66LcQiE(rZCNy%v(^oe$_0^aq@drU%tp^#7@~STlL7s#3mtRSwTjo5&~T zrY2D9QO$saYAsEu)-s}*;_BjO(y}Q^BB@p+lxk%nsa7SF%1Ys)9d#u|Qh)SEo)4sO zb@zu^jj4>)V+QI~Q3KWo<^iKig4*7;y_1Z1Mm!1jvoQ?L=m zPEGoSTb@E|24mk5{B?o#g2j^#$7k0KI0iTfLwcG}`~2LgqJd1toWkHyFw;bJaD40? zun3qPcIu430E>Z%lWX4kEu;P+t%B|_U<6Q=0(Gu7$&3HasbJf$5a?G*}-cp4ua=wf;vn7wUIOa{6D8~g8&eocEZ+mpfZ3*M?+a38 zwzVHj^p^x?!n?ys+<)Y|9Np=X0S5rZAZsrlwB{FSxLiZxCJGhu`s{b~?B*fB6Gm>MJvY!FObGwEQXVBpo@K0wj%0HD598~7ktGng3UO69V(U0|o+TvFOqFcXYKf7iewU`E)` z`l9w8SZ|z#<%L6w=Q`kkVz>+E)ZPb+fl+^s(r$p+r^jpjFQxAPNP27CAedO=FTpG` zvLRam;Ol?WRU>1{BnFv@9m=$BIly(?w7z}xj zKiHlIW3#l%{B_~q);ER$#k#)(IP`$wyI>}~z}ewYT?@lt$H1&$YTzqigJ5Fdn;-RT z8wJ}2JGD%=z-s3(b{j0L!;V_f$c1f|a&0n3us$%cp2c8#yd2swMop#!tQpJ-rY2Jg zb{^f}0%}Qg z{Zn0nfd2W~AR(|pFgyBHsawHJ3$#Jnz?#9tAmx9*VDAE}SNv0qxnLt;bY{k<@hrGW#=dJS0q60I_8!Tex$^s9l_fenFK!PLODU>tA&EAz&k*nDs|s z{a~WQ9QVMI{o{ipHy+C8UB`{w(5chW#}JPl zn#T9>^y$gyrH$4G9qGe?j`S`_M|!|W{Oz+dqxxrZlFO5Tbi}cdX+!)cqfZM8sz<9; z{ygWSS4tU@PlTzrjOG45`D+trFq%pCdJ%v4O5hz3rd)kek->sHUm0c3A=TrIP zJQJTYloK@xEH6bq zS2H^jK%E`E1go=KtNhP5K0A7o*32$Ro*iMD-9(D_P0o(r?#ztZpTGT(^boK6@s~Ly z0Bv+5q$3H=ZKp%h!~FNBe`ur&o-kF6jx;x_!1%nR&K&;7aAq{}lE+{oXKKA^iKvQ@ p7gB`!HsC*2RSkK8(alFyL??%rI*luck|6lZ`ep@*-oA7`<-g@QniBv3 delta 3198 zcmZA2drXye7{Kx0QIx|?Nf9Y89KiIXhzIdPW!p=6Il8ut=|Z#Z)JzY`6h#RFd(l#% zRvmlMv6XuIODpiQQ;RLySgnm(ZRej9??=pa%35SD$u9Ig@V@T(x$zt4_u+S*=Xsy! z_l}PbjBLFzB2TG?ElPdTs+3CMbBNz+UeWxbk_{#5zrn%5>;rj4uF0oYE=r4hmho#@ zWbE4fTvtbAZv8cvxv_TRxQb+@w(%X8y@FU2Tg5)fUX_^FtyF;hM0;(*nlXcYnY}h+ zJ=iq%6gITteaEuiSZTVRcoP=F0wi|2uo>&e49w|5 z73Rxuk__kA+p(db0+TuRnP3!@0rz9RF?zsetQwPTZNb_wIi_>#Yo_;OGRb)?I9AVb z0qem`S@lKGovA0eg!wR;q^YKKMl-gHCwAt!8*|^M)H*E5UVE@0_9Xj%?Qy<}bz;@n zKZAqj(2QRLz2o!>_hQYMeB$;co;jy5Irk1MXS`nE39K3mki;3&Ni2%Vc)3xt+&2Kq zc6p-ZzUnMJU>??k$$Ku|{!j%JW^17(CV*5pXIN#@35-xtKd=xM=5XI@0;+q9EqHie{psqhK#6XB@_S z_Ya%%dcKb}V~HeAKv(g2qaSkuCgP320uLzF%I7M3jl>2pnPX{JgK4asq_=-rSA)@m z1^A*fJ3r=~thahO7Q|$$S70GbCK>%g`Qvd+jyM?$OiARR|4tG&*bN#aF0)q(rl#si zQZX+klho~sEN;T&#jMBT_ndnfGjhelCFb7%hC%rx=ZYU)+JhbB@6M$;j|Dt>;tN=Ww}HelO2_K9^FGjsBW4`cy}bp>q05;OkWerNw2@%1v5ug~~4 zR*fYBCE05Li(&@*x9#;8mRX=w7yCPQyjR*o{wT&s%)3u#f__>M;Gi>-ChRz7U}g5& zjm0s3?*4<>gJnLbcjo(fKQ0eqa_(oan0Ai-p9M>&>xp}@HcTcyhxKAI@zv{XtJMsp zR#S}2UVT^v_6z$Yd*#O4SNpwsF&?bj1m#7_19KkIi^<38FoR%D7YeXWOcqny`^}md zCNJSjn1808qYevW0pgiXtLs5EOAq+Y^t5Nam<(uPAxswCip8-+KquZo%wMR-n^{$` zt{M{~G1V+E4$6Rqm@!)qI2#LN21%SQ6k#z;c47PY6#;jVmPFNHO_yOPx+J4YzT1>j ztXDl63t_UrWUL=E_@2`RH|CqG7np)oVDgCB=zPSNHP&|9J(T#7YeGVwAj zhRMW!%rj3<{K1*CHGWJc`4H>IWHBFMIrDk{Ws-KVZoZzR1M9?O`!B0mwJ}Uy%qy6G zfu1CWg)y1qDy9}X@#ue^QmXH*K%Ezq0k2^pOji8^7RO}3>zKdP2{;@tt8!m`H72_- z0gGcYUiKo;cvufO5es7mg*h|M!D5)~LWXr{|9NX)bA@%QxzJkBGTAa(k|O0TYm=?U zH`60c2eL+5@4cQL@f^A}+U2$;9Dd5mI-KcBwRRrfnw&;(PnyRnZkc2qc_ZKQ9+?*T v_UOPESGx7piQ87y=kBD$g|?z6cepaFC8yrC7Pe#!#r2%7%8aCcd3@CWiNGXF From 272873d2e28328d0ca514e9633efce311bd54a19 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 30 Sep 2014 12:50:09 +0200 Subject: [PATCH 16/91] spine-as3, fixed IK constraint timeline mix. --- spine-as3/spine-as3/src/spine/SkeletonJson.as | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index 385b56536..d5b6ebd06 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -126,7 +126,7 @@ public class SkeletonJson { if (!ikConstraintData.target) throw new Error("Target bone not found: " + ikMap["target"]); ikConstraintData.bendDirection = (!ikMap.hasOwnProperty("bendPositive") || ikMap["bendPositive"]) ? 1 : -1; - ikConstraintData.mix = ikMap["mix"] || 1; + ikConstraintData.mix = ikMap.hasOwnProperty("mix") ? ikMap["mix"] : 1; skeletonData.ikConstraints[skeletonData.ikConstraints.length] = ikConstraintData; } @@ -401,7 +401,7 @@ public class SkeletonJson { ikTimeline.ikConstraintIndex = skeletonData.ikConstraints.indexOf(ikConstraint); frameIndex = 0; for each (valueMap in values) { - var mix:Number = valueMap["mix"] || 1; + var mix:Number = valueMap.hasOwnProperty("mix") ? valueMap["mix"] : 1; var bendDirection:int = (!valueMap.hasOwnProperty("bendPositive") || valueMap["bendPositive"]) ? 1 : -1; ikTimeline.setFrame(frameIndex, valueMap["time"], mix, bendDirection); readCurve(ikTimeline, frameIndex, valueMap); From 41e8f6733134279f6d98c2929065b7f2fb2e7aaf Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 00:41:27 +0200 Subject: [PATCH 17/91] Docs --- spine-unity/README.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/spine-unity/README.md b/spine-unity/README.md index 278dd49b1..1d537fee1 100644 --- a/spine-unity/README.md +++ b/spine-unity/README.md @@ -2,17 +2,31 @@ The spine-unity runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unity](http://unity3d.com/) directly, without any other plugins. spine-unity is based on [spine-csharp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-csharp) and is very similar to [spine-tk2d](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-tk2d). -A Spine skeleton is a GameObject and can be used throughout Unity like any other GameObject. The `BoneComponent` class allows other GameObjects to follow a bone in a Spine skeleton. +A Spine skeleton is a GameObject and can be used throughout Unity like any other GameObject. It depends only on Unity's `MeshRenderer`, so it is close to the metal. `SkeletonUtility` allows other GameObjects to interact with the Spine skeleton, to control bones in the skeleton, be controlled by the skeleton, attach colliders, etc. -## Setup +## Documentation -To use spine-unity in your own Unity project first: +The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use spine-unity features. + +## Quick installation + +Download and run this Unity package: + +[spine-unity.unitypackage](http://esotericsoftware.com/files/runtimes/unity/spine-unity.unitypackage) + +In the `Examples/Scenes` folder you will find many example scenes that demonstrate various spine-unity features. + +## Manual installation + +You can also choose to setup and run from the Git files: 1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip). 1. Copy the contents of `spine-csharp/src` to `Assets/spine-csharp` in your Unity project directory. 1. Copy the `spine-unity/Assets/spine-unity` to `Assets/spine-unity` in your Unity project directory. -Next, there are a few options for importing Spine skeletons into your Unity project: +## Importing skeleton data + +There are a few options for importing Spine skeletons into your Unity project: ### Drag and drop import From 53437a615951b768c4d19000db61b88ad82ad750 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 01:31:52 +0200 Subject: [PATCH 18/91] Fixed FfdTimeline for spine-c. --- spine-as3/spine-as3/src/spine/animation/FfdTimeline.as | 2 +- spine-c/src/spine/Animation.c | 4 ++-- spine-csharp/src/Animation.cs | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as index 1f9c323ea..532a1c799 100644 --- a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as @@ -66,7 +66,7 @@ public class FfdTimeline extends CurveTimeline { var vertexCount:int = frameVertices[0].length; var vertices:Vector. = slot.attachmentVertices; - if (vertices.length != vertexCount) alpha = 1; + if (vertices.length != vertexCount) alpha = 1; // Don't mix from uninitialized slot vertices. vertices.length = vertexCount; var i:int; diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index 755da5738..e4f261eed 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -664,15 +664,15 @@ void _spFFDTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, flo return; /* Time is before first frame. */ } - if (slot->attachmentVerticesCount == 0) alpha = 1; + if (slot->attachmentVerticesCount != self->frameVerticesCount) alpha = 1; // Don't mix from uninitialized slot vertices. if (slot->attachmentVerticesCount < self->frameVerticesCount) { if (slot->attachmentVerticesCapacity < self->frameVerticesCount) { FREE(slot->attachmentVertices); slot->attachmentVertices = MALLOC(float, self->frameVerticesCount); slot->attachmentVerticesCapacity = self->frameVerticesCount; } - slot->attachmentVerticesCount = self->frameVerticesCount; } + slot->attachmentVerticesCount = self->frameVerticesCount; if (time >= self->frames[self->framesCount - 1]) { /* Time is after last frame. */ diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index 2fdbebc5d..112a445a5 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -580,7 +580,7 @@ namespace Spine { int vertexCount = frameVertices[0].Length; float[] vertices = slot.attachmentVertices; - if (vertices.Length != vertexCount) alpha = 1; + if (vertices.Length != vertexCount) alpha = 1; // Don't mix from uninitialized slot vertices. if (vertices.Length < vertexCount) { vertices = new float[vertexCount]; slot.attachmentVertices = vertices; From b02e4acabf2714cf77d703b87c3780a8b96f45e0 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Tue, 30 Sep 2014 16:39:03 -0700 Subject: [PATCH 19/91] [Unity Bugfix] Fixed auto 2048x2048 import and now check for ancient atlas page size == 0 --- spine-unity/Assets/spine-unity/AtlasAsset.cs | 10 ++++++++-- .../Assets/spine-unity/Editor/SpineEditorUtilities.cs | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/spine-unity/Assets/spine-unity/AtlasAsset.cs b/spine-unity/Assets/spine-unity/AtlasAsset.cs index 5ec092ada..a76839407 100644 --- a/spine-unity/Assets/spine-unity/AtlasAsset.cs +++ b/spine-unity/Assets/spine-unity/AtlasAsset.cs @@ -96,8 +96,14 @@ public class MaterialsTextureLoader : TextureLoader { return; } page.rendererObject = material; - page.width = material.mainTexture.width; - page.height = material.mainTexture.height; + + //deal with really, really old atlas files + if (page.width == 0 || page.height == 0) + { + page.width = material.mainTexture.width; + page.height = material.mainTexture.height; + } + } public void Unload (object texture) { diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index e62bff4af..e3afbb71a 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -398,8 +398,8 @@ public class SpineEditorUtilities : AssetPostprocessor { TextureImporter texImporter = (TextureImporter)TextureImporter.GetAtPath(texturePath); texImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; texImporter.mipmapEnabled = false; - //TODO: Get actual size from atlas data texImporter.maxTextureSize = 2048; + EditorUtility.SetDirty(texImporter); AssetDatabase.ImportAsset(texturePath); AssetDatabase.SaveAssets(); From 6f0343d183605b84beb8def822482abcf15faa6f Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:03:13 +0200 Subject: [PATCH 20/91] Fixed long->int warnings. --- spine-c/src/spine/Atlas.c | 10 +++++----- spine-c/src/spine/SkeletonJson.c | 4 ++-- spine-c/src/spine/extension.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/spine-c/src/spine/Atlas.c b/spine-c/src/spine/Atlas.c index d51cc945a..f202c5dac 100644 --- a/spine-c/src/spine/Atlas.c +++ b/spine-c/src/spine/Atlas.c @@ -137,7 +137,7 @@ static int readTuple (const char* end, Str tuple[]) { } static char* mallocString (Str* str) { - int length = str->end - str->begin; + int length = (int)(str->end - str->begin); char* string = MALLOC(char, length + 1); memcpy(string, str->begin, length); string[length] = '\0'; @@ -145,7 +145,7 @@ static char* mallocString (Str* str) { } static int indexOf (const char** array, int count, Str* str) { - int length = str->end - str->begin; + int length = (int)(str->end - str->begin); int i; for (i = count - 1; i >= 0; i--) if (strncmp(array[i], str->begin, length) == 0) return i; @@ -157,7 +157,7 @@ static int equals (Str* str, const char* other) { } static int toInt (Str* str) { - return strtol(str->begin, (char**)&str->end, 10); + return (int)strtol(str->begin, (char**)&str->end, 10); } static spAtlas* abortAtlas (spAtlas* self) { @@ -174,7 +174,7 @@ spAtlas* spAtlas_create (const char* begin, int length, const char* dir, void* r int count; const char* end = begin + length; - int dirLength = strlen(dir); + int dirLength = (int)strlen(dir); int needsSlash = dirLength > 0 && dir[dirLength - 1] != '/' && dir[dirLength - 1] != '\\'; spAtlasPage *page = 0; @@ -307,7 +307,7 @@ spAtlas* spAtlas_createFromFile (const char* path, void* rendererObject) { const char* lastBackwardSlash = strrchr(path, '\\'); const char* lastSlash = lastForwardSlash > lastBackwardSlash ? lastForwardSlash : lastBackwardSlash; if (lastSlash == path) lastSlash++; /* Never drop starting slash. */ - dirLength = lastSlash ? lastSlash - path : 0; + dirLength = (int)(lastSlash ? lastSlash - path : 0); dir = MALLOC(char, dirLength + 1); memcpy(dir, path, dirLength); dir[dirLength] = '\0'; diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 09a0cc04d..4fd5615cd 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -64,7 +64,7 @@ void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* val int length; FREE(self->error); strcpy(message, value1); - length = strlen(value1); + length = (int)strlen(value1); if (value2) strncat(message + length, value2, 256 - length); MALLOC_STR(self->error, message); if (root) Json_dispose(root); @@ -81,7 +81,7 @@ static float toColor (const char* value, int index) { digits[0] = *value; digits[1] = *(value + 1); digits[2] = '\0'; - color = strtoul(digits, &error, 16); + color = (int)strtoul(digits, &error, 16); if (*error != 0) return -1; return color / (float)255; } diff --git a/spine-c/src/spine/extension.c b/spine-c/src/spine/extension.c index 7920491e8..f45bb2d26 100644 --- a/spine-c/src/spine/extension.c +++ b/spine-c/src/spine/extension.c @@ -67,7 +67,7 @@ char* _readFile (const char* path, int* length) { if (!file) return 0; fseek(file, 0, SEEK_END); - *length = ftell(file); + *length = (int)ftell(file); fseek(file, 0, SEEK_SET); data = MALLOC(char, *length); From 5874b5d276a692f94dc32c634c9b2668954d8962 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:03:26 +0200 Subject: [PATCH 21/91] Formatting. --- .../3.0/src/spine/SkeletonRenderer.m | 71 +++++++++---------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m index b4ab82425..22bbb9244 100755 --- a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m @@ -66,14 +66,14 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; _skeleton = spSkeleton_create(skeletonData); _rootBone = _skeleton->bones[0]; - - _blendFunc.src = GL_ONE; - _blendFunc.dst = GL_ONE_MINUS_SRC_ALPHA; - _drawNode = [[CCDrawNode alloc] init]; - [_drawNode setBlendMode: [CCBlendMode premultipliedAlphaMode]]; - [self addChild:_drawNode]; - - [self setShader:[CCShader positionTextureColorShader]]; + + _blendFunc.src = GL_ONE; + _blendFunc.dst = GL_ONE_MINUS_SRC_ALPHA; + _drawNode = [[CCDrawNode alloc] init]; + [_drawNode setBlendMode: [CCBlendMode premultipliedAlphaMode]]; + [self addChild:_drawNode]; + + [self setShader:[CCShader positionTextureColorShader]]; } - (id) initWithData:(spSkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { @@ -124,7 +124,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; } - (void) dealloc { - if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data); if (_atlas) spAtlas_dispose(_atlas); spSkeleton_dispose(_skeleton); @@ -133,7 +132,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; } -(void)draw:(CCRenderer *)renderer transform:(const GLKMatrix4 *)transform { - CCColor* nodeColor = self.color; _skeleton->r = nodeColor.red; _skeleton->g = nodeColor.green; @@ -148,7 +146,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; int trianglesCount = 0; float r = 0, g = 0, b = 0, a = 0; for (int i = 0, n = _skeleton->slotsCount; i < n; i++) { - spSlot* slot = _skeleton->drawOrder[i]; if (!slot->attachment) continue; CCTexture *texture = 0; @@ -168,7 +165,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; break; } case SP_ATTACHMENT_MESH: { - spMeshAttachment* attachment = (spMeshAttachment*)slot->attachment; spMeshAttachment_computeWorldVertices(attachment, slot, worldVertices); texture = [self getTextureForMesh:attachment]; @@ -183,7 +179,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; break; } case SP_ATTACHMENT_SKINNED_MESH: { - spSkinnedMeshAttachment* attachment = (spSkinnedMeshAttachment*)slot->attachment; spSkinnedMeshAttachment_computeWorldVertices(attachment, slot, worldVertices); texture = [self getTextureForSkinnedMesh:attachment]; @@ -201,7 +196,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; } if (texture) { if (slot->data->additiveBlending != additive) { - [self setBlendMode:[CCBlendMode blendModeWithOptions:@{CCBlendFuncSrcColor: @(_blendFunc.src),CCBlendFuncDstColor: @(slot->data->additiveBlending ? GL_ONE : _blendFunc.dst)}]]; + [self setBlendMode:[CCBlendMode blendModeWithOptions:@{CCBlendFuncSrcColor: @(_blendFunc.src),CCBlendFuncDstColor: @(slot->data->additiveBlending ? GL_ONE : _blendFunc.dst)}]]; additive = slot->data->additiveBlending; } color.a = _skeleton->a * slot->a * a * 255; @@ -209,27 +204,26 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; color.r = _skeleton->r * slot->r * r * multiplier; color.g = _skeleton->g * slot->g * g * multiplier; color.b = _skeleton->b * slot->b * b * multiplier; - self.texture = texture; - CGSize size = texture.contentSize; - GLKVector2 center = GLKVector2Make(size.width/2.0, size.height/2.0); - GLKVector2 extents = GLKVector2Make(size.width/2.0, size.height/2.0); - if(CCRenderCheckVisbility(transform, center, extents)){ - CCRenderBuffer buffer = [renderer enqueueTriangles:trianglesCount/3 andVertexes:verticesCount withState:self.renderState globalSortOrder:0]; - for(int i = 0; (i*2) < verticesCount; ++i) { - CCVertex vertex; - vertex.position = GLKVector4Make(worldVertices[i*2], worldVertices[i*2 + 1], 0.0, 1.0); - vertex.color = GLKVector4Make(color.r, color.g, color.b, color.a); - vertex.texCoord1 = GLKVector2Make(uvs[i*2], 1 - uvs[(i*2) +1]); - CCRenderBufferSetVertex(buffer, i, CCVertexApplyTransform(vertex, transform)); - } - for(int j = 0; j*3 < trianglesCount; ++j) { - CCRenderBufferSetTriangle(buffer, j, triangles[j*3], triangles[(j*3) + 1], triangles[(j*3) + 2]); - } - } + self.texture = texture; + CGSize size = texture.contentSize; + GLKVector2 center = GLKVector2Make(size.width / 2.0, size.height / 2.0); + GLKVector2 extents = GLKVector2Make(size.width / 2.0, size.height / 2.0); + if (CCRenderCheckVisbility(transform, center, extents)) { + CCRenderBuffer buffer = [renderer enqueueTriangles:(trianglesCount / 3) andVertexes:verticesCount withState:self.renderState globalSortOrder:0]; + for (int i = 0; i * 2 < verticesCount; ++i) { + CCVertex vertex; + vertex.position = GLKVector4Make(worldVertices[i * 2], worldVertices[i * 2 + 1], 0.0, 1.0); + vertex.color = GLKVector4Make(color.r, color.g, color.b, color.a); + vertex.texCoord1 = GLKVector2Make(uvs[i * 2], 1 - uvs[i * 2 + 1]); + CCRenderBufferSetVertex(buffer, i, CCVertexApplyTransform(vertex, transform)); + } + for (int j = 0; j * 3 < trianglesCount; ++j) { + CCRenderBufferSetTriangle(buffer, j, triangles[j * 3], triangles[j * 3 + 1], triangles[j * 3 + 2]); + } + } } - } - [_drawNode clear]; + [_drawNode clear]; if (_debugSlots) { // Slots. CGPoint points[4]; @@ -242,8 +236,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; points[1] = ccp(worldVertices[2], worldVertices[3]); points[2] = ccp(worldVertices[4], worldVertices[5]); points[3] = ccp(worldVertices[6], worldVertices[7]); - [_drawNode drawPolyWithVerts:points count:4 fillColor:[CCColor clearColor] borderWidth:1 borderColor:[CCColor blueColor]]; - + [_drawNode drawPolyWithVerts:points count:4 fillColor:[CCColor clearColor] borderWidth:1 borderColor:[CCColor blueColor]]; } } if (_debugBones) { @@ -252,14 +245,14 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; spBone *bone = _skeleton->bones[i]; float x = bone->data->length * bone->m00 + bone->worldX; float y = bone->data->length * bone->m10 + bone->worldY; - [_drawNode drawSegmentFrom:ccp(bone->worldX, bone->worldY) to: ccp(x, y)radius:2 color:[CCColor redColor]]; + [_drawNode drawSegmentFrom:ccp(bone->worldX, bone->worldY) to: ccp(x, y)radius:2 color:[CCColor redColor]]; } - + // Bone origins. for (int i = 0, n = _skeleton->bonesCount; i < n; i++) { spBone *bone = _skeleton->bones[i]; - [_drawNode drawDot:ccp(bone->worldX, bone->worldY) radius:4 color:[CCColor greenColor]]; - if (i == 0) [_drawNode drawDot:ccp(bone->worldX, bone->worldY) radius:4 color:[CCColor blueColor]]; + [_drawNode drawDot:ccp(bone->worldX, bone->worldY) radius:4 color:[CCColor greenColor]]; + if (i == 0) [_drawNode drawDot:ccp(bone->worldX, bone->worldY) radius:4 color:[CCColor blueColor]]; } } } From 7fde649d8c53b4bf0bcc914458bbd5b7126fa3ec Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:03:41 +0200 Subject: [PATCH 22/91] Added getter for skinName. --- spine-as3/spine-as3/src/spine/Skeleton.as | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spine-as3/spine-as3/src/spine/Skeleton.as b/spine-as3/spine-as3/src/spine/Skeleton.as index 2ed29df15..eba5d3b69 100644 --- a/spine-as3/spine-as3/src/spine/Skeleton.as +++ b/spine-as3/spine-as3/src/spine/Skeleton.as @@ -209,6 +209,11 @@ public class Skeleton { this.skin = skin; } + /** @return May be null. */ + public function get skinName () : String { + return _skin == null ? null : _skin._name; + } + /** Sets the skin used to look up attachments not found in the {@link SkeletonData#getDefaultSkin() default skin}. Attachments * from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no old skin, * each slot's setup mode attachment is attached from the new skin. From 22007bd10f83a0cdfc35a86332e1dc921f5f2aac Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:03:58 +0200 Subject: [PATCH 23/91] Removed OSX project. --- .../project.pbxproj | 676 ------------------ .../contents.xcworkspacedata | 7 - 2 files changed, 683 deletions(-) delete mode 100644 spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.pbxproj delete mode 100644 spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.pbxproj deleted file mode 100644 index 5e38e24e3..000000000 --- a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.pbxproj +++ /dev/null @@ -1,676 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 43BFBE0F170A778A00ECBACB /* spine-cocos2d-iphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 43C32A1B170B1295004A9460 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A11170B1295004A9460 /* AppDelegate.m */; }; - 43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A13170B1295004A9460 /* InfoPlist.strings */; }; - 43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A15170B1295004A9460 /* MainMenu.xib */; }; - 43C32A1E170B1295004A9460 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A17170B1295004A9460 /* icon.icns */; }; - 43C32A20170B1295004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A19170B1295004A9460 /* main.m */; }; - 43C32A36170D0A4D004A9460 /* spineboy.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A30170D0A4D004A9460 /* spineboy.atlas */; }; - 43C32A37170D0A4D004A9460 /* spineboy.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A31170D0A4D004A9460 /* spineboy.json */; }; - 43C32A38170D0A4D004A9460 /* spineboy.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A32170D0A4D004A9460 /* spineboy.png */; }; - 43F7FD711927C31700CA4038 /* Animation.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD581927C31700CA4038 /* Animation.c */; }; - 43F7FD721927C31700CA4038 /* AnimationState.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD591927C31700CA4038 /* AnimationState.c */; }; - 43F7FD731927C31700CA4038 /* AnimationStateData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */; }; - 43F7FD741927C31700CA4038 /* Atlas.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5B1927C31700CA4038 /* Atlas.c */; }; - 43F7FD751927C31700CA4038 /* AtlasAttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */; }; - 43F7FD761927C31700CA4038 /* Attachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5D1927C31700CA4038 /* Attachment.c */; }; - 43F7FD771927C31700CA4038 /* AttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */; }; - 43F7FD781927C31700CA4038 /* Bone.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5F1927C31700CA4038 /* Bone.c */; }; - 43F7FD791927C31700CA4038 /* BoneData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD601927C31700CA4038 /* BoneData.c */; }; - 43F7FD7A1927C31700CA4038 /* BoundingBoxAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */; }; - 43F7FD7B1927C31700CA4038 /* Event.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD621927C31700CA4038 /* Event.c */; }; - 43F7FD7C1927C31700CA4038 /* EventData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD631927C31700CA4038 /* EventData.c */; }; - 43F7FD7D1927C31700CA4038 /* extension.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD641927C31700CA4038 /* extension.c */; }; - 43F7FD7E1927C31700CA4038 /* Json.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD651927C31700CA4038 /* Json.c */; }; - 43F7FD7F1927C31700CA4038 /* MeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD671927C31700CA4038 /* MeshAttachment.c */; }; - 43F7FD801927C31700CA4038 /* RegionAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD681927C31700CA4038 /* RegionAttachment.c */; }; - 43F7FD811927C31700CA4038 /* Skeleton.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD691927C31700CA4038 /* Skeleton.c */; }; - 43F7FD821927C31700CA4038 /* SkeletonBounds.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */; }; - 43F7FD831927C31700CA4038 /* SkeletonData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6B1927C31700CA4038 /* SkeletonData.c */; }; - 43F7FD841927C31700CA4038 /* SkeletonJson.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */; }; - 43F7FD851927C31700CA4038 /* Skin.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6D1927C31700CA4038 /* Skin.c */; }; - 43F7FD861927C31700CA4038 /* SkinnedMeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */; }; - 43F7FD871927C31700CA4038 /* Slot.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6F1927C31700CA4038 /* Slot.c */; }; - 43F7FD881927C31700CA4038 /* SlotData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD701927C31700CA4038 /* SlotData.c */; }; - 43F7FDA81927C33C00CA4038 /* SkeletonAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 43F7FDA91927C33C00CA4038 /* SkeletonRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 43F7FDAC1927C34600CA4038 /* SpineboyExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */; }; - 43F7FDB01927C35600CA4038 /* goblins-ffd.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */; }; - 43F7FDB11927C35600CA4038 /* goblins-ffd.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */; }; - 43F7FDB21927C35600CA4038 /* goblins-ffd.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */; }; - 43F7FDB51927D04200CA4038 /* GoblinsExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDB41927D04200CA4038 /* GoblinsExample.m */; }; - 83F1A0E319868B46001F6B44 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83F1A0E219868B46001F6B44 /* GLKit.framework */; }; - A2BD1E68192A41C100405470 /* libcocos2d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E63192A417300405470 /* libcocos2d.a */; }; - A2BD1E73192A47A000405470 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E6C192A47A000405470 /* AVFoundation.framework */; }; - A2BD1E74192A47A000405470 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E6D192A47A000405470 /* QuartzCore.framework */; }; - A2BD1E75192A47A000405470 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E6E192A47A000405470 /* OpenGL.framework */; }; - A2BD1E76192A47A000405470 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E6F192A47A000405470 /* OpenAL.framework */; }; - A2BD1E77192A47A000405470 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E70192A47A000405470 /* AudioToolbox.framework */; }; - A2BD1E78192A47A000405470 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E71192A47A000405470 /* AppKit.framework */; }; - A2BD1E79192A47A000405470 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BD1E72192A47A000405470 /* Foundation.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - A2BD1E62192A417300405470 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A2BD1E5C192A417300405470 /* cocos2d-osx.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = E01E663D121CA00A001A484F; - remoteInfo = cocos2d; - }; - A2BD1E66192A417300405470 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A2BD1E5C192A417300405470 /* cocos2d-osx.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D37EE9FC187D4E7700CB5EF2; - remoteInfo = ObjectiveChipmunk; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 4319B51316FF9B2600C1D7A9 /* SpineExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SpineExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "spine-cocos2d-iphone.m"; path = "src/spine/spine-cocos2d-iphone.m"; sourceTree = ""; }; - 43BFBE0E170A778A00ECBACB /* spine-cocos2d-iphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "spine-cocos2d-iphone.h"; path = "src/spine/spine-cocos2d-iphone.h"; sourceTree = ""; }; - 43C32A10170B1295004A9460 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "../Resources-mac/AppDelegate.h"; sourceTree = ""; }; - 43C32A11170B1295004A9460 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "../Resources-mac/AppDelegate.m"; sourceTree = ""; }; - 43C32A14170B1295004A9460 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = InfoPlist.strings; sourceTree = ""; }; - 43C32A16170B1295004A9460 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = MainMenu.xib; sourceTree = ""; }; - 43C32A17170B1295004A9460 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = icon.icns; path = "Resources-mac/icon.icns"; sourceTree = ""; }; - 43C32A18170B1295004A9460 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Resources-mac/Info.plist"; sourceTree = ""; }; - 43C32A19170B1295004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Resources-mac/main.m"; sourceTree = ""; }; - 43C32A1A170B1295004A9460 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "../Resources-mac/Prefix.pch"; sourceTree = ""; }; - 43C32A30170D0A4D004A9460 /* spineboy.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = spineboy.atlas; sourceTree = ""; }; - 43C32A31170D0A4D004A9460 /* spineboy.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = spineboy.json; sourceTree = ""; }; - 43C32A32170D0A4D004A9460 /* spineboy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = spineboy.png; sourceTree = ""; }; - 43F7FD581927C31700CA4038 /* Animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Animation.c; path = "../../spine-c/src/spine/Animation.c"; sourceTree = ""; }; - 43F7FD591927C31700CA4038 /* AnimationState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationState.c; path = "../../spine-c/src/spine/AnimationState.c"; sourceTree = ""; }; - 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationStateData.c; path = "../../spine-c/src/spine/AnimationStateData.c"; sourceTree = ""; }; - 43F7FD5B1927C31700CA4038 /* Atlas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Atlas.c; path = "../../spine-c/src/spine/Atlas.c"; sourceTree = ""; }; - 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AtlasAttachmentLoader.c; path = "../../spine-c/src/spine/AtlasAttachmentLoader.c"; sourceTree = ""; }; - 43F7FD5D1927C31700CA4038 /* Attachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Attachment.c; path = "../../spine-c/src/spine/Attachment.c"; sourceTree = ""; }; - 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AttachmentLoader.c; path = "../../spine-c/src/spine/AttachmentLoader.c"; sourceTree = ""; }; - 43F7FD5F1927C31700CA4038 /* Bone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Bone.c; path = "../../spine-c/src/spine/Bone.c"; sourceTree = ""; }; - 43F7FD601927C31700CA4038 /* BoneData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoneData.c; path = "../../spine-c/src/spine/BoneData.c"; sourceTree = ""; }; - 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoundingBoxAttachment.c; path = "../../spine-c/src/spine/BoundingBoxAttachment.c"; sourceTree = ""; }; - 43F7FD621927C31700CA4038 /* Event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Event.c; path = "../../spine-c/src/spine/Event.c"; sourceTree = ""; }; - 43F7FD631927C31700CA4038 /* EventData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = EventData.c; path = "../../spine-c/src/spine/EventData.c"; sourceTree = ""; }; - 43F7FD641927C31700CA4038 /* extension.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = extension.c; path = "../../spine-c/src/spine/extension.c"; sourceTree = ""; }; - 43F7FD651927C31700CA4038 /* Json.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Json.c; path = "../../spine-c/src/spine/Json.c"; sourceTree = ""; }; - 43F7FD661927C31700CA4038 /* Json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Json.h; path = "../../spine-c/src/spine/Json.h"; sourceTree = ""; }; - 43F7FD671927C31700CA4038 /* MeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = MeshAttachment.c; path = "../../spine-c/src/spine/MeshAttachment.c"; sourceTree = ""; }; - 43F7FD681927C31700CA4038 /* RegionAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = RegionAttachment.c; path = "../../spine-c/src/spine/RegionAttachment.c"; sourceTree = ""; }; - 43F7FD691927C31700CA4038 /* Skeleton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skeleton.c; path = "../../spine-c/src/spine/Skeleton.c"; sourceTree = ""; }; - 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonBounds.c; path = "../../spine-c/src/spine/SkeletonBounds.c"; sourceTree = ""; }; - 43F7FD6B1927C31700CA4038 /* SkeletonData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonData.c; path = "../../spine-c/src/spine/SkeletonData.c"; sourceTree = ""; }; - 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonJson.c; path = "../../spine-c/src/spine/SkeletonJson.c"; sourceTree = ""; }; - 43F7FD6D1927C31700CA4038 /* Skin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skin.c; path = "../../spine-c/src/spine/Skin.c"; sourceTree = ""; }; - 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkinnedMeshAttachment.c; path = "../../spine-c/src/spine/SkinnedMeshAttachment.c"; sourceTree = ""; }; - 43F7FD6F1927C31700CA4038 /* Slot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Slot.c; path = "../../spine-c/src/spine/Slot.c"; sourceTree = ""; }; - 43F7FD701927C31700CA4038 /* SlotData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SlotData.c; path = "../../spine-c/src/spine/SlotData.c"; sourceTree = ""; }; - 43F7FD891927C32800CA4038 /* Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Animation.h; path = "../../spine-c/include/spine/Animation.h"; sourceTree = ""; }; - 43F7FD8A1927C32800CA4038 /* AnimationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationState.h; path = "../../spine-c/include/spine/AnimationState.h"; sourceTree = ""; }; - 43F7FD8B1927C32800CA4038 /* AnimationStateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationStateData.h; path = "../../spine-c/include/spine/AnimationStateData.h"; sourceTree = ""; }; - 43F7FD8C1927C32800CA4038 /* Atlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Atlas.h; path = "../../spine-c/include/spine/Atlas.h"; sourceTree = ""; }; - 43F7FD8D1927C32800CA4038 /* AtlasAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtlasAttachmentLoader.h; path = "../../spine-c/include/spine/AtlasAttachmentLoader.h"; sourceTree = ""; }; - 43F7FD8E1927C32800CA4038 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Attachment.h; path = "../../spine-c/include/spine/Attachment.h"; sourceTree = ""; }; - 43F7FD8F1927C32800CA4038 /* AttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttachmentLoader.h; path = "../../spine-c/include/spine/AttachmentLoader.h"; sourceTree = ""; }; - 43F7FD901927C32800CA4038 /* Bone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bone.h; path = "../../spine-c/include/spine/Bone.h"; sourceTree = ""; }; - 43F7FD911927C32800CA4038 /* BoneData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoneData.h; path = "../../spine-c/include/spine/BoneData.h"; sourceTree = ""; }; - 43F7FD921927C32800CA4038 /* BoundingBoxAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoundingBoxAttachment.h; path = "../../spine-c/include/spine/BoundingBoxAttachment.h"; sourceTree = ""; }; - 43F7FD931927C32800CA4038 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = "../../spine-c/include/spine/Event.h"; sourceTree = ""; }; - 43F7FD941927C32800CA4038 /* EventData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventData.h; path = "../../spine-c/include/spine/EventData.h"; sourceTree = ""; }; - 43F7FD951927C32800CA4038 /* extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = extension.h; path = "../../spine-c/include/spine/extension.h"; sourceTree = ""; }; - 43F7FD961927C32800CA4038 /* MeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshAttachment.h; path = "../../spine-c/include/spine/MeshAttachment.h"; sourceTree = ""; }; - 43F7FD971927C32800CA4038 /* RegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegionAttachment.h; path = "../../spine-c/include/spine/RegionAttachment.h"; sourceTree = ""; }; - 43F7FD981927C32800CA4038 /* Skeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skeleton.h; path = "../../spine-c/include/spine/Skeleton.h"; sourceTree = ""; }; - 43F7FD991927C32800CA4038 /* SkeletonBounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonBounds.h; path = "../../spine-c/include/spine/SkeletonBounds.h"; sourceTree = ""; }; - 43F7FD9A1927C32800CA4038 /* SkeletonData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonData.h; path = "../../spine-c/include/spine/SkeletonData.h"; sourceTree = ""; }; - 43F7FD9B1927C32800CA4038 /* SkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonJson.h; path = "../../spine-c/include/spine/SkeletonJson.h"; sourceTree = ""; }; - 43F7FD9C1927C32800CA4038 /* Skin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skin.h; path = "../../spine-c/include/spine/Skin.h"; sourceTree = ""; }; - 43F7FD9D1927C32800CA4038 /* SkinnedMeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkinnedMeshAttachment.h; path = "../../spine-c/include/spine/SkinnedMeshAttachment.h"; sourceTree = ""; }; - 43F7FD9E1927C32800CA4038 /* Slot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Slot.h; path = "../../spine-c/include/spine/Slot.h"; sourceTree = ""; }; - 43F7FD9F1927C32800CA4038 /* SlotData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlotData.h; path = "../../spine-c/include/spine/SlotData.h"; sourceTree = ""; }; - 43F7FDA01927C32800CA4038 /* spine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spine.h; path = "../../spine-c/include/spine/spine.h"; sourceTree = ""; }; - 43F7FDA31927C33C00CA4038 /* SkeletonAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonAnimation.h; path = src/spine/SkeletonAnimation.h; sourceTree = ""; }; - 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonAnimation.m; path = src/spine/SkeletonAnimation.m; sourceTree = ""; }; - 43F7FDA51927C33C00CA4038 /* SkeletonRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonRenderer.h; path = src/spine/SkeletonRenderer.h; sourceTree = ""; }; - 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonRenderer.m; path = src/spine/SkeletonRenderer.m; sourceTree = ""; }; - 43F7FDAA1927C34600CA4038 /* SpineboyExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpineboyExample.h; sourceTree = ""; }; - 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SpineboyExample.m; sourceTree = ""; }; - 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "goblins-ffd.atlas"; sourceTree = ""; }; - 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "goblins-ffd.json"; sourceTree = ""; }; - 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "goblins-ffd.png"; sourceTree = ""; }; - 43F7FDB31927D04200CA4038 /* GoblinsExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoblinsExample.h; sourceTree = ""; }; - 43F7FDB41927D04200CA4038 /* GoblinsExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoblinsExample.m; sourceTree = ""; }; - 83F1A0E219868B46001F6B44 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; - A2BD1E5C192A417300405470 /* cocos2d-osx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "cocos2d-osx.xcodeproj"; path = "cocos2d/cocos2d-osx.xcodeproj"; sourceTree = SOURCE_ROOT; }; - A2BD1E6C192A47A000405470 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - A2BD1E6D192A47A000405470 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - A2BD1E6E192A47A000405470 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; - A2BD1E6F192A47A000405470 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; - A2BD1E70192A47A000405470 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - A2BD1E71192A47A000405470 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; - A2BD1E72192A47A000405470 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 4319B51016FF9B2600C1D7A9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 83F1A0E319868B46001F6B44 /* GLKit.framework in Frameworks */, - A2BD1E78192A47A000405470 /* AppKit.framework in Frameworks */, - A2BD1E73192A47A000405470 /* AVFoundation.framework in Frameworks */, - A2BD1E75192A47A000405470 /* OpenGL.framework in Frameworks */, - A2BD1E68192A41C100405470 /* libcocos2d.a in Frameworks */, - A2BD1E76192A47A000405470 /* OpenAL.framework in Frameworks */, - A2BD1E74192A47A000405470 /* QuartzCore.framework in Frameworks */, - A2BD1E77192A47A000405470 /* AudioToolbox.framework in Frameworks */, - A2BD1E79192A47A000405470 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 4319B50816FF9B2600C1D7A9 = { - isa = PBXGroup; - children = ( - 4319B6BC16FF9D1700C1D7A9 /* Classes */, - 4319B7CB16FF9D3900C1D7A9 /* Resources */, - 43C32A0F170B1282004A9460 /* Resources-mac */, - 4319B6C616FF9D3900C1D7A9 /* cocos2d */, - 4319B51616FF9B2600C1D7A9 /* Frameworks */, - 4319B51416FF9B2600C1D7A9 /* Products */, - ); - sourceTree = ""; - }; - 4319B51416FF9B2600C1D7A9 /* Products */ = { - isa = PBXGroup; - children = ( - 4319B51316FF9B2600C1D7A9 /* SpineExample.app */, - ); - name = Products; - sourceTree = ""; - }; - 4319B51616FF9B2600C1D7A9 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 83F1A0E219868B46001F6B44 /* GLKit.framework */, - A2BD1E6C192A47A000405470 /* AVFoundation.framework */, - A2BD1E6D192A47A000405470 /* QuartzCore.framework */, - A2BD1E6E192A47A000405470 /* OpenGL.framework */, - A2BD1E6F192A47A000405470 /* OpenAL.framework */, - A2BD1E70192A47A000405470 /* AudioToolbox.framework */, - A2BD1E71192A47A000405470 /* AppKit.framework */, - A2BD1E72192A47A000405470 /* Foundation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 4319B6BC16FF9D1700C1D7A9 /* Classes */ = { - isa = PBXGroup; - children = ( - 4319B8921701168A00C1D7A9 /* spine-c */, - 4319B8931701168F00C1D7A9 /* spine-cocos2d-iphone */, - 43F7FDAA1927C34600CA4038 /* SpineboyExample.h */, - 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */, - 43F7FDB31927D04200CA4038 /* GoblinsExample.h */, - 43F7FDB41927D04200CA4038 /* GoblinsExample.m */, - 43C32A10170B1295004A9460 /* AppDelegate.h */, - 43C32A11170B1295004A9460 /* AppDelegate.m */, - 43C32A19170B1295004A9460 /* main.m */, - 43C32A1A170B1295004A9460 /* Prefix.pch */, - ); - name = Classes; - path = example; - sourceTree = SOURCE_ROOT; - }; - 4319B6C616FF9D3900C1D7A9 /* cocos2d */ = { - isa = PBXGroup; - children = ( - A2BD1E5C192A417300405470 /* cocos2d-osx.xcodeproj */, - ); - name = cocos2d; - path = libs; - sourceTree = SOURCE_ROOT; - }; - 4319B7CB16FF9D3900C1D7A9 /* Resources */ = { - isa = PBXGroup; - children = ( - 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */, - 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */, - 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */, - 43C32A30170D0A4D004A9460 /* spineboy.atlas */, - 43C32A31170D0A4D004A9460 /* spineboy.json */, - 43C32A32170D0A4D004A9460 /* spineboy.png */, - ); - path = Resources; - sourceTree = SOURCE_ROOT; - }; - 4319B8921701168A00C1D7A9 /* spine-c */ = { - isa = PBXGroup; - children = ( - 43F7FD581927C31700CA4038 /* Animation.c */, - 43F7FD891927C32800CA4038 /* Animation.h */, - 43F7FD591927C31700CA4038 /* AnimationState.c */, - 43F7FD8A1927C32800CA4038 /* AnimationState.h */, - 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */, - 43F7FD8B1927C32800CA4038 /* AnimationStateData.h */, - 43F7FD5B1927C31700CA4038 /* Atlas.c */, - 43F7FD8C1927C32800CA4038 /* Atlas.h */, - 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */, - 43F7FD8D1927C32800CA4038 /* AtlasAttachmentLoader.h */, - 43F7FD5D1927C31700CA4038 /* Attachment.c */, - 43F7FD8E1927C32800CA4038 /* Attachment.h */, - 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */, - 43F7FD8F1927C32800CA4038 /* AttachmentLoader.h */, - 43F7FD5F1927C31700CA4038 /* Bone.c */, - 43F7FD901927C32800CA4038 /* Bone.h */, - 43F7FD601927C31700CA4038 /* BoneData.c */, - 43F7FD911927C32800CA4038 /* BoneData.h */, - 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */, - 43F7FD921927C32800CA4038 /* BoundingBoxAttachment.h */, - 43F7FD621927C31700CA4038 /* Event.c */, - 43F7FD931927C32800CA4038 /* Event.h */, - 43F7FD631927C31700CA4038 /* EventData.c */, - 43F7FD941927C32800CA4038 /* EventData.h */, - 43F7FD641927C31700CA4038 /* extension.c */, - 43F7FD951927C32800CA4038 /* extension.h */, - 43F7FD651927C31700CA4038 /* Json.c */, - 43F7FD661927C31700CA4038 /* Json.h */, - 43F7FD671927C31700CA4038 /* MeshAttachment.c */, - 43F7FD961927C32800CA4038 /* MeshAttachment.h */, - 43F7FD681927C31700CA4038 /* RegionAttachment.c */, - 43F7FD971927C32800CA4038 /* RegionAttachment.h */, - 43F7FD691927C31700CA4038 /* Skeleton.c */, - 43F7FD981927C32800CA4038 /* Skeleton.h */, - 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */, - 43F7FD991927C32800CA4038 /* SkeletonBounds.h */, - 43F7FD6B1927C31700CA4038 /* SkeletonData.c */, - 43F7FD9A1927C32800CA4038 /* SkeletonData.h */, - 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */, - 43F7FD9B1927C32800CA4038 /* SkeletonJson.h */, - 43F7FD6D1927C31700CA4038 /* Skin.c */, - 43F7FD9C1927C32800CA4038 /* Skin.h */, - 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */, - 43F7FD9D1927C32800CA4038 /* SkinnedMeshAttachment.h */, - 43F7FD6F1927C31700CA4038 /* Slot.c */, - 43F7FD9E1927C32800CA4038 /* Slot.h */, - 43F7FD701927C31700CA4038 /* SlotData.c */, - 43F7FD9F1927C32800CA4038 /* SlotData.h */, - 43F7FDA01927C32800CA4038 /* spine.h */, - ); - name = "spine-c"; - path = ..; - sourceTree = ""; - }; - 4319B8931701168F00C1D7A9 /* spine-cocos2d-iphone */ = { - isa = PBXGroup; - children = ( - 43F7FDA31927C33C00CA4038 /* SkeletonAnimation.h */, - 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */, - 43F7FDA51927C33C00CA4038 /* SkeletonRenderer.h */, - 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */, - 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */, - 43BFBE0E170A778A00ECBACB /* spine-cocos2d-iphone.h */, - ); - name = "spine-cocos2d-iphone"; - path = ..; - sourceTree = ""; - }; - 43C32A0F170B1282004A9460 /* Resources-mac */ = { - isa = PBXGroup; - children = ( - 43C32A12170B1295004A9460 /* English.lproj */, - 43C32A17170B1295004A9460 /* icon.icns */, - 43C32A18170B1295004A9460 /* Info.plist */, - ); - name = "Resources-mac"; - sourceTree = ""; - }; - 43C32A12170B1295004A9460 /* English.lproj */ = { - isa = PBXGroup; - children = ( - 43C32A13170B1295004A9460 /* InfoPlist.strings */, - 43C32A15170B1295004A9460 /* MainMenu.xib */, - ); - name = English.lproj; - path = "Resources-mac/English.lproj"; - sourceTree = ""; - }; - A2BD1E5D192A417300405470 /* Products */ = { - isa = PBXGroup; - children = ( - A2BD1E63192A417300405470 /* libcocos2d.a */, - A2BD1E67192A417300405470 /* libObjectiveChipmunk.a */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 4319B51216FF9B2600C1D7A9 /* SpineExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 4319B6AC16FF9B2B00C1D7A9 /* Build configuration list for PBXNativeTarget "SpineExample" */; - buildPhases = ( - 4319B50F16FF9B2600C1D7A9 /* Sources */, - 4319B51016FF9B2600C1D7A9 /* Frameworks */, - 4319B51116FF9B2600C1D7A9 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SpineExample; - productName = "spine-cocos2d-iphone-mac"; - productReference = 4319B51316FF9B2600C1D7A9 /* SpineExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 4319B50A16FF9B2600C1D7A9 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0510; - ORGANIZATIONNAME = "Esoteric Software"; - }; - buildConfigurationList = 4319B50D16FF9B2600C1D7A9 /* Build configuration list for PBXProject "spine-cocos2d-iphone-osx" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - English, - ); - mainGroup = 4319B50816FF9B2600C1D7A9; - productRefGroup = 4319B51416FF9B2600C1D7A9 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = A2BD1E5D192A417300405470 /* Products */; - ProjectRef = A2BD1E5C192A417300405470 /* cocos2d-osx.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - 4319B51216FF9B2600C1D7A9 /* SpineExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - A2BD1E63192A417300405470 /* libcocos2d.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcocos2d.a; - remoteRef = A2BD1E62192A417300405470 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - A2BD1E67192A417300405470 /* libObjectiveChipmunk.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libObjectiveChipmunk.a; - remoteRef = A2BD1E66192A417300405470 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 4319B51116FF9B2600C1D7A9 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */, - 43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */, - 43C32A1E170B1295004A9460 /* icon.icns in Resources */, - 43C32A36170D0A4D004A9460 /* spineboy.atlas in Resources */, - 43C32A37170D0A4D004A9460 /* spineboy.json in Resources */, - 43C32A38170D0A4D004A9460 /* spineboy.png in Resources */, - 43F7FDB01927C35600CA4038 /* goblins-ffd.atlas in Resources */, - 43F7FDB11927C35600CA4038 /* goblins-ffd.json in Resources */, - 43F7FDB21927C35600CA4038 /* goblins-ffd.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 4319B50F16FF9B2600C1D7A9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 43BFBE0F170A778A00ECBACB /* spine-cocos2d-iphone.m in Sources */, - 43C32A1B170B1295004A9460 /* AppDelegate.m in Sources */, - 43C32A20170B1295004A9460 /* main.m in Sources */, - 43F7FD711927C31700CA4038 /* Animation.c in Sources */, - 43F7FD721927C31700CA4038 /* AnimationState.c in Sources */, - 43F7FD731927C31700CA4038 /* AnimationStateData.c in Sources */, - 43F7FD741927C31700CA4038 /* Atlas.c in Sources */, - 43F7FD751927C31700CA4038 /* AtlasAttachmentLoader.c in Sources */, - 43F7FD761927C31700CA4038 /* Attachment.c in Sources */, - 43F7FD771927C31700CA4038 /* AttachmentLoader.c in Sources */, - 43F7FD781927C31700CA4038 /* Bone.c in Sources */, - 43F7FD791927C31700CA4038 /* BoneData.c in Sources */, - 43F7FD7A1927C31700CA4038 /* BoundingBoxAttachment.c in Sources */, - 43F7FD7B1927C31700CA4038 /* Event.c in Sources */, - 43F7FD7C1927C31700CA4038 /* EventData.c in Sources */, - 43F7FD7D1927C31700CA4038 /* extension.c in Sources */, - 43F7FD7E1927C31700CA4038 /* Json.c in Sources */, - 43F7FD7F1927C31700CA4038 /* MeshAttachment.c in Sources */, - 43F7FD801927C31700CA4038 /* RegionAttachment.c in Sources */, - 43F7FD811927C31700CA4038 /* Skeleton.c in Sources */, - 43F7FD821927C31700CA4038 /* SkeletonBounds.c in Sources */, - 43F7FD831927C31700CA4038 /* SkeletonData.c in Sources */, - 43F7FD841927C31700CA4038 /* SkeletonJson.c in Sources */, - 43F7FD851927C31700CA4038 /* Skin.c in Sources */, - 43F7FD861927C31700CA4038 /* SkinnedMeshAttachment.c in Sources */, - 43F7FD871927C31700CA4038 /* Slot.c in Sources */, - 43F7FD881927C31700CA4038 /* SlotData.c in Sources */, - 43F7FDA81927C33C00CA4038 /* SkeletonAnimation.m in Sources */, - 43F7FDA91927C33C00CA4038 /* SkeletonRenderer.m in Sources */, - 43F7FDAC1927C34600CA4038 /* SpineboyExample.m in Sources */, - 43F7FDB51927D04200CA4038 /* GoblinsExample.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 43C32A13170B1295004A9460 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 43C32A14170B1295004A9460 /* English */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - 43C32A15170B1295004A9460 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 43C32A16170B1295004A9460 /* English */, - ); - name = MainMenu.xib; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 4319B6AA16FF9B2B00C1D7A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - DEBUG, - "COCOS2D_DEBUG=1", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 4319B6AB16FF9B2B00C1D7A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_ENABLE_OBJC_EXCEPTIONS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - NDEBUG, - "NS_BLOCK_ASSERTIONS=1", - ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; - SDKROOT = macosx; - }; - name = Release; - }; - 4319B6AD16FF9B2B00C1D7A9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks\"", - ); - GCC_DYNAMIC_NO_PIC = NO; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Resources-mac/Prefix.pch"; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - HEADER_SEARCH_PATHS = ( - "\"src\"", - "\"../../spine-c/include\"", - "\"cocos2d/cocos2d\"/**", - "\"cocos2d/external/kazmath/include\"", - "\"cocos2d/external/ObjectAL\"/**", - ); - INFOPLIST_FILE = "Resources-mac/Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glew/lib/Release/Win32\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glfw/lib-msvc100\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libGLEW/lib\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libglfw/lib\"", - "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib\"", - ); - OTHER_CFLAGS = ""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - OTHER_LDFLAGS = ( - "-lz", - "-lsqlite3", - "-ObjC", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 4319B6AE16FF9B2B00C1D7A9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ENABLE_OBJC_ARC = YES; - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks\"", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Resources-mac/Prefix.pch"; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - HEADER_SEARCH_PATHS = ( - "\"src\"", - "\"../../spine-c/include\"", - "\"cocos2d/cocos2d\"/**", - "\"cocos2d/external/kazmath/include\"", - "\"cocos2d/external/ObjectAL\"/**", - ); - INFOPLIST_FILE = "Resources-mac/Info.plist"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glew/lib/Release/Win32\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glfw/lib-msvc100\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libGLEW/lib\"", - "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libglfw/lib\"", - "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib\"", - ); - OTHER_CFLAGS = ""; - OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; - OTHER_LDFLAGS = ( - "-lz", - "-lsqlite3", - "-ObjC", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 4319B50D16FF9B2600C1D7A9 /* Build configuration list for PBXProject "spine-cocos2d-iphone-osx" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4319B6AA16FF9B2B00C1D7A9 /* Debug */, - 4319B6AB16FF9B2B00C1D7A9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4319B6AC16FF9B2B00C1D7A9 /* Build configuration list for PBXNativeTarget "SpineExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4319B6AD16FF9B2B00C1D7A9 /* Debug */, - 4319B6AE16FF9B2B00C1D7A9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 4319B50A16FF9B2600C1D7A9 /* Project object */; -} diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7be9ccdeb..000000000 --- a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - From 5ffee20f53350b5a1d4dd3245b839c6338b2498a Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:04:46 +0200 Subject: [PATCH 24/91] Added IK constraint files to iOS project. --- .../project.pbxproj | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj index 638c26ba5..821326844 100644 --- a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 43B7CC0919DC4ACD0031321C /* IkConstraint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B7CC0719DC4ACD0031321C /* IkConstraint.c */; }; + 43B7CC0A19DC4ACD0031321C /* IkConstraintData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B7CC0819DC4ACD0031321C /* IkConstraintData.c */; }; 43C3282F170B0C19004A9460 /* spine-cocos2d-iphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; 43C3286C170B0DA6004A9460 /* spineboy.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32868170B0DA6004A9460 /* spineboy.json */; }; 43C3286E170B0DA6004A9460 /* spineboy.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43C3286A170B0DA6004A9460 /* spineboy.atlas */; }; @@ -80,6 +82,10 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 43B7CC0719DC4ACD0031321C /* IkConstraint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IkConstraint.c; path = "../../spine-c/src/spine/IkConstraint.c"; sourceTree = ""; }; + 43B7CC0819DC4ACD0031321C /* IkConstraintData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IkConstraintData.c; path = "../../spine-c/src/spine/IkConstraintData.c"; sourceTree = ""; }; + 43B7CC0D19DC4AE30031321C /* IkConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IkConstraint.h; path = "../../spine-c/include/spine/IkConstraint.h"; sourceTree = ""; }; + 43B7CC0E19DC4AE30031321C /* IkConstraintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IkConstraintData.h; path = "../../spine-c/include/spine/IkConstraintData.h"; sourceTree = ""; }; 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "spine-cocos2d-iphone.m"; path = "src/spine/spine-cocos2d-iphone.m"; sourceTree = ""; }; 43C3282E170B0C19004A9460 /* spine-cocos2d-iphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "spine-cocos2d-iphone.h"; path = "src/spine/spine-cocos2d-iphone.h"; sourceTree = ""; }; 43C32868170B0DA6004A9460 /* spineboy.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = spineboy.json; path = Resources/spineboy.json; sourceTree = ""; }; @@ -245,6 +251,10 @@ 43F7FF741927F92500CA4038 /* EventData.h */, 43F7FF441927F91900CA4038 /* extension.c */, 43F7FF751927F92500CA4038 /* extension.h */, + 43B7CC0719DC4ACD0031321C /* IkConstraint.c */, + 43B7CC0D19DC4AE30031321C /* IkConstraint.h */, + 43B7CC0819DC4ACD0031321C /* IkConstraintData.c */, + 43B7CC0E19DC4AE30031321C /* IkConstraintData.h */, 43F7FF451927F91900CA4038 /* Json.c */, 43F7FF461927F91900CA4038 /* Json.h */, 43F7FF471927F91900CA4038 /* MeshAttachment.c */, @@ -481,6 +491,7 @@ 43F7FF5A1927F91900CA4038 /* BoundingBoxAttachment.c in Sources */, 43F7FF5B1927F91900CA4038 /* Event.c in Sources */, 43F7FF5C1927F91900CA4038 /* EventData.c in Sources */, + 43B7CC0A19DC4ACD0031321C /* IkConstraintData.c in Sources */, 43F7FF5D1927F91900CA4038 /* extension.c in Sources */, 43F7FF5E1927F91900CA4038 /* Json.c in Sources */, 43F7FF5F1927F91900CA4038 /* MeshAttachment.c in Sources */, @@ -490,6 +501,7 @@ 43F7FF631927F91900CA4038 /* SkeletonData.c in Sources */, 43F7FF641927F91900CA4038 /* SkeletonJson.c in Sources */, 43F7FF651927F91900CA4038 /* Skin.c in Sources */, + 43B7CC0919DC4ACD0031321C /* IkConstraint.c in Sources */, 43F7FF661927F91900CA4038 /* SkinnedMeshAttachment.c in Sources */, 43F7FF671927F91900CA4038 /* Slot.c in Sources */, 43F7FF681927F91900CA4038 /* SlotData.c in Sources */, From f915a6c777e22500468b837dc264a7235d13a6ef Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 1 Oct 2014 17:26:44 +0200 Subject: [PATCH 25/91] Fixed color blending. --- .../3.0/src/spine/SkeletonRenderer.m | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m index 22bbb9244..47f0415f1 100755 --- a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m @@ -199,12 +199,18 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; [self setBlendMode:[CCBlendMode blendModeWithOptions:@{CCBlendFuncSrcColor: @(_blendFunc.src),CCBlendFuncDstColor: @(slot->data->additiveBlending ? GL_ONE : _blendFunc.dst)}]]; additive = slot->data->additiveBlending; } - color.a = _skeleton->a * slot->a * a * 255; - float multiplier = _premultipliedAlpha ? color.a : 255; - color.r = _skeleton->r * slot->r * r * multiplier; - color.g = _skeleton->g * slot->g * g * multiplier; - color.b = _skeleton->b * slot->b * b * multiplier; - self.texture = texture; + if (_premultipliedAlpha) { + a *= _skeleton->a * slot->a; + r *= _skeleton->r * slot->r * a; + g *= _skeleton->g * slot->g * a; + b *= _skeleton->b * slot->b * a; + } else { + a *= _skeleton->a * slot->a; + r *= _skeleton->r * slot->r; + g *= _skeleton->g * slot->g; + b *= _skeleton->b * slot->b; + } + self.texture = texture; CGSize size = texture.contentSize; GLKVector2 center = GLKVector2Make(size.width / 2.0, size.height / 2.0); GLKVector2 extents = GLKVector2Make(size.width / 2.0, size.height / 2.0); @@ -213,7 +219,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; for (int i = 0; i * 2 < verticesCount; ++i) { CCVertex vertex; vertex.position = GLKVector4Make(worldVertices[i * 2], worldVertices[i * 2 + 1], 0.0, 1.0); - vertex.color = GLKVector4Make(color.r, color.g, color.b, color.a); + vertex.color = GLKVector4Make(r, g, b, a); vertex.texCoord1 = GLKVector2Make(uvs[i * 2], 1 - uvs[i * 2 + 1]); CCRenderBufferSetVertex(buffer, i, CCVertexApplyTransform(vertex, transform)); } From 7a0475c4991c5f6e9e09442bad28c95f0525a648 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 11:24:22 +0200 Subject: [PATCH 26/91] Fixed binary format when there is no default skin. --- spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index e42849a9b..d6812967c 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -423,7 +423,7 @@ public class SkeletonBinary { // FFD timelines. for (int i = 0, n = input.readInt(true); i < n; i++) { - Skin skin = skeletonData.getSkins().get(input.readInt(true) + 1); + Skin skin = skeletonData.skins.get(input.readInt(true)); for (int ii = 0, nn = input.readInt(true); ii < nn; ii++) { int slotIndex = input.readInt(true); for (int iii = 0, nnn = input.readInt(true); iii < nnn; iii++) { From 851f0b536807338063f6b793c1abe8fb309f1ce0 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 12:20:14 +0200 Subject: [PATCH 27/91] Clean up. --- .../src/com/esotericsoftware/spine/Animation.java | 1 + .../com/esotericsoftware/spine/SkeletonBinary.java | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index ae330ca46..4e28c333f 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -157,6 +157,7 @@ public class Animation { private final float[] curves; // type, x, y, ... public CurveTimeline (int frameCount) { + if (frameCount <= 0) throw new IllegalArgumentException("frameCount must be > 0: " + frameCount); curves = new float[(frameCount - 1) * BEZIER_SIZE]; } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index d6812967c..414d661d8 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -134,13 +134,13 @@ public class SkeletonBinary { // IK constraints. for (int i = 0, n = input.readInt(true); i < n; i++) { - IkConstraintData ikConstraint = new IkConstraintData(input.readString()); + IkConstraintData ikConstraintData = new IkConstraintData(input.readString()); for (int ii = 0, nn = input.readInt(true); ii < nn; ii++) - ikConstraint.bones.add(skeletonData.bones.get(input.readInt(true))); - ikConstraint.target = skeletonData.bones.get(input.readInt(true)); - ikConstraint.mix = input.readFloat(); - ikConstraint.bendDirection = input.readByte(); - skeletonData.ikConstraints.add(ikConstraint); + ikConstraintData.bones.add(skeletonData.bones.get(input.readInt(true))); + ikConstraintData.target = skeletonData.bones.get(input.readInt(true)); + ikConstraintData.mix = input.readFloat(); + ikConstraintData.bendDirection = input.readByte(); + skeletonData.ikConstraints.add(ikConstraintData); } // Slots. @@ -193,6 +193,7 @@ public class SkeletonBinary { return skeletonData; } + /** @return May be null. */ private Skin readSkin (DataInput input, String skinName, boolean nonessential) throws IOException { int slotCount = input.readInt(true); if (slotCount == 0) return null; From 309889c65336eab821e8ef695a5ce9ea77069bb2 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 12:20:39 +0200 Subject: [PATCH 28/91] Changed binary format to use index for IK constraint timelines. --- spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index 414d661d8..95e65de1f 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -410,7 +410,7 @@ public class SkeletonBinary { // IK timelines. for (int i = 0, n = input.readInt(true); i < n; i++) { - IkConstraintData ikConstraint = skeletonData.findIkConstraint(input.readString()); + IkConstraintData ikConstraint = skeletonData.ikConstraints.get(input.readInt(true)); int frameCount = input.readInt(true); IkConstraintTimeline timeline = new IkConstraintTimeline(frameCount); timeline.ikConstraintIndex = skeletonData.getIkConstraints().indexOf(ikConstraint, true); From 1e7eba5bcba8e740c3603c369379544dffc2be86 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 17:50:48 +0200 Subject: [PATCH 29/91] Renamed parameter. --- spine-libgdx/src/com/esotericsoftware/spine/Animation.java | 2 +- spine-libgdx/src/com/esotericsoftware/spine/Skin.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index 4e28c333f..0e03242af 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -778,7 +778,7 @@ public class Animation { } static public class FlipXTimeline implements Timeline { - private final float[] frames; // time, flip, ... + final float[] frames; // time, flip, ... public FlipXTimeline (int frameCount) { frames = new float[frameCount << 1]; diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Skin.java b/spine-libgdx/src/com/esotericsoftware/spine/Skin.java index 77ce354d7..296575251 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Skin.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Skin.java @@ -106,9 +106,9 @@ public class Skin { String name; int hashCode; - public void set (int slotName, String name) { + public void set (int slotIndex, String name) { if (name == null) throw new IllegalArgumentException("name cannot be null."); - this.slotIndex = slotName; + this.slotIndex = slotIndex; this.name = name; hashCode = 31 * (31 + name.hashCode()) + slotIndex; } From 60ab9d5fa86b604abf4918bc3f97dfc2296b7c0e Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 17:51:15 +0200 Subject: [PATCH 30/91] spine-libgdx, added flip timelines. --- .../spine/SkeletonBinary.java | 28 +++++++++++-- .../esotericsoftware/spine/SkeletonJson.java | 40 ++++++++++++++----- .../spine/SkeletonViewer.java | 5 ++- 3 files changed, 58 insertions(+), 15 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index 95e65de1f..5505ffc1a 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -46,6 +46,8 @@ import com.esotericsoftware.spine.Animation.CurveTimeline; import com.esotericsoftware.spine.Animation.DrawOrderTimeline; import com.esotericsoftware.spine.Animation.EventTimeline; import com.esotericsoftware.spine.Animation.FfdTimeline; +import com.esotericsoftware.spine.Animation.FlipXTimeline; +import com.esotericsoftware.spine.Animation.FlipYTimeline; import com.esotericsoftware.spine.Animation.IkConstraintTimeline; import com.esotericsoftware.spine.Animation.RotateTimeline; import com.esotericsoftware.spine.Animation.ScaleTimeline; @@ -66,10 +68,6 @@ public class SkeletonBinary { static public final int TIMELINE_TRANSLATE = 2; static public final int TIMELINE_ATTACHMENT = 3; static public final int TIMELINE_COLOR = 4; - static public final int TIMELINE_EVENT = 5; - static public final int TIMELINE_DRAWORDER = 6; - static public final int TIMELINE_FFD = 7; - static public final int TIMELINE_IK = 8; static public final int CURVE_LINEAR = 0; static public final int CURVE_STEPPED = 1; @@ -476,6 +474,28 @@ public class SkeletonBinary { } } + // Flip timelines. + int flipCount = input.readInt(true); + if (flipCount > 0) { + FlipXTimeline timeline = new FlipXTimeline(flipCount); + for (int i = 0; i < flipCount; i++) { + float time = input.readFloat(); + timeline.setFrame(i, time, input.readBoolean()); + } + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[flipCount * 2 - 2]); + } + flipCount = input.readInt(true); + if (flipCount > 0) { + FlipYTimeline timeline = new FlipYTimeline(flipCount); + for (int i = 0; i < flipCount; i++) { + float time = input.readFloat(); + timeline.setFrame(i, time, input.readBoolean()); + } + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[flipCount * 2 - 2]); + } + // Draw order timeline. int drawOrderCount = input.readInt(true); if (drawOrderCount > 0) { diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index 985e3a62e..e550f78c2 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -30,12 +30,23 @@ package com.esotericsoftware.spine; +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.g2d.TextureAtlas; +import com.badlogic.gdx.utils.Array; +import com.badlogic.gdx.utils.FloatArray; +import com.badlogic.gdx.utils.IntArray; +import com.badlogic.gdx.utils.JsonReader; +import com.badlogic.gdx.utils.JsonValue; +import com.badlogic.gdx.utils.SerializationException; import com.esotericsoftware.spine.Animation.AttachmentTimeline; import com.esotericsoftware.spine.Animation.ColorTimeline; import com.esotericsoftware.spine.Animation.CurveTimeline; import com.esotericsoftware.spine.Animation.DrawOrderTimeline; import com.esotericsoftware.spine.Animation.EventTimeline; import com.esotericsoftware.spine.Animation.FfdTimeline; +import com.esotericsoftware.spine.Animation.FlipXTimeline; +import com.esotericsoftware.spine.Animation.FlipYTimeline; import com.esotericsoftware.spine.Animation.IkConstraintTimeline; import com.esotericsoftware.spine.Animation.RotateTimeline; import com.esotericsoftware.spine.Animation.ScaleTimeline; @@ -49,15 +60,6 @@ import com.esotericsoftware.spine.attachments.BoundingBoxAttachment; import com.esotericsoftware.spine.attachments.MeshAttachment; import com.esotericsoftware.spine.attachments.RegionAttachment; import com.esotericsoftware.spine.attachments.SkinnedMeshAttachment; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.FloatArray; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.JsonReader; -import com.badlogic.gdx.utils.JsonValue; -import com.badlogic.gdx.utils.SerializationException; public class SkeletonJson { private final AttachmentLoader attachmentLoader; @@ -458,6 +460,26 @@ public class SkeletonJson { } } + // Flip timelines. + JsonValue flipMap = map.get("flipx"); + if (flipMap != null) { + FlipXTimeline timeline = new FlipXTimeline(flipMap.size); + int frameIndex = 0; + for (JsonValue valueMap = flipMap.child; valueMap != null; valueMap = valueMap.next) + timeline.setFrame(frameIndex++, valueMap.getFloat("time"), valueMap.getBoolean("x", false)); + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 2 - 2]); + } + flipMap = map.get("flipy"); + if (flipMap != null) { + FlipYTimeline timeline = new FlipYTimeline(flipMap.size); + int frameIndex = 0; + for (JsonValue valueMap = flipMap.child; valueMap != null; valueMap = valueMap.next) + timeline.setFrame(frameIndex++, valueMap.getFloat("time"), valueMap.getBoolean("y", false)); + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 2 - 2]); + } + // Draw order timeline. JsonValue drawOrdersMap = map.get("draworder"); if (drawOrdersMap != null) { diff --git a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java index 52a4d6e99..9149998f5 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java @@ -202,16 +202,17 @@ public class SkeletonViewer extends ApplicationAdapter { delta = Math.min(delta, 0.032f) * ui.speedSlider.getValue(); skeleton.update(delta); + skeleton.setFlip(ui.flipXCheckbox.isChecked(), ui.flipYCheckbox.isChecked()); if (!ui.pauseButton.isChecked()) { state.update(delta); state.apply(skeleton); + ui.flipXCheckbox.setChecked(skeleton.getFlipX()); + ui.flipYCheckbox.setChecked(skeleton.getFlipY()); } skeleton.setPosition(skeletonX, skeletonY); // skeleton.setPosition(0, 0); // skeleton.getRootBone().setX(skeletonX); // skeleton.getRootBone().setY(skeletonY); - skeleton.setFlipX(ui.flipXCheckbox.isChecked()); - skeleton.setFlipY(ui.flipYCheckbox.isChecked()); skeleton.updateWorldTransform(); batch.begin(); From 08a680c972103c1cf9aca4507863ee532b378dcb Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 18:09:38 +0200 Subject: [PATCH 31/91] spine-unity, added flip timelines. --- spine-csharp/src/Animation.cs | 48 +++++++++++++++++++++++++++++++- spine-csharp/src/SkeletonJson.cs | 19 +++++++++++++ 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index 112a445a5..6a58554e8 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -216,7 +216,7 @@ namespace Spine { public RotateTimeline (int frameCount) : base(frameCount) { - frames = new float[frameCount * 2]; + frames = new float[frameCount << 1]; } /// Sets the time and value of the specified keyframe. @@ -669,4 +669,50 @@ namespace Spine { ikConstraint.bendDirection = (int)frames[frameIndex + PREV_FRAME_BEND_DIRECTION]; } } + + public class FlipXTimeline : CurveTimeline { + internal float[] frames; + + public float[] Frames { get { return frames; } set { frames = value; } } // time, flip, ... + + public FlipXTimeline (int frameCount) + : base(frameCount) { + frames = new float[frameCount << 1]; + } + + /// Sets the time and value of the specified keyframe. + public void SetFrame (int frameIndex, float time, bool flip) { + frameIndex *= 2; + frames[frameIndex] = time; + frames[frameIndex + 1] = flip ? 1 : 0; + } + + override public void Apply (Skeleton skeleton, float lastTime, float time, List firedEvents, float alpha) { + float[] frames = this.frames; + if (time < frames[0]) { + if (lastTime > time) Apply(skeleton, lastTime, int.MaxValue, null, 0); + return; + } else if (lastTime > time) // + lastTime = -1; + + int frameIndex = (time >= frames[frames.Length - 2] ? frames.Length : Animation.binarySearch(frames, time, 2)) - 2; + if (frames[frameIndex] <= lastTime) return; + + Flip(skeleton, frames[frameIndex + 1] != 0); + } + + virtual protected void Flip (Skeleton skeleton, bool flip) { + skeleton.flipX = flip; + } + } + + public class FlipYTimeline : FlipXTimeline { + public FlipYTimeline (int frameCount) + : base(frameCount) { + } + + override protected void Flip (Skeleton skeleton, bool flip) { + skeleton.flipY = flip; + } + } } diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs index 57784e5d5..a5494c155 100644 --- a/spine-csharp/src/SkeletonJson.cs +++ b/spine-csharp/src/SkeletonJson.cs @@ -550,6 +550,25 @@ namespace Spine { } } + if (map.ContainsKey("flipx")) { + var flipMap = (List)map["flipx"]; + var timeline = new FlipXTimeline(flipMap.Count); + int frameIndex = 0; + foreach (Dictionary valueMap in flipMap) + timeline.SetFrame(frameIndex++, (float)valueMap["time"], valueMap.ContainsKey("x") ? (bool)valueMap["x"] : false); + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); + } + if (map.ContainsKey("flipy")) { + var flipMap = (List)map["flipy"]; + var timeline = new FlipYTimeline(flipMap.Count); + int frameIndex = 0; + foreach (Dictionary valueMap in flipMap) + timeline.SetFrame(frameIndex++, (float)valueMap["time"], valueMap.ContainsKey("y") ? (bool)valueMap["y"] : false); + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); + } + if (map.ContainsKey("draworder")) { var values = (List)map["draworder"]; var timeline = new DrawOrderTimeline(values.Count); From 6ce7a622450952ae373e8937cb87162b750f18de Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 2 Oct 2014 18:46:31 +0200 Subject: [PATCH 32/91] spine-c, added flip timelines. --- spine-c/include/spine/Animation.h | 23 +++++++++++++- spine-c/src/spine/Animation.c | 51 ++++++++++++++++++++++++++++++- spine-c/src/spine/SkeletonJson.c | 26 +++++++++++++++- 3 files changed, 97 insertions(+), 3 deletions(-) diff --git a/spine-c/include/spine/Animation.h b/spine-c/include/spine/Animation.h index 576fcefe9..769134c9a 100644 --- a/spine-c/include/spine/Animation.h +++ b/spine-c/include/spine/Animation.h @@ -84,7 +84,9 @@ typedef enum { SP_TIMELINE_EVENT, SP_TIMELINE_DRAWORDER, SP_TIMELINE_FFD, - SP_TIMELINE_IKCONSTRAINT + SP_TIMELINE_IKCONSTRAINT, + SP_TIMELINE_FLIPX, + SP_TIMELINE_FLIPY } spTimelineType; struct spTimeline { @@ -304,6 +306,25 @@ typedef spIkConstraintTimeline IkConstraintTimeline; /**/ +typedef struct { + spCurveTimeline super; + int const x; + int const framesCount; + float* const frames; /* time, flip, ... */ +} spFlipTimeline; + +spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x); + +void spFlipTimeline_setFrame (spFlipTimeline* self, int frameIndex, float time, int/*bool*/flip); + +#ifdef SPINE_SHORT_NAMES +typedef spFlipTimeline FlipTimeline; +#define FlipTimeline_create(...) spFlipTimeline_create(__VA_ARGS__) +#define FlipTimeline_setFrame(...) spFlipTimeline_setFrame(__VA_ARGS__) +#endif + +/**/ + #ifdef __cplusplus } #endif diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index e4f261eed..0178cfa85 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -664,7 +664,7 @@ void _spFFDTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, flo return; /* Time is before first frame. */ } - if (slot->attachmentVerticesCount != self->frameVerticesCount) alpha = 1; // Don't mix from uninitialized slot vertices. + if (slot->attachmentVerticesCount != self->frameVerticesCount) alpha = 1; /* Don't mix from uninitialized slot vertices. */ if (slot->attachmentVerticesCount < self->frameVerticesCount) { if (slot->attachmentVerticesCapacity < self->frameVerticesCount) { FREE(slot->attachmentVertices); @@ -789,3 +789,52 @@ void spIkConstraintTimeline_setFrame (spIkConstraintTimeline* self, int frameInd self->frames[frameIndex + 1] = mix; self->frames[frameIndex + 2] = (float)bendDirection; } + +/**/ + +void _spFlipTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, float lastTime, float time, + spEvent** firedEvents, int* eventsCount, float alpha) { + int frameIndex; + spFlipTimeline* self = (spFlipTimeline*)timeline; + + if (time < self->frames[0]) { + if (lastTime > time) _spFlipTimeline_apply(timeline, skeleton, lastTime, (float)INT_MAX, 0, 0, 0); + return; + } else if (lastTime > time) /**/ + lastTime = -1; + + frameIndex = (time >= self->frames[self->framesCount - 2] ? + self->framesCount : binarySearch(self->frames, self->framesCount, time, 2)) - 2; + if (self->frames[frameIndex] <= lastTime) return; + + if (self->x) + skeleton->flipX = self->frames[frameIndex + 1]; + else + skeleton->flipY = self->frames[frameIndex + 1]; +} + +void _spFlipTimeline_dispose (spTimeline* timeline) { + spFlipTimeline* self = SUB_CAST(spFlipTimeline, timeline); + _spCurveTimeline_deinit(SUPER(self)); + FREE(self->frames); + FREE(self); +} + +spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x) { + spFlipTimeline* self = NEW(spFlipTimeline); + _spCurveTimeline_init(SUPER(self), x ? SP_TIMELINE_FLIPX : SP_TIMELINE_FLIPY, framesCount, + _spFlipTimeline_dispose, _spFlipTimeline_apply); + CONST_CAST(int, self->x) = x; + CONST_CAST(int, self->framesCount) = framesCount << 1; + CONST_CAST(float*, self->frames) = CALLOC(float, self->framesCount); + return self; +} + +void spFlipTimeline_setFrame (spFlipTimeline* self, int frameIndex, float time, int/*bool*/flip) { + frameIndex <<= 1; + self->frames[frameIndex] = time; + self->frames[frameIndex + 1] = flip; +} + +/**/ + diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 4fd5615cd..33ae757c1 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -113,6 +113,8 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r Json* ffd = Json_getItem(root, "ffd"); Json* drawOrder = Json_getItem(root, "draworder"); Json* events = Json_getItem(root, "events"); + Json* flipX = Json_getItem(root, "flipx"); + Json* flipY = Json_getItem(root, "flipy"); Json *boneMap, *slotMap, *ikMap, *ffdMap; int timelinesCount = 0; @@ -124,8 +126,10 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) timelinesCount += slotMap->size; - if (events) ++timelinesCount; if (drawOrder) ++timelinesCount; + if (events) ++timelinesCount; + if (flipX) ++timelinesCount; + if (flipY) ++timelinesCount; animation = spAnimation_create(root->name, timelinesCount); animation->timelinesCount = 0; @@ -312,6 +316,26 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r } } + /* Flip timelines. */ + if (flipX) { + Json* frame; + spFlipTimeline* timeline = spFlipTimeline_create(flipX->size, 1); + for (frame = flipX->child, i = 0; frame; frame = frame->next, ++i) + spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, "x", 0)); + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[flipX->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + } + if (flipY) { + Json* frame; + spFlipTimeline* timeline = spFlipTimeline_create(flipY->size, 0); + for (frame = flipY->child, i = 0; frame; frame = frame->next, ++i) + spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, "y", 0)); + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[flipY->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + } + /* Draw order timeline. */ if (drawOrder) { spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); From 22b2086f39e65329f5dd75863eda0a8d9a9dcdc7 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 4 Oct 2014 13:01:52 +0200 Subject: [PATCH 33/91] Flip for bones. Flip timelines now affect bones. "draworder" in JSON -> "drawOrder". Falls back to "draworder" to not break existing JSON (for the time being). --- spine-as3/spine-as3/src/spine/SkeletonJson.as | 3 +- spine-c/include/spine/Animation.h | 3 +- spine-c/include/spine/Bone.h | 2 + spine-c/include/spine/BoneData.h | 1 + spine-c/src/spine/Animation.c | 9 ++-- spine-c/src/spine/Bone.c | 13 +++-- spine-c/src/spine/SkeletonJson.c | 34 +++++-------- spine-csharp/src/Animation.cs | 20 ++++---- spine-csharp/src/Bone.cs | 24 ++++++--- spine-csharp/src/BoneData.cs | 3 ++ spine-csharp/src/SkeletonJson.cs | 50 +++++++++---------- spine-js/spine.js | 3 +- .../com/esotericsoftware/spine/Animation.java | 21 +++++--- .../src/com/esotericsoftware/spine/Bone.java | 46 ++++++++++++++--- .../com/esotericsoftware/spine/BoneData.java | 19 +++++++ .../spine/SkeletonBinary.java | 40 +++++++-------- .../esotericsoftware/spine/SkeletonJson.java | 39 +++++++-------- .../spine/SkeletonViewer.java | 2 - spine-lua/SkeletonJson.lua | 3 +- 19 files changed, 202 insertions(+), 133 deletions(-) diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index d5b6ebd06..e51ac89b5 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -469,7 +469,8 @@ public class SkeletonJson { } } - var drawOrderValues:Object = map["draworder"]; + var drawOrderValues:Object = map["drawOrder"]; + if (!drawOrderValues) drawOrderValues = map["draworder"]; if (drawOrderValues) { var drawOrderTimeline:DrawOrderTimeline = new DrawOrderTimeline(drawOrderValues.length); var slotCount:int = skeletonData.slots.length; diff --git a/spine-c/include/spine/Animation.h b/spine-c/include/spine/Animation.h index 769134c9a..2e9a0d343 100644 --- a/spine-c/include/spine/Animation.h +++ b/spine-c/include/spine/Animation.h @@ -307,10 +307,11 @@ typedef spIkConstraintTimeline IkConstraintTimeline; /**/ typedef struct { - spCurveTimeline super; + spTimeline super; int const x; int const framesCount; float* const frames; /* time, flip, ... */ + int boneIndex; } spFlipTimeline; spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x); diff --git a/spine-c/include/spine/Bone.h b/spine-c/include/spine/Bone.h index 5e8b1f7bf..43436168e 100644 --- a/spine-c/include/spine/Bone.h +++ b/spine-c/include/spine/Bone.h @@ -47,11 +47,13 @@ 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 */ float const worldRotation; float const worldScaleX, worldScaleY; + int/*bool*/const worldFlipX, worldFlipY; }; void spBone_setYDown (int/*bool*/yDown); diff --git a/spine-c/include/spine/BoneData.h b/spine-c/include/spine/BoneData.h index 77cb90937..0df381dd9 100644 --- a/spine-c/include/spine/BoneData.h +++ b/spine-c/include/spine/BoneData.h @@ -43,6 +43,7 @@ struct spBoneData { float x, y; float rotation; float scaleX, scaleY; + int/*bool*/flipX, flipY; int/*bool*/inheritScale, inheritRotation; }; diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index 0178cfa85..af34f904c 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -808,22 +808,21 @@ void _spFlipTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, fl if (self->frames[frameIndex] <= lastTime) return; if (self->x) - skeleton->flipX = self->frames[frameIndex + 1]; + skeleton->bones[self->boneIndex]->flipX = self->frames[frameIndex + 1]; else - skeleton->flipY = self->frames[frameIndex + 1]; + skeleton->bones[self->boneIndex]->flipY = self->frames[frameIndex + 1]; } void _spFlipTimeline_dispose (spTimeline* timeline) { spFlipTimeline* self = SUB_CAST(spFlipTimeline, timeline); - _spCurveTimeline_deinit(SUPER(self)); + _spTimeline_deinit(SUPER(self)); FREE(self->frames); FREE(self); } spFlipTimeline* spFlipTimeline_create (int framesCount, int/*bool*/x) { spFlipTimeline* self = NEW(spFlipTimeline); - _spCurveTimeline_init(SUPER(self), x ? SP_TIMELINE_FLIPX : SP_TIMELINE_FLIPY, framesCount, - _spFlipTimeline_dispose, _spFlipTimeline_apply); + _spTimeline_init(SUPER(self), x ? SP_TIMELINE_FLIPX : SP_TIMELINE_FLIPY, _spFlipTimeline_dispose, _spFlipTimeline_apply); CONST_CAST(int, self->x) = x; CONST_CAST(int, self->framesCount) = framesCount << 1; CONST_CAST(float*, self->frames) = CALLOC(float, self->framesCount); diff --git a/spine-c/src/spine/Bone.c b/spine-c/src/spine/Bone.c index 0e91facc5..ad1e74da5 100644 --- a/spine-c/src/spine/Bone.c +++ b/spine-c/src/spine/Bone.c @@ -64,24 +64,29 @@ void spBone_updateWorldTransform (spBone* self) { } CONST_CAST(float, self->worldRotation) = self->data->inheritRotation ? self->parent->worldRotation + self->rotationIK : self->rotationIK; + CONST_CAST(int, self->worldFlipX) = self->parent->worldFlipX ^ self->flipX; + CONST_CAST(int, self->worldFlipY) = self->parent->worldFlipY ^ self->flipY; } else { + int skeletonFlipX = self->skeleton->flipX, skeletonFlipY = self->skeleton->flipY; 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; + CONST_CAST(int, self->worldFlipX) = skeletonFlipX ^ self->flipX; + CONST_CAST(int, self->worldFlipY) = skeletonFlipY ^ self->flipY; } radians = self->worldRotation * DEG_RAD; cosine = COS(radians); sine = SIN(radians); - if (self->skeleton->flipX) { + if (self->worldFlipX) { 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->skeleton->flipY != yDown) { + if (self->worldFlipY != yDown) { CONST_CAST(float, self->m10) = -sine * self->worldScaleX; CONST_CAST(float, self->m11) = -cosine * self->worldScaleY; } else { @@ -97,13 +102,15 @@ void spBone_setToSetupPose (spBone* self) { self->rotationIK = self->rotation; self->scaleX = self->data->scaleX; self->scaleY = self->data->scaleY; + self->flipX = self->data->flipX; + self->flipY = self->data->flipY; } void spBone_worldToLocal (spBone* self, float worldX, float worldY, float* localX, float* localY) { float invDet; float dx = worldX - self->worldX, dy = worldY - self->worldY; float m00 = self->m00, m11 = self->m11; - if (self->skeleton->flipX != (self->skeleton->flipY != yDown)) { + if (self->worldFlipX != (self->worldFlipY != yDown)) { m00 *= -1; m11 *= -1; } diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 33ae757c1..1ca9c81d1 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -111,7 +111,8 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r Json* slots = Json_getItem(root, "slots"); Json* ik = Json_getItem(root, "ik"); Json* ffd = Json_getItem(root, "ffd"); - Json* drawOrder = Json_getItem(root, "draworder"); + Json* drawOrder = Json_getItem(root, "drawOrder"); + if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); Json* events = Json_getItem(root, "events"); Json* flipX = Json_getItem(root, "flipx"); Json* flipY = Json_getItem(root, "flipy"); @@ -218,6 +219,17 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); duration = timeline->frames[timelineArray->size * 3 - 3]; if (duration > animation->duration) animation->duration = duration; + } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { + int x = strcmp(timelineArray->name, "flipX") == 0; + char* field = x ? "x" : "y"; + spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) + spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0)); + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + } else { spAnimation_dispose(animation); _spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name); @@ -316,26 +328,6 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r } } - /* Flip timelines. */ - if (flipX) { - Json* frame; - spFlipTimeline* timeline = spFlipTimeline_create(flipX->size, 1); - for (frame = flipX->child, i = 0; frame; frame = frame->next, ++i) - spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, "x", 0)); - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[flipX->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - } - if (flipY) { - Json* frame; - spFlipTimeline* timeline = spFlipTimeline_create(flipY->size, 0); - for (frame = flipY->child, i = 0; frame; frame = frame->next, ++i) - spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, "y", 0)); - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[flipY->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - } - /* Draw order timeline. */ if (drawOrder) { spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index 6a58554e8..b3843cfd3 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -670,13 +670,15 @@ namespace Spine { } } - public class FlipXTimeline : CurveTimeline { + public class FlipXTimeline : Timeline { + internal int boneIndex; internal float[] frames; + public int BoneIndex { get { return boneIndex; } set { boneIndex = value; } } public float[] Frames { get { return frames; } set { frames = value; } } // time, flip, ... + public int FrameCount { get { return frames.Length >> 1; } } - public FlipXTimeline (int frameCount) - : base(frameCount) { + public FlipXTimeline (int frameCount) { frames = new float[frameCount << 1]; } @@ -687,7 +689,7 @@ namespace Spine { frames[frameIndex + 1] = flip ? 1 : 0; } - override public void Apply (Skeleton skeleton, float lastTime, float time, List firedEvents, float alpha) { + public void Apply (Skeleton skeleton, float lastTime, float time, List firedEvents, float alpha) { float[] frames = this.frames; if (time < frames[0]) { if (lastTime > time) Apply(skeleton, lastTime, int.MaxValue, null, 0); @@ -698,11 +700,11 @@ namespace Spine { int frameIndex = (time >= frames[frames.Length - 2] ? frames.Length : Animation.binarySearch(frames, time, 2)) - 2; if (frames[frameIndex] <= lastTime) return; - Flip(skeleton, frames[frameIndex + 1] != 0); + SetFlip(skeleton.bones[boneIndex], frames[frameIndex + 1] != 0); } - virtual protected void Flip (Skeleton skeleton, bool flip) { - skeleton.flipX = flip; + virtual protected void SetFlip (Bone bone, bool flip) { + bone.flipX = flip; } } @@ -711,8 +713,8 @@ namespace Spine { : base(frameCount) { } - override protected void Flip (Skeleton skeleton, bool flip) { - skeleton.flipY = flip; + override protected void SetFlip (Bone bone, bool flip) { + bone.flipY = flip; } } } diff --git a/spine-csharp/src/Bone.cs b/spine-csharp/src/Bone.cs index 058493342..7041346c4 100644 --- a/spine-csharp/src/Bone.cs +++ b/spine-csharp/src/Bone.cs @@ -40,8 +40,10 @@ namespace Spine { internal Bone parent; internal List children; internal float x, y, rotation, rotationIK, scaleX, scaleY; + internal bool flipX, flipY; internal float m00, m01, m10, m11; internal float worldX, worldY, worldRotation, worldScaleX, worldScaleY; + internal bool worldFlipX, worldFlipY; public BoneData Data { get { return data; } } public Skeleton Skeleton { get { return skeleton; } } @@ -55,6 +57,8 @@ namespace Spine { public float RotationIK { get { return rotationIK; } set { rotationIK = value; } } public float ScaleX { get { return scaleX; } set { scaleX = value; } } public float ScaleY { get { return scaleY; } set { scaleY = value; } } + public bool FlipX { get { return flipX; } set { flipX = value; } } + public bool FlipY { get { return flipY; } set { flipY = value; } } public float M00 { get { return m00; } } public float M01 { get { return m01; } } @@ -65,6 +69,8 @@ namespace Spine { public float WorldRotation { get { return worldRotation; } } public float WorldScaleX { get { return worldScaleX; } } public float WorldScaleY { get { return worldScaleY; } } + public bool WorldFlipX { get { return worldFlipX; } set { worldFlipX = value; } } + public bool WorldFlipY { get { return worldFlipY; } set { worldFlipY = value; } } /// May be null. public Bone (BoneData data, Skeleton skeleton, Bone parent) { @@ -93,24 +99,29 @@ namespace Spine { worldScaleY = scaleY; } worldRotation = data.inheritRotation ? parent.worldRotation + rotationIK : rotationIK; + worldFlipX = parent.worldFlipX ^ flipX; + worldFlipY = parent.worldFlipY ^ flipY; } else { - worldX = skeleton.flipX ? -x : x; - worldY = skeleton.flipY != yDown ? -y : y; + bool skeletonFlipX = skeleton.flipX, skeletonFlipY = skeleton.flipY; + worldX = skeletonFlipX ? -x : x; + worldY = skeletonFlipY != yDown ? -y : y; worldScaleX = scaleX; worldScaleY = scaleY; worldRotation = rotationIK; + worldFlipX = skeletonFlipX ^ flipX; + worldFlipY = skeletonFlipY ^ flipY; } float radians = worldRotation * (float)Math.PI / 180; float cos = (float)Math.Cos(radians); float sin = (float)Math.Sin(radians); - if (skeleton.flipX) { + if (worldFlipX) { m00 = -cos * worldScaleX; m01 = sin * worldScaleY; } else { m00 = cos * worldScaleX; m01 = -sin * worldScaleY; } - if (skeleton.flipY != yDown) { + if (worldFlipY != yDown) { m10 = -sin * worldScaleX; m11 = -cos * worldScaleY; } else { @@ -127,13 +138,14 @@ namespace Spine { rotationIK = rotation; scaleX = data.scaleX; scaleY = data.scaleY; + flipX = data.flipX; + flipY = data.flipY; } public void worldToLocal (float worldX, float worldY, out float localX, out float localY) { float dx = worldX - this.worldX, dy = worldY - this.worldY; float m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; - Skeleton skeleton = this.skeleton; - if (skeleton.flipX != (skeleton.flipY != yDown)) { + if (worldFlipX != (worldFlipY != yDown)) { m00 = -m00; m11 = -m11; } diff --git a/spine-csharp/src/BoneData.cs b/spine-csharp/src/BoneData.cs index 5d19b266e..7ab9f7fe9 100644 --- a/spine-csharp/src/BoneData.cs +++ b/spine-csharp/src/BoneData.cs @@ -35,6 +35,7 @@ namespace Spine { internal BoneData parent; internal String name; internal float length, x, y, rotation, scaleX = 1, scaleY = 1; + internal bool flipX, flipY; internal bool inheritScale = true, inheritRotation = true; /// May be null. @@ -46,6 +47,8 @@ namespace Spine { public float Rotation { get { return rotation; } set { rotation = value; } } public float ScaleX { get { return scaleX; } set { scaleX = value; } } public float ScaleY { get { return scaleY; } set { scaleY = value; } } + public bool FlipX { get { return flipX; } set { flipX = value; } } + public bool FlipY { get { return flipY; } set { flipY = value; } } public bool InheritScale { get { return inheritScale; } set { inheritScale = value; } } public bool InheritRotation { get { return inheritRotation; } set { inheritRotation = value; } } diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs index a5494c155..77baa063b 100644 --- a/spine-csharp/src/SkeletonJson.cs +++ b/spine-csharp/src/SkeletonJson.cs @@ -114,6 +114,8 @@ namespace Spine { boneData.rotation = GetFloat(boneMap, "rotation", 0); boneData.scaleX = GetFloat(boneMap, "scaleX", 1); boneData.scaleY = GetFloat(boneMap, "scaleY", 1); + boneData.flipX = GetBoolean(boneMap, "flipX", false); + boneData.flipY = GetBoolean(boneMap, "flipY", false); boneData.inheritScale = GetBoolean(boneMap, "inheritScale", true); boneData.inheritRotation = GetBoolean(boneMap, "inheritRotation", true); skeletonData.bones.Add(boneData); @@ -387,7 +389,7 @@ namespace Spine { foreach (KeyValuePair timelineEntry in timelineMap) { var values = (List)timelineEntry.Value; var timelineName = (String)timelineEntry.Key; - if (timelineName.Equals("color")) { + if (timelineName == "color") { var timeline = new ColorTimeline(values.Count); timeline.slotIndex = slotIndex; @@ -402,7 +404,7 @@ namespace Spine { timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 5 - 5]); - } else if (timelineName.Equals("attachment")) { + } else if (timelineName == "attachment") { var timeline = new AttachmentTimeline(values.Count); timeline.slotIndex = slotIndex; @@ -431,7 +433,7 @@ namespace Spine { foreach (KeyValuePair timelineEntry in timelineMap) { var values = (List)timelineEntry.Value; var timelineName = (String)timelineEntry.Key; - if (timelineName.Equals("rotate")) { + if (timelineName == "rotate") { var timeline = new RotateTimeline(values.Count); timeline.boneIndex = boneIndex; @@ -445,10 +447,10 @@ namespace Spine { timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); - } else if (timelineName.Equals("translate") || timelineName.Equals("scale")) { + } else if (timelineName == "translate" || timelineName == "scale") { TranslateTimeline timeline; float timelineScale = 1; - if (timelineName.Equals("scale")) + if (timelineName == "scale") timeline = new ScaleTimeline(values.Count); else { timeline = new TranslateTimeline(values.Count); @@ -468,6 +470,21 @@ namespace Spine { timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 3 - 3]); + } else if (timelineName == "flipX" || timelineName == "flipY") { + bool x = timelineName == "flipX"; + var timeline = x ? new FlipXTimeline(values.Count) : new FlipYTimeline(values.Count); + timeline.boneIndex = boneIndex; + + String field = x ? "x" : "y"; + int frameIndex = 0; + foreach (Dictionary valueMap in values) { + float time = (float)valueMap["time"]; + timeline.SetFrame(frameIndex, time, valueMap.ContainsKey(field) ? (bool)valueMap[field] : false); + frameIndex++; + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); + } else throw new Exception("Invalid timeline type for a bone: " + timelineName + " (" + boneName + ")"); } @@ -550,27 +567,8 @@ namespace Spine { } } - if (map.ContainsKey("flipx")) { - var flipMap = (List)map["flipx"]; - var timeline = new FlipXTimeline(flipMap.Count); - int frameIndex = 0; - foreach (Dictionary valueMap in flipMap) - timeline.SetFrame(frameIndex++, (float)valueMap["time"], valueMap.ContainsKey("x") ? (bool)valueMap["x"] : false); - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); - } - if (map.ContainsKey("flipy")) { - var flipMap = (List)map["flipy"]; - var timeline = new FlipYTimeline(flipMap.Count); - int frameIndex = 0; - foreach (Dictionary valueMap in flipMap) - timeline.SetFrame(frameIndex++, (float)valueMap["time"], valueMap.ContainsKey("y") ? (bool)valueMap["y"] : false); - timelines.Add(timeline); - duration = Math.Max(duration, timeline.frames[timeline.FrameCount * 2 - 2]); - } - - if (map.ContainsKey("draworder")) { - var values = (List)map["draworder"]; + if (map.ContainsKey("drawOrder") || map.ContainsKey("draworder")) { + var values = (List)map[map.ContainsKey("drawOrder") ? "drawOrder" : "draworder"]; var timeline = new DrawOrderTimeline(values.Count); int slotCount = skeletonData.slots.Count; int frameIndex = 0; diff --git a/spine-js/spine.js b/spine-js/spine.js index 22b71d654..9a30c5504 100644 --- a/spine-js/spine.js +++ b/spine-js/spine.js @@ -1712,7 +1712,8 @@ spine.SkeletonJson.prototype = { } } - var drawOrderValues = map["draworder"]; + var drawOrderValues = map["drawOrder"]; + if (!drawOrderValues) drawOrderValues = map["draworder"]; if (drawOrderValues) { var timeline = new spine.DrawOrderTimeline(drawOrderValues.length); var slotCount = skeletonData.slots.length; diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index 0e03242af..161102e89 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -778,12 +778,21 @@ public class Animation { } static public class FlipXTimeline implements Timeline { + int boneIndex; final float[] frames; // time, flip, ... public FlipXTimeline (int frameCount) { frames = new float[frameCount << 1]; } + public void setBoneIndex (int boneIndex) { + this.boneIndex = boneIndex; + } + + public int getBoneIndex () { + return boneIndex; + } + public int getFrameCount () { return frames.length >> 1; } @@ -806,15 +815,13 @@ public class Animation { return; } else if (lastTime > time) // lastTime = -1; - int frameIndex = (time >= frames[frames.length - 2] ? frames.length : binarySearch(frames, time, 2)) - 2; if (frames[frameIndex] <= lastTime) return; - - flip(skeleton, frames[frameIndex + 1] != 0); + setFlip(skeleton.bones.get(boneIndex), frames[frameIndex + 1] != 0); } - protected void flip (Skeleton skeleton, boolean flip) { - skeleton.setFlipX(flip); + protected void setFlip (Bone bone, boolean flip) { + bone.setFlipX(flip); } } @@ -823,8 +830,8 @@ public class Animation { super(frameCount); } - protected void flip (Skeleton skeleton, boolean flip) { - skeleton.setFlipY(flip); + protected void setFlip (Bone bone, boolean flip) { + bone.setFlipY(flip); } } } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index d2e81bea8..46f672b05 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -43,11 +43,13 @@ public class Bone { float x, y; float rotation, rotationIK; float scaleX, scaleY; + boolean flipX, flipY; float m00, m01, worldX; // a b x float m10, m11, worldY; // c d y float worldRotation; float worldScaleX, worldScaleY; + boolean worldFlipX, worldFlipY; Bone (BoneData data) { this.data = data; @@ -78,6 +80,8 @@ public class Bone { rotationIK = bone.rotationIK; scaleX = bone.scaleX; scaleY = bone.scaleY; + flipX = bone.flipX; + flipY = bone.flipY; } /** Computes the world SRT using the parent bone and the local SRT. */ @@ -96,23 +100,28 @@ public class Bone { worldScaleY = scaleY; } worldRotation = data.inheritRotation ? parent.worldRotation + rotationIK : rotationIK; + worldFlipX = parent.worldFlipX ^ flipX; + worldFlipY = parent.worldFlipY ^ flipY; } else { - worldX = skeleton.flipX ? -x : x; - worldY = skeleton.flipY ? -y : y; + boolean skeletonFlipX = skeleton.flipX, skeletonFlipY = skeleton.flipY; + worldX = skeletonFlipX ? -x : x; + worldY = skeletonFlipY ? -y : y; worldScaleX = scaleX; worldScaleY = scaleY; worldRotation = rotationIK; + worldFlipX = skeletonFlipX ^ flipX; + worldFlipY = skeletonFlipY ^ flipY; } float cos = MathUtils.cosDeg(worldRotation); float sin = MathUtils.sinDeg(worldRotation); - if (skeleton.flipX) { + if (worldFlipX) { m00 = -cos * worldScaleX; m01 = sin * worldScaleY; } else { m00 = cos * worldScaleX; m01 = -sin * worldScaleY; } - if (skeleton.flipY) { + if (worldFlipY) { m10 = -sin * worldScaleX; m11 = -cos * worldScaleY; } else { @@ -129,6 +138,8 @@ public class Bone { rotationIK = rotation; scaleX = data.scaleX; scaleY = data.scaleY; + flipX = data.flipX; + flipY = data.flipY; } public BoneData getData () { @@ -208,6 +219,22 @@ public class Bone { scaleY = scale; } + public boolean getFlipX () { + return flipX; + } + + public void setFlipX (boolean flipX) { + this.flipX = flipX; + } + + public boolean getFlipY () { + return flipY; + } + + public void setFlipY (boolean flipY) { + this.flipY = flipY; + } + public float getM00 () { return m00; } @@ -244,6 +271,14 @@ public class Bone { return worldScaleY; } + public boolean getWorldFlipX () { + return worldFlipX; + } + + public boolean getWorldFlipY () { + return worldFlipY; + } + public Matrix3 getWorldTransform (Matrix3 worldTransform) { if (worldTransform == null) throw new IllegalArgumentException("worldTransform cannot be null."); float[] val = worldTransform.val; @@ -262,8 +297,7 @@ public class Bone { public Vector2 worldToLocal (Vector2 world) { float x = world.x - worldX, y = world.y - worldY; float m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; - Skeleton skeleton = this.skeleton; - if (skeleton.flipX != skeleton.flipY) { + if (worldFlipX != worldFlipY) { m00 = -m00; m11 = -m11; } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java b/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java index 7ace0df16..37c5a5e6c 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java @@ -39,6 +39,7 @@ public class BoneData { float x, y; float rotation; float scaleX = 1, scaleY = 1; + boolean flipX, flipY; boolean inheritScale = true, inheritRotation = true; // Nonessential. @@ -63,6 +64,8 @@ public class BoneData { rotation = bone.rotation; scaleX = bone.scaleX; scaleY = bone.scaleY; + flipX = bone.flipX; + flipY = bone.flipY; } /** @return May be null. */ @@ -132,6 +135,22 @@ public class BoneData { this.scaleY = scaleY; } + public boolean getFlipX () { + return flipX; + } + + public void setFlipX (boolean flipX) { + this.flipX = flipX; + } + + public boolean getFlipY () { + return flipY; + } + + public void setFlipY (boolean flipY) { + this.flipY = flipY; + } + public boolean getInheritScale () { return inheritScale; } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index 5505ffc1a..3071babdb 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -68,6 +68,8 @@ public class SkeletonBinary { static public final int TIMELINE_TRANSLATE = 2; static public final int TIMELINE_ATTACHMENT = 3; static public final int TIMELINE_COLOR = 4; + static public final int TIMELINE_FLIPX = 5; + static public final int TIMELINE_FLIPY = 6; static public final int CURVE_LINEAR = 0; static public final int CURVE_STEPPED = 1; @@ -124,6 +126,8 @@ public class SkeletonBinary { boneData.scaleY = input.readFloat(); boneData.rotation = input.readFloat(); boneData.length = input.readFloat() * scale; + boneData.flipX = input.readBoolean(); + boneData.flipY = input.readBoolean(); boneData.inheritScale = input.readBoolean(); boneData.inheritRotation = input.readBoolean(); if (nonessential) Color.rgba8888ToColor(boneData.color, input.readInt()); @@ -384,7 +388,7 @@ public class SkeletonBinary { break; } case TIMELINE_TRANSLATE: - case TIMELINE_SCALE: + case TIMELINE_SCALE: { TranslateTimeline timeline; float timelineScale = 1; if (timelineType == TIMELINE_SCALE) @@ -403,6 +407,18 @@ public class SkeletonBinary { duration = Math.max(duration, timeline.getFrames()[frameCount * 3 - 3]); break; } + case TIMELINE_FLIPX: + case TIMELINE_FLIPY: { + FlipXTimeline timeline = timelineType == TIMELINE_FLIPX ? new FlipXTimeline(frameCount) : new FlipYTimeline( + frameCount); + timeline.boneIndex = boneIndex; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) + timeline.setFrame(frameIndex, input.readFloat(), input.readBoolean()); + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[frameCount * 2 - 2]); + break; + } + } } } @@ -474,28 +490,6 @@ public class SkeletonBinary { } } - // Flip timelines. - int flipCount = input.readInt(true); - if (flipCount > 0) { - FlipXTimeline timeline = new FlipXTimeline(flipCount); - for (int i = 0; i < flipCount; i++) { - float time = input.readFloat(); - timeline.setFrame(i, time, input.readBoolean()); - } - timelines.add(timeline); - duration = Math.max(duration, timeline.getFrames()[flipCount * 2 - 2]); - } - flipCount = input.readInt(true); - if (flipCount > 0) { - FlipYTimeline timeline = new FlipYTimeline(flipCount); - for (int i = 0; i < flipCount; i++) { - float time = input.readFloat(); - timeline.setFrame(i, time, input.readBoolean()); - } - timelines.add(timeline); - duration = Math.max(duration, timeline.getFrames()[flipCount * 2 - 2]); - } - // Draw order timeline. int drawOrderCount = input.readInt(true); if (drawOrderCount > 0) { diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index e550f78c2..7c8f1235a 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -116,6 +116,8 @@ public class SkeletonJson { boneData.rotation = boneMap.getFloat("rotation", 0); boneData.scaleX = boneMap.getFloat("scaleX", 1); boneData.scaleY = boneMap.getFloat("scaleY", 1); + boneData.flipX = boneMap.getBoolean("flipX", false); + boneData.flipY = boneMap.getBoolean("flipY", false); boneData.inheritScale = boneMap.getBoolean("inheritScale", true); boneData.inheritRotation = boneMap.getBoolean("inheritRotation", true); @@ -385,6 +387,20 @@ public class SkeletonJson { timelines.add(timeline); duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 3 - 3]); + } else if (timelineName.equals("flipX") || timelineName.equals("flipY")) { + boolean x = timelineName.equals("flipX"); + FlipXTimeline timeline = x ? new FlipXTimeline(timelineMap.size) : new FlipYTimeline(timelineMap.size); + timeline.boneIndex = boneIndex; + + String field = x ? "x" : "y"; + int frameIndex = 0; + for (JsonValue valueMap = timelineMap.child; valueMap != null; valueMap = valueMap.next) { + timeline.setFrame(frameIndex, valueMap.getFloat("time"), valueMap.getBoolean(field, false)); + frameIndex++; + } + timelines.add(timeline); + duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 2 - 2]); + } else throw new RuntimeException("Invalid timeline type for a bone: " + timelineName + " (" + boneMap.name + ")"); } @@ -460,28 +476,9 @@ public class SkeletonJson { } } - // Flip timelines. - JsonValue flipMap = map.get("flipx"); - if (flipMap != null) { - FlipXTimeline timeline = new FlipXTimeline(flipMap.size); - int frameIndex = 0; - for (JsonValue valueMap = flipMap.child; valueMap != null; valueMap = valueMap.next) - timeline.setFrame(frameIndex++, valueMap.getFloat("time"), valueMap.getBoolean("x", false)); - timelines.add(timeline); - duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 2 - 2]); - } - flipMap = map.get("flipy"); - if (flipMap != null) { - FlipYTimeline timeline = new FlipYTimeline(flipMap.size); - int frameIndex = 0; - for (JsonValue valueMap = flipMap.child; valueMap != null; valueMap = valueMap.next) - timeline.setFrame(frameIndex++, valueMap.getFloat("time"), valueMap.getBoolean("y", false)); - timelines.add(timeline); - duration = Math.max(duration, timeline.getFrames()[timeline.getFrameCount() * 2 - 2]); - } - // Draw order timeline. - JsonValue drawOrdersMap = map.get("draworder"); + JsonValue drawOrdersMap = map.get("drawOrder"); + if (drawOrdersMap == null) drawOrdersMap = map.get("draworder"); if (drawOrdersMap != null) { DrawOrderTimeline timeline = new DrawOrderTimeline(drawOrdersMap.size); int slotCount = skeletonData.slots.size; diff --git a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java index 9149998f5..9c87ed72d 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java @@ -206,8 +206,6 @@ public class SkeletonViewer extends ApplicationAdapter { if (!ui.pauseButton.isChecked()) { state.update(delta); state.apply(skeleton); - ui.flipXCheckbox.setChecked(skeleton.getFlipX()); - ui.flipYCheckbox.setChecked(skeleton.getFlipY()); } skeleton.setPosition(skeletonX, skeletonY); // skeleton.setPosition(0, 0); diff --git a/spine-lua/SkeletonJson.lua b/spine-lua/SkeletonJson.lua index cd99f5f5d..001821220 100755 --- a/spine-lua/SkeletonJson.lua +++ b/spine-lua/SkeletonJson.lua @@ -447,7 +447,8 @@ function SkeletonJson.new (attachmentLoader) end end - local drawOrderValues = map["draworder"] + local drawOrderValues = map["drawOrder"] + if not drawOrderValues then drawOrderValues = map["draworder"] end if drawOrderValues then local timeline = Animation.DrawOrderTimeline.new(#drawOrderValues) local slotCount = #skeletonData.slots From 14aeb496502e9f85b6b5535d85fc892144aff160 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 4 Oct 2014 13:36:05 +0200 Subject: [PATCH 34/91] Clean up. --- spine-csharp/src/Bone.cs | 3 +-- spine-unity/Assets/spine-unity/AtlasAsset.cs | 12 +++++------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/spine-csharp/src/Bone.cs b/spine-csharp/src/Bone.cs index 7041346c4..1e1974cda 100644 --- a/spine-csharp/src/Bone.cs +++ b/spine-csharp/src/Bone.cs @@ -38,7 +38,7 @@ namespace Spine { internal BoneData data; internal Skeleton skeleton; internal Bone parent; - internal List children; + internal List children = new List(); internal float x, y, rotation, rotationIK, scaleX, scaleY; internal bool flipX, flipY; internal float m00, m01, m10, m11; @@ -79,7 +79,6 @@ namespace Spine { this.data = data; this.skeleton = skeleton; this.parent = parent; - this.children = new List(); SetToSetupPose(); } diff --git a/spine-unity/Assets/spine-unity/AtlasAsset.cs b/spine-unity/Assets/spine-unity/AtlasAsset.cs index a76839407..5096d3869 100644 --- a/spine-unity/Assets/spine-unity/AtlasAsset.cs +++ b/spine-unity/Assets/spine-unity/AtlasAsset.cs @@ -97,13 +97,11 @@ public class MaterialsTextureLoader : TextureLoader { } page.rendererObject = material; - //deal with really, really old atlas files - if (page.width == 0 || page.height == 0) - { - page.width = material.mainTexture.width; - page.height = material.mainTexture.height; - } - + // Very old atlas files expected the texture's actual size to be used at runtime. + if (page.width == 0 || page.height == 0) { + page.width = material.mainTexture.width; + page.height = material.mainTexture.height; + } } public void Unload (object texture) { From 9cd40dd3c18d5809f05d1e6811e584c4dc505dbf Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Sat, 4 Oct 2014 19:35:46 -0700 Subject: [PATCH 35/91] [Unity] Added Bone FlipX support to Skeleton Utility. --- .../Editor/SkeletonUtilityBoneInspector.cs | 26 +++- .../SkeletonUtility/SkeletonUtilityBone.cs | 116 ++++++++++++++++-- 2 files changed, 130 insertions(+), 12 deletions(-) diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs index 1a6b80054..c0eb706d5 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -41,7 +41,7 @@ using Spine; [CustomEditor(typeof(SkeletonUtilityBone)), CanEditMultipleObjects] public class SkeletonUtilityBoneInspector : Editor { - SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, parentReference; + SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, parentReference, flip, flipX; //multi selected flags bool containsFollows, containsOverrides, multiObject; @@ -60,6 +60,8 @@ public class SkeletonUtilityBoneInspector : Editor { scale = this.serializedObject.FindProperty("scale"); overrideAlpha = this.serializedObject.FindProperty("overrideAlpha"); parentReference = this.serializedObject.FindProperty("parentReference"); + flip = this.serializedObject.FindProperty("flip"); + flipX = this.serializedObject.FindProperty("flipX"); EvaluateFlags(); @@ -134,11 +136,24 @@ public class SkeletonUtilityBoneInspector : Editor { EditorGUILayout.PropertyField(position); EditorGUILayout.PropertyField(rotation); EditorGUILayout.PropertyField(scale); + EditorGUILayout.PropertyField(flip); EditorGUI.BeginDisabledGroup( containsFollows ); { EditorGUILayout.PropertyField(overrideAlpha); EditorGUILayout.PropertyField(parentReference); + + EditorGUI.BeginDisabledGroup(multiObject || !flip.boolValue); + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(flipX); + if (EditorGUI.EndChangeCheck()) + { + FlipX(flipX.boolValue); + } + } + EditorGUI.EndDisabledGroup(); + } EditorGUI.EndDisabledGroup(); @@ -173,6 +188,15 @@ public class SkeletonUtilityBoneInspector : Editor { serializedObject.ApplyModifiedProperties(); } + void FlipX(bool state) + { + utilityBone.FlipX(state); + if (Application.isPlaying == false) + { + skeletonUtility.skeletonAnimation.LateUpdate(); + } + } + void BoneSelectorContextMenu(string current, List bones, string topValue, GenericMenu.MenuFunction2 callback){ GenericMenu menu = new GenericMenu(); diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs index a8e03e0e5..ca0b56bde 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs @@ -61,6 +61,8 @@ public class SkeletonUtilityBone : MonoBehaviour { public bool position; public bool rotation; public bool scale; + public bool flip; + public bool flipX; [Range(0f,1f)] public float overrideAlpha = 1; @@ -138,23 +140,41 @@ public class SkeletonUtilityBone : MonoBehaviour { } } + - float flipRotation = (skeleton.flipX ^ skeleton.flipY) ? -1f : 1f; - + float skeletonFlipRotation = (skeleton.flipX ^ skeleton.flipY) ? -1f : 1f; + + float flipCompensation = 0; + if (flip && (flipX || ( flipX != bone.flipX)) && bone.parent != null) + { + flipCompensation = bone.parent.WorldRotation * -2; + } if(mode == Mode.Follow){ + if (flip) + { + flipX = bone.flipX; + } + + if(position){ cachedTransform.localPosition = new Vector3(bone.x, bone.y, 0); } - + if(rotation){ if(bone.Data.InheritRotation){ - cachedTransform.localRotation = Quaternion.Euler(0,0,bone.rotationIK); + if (bone.FlipX) + { + cachedTransform.localRotation = Quaternion.Euler(0, 180, bone.rotationIK - flipCompensation); + } + else { + cachedTransform.localRotation = Quaternion.Euler(0,0,bone.rotationIK); + } } else{ Vector3 euler = skeletonTransform.rotation.eulerAngles; - cachedTransform.rotation = Quaternion.Euler(euler.x, euler.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * flipRotation) ); + cachedTransform.rotation = Quaternion.Euler(euler.x, euler.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * skeletonFlipRotation) ); } } @@ -167,8 +187,11 @@ public class SkeletonUtilityBone : MonoBehaviour { } else if(mode == Mode.Override){ + + + if(transformLerpComplete) - return; + return; if(parentReference == null){ if(position){ @@ -177,8 +200,23 @@ public class SkeletonUtilityBone : MonoBehaviour { } if(rotation){ - bone.rotation = Mathf.LerpAngle(bone.Rotation, cachedTransform.localRotation.eulerAngles.z, overrideAlpha); - } + float angle = Mathf.LerpAngle(bone.Rotation, cachedTransform.localRotation.eulerAngles.z, overrideAlpha) + flipCompensation; + + if (flip) { + if ((!flipX && bone.flipX)) + { + angle -= flipCompensation; + } + + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } + + bone.Rotation = angle; + } if(scale){ bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); @@ -186,8 +224,17 @@ public class SkeletonUtilityBone : MonoBehaviour { nonUniformScaleWarning = (bone.scaleX != bone.scaleY); } + + if (flip) + { + bone.flipX = flipX; + } } else{ + + if (transformLerpComplete) + return; + if(position){ Vector3 pos = parentReference.InverseTransformPoint(cachedTransform.position); bone.x = Mathf.Lerp(bone.x, pos.x, overrideAlpha); @@ -195,22 +242,69 @@ public class SkeletonUtilityBone : MonoBehaviour { } if(rotation){ - bone.rotation = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation( Vector3.forward, parentReference.InverseTransformDirection( cachedTransform.up ) ).eulerAngles.z, overrideAlpha); + float angle = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation(flipX ? Vector3.forward * -1 : Vector3.forward, parentReference.InverseTransformDirection(cachedTransform.up)).eulerAngles.z, overrideAlpha) + flipCompensation; + + if (flip) + { + if ((!flipX && bone.flipX)) + { + angle -= flipCompensation; + } + + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } + + bone.Rotation = angle; } //TODO: Something about this if(scale){ - bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); - bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); + bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); + bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); nonUniformScaleWarning = (bone.scaleX != bone.scaleY); } + + if (flip) + { + bone.flipX = flipX; + } + } transformLerpComplete = true; } } + public void FlipX(bool state) + { + if (state != flipX) + { + flipX = state; + if (flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) > 90) + { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } + else if (!flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) < 90) + { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } + } + + bone.FlipX = state; + transform.RotateAround(transform.position, skeletonUtility.transform.up, 180); + Vector3 euler = transform.localRotation.eulerAngles; + euler.x = 0; + euler.y = bone.FlipX ? 180 : 0; + transform.localRotation = Quaternion.Euler(euler); + } + void OnDrawGizmos(){ if(NonUniformScaleWarning){ Gizmos.DrawIcon(transform.position + new Vector3(0,0.128f,0), "icon-warning"); From 323f4a4fd51c8939ebe1ba84372c0e9225d17654 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sun, 5 Oct 2014 18:53:30 +0200 Subject: [PATCH 36/91] Fixed compilation for Unity < 4.5. --- .../Scripts/BasicPlatformerController.cs | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs index 8da100089..0ffc2ffa2 100644 --- a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs +++ b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs @@ -39,36 +39,48 @@ using System.Collections; [RequireComponent(typeof(CharacterController))] public class BasicPlatformerController : MonoBehaviour { +#if !UNITY_4_3 && !UNITY_4_4 [Header("Controls")] +#endif public string XAxis = "Horizontal"; public string YAxis = "Vertical"; public string JumpButton = "Jump"; - [Header("Moving")] - public float walkSpeed = 4; +#if !UNITY_4_3 && !UNITY_4_4 + [Header("Moving")] +#endif + public float walkSpeed = 4; public float runSpeed = 10; public float gravity = 65; - [Header("Jumping")] - public float jumpSpeed = 25; +#if !UNITY_4_3 && !UNITY_4_4 + [Header("Jumping")] +#endif + public float jumpSpeed = 25; public float jumpDuration = 0.5f; public float jumpInterruptFactor = 100; public float forceCrouchVelocity = 25; public float forceCrouchDuration = 0.5f; - [Header("Graphics")] - public Transform graphicsRoot; +#if !UNITY_4_3 && !UNITY_4_4 + [Header("Graphics")] +#endif + public Transform graphicsRoot; public SkeletonAnimation skeletonAnimation; - [Header("Animation")] - public string walkName = "Walk"; +#if !UNITY_4_3 && !UNITY_4_4 + [Header("Animation")] +#endif + public string walkName = "Walk"; public string runName = "Run"; public string idleName = "Idle"; public string jumpName = "Jump"; public string fallName = "Fall"; public string crouchName = "Crouch"; +#if !UNITY_4_3 && !UNITY_4_4 [Header("Audio")] +#endif public AudioSource jumpAudioSource; public AudioSource hardfallAudioSource; public AudioSource footstepAudioSource; From b2f09b352b8def020137b07cbeec77845a4ebc84 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sun, 5 Oct 2014 18:53:47 +0200 Subject: [PATCH 37/91] Reanedm goblins-ffd example to goblins-mesh. --- .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../src/{goblins-ffd.png => goblins-mesh.png} | Bin .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.png => goblins-mesh.png} | Bin .../2/example/GoblinsExample.m | 2 +- .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.png => goblins-mesh.png} | Bin .../3.0/example/GoblinsExample.m | 2 +- .../2/example/Classes/GoblinsExample.cpp | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.png => goblins-mesh.png} | Bin .../example/Resources/ipad/goblins-ffd.atlas | 292 ----------------- .../example/Resources/ipad/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../Resources/iphone-retina/goblins-ffd.atlas | 292 ----------------- .../iphone-retina/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../Resources/iphone/goblins-ffd.atlas | 292 ----------------- .../Resources/iphone/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../3/example/Classes/GoblinsExample.cpp | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../Resources/ipad-retina/goblins-ffd.atlas | 292 ----------------- .../Resources/ipad-retina/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../example/Resources/ipad/goblins-ffd.atlas | 292 ----------------- .../example/Resources/ipad/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../Resources/iphone-retina/goblins-ffd.atlas | 292 ----------------- .../iphone-retina/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../Resources/iphone/goblins-ffd.atlas | 292 ----------------- .../Resources/iphone/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.png => goblins-mesh.png} | Bin .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.png => goblins-mesh.png} | Bin .../{goblins-ffd.skel => goblins-mesh.skel} | Bin spine-sfml/data/goblins-ffd.atlas | 292 ----------------- spine-sfml/data/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.png => goblins-mesh.png} | Bin .../src/goblins-ffd.atlas | 292 ----------------- ...starling.png => goblins-mesh-starling.png} | Bin ...starling.xml => goblins-mesh-starling.xml} | 2 +- .../src/goblins-mesh.atlas | 292 +++++++++++++++++ .../{goblins-ffd.json => goblins-mesh.json} | 0 .../src/{goblins-ffd.png => goblins-mesh.png} | Bin .../src/spine/GoblinsExample.as | 10 +- ...ins-ffd.json.txt => goblins-mesh.json.txt} | 0 ...on.txt.meta => goblins-mesh.json.txt.meta} | 0 .../Assets/Examples/Scenes/Goblins.unity | Bin 23180 -> 23180 bytes .../Examples/Spine/Dragon/license.txt.meta | 4 + .../Spine/Eyes/eyes_SkeletonData.asset | Bin 4204 -> 4204 bytes .../Spine/Goblins/goblins-ffd.atlas.txt | 293 ------------------ .../Examples/Spine/Goblins/goblins-ffd.json | 1 - .../Examples/Spine/Goblins/goblins-ffd.png | Bin 163330 -> 0 bytes .../Spine/Goblins/goblins-ffd_Atlas.asset | 16 - .../Spine/Goblins/goblins-ffd_Material.mat | 28 -- .../Goblins/goblins-ffd_SkeletonData.asset | 20 -- .../Spine/Goblins/goblins-mesh.atlas.txt | 293 ++++++++++++++++++ ...s.txt.meta => goblins-mesh.atlas.txt.meta} | 0 .../Examples/Spine/Goblins/goblins-mesh.json | 1 + ...s-ffd.json.meta => goblins-mesh.json.meta} | 0 .../Examples/Spine/Goblins/goblins-mesh.png | Bin 0 -> 160909 bytes ...ins-ffd.png.meta => goblins-mesh.png.meta} | 3 +- .../Spine/Goblins/goblins-mesh_Atlas.asset | Bin 0 -> 4188 bytes ...set.meta => goblins-mesh_Atlas.asset.meta} | 0 .../Spine/Goblins/goblins-mesh_Material.mat | Bin 0 -> 4224 bytes ...at.meta => goblins-mesh_Material.mat.meta} | 0 .../Goblins/goblins-mesh_SkeletonData.asset | Bin 0 -> 4212 bytes ...a => goblins-mesh_SkeletonData.asset.meta} | 0 ...goblins-ffd.prefab => goblins-mesh.prefab} | Bin 10168 -> 10160 bytes ...d.prefab.meta => goblins-mesh.prefab.meta} | 0 .../{goblins-ffd.atlas => goblins-mesh.atlas} | 2 +- .../{goblins-ffd.json => goblins-mesh.json} | 0 .../{goblins-ffd.png => goblins-mesh.png} | Bin spine-xna/example/src/ExampleGame.cs | 4 +- 82 files changed, 2945 insertions(+), 3006 deletions(-) rename spine-as3/spine-as3-example/src/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-as3/spine-as3-example/src/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-as3/spine-as3-example/src/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-cocos2d-iphone/2/Resources/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-cocos2d-iphone/2/Resources/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-cocos2d-iphone/2/Resources/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-cocos2d-iphone/3.0/Resources/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-cocos2d-iphone/3.0/Resources/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-cocos2d-iphone/3.0/Resources/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-cocos2dx/2/example/Resources/common/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-cocos2dx/2/example/Resources/ipad-retina/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-cocos2dx/2/example/Resources/ipad-retina/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.atlas create mode 100644 spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.atlas rename spine-cocos2dx/2/example/Resources/ipad/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.atlas create mode 100644 spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.atlas rename spine-cocos2dx/2/example/Resources/iphone-retina/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.atlas create mode 100644 spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.atlas rename spine-cocos2dx/2/example/Resources/iphone/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-cocos2dx/3/example/Resources/common/{goblins-ffd.json => goblins-mesh.json} (100%) delete mode 100644 spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas create mode 100644 spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.atlas rename spine-cocos2dx/3/example/Resources/ipad-retina/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas create mode 100644 spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.atlas rename spine-cocos2dx/3/example/Resources/ipad/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas create mode 100644 spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.atlas rename spine-cocos2dx/3/example/Resources/iphone-retina/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas create mode 100644 spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.atlas rename spine-cocos2dx/3/example/Resources/iphone/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-libgdx/assets/goblins/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-libgdx/assets/goblins/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-libgdx/assets/goblins/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-libgdx/assets/goblins/{goblins-ffd.skel => goblins-mesh.skel} (100%) delete mode 100644 spine-sfml/data/goblins-ffd.atlas create mode 100644 spine-sfml/data/goblins-mesh.atlas rename spine-sfml/data/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-sfml/data/{goblins-ffd.png => goblins-mesh.png} (100%) delete mode 100644 spine-starling/spine-starling-example/src/goblins-ffd.atlas rename spine-starling/spine-starling-example/src/{goblins-ffd-starling.png => goblins-mesh-starling.png} (100%) rename spine-starling/spine-starling-example/src/{goblins-ffd-starling.xml => goblins-mesh-starling.xml} (98%) create mode 100644 spine-starling/spine-starling-example/src/goblins-mesh.atlas rename spine-starling/spine-starling-example/src/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-starling/spine-starling-example/src/{goblins-ffd.png => goblins-mesh.png} (100%) rename spine-tk2d/Assets/examples/goblins/{goblins-ffd.json.txt => goblins-mesh.json.txt} (100%) rename spine-tk2d/Assets/examples/goblins/{goblins-ffd.json.txt.meta => goblins-mesh.json.txt.meta} (100%) create mode 100644 spine-unity/Assets/Examples/Spine/Dragon/license.txt.meta delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.atlas.txt delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.json delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.png delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat delete mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd.atlas.txt.meta => goblins-mesh.atlas.txt.meta} (100%) create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd.json.meta => goblins-mesh.json.meta} (100%) create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd.png.meta => goblins-mesh.png.meta} (93%) create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Atlas.asset rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd_Atlas.asset.meta => goblins-mesh_Atlas.asset.meta} (100%) create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Material.mat rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd_Material.mat.meta => goblins-mesh_Material.mat.meta} (100%) create mode 100644 spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_SkeletonData.asset rename spine-unity/Assets/Examples/Spine/Goblins/{goblins-ffd_SkeletonData.asset.meta => goblins-mesh_SkeletonData.asset.meta} (100%) rename spine-unity/Assets/Examples/Spine/{goblins-ffd.prefab => goblins-mesh.prefab} (76%) rename spine-unity/Assets/Examples/Spine/{goblins-ffd.prefab.meta => goblins-mesh.prefab.meta} (100%) rename spine-xna/example/data/{goblins-ffd.atlas => goblins-mesh.atlas} (99%) rename spine-xna/example/data/{goblins-ffd.json => goblins-mesh.json} (100%) rename spine-xna/example/data/{goblins-ffd.png => goblins-mesh.png} (100%) diff --git a/spine-as3/spine-as3-example/src/goblins-ffd.atlas b/spine-as3/spine-as3-example/src/goblins-mesh.atlas similarity index 99% rename from spine-as3/spine-as3-example/src/goblins-ffd.atlas rename to spine-as3/spine-as3-example/src/goblins-mesh.atlas index 5fefae2bb..d0ddb80c6 100644 --- a/spine-as3/spine-as3-example/src/goblins-ffd.atlas +++ b/spine-as3/spine-as3-example/src/goblins-mesh.atlas @@ -1,5 +1,5 @@ -goblins-ffd.png +goblins-mesh.png format: RGBA8888 filter: Linear,Linear repeat: none diff --git a/spine-as3/spine-as3-example/src/goblins-ffd.json b/spine-as3/spine-as3-example/src/goblins-mesh.json similarity index 100% rename from spine-as3/spine-as3-example/src/goblins-ffd.json rename to spine-as3/spine-as3-example/src/goblins-mesh.json diff --git a/spine-as3/spine-as3-example/src/goblins-ffd.png b/spine-as3/spine-as3-example/src/goblins-mesh.png similarity index 100% rename from spine-as3/spine-as3-example/src/goblins-ffd.png rename to spine-as3/spine-as3-example/src/goblins-mesh.png diff --git a/spine-cocos2d-iphone/2/Resources/goblins-ffd.atlas b/spine-cocos2d-iphone/2/Resources/goblins-mesh.atlas similarity index 99% rename from spine-cocos2d-iphone/2/Resources/goblins-ffd.atlas rename to spine-cocos2d-iphone/2/Resources/goblins-mesh.atlas index 5fefae2bb..d0ddb80c6 100644 --- a/spine-cocos2d-iphone/2/Resources/goblins-ffd.atlas +++ b/spine-cocos2d-iphone/2/Resources/goblins-mesh.atlas @@ -1,5 +1,5 @@ -goblins-ffd.png +goblins-mesh.png format: RGBA8888 filter: Linear,Linear repeat: none diff --git a/spine-cocos2d-iphone/2/Resources/goblins-ffd.json b/spine-cocos2d-iphone/2/Resources/goblins-mesh.json similarity index 100% rename from spine-cocos2d-iphone/2/Resources/goblins-ffd.json rename to spine-cocos2d-iphone/2/Resources/goblins-mesh.json diff --git a/spine-cocos2d-iphone/2/Resources/goblins-ffd.png b/spine-cocos2d-iphone/2/Resources/goblins-mesh.png similarity index 100% rename from spine-cocos2d-iphone/2/Resources/goblins-ffd.png rename to spine-cocos2d-iphone/2/Resources/goblins-mesh.png diff --git a/spine-cocos2d-iphone/2/example/GoblinsExample.m b/spine-cocos2d-iphone/2/example/GoblinsExample.m index 23bf66920..46d973ba5 100644 --- a/spine-cocos2d-iphone/2/example/GoblinsExample.m +++ b/spine-cocos2d-iphone/2/example/GoblinsExample.m @@ -14,7 +14,7 @@ self = [super initWithColor:ccc4(128, 128, 128, 255)]; if (!self) return nil; - skeletonNode = [SkeletonAnimation skeletonWithFile:@"goblins-ffd.json" atlasFile:@"goblins-ffd.atlas" scale:1]; + skeletonNode = [SkeletonAnimation skeletonWithFile:@"goblins-mesh.json" atlasFile:@"goblins-mesh.atlas" scale:1]; [skeletonNode setSkin:@"goblin"]; [skeletonNode setAnimationForTrack:0 name:@"walk" loop:YES]; diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas b/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.atlas similarity index 99% rename from spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas rename to spine-cocos2d-iphone/3.0/Resources/goblins-mesh.atlas index 5fefae2bb..d0ddb80c6 100644 --- a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas +++ b/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.atlas @@ -1,5 +1,5 @@ -goblins-ffd.png +goblins-mesh.png format: RGBA8888 filter: Linear,Linear repeat: none diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.json b/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.json similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/goblins-ffd.json rename to spine-cocos2d-iphone/3.0/Resources/goblins-mesh.json diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.png b/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/goblins-ffd.png rename to spine-cocos2d-iphone/3.0/Resources/goblins-mesh.png diff --git a/spine-cocos2d-iphone/3.0/example/GoblinsExample.m b/spine-cocos2d-iphone/3.0/example/GoblinsExample.m index 99f241dfe..62fef9921 100644 --- a/spine-cocos2d-iphone/3.0/example/GoblinsExample.m +++ b/spine-cocos2d-iphone/3.0/example/GoblinsExample.m @@ -14,7 +14,7 @@ self = [super init]; if (!self) return nil; - skeletonNode = [SkeletonAnimation skeletonWithFile:@"goblins-ffd.json" atlasFile:@"goblins-ffd.atlas" scale:1]; + skeletonNode = [SkeletonAnimation skeletonWithFile:@"goblins-mesh.json" atlasFile:@"goblins-mesh.atlas" scale:1]; [skeletonNode setSkin:@"goblin"]; [skeletonNode setAnimationForTrack:0 name:@"walk" loop:YES]; diff --git a/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp index e3b745c14..efbd63b93 100644 --- a/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp +++ b/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp @@ -47,7 +47,7 @@ CCScene* GoblinsExample::scene () { bool GoblinsExample::init () { if (!CCLayerColor::initWithColor(ccc4(128, 128, 128, 255))) return false; - skeletonNode = SkeletonAnimation::createWithFile("goblins-ffd.json", "goblins-ffd.atlas", 1.5f); + skeletonNode = SkeletonAnimation::createWithFile("goblins-mesh.json", "goblins-mesh.atlas", 1.5f); skeletonNode->setAnimation(0, "walk", true); skeletonNode->setSkin("goblin"); diff --git a/spine-cocos2dx/2/example/Resources/common/goblins-ffd.json b/spine-cocos2dx/2/example/Resources/common/goblins-mesh.json similarity index 100% rename from spine-cocos2dx/2/example/Resources/common/goblins-ffd.json rename to spine-cocos2dx/2/example/Resources/common/goblins-mesh.json diff --git a/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-ffd.atlas b/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-mesh.atlas similarity index 99% rename from spine-cocos2dx/2/example/Resources/ipad-retina/goblins-ffd.atlas rename to spine-cocos2dx/2/example/Resources/ipad-retina/goblins-mesh.atlas index 5fefae2bb..d0ddb80c6 100644 --- a/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-ffd.atlas +++ b/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-mesh.atlas @@ -1,5 +1,5 @@ -goblins-ffd.png +goblins-mesh.png format: RGBA8888 filter: Linear,Linear repeat: none diff --git a/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-ffd.png b/spine-cocos2dx/2/example/Resources/ipad-retina/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/2/example/Resources/ipad-retina/goblins-ffd.png rename to spine-cocos2dx/2/example/Resources/ipad-retina/goblins-mesh.png diff --git a/spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.atlas b/spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.atlas b/spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.png b/spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/2/example/Resources/ipad/goblins-ffd.png rename to spine-cocos2dx/2/example/Resources/ipad/goblins-mesh.png diff --git a/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.atlas b/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.atlas b/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.png b/spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/2/example/Resources/iphone-retina/goblins-ffd.png rename to spine-cocos2dx/2/example/Resources/iphone-retina/goblins-mesh.png diff --git a/spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.atlas b/spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.atlas b/spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.png b/spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/2/example/Resources/iphone/goblins-ffd.png rename to spine-cocos2dx/2/example/Resources/iphone/goblins-mesh.png diff --git a/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp index 45f0c291e..bbc44cd9f 100644 --- a/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp +++ b/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp @@ -47,7 +47,7 @@ Scene* GoblinsExample::scene () { bool GoblinsExample::init () { if (!LayerColor::initWithColor(Color4B(128, 128, 128, 255))) return false; - skeletonNode = SkeletonAnimation::createWithFile("goblins-ffd.json", "goblins-ffd.atlas", 1.5f); + skeletonNode = SkeletonAnimation::createWithFile("goblins-mesh.json", "goblins-mesh.atlas", 1.5f); skeletonNode->setAnimation(0, "walk", true); skeletonNode->setSkin("goblin"); diff --git a/spine-cocos2dx/3/example/Resources/common/goblins-ffd.json b/spine-cocos2dx/3/example/Resources/common/goblins-mesh.json similarity index 100% rename from spine-cocos2dx/3/example/Resources/common/goblins-ffd.json rename to spine-cocos2dx/3/example/Resources/common/goblins-mesh.json diff --git a/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.atlas b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/ipad-retina/goblins-mesh.png diff --git a/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.atlas b/spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/ipad/goblins-mesh.png diff --git a/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.atlas b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/iphone-retina/goblins-mesh.png diff --git a/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.atlas b/spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.png similarity index 100% rename from spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/iphone/goblins-mesh.png diff --git a/spine-libgdx/assets/goblins/goblins-ffd.atlas b/spine-libgdx/assets/goblins/goblins-mesh.atlas similarity index 99% rename from spine-libgdx/assets/goblins/goblins-ffd.atlas rename to spine-libgdx/assets/goblins/goblins-mesh.atlas index b977b07f6..b928522f8 100644 --- a/spine-libgdx/assets/goblins/goblins-ffd.atlas +++ b/spine-libgdx/assets/goblins/goblins-mesh.atlas @@ -1,5 +1,5 @@ -goblins-ffd.png +goblins-mesh.png format: RGBA8888 filter: Linear,Linear repeat: none diff --git a/spine-libgdx/assets/goblins/goblins-ffd.json b/spine-libgdx/assets/goblins/goblins-mesh.json similarity index 100% rename from spine-libgdx/assets/goblins/goblins-ffd.json rename to spine-libgdx/assets/goblins/goblins-mesh.json diff --git a/spine-libgdx/assets/goblins/goblins-ffd.png b/spine-libgdx/assets/goblins/goblins-mesh.png similarity index 100% rename from spine-libgdx/assets/goblins/goblins-ffd.png rename to spine-libgdx/assets/goblins/goblins-mesh.png diff --git a/spine-libgdx/assets/goblins/goblins-ffd.skel b/spine-libgdx/assets/goblins/goblins-mesh.skel similarity index 100% rename from spine-libgdx/assets/goblins/goblins-ffd.skel rename to spine-libgdx/assets/goblins/goblins-mesh.skel diff --git a/spine-sfml/data/goblins-ffd.atlas b/spine-sfml/data/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-sfml/data/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-sfml/data/goblins-mesh.atlas b/spine-sfml/data/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-sfml/data/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-sfml/data/goblins-ffd.json b/spine-sfml/data/goblins-mesh.json similarity index 100% rename from spine-sfml/data/goblins-ffd.json rename to spine-sfml/data/goblins-mesh.json diff --git a/spine-sfml/data/goblins-ffd.png b/spine-sfml/data/goblins-mesh.png similarity index 100% rename from spine-sfml/data/goblins-ffd.png rename to spine-sfml/data/goblins-mesh.png diff --git a/spine-starling/spine-starling-example/src/goblins-ffd.atlas b/spine-starling/spine-starling-example/src/goblins-ffd.atlas deleted file mode 100644 index 5fefae2bb..000000000 --- a/spine-starling/spine-starling-example/src/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: true - xy: 372, 100 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 2, 7 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 107, 36 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 901, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 929, 95 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 452, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: true - xy: 713, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 610, 44 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: true - xy: 638, 93 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 490, 2 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 482, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: true - xy: 690, 2 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 771, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 940, 56 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: true - xy: 482, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: true - xy: 602, 3 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: true - xy: 641, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: true - xy: 212, 34 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 380, 5 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 174, 5 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 269, 11 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 2, 21 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: true - xy: 978, 56 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 107, 3 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 565, 2 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: true - xy: 785, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: true - xy: 690, 27 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: true - xy: 857, 93 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 528, 2 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 546, 45 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 452, 48 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 836, 58 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: true - xy: 771, 20 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: true - xy: 560, 90 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 649, 10 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: true - xy: 706, 57 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 310, 2 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 212, 13 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 810, 27 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 380, 26 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: true - xy: 2, 104 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-starling/spine-starling-example/src/goblins-ffd-starling.png b/spine-starling/spine-starling-example/src/goblins-mesh-starling.png similarity index 100% rename from spine-starling/spine-starling-example/src/goblins-ffd-starling.png rename to spine-starling/spine-starling-example/src/goblins-mesh-starling.png diff --git a/spine-starling/spine-starling-example/src/goblins-ffd-starling.xml b/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml similarity index 98% rename from spine-starling/spine-starling-example/src/goblins-ffd-starling.xml rename to spine-starling/spine-starling-example/src/goblins-mesh-starling.xml index 1d3f676a0..7fb7e3488 100644 --- a/spine-starling/spine-starling-example/src/goblins-ffd-starling.xml +++ b/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml @@ -1,7 +1,7 @@ - + diff --git a/spine-starling/spine-starling-example/src/goblins-mesh.atlas b/spine-starling/spine-starling-example/src/goblins-mesh.atlas new file mode 100644 index 000000000..d0ddb80c6 --- /dev/null +++ b/spine-starling/spine-starling-example/src/goblins-mesh.atlas @@ -0,0 +1,292 @@ + +goblins-mesh.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-starling/spine-starling-example/src/goblins-ffd.json b/spine-starling/spine-starling-example/src/goblins-mesh.json similarity index 100% rename from spine-starling/spine-starling-example/src/goblins-ffd.json rename to spine-starling/spine-starling-example/src/goblins-mesh.json diff --git a/spine-starling/spine-starling-example/src/goblins-ffd.png b/spine-starling/spine-starling-example/src/goblins-mesh.png similarity index 100% rename from spine-starling/spine-starling-example/src/goblins-ffd.png rename to spine-starling/spine-starling-example/src/goblins-mesh.png diff --git a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as index f4aece8fe..8aafcdd78 100644 --- a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as +++ b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as @@ -16,19 +16,19 @@ import starling.textures.Texture; import starling.textures.TextureAtlas; public class GoblinsExample extends Sprite { - [Embed(source = "goblins-ffd.json", mimeType = "application/octet-stream")] + [Embed(source = "goblins-mesh.json", mimeType = "application/octet-stream")] static public const GoblinsJson:Class; - [Embed(source = "goblins-ffd.atlas", mimeType = "application/octet-stream")] + [Embed(source = "goblins-mesh.atlas", mimeType = "application/octet-stream")] static public const GoblinsAtlas:Class; - [Embed(source = "goblins-ffd.png")] + [Embed(source = "goblins-mesh.png")] static public const GoblinsAtlasTexture:Class; - [Embed(source = "goblins-ffd-starling.xml", mimeType = "application/octet-stream")] + [Embed(source = "goblins-mesh-starling.xml", mimeType = "application/octet-stream")] static public const GoblinsStarlingAtlas:Class; - [Embed(source = "goblins-ffd-starling.png")] + [Embed(source = "goblins-mesh-starling.png")] static public const GoblinsStarlingAtlasTexture:Class; private var skeleton:SkeletonAnimation; diff --git a/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt b/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt similarity index 100% rename from spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt rename to spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt diff --git a/spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta b/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt.meta similarity index 100% rename from spine-tk2d/Assets/examples/goblins/goblins-ffd.json.txt.meta rename to spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt.meta diff --git a/spine-unity/Assets/Examples/Scenes/Goblins.unity b/spine-unity/Assets/Examples/Scenes/Goblins.unity index bbda4aa83c1a35eded921006928a2e78b5537dcb..dd9c62a7cc0793654f6d03c5590137ceeac01fe8 100644 GIT binary patch delta 30 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%0DWEeZ}a^f?J%XXqKdE0%s`u+hbBD(RcZuv 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 hb%M1zd&0l@GH$!vVZLYD!v)b@J8`{|8J%TrmIu diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset b/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset deleted file mode 100644 index ce2e5b985..000000000 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset +++ /dev/null @@ -1,16 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a6b194f808b1af6499c93410e504af42, type: 3} - m_Name: goblins-ffd_Atlas - m_EditorClassIdentifier: - atlasFile: {fileID: 4900000, guid: 3586e5ccd2041c24eb20eb4764168abd, type: 3} - materials: - - {fileID: 2100000, guid: 64a66fecd89237b478156e7cc4d2da4a, type: 2} diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat b/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat deleted file mode 100644 index 0fb2c2945..000000000 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat +++ /dev/null @@ -1,28 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_Name: goblins-ffd_Material - m_Shader: {fileID: 4800000, guid: bd83c75f51f5e23498ae22ffcdfe92c3, type: 3} - m_ShaderKeywords: [] - m_CustomRenderQueue: -1 - m_SavedProperties: - serializedVersion: 2 - m_TexEnvs: - data: - first: - name: _MainTex - second: - m_Texture: {fileID: 2800000, guid: 803c2e614a63081439fde6276d110661, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - data: - first: - name: _Cutoff - second: .100000001 - m_Colors: {} diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset deleted file mode 100644 index 34b44bdec..000000000 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset +++ /dev/null @@ -1,20 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f1b3b4b945939a54ea0b23d3396115fb, type: 3} - m_Name: goblins-ffd_SkeletonData - m_EditorClassIdentifier: - atlasAsset: {fileID: 11400000, guid: df2c4ad0c6709fd4f9b1c19ab43878ae, type: 2} - skeletonJSON: {fileID: 4900000, guid: f3a3248bc50115241ae81702fde448eb, type: 3} - scale: .00999999978 - fromAnimation: [] - toAnimation: [] - duration: [] - defaultMix: .200000003 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt new file mode 100644 index 000000000..d674db469 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt @@ -0,0 +1,293 @@ + +goblins-mesh.png +size: 1024,128 +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.atlas.txt.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt.meta similarity index 100% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.atlas.txt.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.atlas.txt.meta diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json new file mode 100644 index 000000000..e286f326b --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json @@ -0,0 +1 @@ +{"skeleton":{"hash":"z+KSUKNoVFCKmcUxpaNi+3NFJa8","spine":"Dev","width":266.89,"height":349.61},"bones":[{"name":"root"},{"name":"hip","parent":"root","x":0.64,"y":114.41},{"name":"left upper leg","parent":"hip","length":50.39,"x":14.45,"y":2.81,"rotation":-89.09},{"name":"pelvis","parent":"hip","x":1.41,"y":-6.57},{"name":"right upper leg","parent":"hip","length":42.45,"x":-20.07,"y":-6.83,"rotation":-97.49},{"name":"torso","parent":"hip","length":85.82,"x":-6.42,"y":1.97,"rotation":93.92},{"name":"left lower leg","parent":"left upper leg","length":49.89,"x":56.34,"y":0.98,"rotation":-16.65},{"name":"left shoulder","parent":"torso","length":35.43,"x":74.04,"y":-20.38,"rotation":-156.96},{"name":"neck","parent":"torso","length":18.38,"x":81.67,"y":-6.34,"rotation":-1.51},{"name":"right lower leg","parent":"right upper leg","length":58.52,"x":42.99,"y":-0.61,"rotation":-14.34},{"name":"right shoulder","parent":"torso","length":37.24,"x":76.02,"y":18.14,"rotation":133.88},{"name":"head","parent":"neck","length":68.28,"x":20.93,"y":11.59,"rotation":-13.92},{"name":"left arm","parent":"left shoulder","length":35.62,"x":37.85,"y":-2.34,"rotation":28.16},{"name":"left foot","parent":"left lower leg","length":46.5,"x":58.94,"y":-7.61,"rotation":102.43},{"name":"right arm","parent":"right shoulder","length":36.74,"x":37.6,"y":0.31,"rotation":36.32},{"name":"right foot","parent":"right lower leg","length":45.45,"x":64.88,"y":0.04,"rotation":110.3},{"name":"left hand","parent":"left arm","length":11.52,"x":35.62,"y":0.07,"rotation":2.7},{"name":"right hand","parent":"right arm","length":15.32,"x":36.9,"y":0.34,"rotation":2.35},{"name":"spear1","parent":"left hand","length":65.06,"x":0.48,"y":17.03,"rotation":102.43},{"name":"spear2","parent":"spear1","length":61.41,"x":65.05,"y":0.04,"rotation":0.9},{"name":"spear3","parent":"spear2","length":76.79,"x":61.88,"y":0.57,"rotation":-0.9}],"slots":[{"name":"left shoulder","bone":"left shoulder","attachment":"left shoulder"},{"name":"left arm","bone":"left arm","attachment":"left arm"},{"name":"left hand item","bone":"left hand","attachment":"spear"},{"name":"left hand","bone":"left hand","attachment":"left hand"},{"name":"left foot","bone":"left foot","attachment":"left foot"},{"name":"left lower leg","bone":"left lower leg","attachment":"left lower leg"},{"name":"left upper leg","bone":"left upper leg","attachment":"left upper leg"},{"name":"neck","bone":"neck","attachment":"neck"},{"name":"torso","bone":"torso","attachment":"torso"},{"name":"pelvis","bone":"pelvis","attachment":"pelvis"},{"name":"right foot","bone":"right foot","attachment":"right foot"},{"name":"right lower leg","bone":"right lower leg","attachment":"right lower leg"},{"name":"undie straps","bone":"pelvis","attachment":"undie straps"},{"name":"undies","bone":"pelvis","attachment":"undies"},{"name":"right upper leg","bone":"right upper leg","attachment":"right upper leg"},{"name":"head","bone":"head","attachment":"head"},{"name":"eyes","bone":"head"},{"name":"right shoulder","bone":"right shoulder","attachment":"right shoulder"},{"name":"right arm","bone":"right arm","attachment":"right arm"},{"name":"right hand thumb","bone":"right hand","attachment":"right hand thumb"},{"name":"right hand item","bone":"right hand","attachment":"dagger"},{"name":"right hand","bone":"right hand","attachment":"right hand"},{"name":"right hand item 2","bone":"right hand","attachment":"shield"}],"skins":{"default":{"left hand item":{"dagger":{"x":7.88,"y":-23.45,"rotation":10.47,"width":26,"height":108},"spear":{"type":"skinnedmesh","uvs":[1,0.11236,0.77096,0.13278,0.76608,0.21781,0.75642,0.386,0.74723,0.54607,0.72117,1,0.28838,1,0.24208,0.54327,0.22589,0.38361,0.2089,0.21605,0.20043,0.13242,0,0.11519,0.4527,0,0.58399,0],"triangles":[5,6,4,6,7,4,4,7,3,2,9,1,9,10,1,10,12,1,12,13,1,1,13,0,10,11,12,3,8,2,8,9,2,7,8,3],"vertices":[1,20,38.54,-10.88,1,1,20,30.97,-5.93,1,2,19,61.48,-5.58,0.5116,20,-0.31,-6.16,0.48839,2,18,64.73,-5.03,0.50272,19,-0.4,-5.06,0.49728,1,16,4.56,23.91,1,1,16,41.7,-138.95,1,1,16,32.42,-141.1,1,1,16,-6.49,22.4,1,2,18,65.48,6.64,0.50272,19,0.53,6.59,0.49728,2,19,62.18,6.66,0.5116,20,0.2,6.09,0.48839,1,20,30.96,6.61,1,1,20,37.26,11.09,1,1,20,79.75,1.59,1,1,20,79.78,-1.29,1],"hull":14}},"right hand item":{"dagger":{"type":"mesh","uvs":[0.78091,0.38453,1,0.38405,1,0.44881,0.73953,0.4687,0.74641,0.81344,0.34022,1,0.15434,1,0.11303,0.78858,0.23007,0.47367,0,0.45047,0,0.38621,0.22367,0.38573,0.24384,0,1,0],"triangles":[0,12,13,11,12,0,0,1,2,9,10,11,3,11,0,3,0,2,8,11,3,9,11,8,5,6,7,4,5,8,4,8,3,5,7,8],"vertices":[15.49,-12.82,21.13,-13.57,20.16,-20.49,13.15,-21.67,8.13,-58.56,-5.13,-77.04,-9.92,-76.36,-7.79,-53.6,-0.03,-20.36,-5.6,-17.04,-4.63,-10.17,1.12,-10.93,7.46,30.24,26.93,27.49],"hull":14}},"right hand item 2":{"shield":{"rotation":93.49,"width":70,"height":72}}},"goblin":{"eyes":{"eyes closed":{"name":"goblin/eyes-closed","x":29.19,"y":-24.89,"rotation":-88.92,"width":34,"height":12}},"head":{"head":{"name":"goblin/head","type":"mesh","uvs":[0,0.60494,0.14172,0.5145,0.24218,0.55229,0.32667,0.67806,0.37969,0.79352,0.53505,0.93014,0.86056,1,0.94071,0.94169,0.92098,0.69923,0.9888,0.65497,0.99003,0.51643,0.89632,0.43561,0.94487,0.41916,1,0.39713,1,0.2836,0.94017,0.27027,0.87906,0.25666,0.80754,0.16044,0.66698,0.01997,0.4734,0.01805,0.29215,0.19893,0.25392,0.31823,0.09117,0.324,0,0.44331,0.43271,0.69153,0.466,0.47794,0.35996,0.31246,0.73473,0.68593,0.72215,0.57425,0.88179,0.5583,0.80267,0.51015],"triangles":[5,27,6,7,27,8,7,6,27,4,24,5,5,24,27,4,3,24,27,29,8,8,29,9,24,28,27,24,25,28,24,3,25,29,28,30,29,27,28,25,2,26,25,3,2,9,29,10,0,23,1,28,25,30,29,11,10,29,30,11,2,21,26,2,1,21,23,22,1,1,22,21,30,16,11,30,17,16,30,25,17,17,26,18,18,26,19,26,17,25,11,15,12,11,16,15,12,15,13,15,14,13,21,20,26,26,20,19],"vertices":[14.56,50.42,23.12,35.47,17.46,26.36,11.57,16.86,3.74,11.71,-5.89,-3.91,-11.83,-37.23,-8.31,-45.63,7.75,-44.24,10.39,-51.33,19.52,-51.82,25.21,-43.15,26.12,-47.43,27.35,-53.16,34.84,-53.46,35.96,-47.33,37.11,-41.08,43.75,-33.97,53.58,-19.87,54.5,0.03,43.31,19.16,35.6,23.41,35.89,40.17,28.39,49.87,10.25,5.99,24.2,2,35.55,12.48,9.39,-25.1,16.8,-24.31,17.2,-40.65,20.68,-33.02],"hull":24}},"left arm":{"left arm":{"name":"goblin/left-arm","type":"mesh","uvs":[0.68992,0.29284,1,0.46364,1,0.74643,0.84089,1,0.66344,1,0.33765,0.64284,0,0.44124,0,0,0.34295,0],"triangles":[3,4,2,4,5,2,5,0,2,0,1,2,0,5,8,5,6,8,6,7,8],"vertices":[18.6,8.81,32.19,10.31,38.02,1.62,38.08,-9.63,32.31,-13.49,14.37,-9.62,-0.75,-10.78,-9.84,2.77,1.29,10.25],"hull":9}},"left foot":{"left foot":{"name":"goblin/left-foot","type":"mesh","uvs":[0.15733,0.31873,0.08195,0.78502,0.15884,0.99366,0.41633,0.96804,0.68822,0.97636,1,0.96388,0.99385,0.73501,0.85294,0.51862,0.61479,0.31056,0.46991,0,0.48032,0.75604,0.75994,0.77706],"triangles":[0,9,8,10,0,8,10,8,7,11,10,7,11,7,6,1,0,10,11,6,5,3,1,10,4,10,11,4,11,5,3,10,4,2,1,3],"vertices":[2.28,13.07,-1.76,-1.64,3.59,-7.8,20.25,-6.04,37.91,-5.27,58.12,-3.71,57.31,3.34,47.78,9.51,31.95,15.05,21.99,24.11,24.03,0.75,42.21,1.16],"hull":10}},"left hand":{"left hand":{"name":"goblin/left-hand","type":"mesh","uvs":[0.518,0.12578,1,0.16285,0.99788,0.50578,0.69745,1,0.37445,1,0,0.80051,0,0.42792,0.17601,0,0.43567,0],"triangles":[2,0,1,0,5,6,6,7,0,0,7,8,3,4,0,4,5,0,2,3,0],"vertices":[-3.11,15.42,10.83,22.27,15.5,14.55,18.35,-8.96,9.48,-14.32,-4.58,-14.3,-11.63,-2.63,-14.89,13.68,-7.75,17.99],"hull":9}},"left lower leg":{"left lower leg":{"name":"goblin/left-lower-leg","type":"mesh","uvs":[0.95508,0.20749,0.81927,0.65213,0.94754,0.77308,0.67842,0.97346,0.46463,1,0.26845,1,0.04963,0.90706,0.2106,0.60115,0.07478,0.40195,0.18545,0,0.28857,0],"triangles":[10,8,9,1,7,10,7,8,10,0,1,10,1,4,7,3,1,2,5,6,7,7,4,5,1,3,4],"vertices":[-0.19,6.82,30.97,10.96,37.97,17.33,53.88,12.6,57.58,6.31,59.34,0.08,55.04,-8.63,32.99,-9.33,20.79,-17.43,-7.27,-21.56,-8.19,-18.29],"hull":11}},"left shoulder":{"left shoulder":{"name":"goblin/left-shoulder","type":"mesh","uvs":[0.7377,0.40692,1,0.75237,1,1,0.62046,1,0.26184,0.56601,0,0.29783,0,0,0.44115,0],"triangles":[3,1,2,3,0,1,3,4,0,4,7,0,4,5,7,5,6,7],"vertices":[15.18,5.74,32.17,5.32,41.79,0.21,36.63,-9.5,14.88,-9.72,0.9,-10.89,-10.66,-4.74,-4.66,6.54],"hull":8}},"left upper leg":{"left upper leg":{"name":"goblin/left-upper-leg","type":"mesh","uvs":[1,0.12167,1,0.54873,0.91067,0.78907,0.76567,1,0.3087,0.9579,0,0.68777,0,0.219,0.51961,0,0.87552,0],"triangles":[7,8,0,5,6,7,0,1,7,4,5,7,1,4,7,2,4,1,3,4,2],"vertices":[2.33,13.06,33.5,12.57,51,9.34,66.32,4.31,63,-10.71,43.13,-20.58,8.91,-20.04,-6.79,-2.64,-6.61,9.1],"hull":9}},"neck":{"neck":{"name":"goblin/neck","type":"mesh","uvs":[0.81967,0.27365,0.92101,0.82048,0.47134,1,0.15679,0.9354,0,0.7556,0.19268,0.51833,0.15468,0.35706,0,0.21989,0.13568,0,0.68878,0,0.70145,0.53872],"triangles":[3,5,2,2,10,1,2,5,10,3,4,5,10,0,1,0,10,6,10,5,6,7,8,6,6,9,0,6,8,9],"vertices":[18.62,-11.65,-3.98,-13.85,-10.28,2.76,-6.91,13.89,0.8,19.05,10.06,11.51,16.74,12.45,22.71,17.64,31.4,12.19,30.12,-7.67,8.05,-6.71],"hull":10}},"pelvis":{"pelvis":{"name":"goblin/pelvis","type":"mesh","uvs":[1,1,0,1,0,0,1,0],"triangles":[1,2,3,1,3,0],"vertices":[25.38,-20.73,-36.61,-20.73,-36.61,22.26,25.38,22.26],"hull":4}},"right arm":{"right arm":{"name":"goblin/right-arm","type":"mesh","uvs":[1,0.09223,1,0.8501,0.72058,1,0.24384,1,0,0.86558,0.20822,0.10919,0.50903,0,0.85342,0],"triangles":[1,2,6,6,2,5,1,6,0,4,5,3,2,3,5,6,7,0],"vertices":[-4.75,8.89,33.03,11.74,40.99,5.89,41.81,-5.03,35.53,-11.13,-2.53,-9.2,-8.5,-2.71,-9.09,5.18],"hull":8}},"right foot":{"right foot":{"name":"goblin/right-foot","type":"mesh","uvs":[0.40851,0.0047,0.59087,0.33404,0.75959,0.48311,0.88907,0.59751,0.97532,0.89391,0.90385,1,0.6722,1,0.38633,1,0.08074,1,0,0.88921,0,0.65984,0,0.46577,0.0906,0.0988,0.305,0,0.47461,0.71257,0.715,0.74681],"triangles":[1,10,11,1,13,0,14,1,2,1,12,13,12,1,11,14,10,1,15,14,2,15,2,3,9,10,14,15,3,4,7,8,9,14,7,9,6,14,15,5,6,15,7,14,6,4,5,15],"vertices":[17.36,25.99,29.13,15.44,39.89,10.8,48.14,7.24,53.84,-2.38,49.43,-6,34.84,-6.39,16.84,-6.87,-2.4,-7.38,-7.58,-3.86,-7.78,3.7,-7.95,10.1,-2.57,22.36,10.84,25.97,22.14,2.75,37.31,2.03],"hull":14}},"right hand":{"right hand":{"name":"goblin/right-hand","type":"mesh","uvs":[0.17957,0,0,0.44772,0,0.79734,0.20057,0.94264,0.55057,1,0.8539,1,0.89823,0.82004,0.8259,0.74285,0.84223,0.49993,0.96356,0.34102,0.66023,0],"triangles":[8,10,9,0,10,1,8,2,1,8,1,10,7,3,8,3,2,8,4,3,7,5,7,6,4,7,5],"vertices":[-10.82,-9.45,5.95,-15.34,18.88,-14.9,24,-7.5,25.69,5.16,25.31,16.07,18.61,17.44,15.84,14.74,6.84,15.02,0.81,19.18,-11.41,7.83],"hull":11}},"right hand thumb":{"right hand thumb":{"name":"goblin/right-hand","type":"mesh","uvs":[0.88538,0.22262,0.76167,0.3594,0.75088,0.78308,0.95326,0.84981,1,0.60302],"triangles":[1,0,4,2,1,4,3,2,4],"vertices":[-2.82,15.97,2.4,11.71,18.08,11.9,20.27,19.27,11.09,20.62],"hull":5}},"right lower leg":{"right lower leg":{"name":"goblin/right-lower-leg","type":"mesh","uvs":[1,0.27261,0.81312,0.52592,0.79587,0.71795,0.95544,0.80988,0.85193,0.95493,0.47241,1,0.14033,1,0,0.8773,0.14896,0.67914,0.1619,0.30325,0.60611,0],"triangles":[1,10,0,9,10,1,8,9,1,2,8,1,4,2,3,6,7,8,5,6,8,2,5,8,4,5,2],"vertices":[6.26,8.46,23.32,8.04,37.1,12.89,41.45,20.82,53.07,21.46,61.33,10.06,65.77,-1.03,58.99,-9.19,43.02,-9.81,16.33,-20,-12.79,-9.26],"hull":11}},"right shoulder":{"right shoulder":{"name":"goblin/right-shoulder","type":"mesh","uvs":[0.62008,0.03708,0.92131,0.09048,1,0.38319,0.72049,0.6937,0.31656,1,0,1,0,0.75106,0.28233,0.49988],"triangles":[4,6,7,4,7,3,4,5,6,7,0,3,2,0,1,2,3,0],"vertices":[-3.17,-11.05,-9,-0.57,-1.01,10.33,16.69,11.17,37.41,8.2,45.45,-1.16,36.95,-8.46,21.2,-7.47],"hull":8}},"right upper leg":{"right upper leg":{"name":"goblin/right-upper-leg","type":"mesh","uvs":[0.27018,0,0.11618,0.18177,0,0.70688,0,0.89577,0.26668,1,0.48718,1,0.67618,0.83532,1,0.5161,1,0.25543,0.74618,0.0571],"triangles":[9,8,7,9,1,0,6,9,7,6,1,9,2,1,6,4,3,2,6,4,2,5,4,6],"vertices":[-9.85,-10.37,2.17,-14.07,35.49,-13.66,47.29,-12.11,52.61,-2.26,51.63,5.16,40.51,10.18,19.13,18.47,2.85,16.32,-8.4,6.14],"hull":10}},"torso":{"torso":{"name":"goblin/torso","type":"mesh","uvs":[0,0.33287,0.15945,0.46488,0.15761,0.60314,0.15502,0.79806,0.32807,0.93478,0.6875,1,0.80731,1,1,0.77763,1,0.66147,1,0.56703,0.93207,0.4771,0.86944,0.39416,0.83837,0.226,0.68085,0,0.14836,0,0,0.07199,0.78734,0.86249,0.43679,0.79649,0.76738,0.61733,0.44345,0.58747,0.54329,0.38316,0.77692,0.73446,0.66478,0.51012],"triangles":[5,16,6,6,16,7,4,17,5,5,17,16,4,3,17,17,21,16,16,21,7,3,2,17,21,19,18,21,17,19,17,2,19,21,8,7,21,18,8,18,9,8,19,22,18,18,10,9,18,22,10,2,1,19,19,20,22,19,1,20,22,11,10,22,20,11,20,1,14,20,12,11,1,0,14,20,13,12,20,14,13,0,15,14],"vertices":[56.93,27.95,43.37,18.23,30.16,19.5,11.53,21.28,-2.55,10.69,-10.89,-13.12,-11.59,-21.23,8.54,-36.12,19.65,-37.08,28.68,-37.86,37.68,-34,45.98,-30.44,56.4,-29.07,84.78,-20.92,87.9,15.15,81.88,25.79,1.67,-21.01,10.03,2.18,25.23,-18.25,29.98,0,48.54,-8.39,13.98,-21.36,35.9,-15.6],"hull":16}},"undie straps":{"undie straps":{"name":"goblin/undie-straps","type":"mesh","uvs":[0.36097,0.44959,0.66297,0.60591,1,0.19486,1,0.57117,0.75897,1,0.38697,1,0,0.26433,0,0,0.12497,0],"triangles":[6,7,8,6,8,0,3,1,2,5,0,1,6,0,5,4,1,3,5,1,4],"vertices":[-10.56,12.87,6.53,9.9,25.62,17.71,25.62,10.56,11.97,2.41,-9.09,2.41,-31,16.39,-31,21.41,-23.92,21.41],"hull":9}},"undies":{"undies":{"name":"goblin/undies","type":"mesh","uvs":[0,0.32029,0.14893,0.59457,0.22437,1,0.35909,1,0.50998,1,0.79559,0.58453,0.9842,0.28015,1,0.00588,0.46957,0.17646,0,0.03933,0.48843,0.59122,0.48114,0.43099],"triangles":[6,8,7,0,9,8,11,8,6,0,8,11,5,11,6,10,11,5,1,0,11,1,11,10,3,2,1,10,3,1,4,10,5,3,10,4],"vertices":[-13.22,5.56,-8,-2.47,-5.49,-14.27,-0.64,-14.36,4.78,-14.45,15.27,-2.59,22.22,6.11,22.92,14.05,3.75,9.44,-13.08,13.71,4.21,-2.59,4.03,2.05],"hull":10}}},"goblingirl":{"eyes":{"eyes closed":{"name":"goblingirl/eyes-closed","x":28,"y":-25.54,"rotation":-87.04,"width":37,"height":21}},"head":{"head":{"name":"goblingirl/head","x":27.71,"y":-4.32,"rotation":-85.58,"width":103,"height":81}},"left arm":{"left arm":{"name":"goblingirl/left-arm","x":19.64,"y":-2.42,"rotation":33.05,"width":37,"height":35}},"left foot":{"left foot":{"name":"goblingirl/left-foot","x":25.17,"y":7.92,"rotation":3.32,"width":65,"height":31}},"left hand":{"left hand":{"name":"goblingirl/left-hand","x":4.34,"y":2.39,"scaleX":0.896,"scaleY":0.896,"rotation":30.34,"width":35,"height":40}},"left lower leg":{"left lower leg":{"name":"goblingirl/left-lower-leg","x":25.02,"y":-0.6,"rotation":105.75,"width":33,"height":70}},"left shoulder":{"left shoulder":{"name":"goblingirl/left-shoulder","x":19.8,"y":-0.42,"rotation":61.21,"width":28,"height":46}},"left upper leg":{"left upper leg":{"name":"goblingirl/left-upper-leg","x":30.21,"y":-2.95,"rotation":89.09,"width":33,"height":70}},"neck":{"neck":{"name":"goblingirl/neck","x":6.16,"y":-3.14,"rotation":-98.86,"width":35,"height":41}},"pelvis":{"pelvis":{"name":"goblingirl/pelvis","x":-3.87,"y":3.18,"width":62,"height":43}},"right arm":{"right arm":{"name":"goblingirl/right-arm","x":16.85,"y":-0.66,"rotation":93.52,"width":28,"height":50}},"right foot":{"right foot":{"name":"goblingirl/right-foot","x":23.46,"y":9.66,"rotation":1.52,"width":63,"height":33}},"right hand":{"right hand":{"name":"goblingirl/right-hand","x":7.21,"y":3.43,"rotation":91.16,"width":36,"height":37}},"right hand thumb":{"right hand thumb":{"name":"goblingirl/right-hand","x":7.21,"y":3.43,"rotation":91.16,"width":36,"height":37}},"right lower leg":{"right lower leg":{"name":"goblingirl/right-lower-leg","x":26.15,"y":-3.27,"rotation":111.83,"width":36,"height":76}},"right shoulder":{"right shoulder":{"name":"goblingirl/right-shoulder","x":14.46,"y":0.45,"rotation":129.85,"width":39,"height":45}},"right upper leg":{"right upper leg":{"name":"goblingirl/right-upper-leg","x":19.69,"y":2.13,"rotation":97.49,"width":34,"height":63}},"torso":{"torso":{"name":"goblingirl/torso","x":36.28,"y":-5.14,"rotation":-95.74,"width":68,"height":96}},"undie straps":{"undie straps":{"name":"goblingirl/undie-straps","x":-1.51,"y":14.18,"width":55,"height":19}},"undies":{"undies":{"name":"goblingirl/undies","x":5.4,"y":1.7,"width":36,"height":29}}}},"animations":{"walk":{"slots":{"eyes":{"attachment":[{"time":0.7,"name":"eyes closed"},{"time":0.8,"name":null}]}},"bones":{"left upper leg":{"rotate":[{"time":0,"angle":-26.55},{"time":0.1333,"angle":-8.78},{"time":0.2333,"angle":9.51},{"time":0.3666,"angle":30.74},{"time":0.5,"angle":25.33},{"time":0.6333,"angle":26.11},{"time":0.7333,"angle":7.45},{"time":0.8666,"angle":-21.19},{"time":1,"angle":-26.55}],"translate":[{"time":0,"x":-1.32,"y":1.7},{"time":0.3666,"x":-0.06,"y":2.42},{"time":1,"x":-1.32,"y":1.7}]},"right upper leg":{"rotate":[{"time":0,"angle":42.45},{"time":0.1333,"angle":49.86,"curve":[0.414,0,0.705,0.99]},{"time":0.2333,"angle":22.51},{"time":0.5,"angle":-16.93},{"time":0.6333,"angle":1.89},{"time":0.7333,"angle":34.86,"curve":[0.462,0.11,1,1]},{"time":0.8666,"angle":58.68,"curve":[0.5,0.02,1,1]},{"time":1,"angle":42.45}],"translate":[{"time":0,"x":6.23,"y":0},{"time":0.2333,"x":2.14,"y":2.4},{"time":0.5,"x":2.44,"y":4.8},{"time":1,"x":6.23,"y":0}]},"left lower leg":{"rotate":[{"time":0,"angle":-18.05},{"time":0.1333,"angle":-63.5},{"time":0.2333,"angle":-83.01},{"time":0.5,"angle":5.11},{"time":0.6333,"angle":-28.29},{"time":0.7333,"angle":-27.52},{"time":0.8666,"angle":3.53},{"time":1,"angle":-18.05}],"translate":[{"time":0,"x":0,"y":0},{"time":0.2333,"x":2.55,"y":-0.47},{"time":0.5,"x":0,"y":0,"curve":"stepped"},{"time":1,"x":0,"y":0}]},"left foot":{"rotate":[{"time":0,"angle":-14.56},{"time":0.1333,"angle":-10.42},{"time":0.2333,"angle":-5.01},{"time":0.3,"angle":6.67},{"time":0.3666,"angle":3.87},{"time":0.5,"angle":-3.87},{"time":0.6333,"angle":2.78},{"time":0.7333,"angle":-11.99},{"time":0.8666,"angle":-12.45},{"time":1,"angle":-14.56}]},"right shoulder":{"rotate":[{"time":0,"angle":5.29,"curve":[0.264,0,0.75,1]},{"time":0.6333,"angle":6.65},{"time":1,"angle":5.29}]},"right arm":{"rotate":[{"time":0,"angle":-4.02,"curve":[0.267,0,0.804,0.99]},{"time":0.6333,"angle":19.78,"curve":[0.307,0,0.787,0.99]},{"time":1,"angle":-4.02}]},"right hand":{"rotate":[{"time":0,"angle":8.98},{"time":0.6333,"angle":0.51},{"time":1,"angle":8.98}]},"left shoulder":{"rotate":[{"time":0,"angle":6.25,"curve":[0.339,0,0.683,1]},{"time":0.5,"angle":-11.78,"curve":[0.281,0,0.686,0.99]},{"time":1,"angle":6.25}],"translate":[{"time":0,"x":1.15,"y":0.23}]},"left hand":{"rotate":[{"time":0,"angle":-21.23,"curve":[0.295,0,0.755,0.98]},{"time":0.5,"angle":-27.28,"curve":[0.241,0,0.75,0.97]},{"time":1,"angle":-21.23}]},"left arm":{"rotate":[{"time":0,"angle":28.37,"curve":[0.339,0,0.683,1]},{"time":0.5,"angle":60.09,"curve":[0.281,0,0.686,0.99]},{"time":1,"angle":28.37}]},"torso":{"rotate":[{"time":0,"angle":-10.28},{"time":0.1333,"angle":-15.38,"curve":[0.545,0,0.818,1]},{"time":0.3666,"angle":-9.78,"curve":[0.58,0.17,0.669,0.99]},{"time":0.6333,"angle":-15.75,"curve":[0.235,0.01,0.795,1]},{"time":0.8666,"angle":-7.06,"curve":[0.209,0,0.816,0.98]},{"time":1,"angle":-10.28}],"translate":[{"time":0,"x":-3.72,"y":-0.01}]},"right foot":{"rotate":[{"time":0,"angle":-5.25},{"time":0.2333,"angle":-17.76},{"time":0.3666,"angle":-20.09},{"time":0.5,"angle":-19.73},{"time":0.7333,"angle":-11.68},{"time":0.8,"angle":4.46},{"time":0.8666,"angle":0.46},{"time":1,"angle":-5.25}]},"right lower leg":{"rotate":[{"time":0,"angle":-3.39,"curve":[0.316,0.01,0.741,0.98]},{"time":0.1333,"angle":-43.21,"curve":[0.414,0,0.705,0.99]},{"time":0.2333,"angle":-25.98},{"time":0.5,"angle":-19.53},{"time":0.6333,"angle":-64.8},{"time":0.7333,"angle":-89.54,"curve":[0.557,0.18,1,1]},{"time":1,"angle":-3.39}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.5,"x":0,"y":0},{"time":0.6333,"x":2.18,"y":0.21},{"time":1,"x":0,"y":0}]},"hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":1,"angle":0}],"translate":[{"time":0,"x":0,"y":-8.4},{"time":0.1333,"x":0,"y":-9.35,"curve":[0.326,0.05,0.674,0.93]},{"time":0.2333,"x":0,"y":-0.59,"curve":[0.325,0.39,0.643,0.7]},{"time":0.3666,"x":0,"y":-3.96},{"time":0.5,"x":0,"y":-8.4},{"time":0.6333,"x":0,"y":-10,"curve":[0.359,0.47,0.646,0.74]},{"time":0.7333,"x":0,"y":-5.29,"curve":[0.333,0.36,0.662,0.69]},{"time":0.8,"x":0,"y":-2.49,"curve":[0.322,0.35,0.651,0.68]},{"time":0.8666,"x":0,"y":-3.96},{"time":1,"x":0,"y":-8.4}]},"neck":{"rotate":[{"time":0,"angle":3.6},{"time":0.1333,"angle":17.49},{"time":0.2333,"angle":6.1},{"time":0.3666,"angle":3.45},{"time":0.5,"angle":5.17},{"time":0.6333,"angle":18.36},{"time":0.7333,"angle":6.09},{"time":0.8666,"angle":2.28},{"time":1,"angle":3.6}]},"head":{"rotate":[{"time":0,"angle":3.6,"curve":[0,0,0.704,1.17]},{"time":0.1333,"angle":-0.2},{"time":0.2333,"angle":6.1},{"time":0.3666,"angle":3.45},{"time":0.5,"angle":5.17,"curve":[0,0,0.704,1.61]},{"time":0.6666,"angle":1.1},{"time":0.7333,"angle":6.09},{"time":0.8666,"angle":2.28},{"time":1,"angle":3.6}]},"pelvis":{"rotate":[{"time":0,"angle":-1.33}],"translate":[{"time":0,"x":0.39,"y":-0.78}]},"spear1":{"rotate":[{"time":0,"angle":1.84},{"time":0.2,"angle":-5.38},{"time":0.5,"angle":2.95},{"time":0.7333,"angle":-3.67},{"time":1,"angle":1.84}]},"spear2":{"rotate":[{"time":0,"angle":1.84},{"time":0.2,"angle":-5.38},{"time":0.5,"angle":2.95},{"time":0.7333,"angle":-3.67},{"time":1,"angle":1.84}]},"spear3":{"rotate":[{"time":0,"angle":3.64},{"time":0.2,"angle":-3.59},{"time":0.5,"angle":4.74},{"time":0.7333,"angle":-1.87},{"time":1,"angle":3.64}]}},"ffd":{"default":{"left hand item":{"spear":[{"time":0}]},"right hand item":{"dagger":[{"time":0,"offset":26,"vertices":[2.34,0.14],"curve":[0.25,0,0.75,1]},{"time":0.5,"offset":8,"vertices":[-1.19,4.31,0.07,6.41,1.66,6.18,1.75,3.59],"curve":[0.25,0,0.75,1]},{"time":1,"offset":26,"vertices":[2.34,0.14]}]}},"goblin":{"head":{"head":[{"time":0,"curve":[0.632,0,0.75,1]},{"time":0.2,"vertices":[-10.97,-6.68,-4.68,-2.46,0,0,0,0,0,0,0,0,0,0,0,0,-1.08,0.08,-1.08,0.08,-1.08,0.08,0,0,-2.22,2.66,-4.83,2.7,-5.7,-0.51,-3.15,-1.61,0,0,0,0,0,0,0,0,0,0,0,0,-6.64,0.81,-11.82,-1.34,0,0,0,0,0,0,0,0,0,0,-1.08,0.08],"curve":[0.25,0,0.75,1]},{"time":0.3666,"vertices":[10.69,4.05,3.66,1.85,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0.09,1.47,0.09,1.47,0.09,0,0,2.69,-0.22,3.77,0.11,3.68,1.55,2.49,1.65,0,0,0,0,0,0,0,0,0,0,0,0,4.45,-3.91,9.19,-1.66,0,0,0,0,0,0,0,0,0,0,1.47,0.09],"curve":[0.621,0,0.75,1]},{"time":0.7,"vertices":[-10.97,-6.68,-4.68,-2.46,0,0,0,0,0,0,0,0,0,0,0,0,-1.17,-0.17,-1.17,-0.17,-1.17,-0.17,0,0,-2.22,2.66,-4.83,2.7,-5.7,-0.51,-3.15,-1.61,0,0,0,0,0,0,0,0,0,0,0,0,-6.64,0.81,-11.82,-1.34,0,0,0,0,0,0,0,0,0,0,-1.17,-0.17],"curve":[0.25,0,0.75,1]},{"time":0.8666,"vertices":[10.69,4.05,3.66,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0.08,0.38,0.08,0.38,0.08,0,0,2.69,-0.22,3.77,0.11,3.68,1.55,2.49,1.65,0,0,0,0,0,0,0,0,0,0,0,0,4.45,-3.91,9.19,-1.66,0,0,0,0,0,0,0,0,0,0,0.38,0.08],"curve":[0.25,0,0.75,1]},{"time":1}]},"left foot":{"left foot":[{"time":0,"offset":8,"vertices":[3.69,2.37,-7.16,18.79,-12.78,14.77,-12.75,6.5,-3.13,1.98,-0.44,0.36,0,0,-3.8,2.98]},{"time":0.1333},{"time":0.2333,"offset":8,"vertices":[-3.96,-2.34,-5.8,-12.47,-2.23,-12.99,2.02,-9.1,0,0,0,0,0,0,-1.35,-5.28]},{"time":0.3666,"offset":8,"vertices":[0.66,0.33,0.33,2.69,-0.48,2.54,-1.13,1.38,0,0,0,0,0,0,-0.11,0.79]},{"time":0.5,"curve":"stepped"},{"time":0.6333},{"time":0.7333,"offset":8,"vertices":[-2.97,9.4,-6.91,19.92,-10.55,18.41,-12.37,12.38,-4.72,6.3,0,0,-1.48,4.88,-7.06,10.7]},{"time":0.8333,"offset":6,"vertices":[1.05,1.56,-2.52,7.99,-5.52,17.14,-8.93,15.79,-10.73,10.22,-4.23,5.36,0,0,0,0,-5.83,8.55]},{"time":1,"offset":8,"vertices":[3.69,2.37,-7.16,18.79,-12.78,14.77,-12.75,6.5,-3.13,1.98,-0.44,0.36,0,0,-3.8,2.98]}]},"pelvis":{"pelvis":[{"time":0},{"time":0.1333,"offset":6,"vertices":[-0.68,-4.13]},{"time":0.3333,"offset":6,"vertices":[-1.04,-3.1]},{"time":0.7,"offset":6,"vertices":[-1.42,-6.3]},{"time":0.8666,"offset":6,"vertices":[-1.13,-1.79]},{"time":1}]},"right foot":{"right foot":[{"time":0},{"time":0.1333,"offset":2,"vertices":[-2.81,2.63,-2.35,3.89,-1.99,4.86,-0.93,5.57,-0.48,5.09,-0.34,3.42,-0.17,1.36,0,0,0,0,0,0,0,0,0,0,0,0,-1.31,1.91,-1.32,3.65]},{"time":0.2333,"offset":2,"vertices":[-6.39,6.41,-7.74,8.27,-7.02,11.35,-4.03,13.93,-2.5,12.62,-1.46,7.58,-0.17,1.36,0,0,0,0,0,0,0,0,0,0,0,0,-3.84,2.61,-4.53,7.92]},{"time":0.3,"offset":2,"vertices":[-8.27,6.68,-9.29,10.13,-8.62,14.71,-4.58,18.81,-2.2,17.1,-0.07,9.9,2.54,1.01,0,0,0,0,0,0,0,0,0,0,0,0,-2.94,2.38,-4.59,10.01]},{"time":0.3666,"offset":2,"vertices":[-10.47,9.44,-13.36,12.4,-14.32,16.94,-9.24,23.55,-5.51,21.51,-1.19,11.53,2.54,1.01,0,0,0,0,0,0,0,0,0,0,0,0,-4.14,2.29,-6.63,11.37]},{"time":0.5,"offset":2,"vertices":[-5.42,4.36,-10.59,7.04,-11.64,11.55,-6.19,20.12,-1.45,18.05,4.86,6.41,2.81,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2.96,4.94]},{"time":0.6333},{"time":0.7333,"offset":4,"vertices":[1.31,-6.84,-0.87,-12.54,-5.98,-14.08,-7.15,-11.63,-5.67,-4.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2.06,-6.93]},{"time":0.8,"offset":4,"vertices":[0.65,-3.42,-0.43,-6.27,-2.99,-7.04,-3.57,-5.81,-2.83,-2.41,0,0,0,0,0,0,0,0,0,0,2.79,-1.28,0,0,0,0,-1.03,-3.46]},{"time":0.8666}]},"right hand":{"right hand":[{"time":0,"offset":4,"vertices":[-1.48,0.34,0,0,1.31,0.08,1.6,0.09,0.13,0.15,0,0,0,0,-0.72,-0.04]},{"time":0.5},{"time":1,"offset":4,"vertices":[-1.48,0.34,0,0,1.31,0.08,1.6,0.09,0.13,0.15,0,0,0,0,-0.72,-0.04]}]},"right lower leg":{"right lower leg":[{"time":0},{"time":0.6,"offset":6,"vertices":[1.8,-1.56]},{"time":1}]},"right upper leg":{"right upper leg":[{"time":0,"vertices":[-6.03,-1.46,0,0,0,0,0,0,0,0,0,0,0,0,-0.34,-1.93,-1.86,-5.05,-2.5,-3.09]},{"time":0.3333},{"time":0.8666,"offset":14,"vertices":[0.13,-2.35,-1.33,-5.99,-1.35,-4.43]},{"time":1,"vertices":[-6.03,-1.46,0,0,0,0,0,0,0,0,0,0,0,0,-0.34,-1.93,-1.86,-5.05,-2.5,-3.09]}]},"torso":{"torso":[{"time":0,"offset":14,"vertices":[-1.48,-0.24,-2.72,-2.15,-0.51,-3.39,0,0,0,0,0,0,0,0,0,0,0,0,1.09,-2.61,0,0,0.57,-1.24,0,0,0,0,-2.11,-3.29]},{"time":0.1333,"offset":14,"vertices":[1.31,-0.59,-0.97,-1.62,0.74,-0.61,-1.44,1.97,0,0,0,0,0,0,0,0,0,0,2.65,-3.95,0,0,-1.46,-0.31,0,0,0,0,-3.31,-3.55,-2.56,0.29]},{"time":0.3,"offset":14,"vertices":[6.03,-3.13,7.55,-1.38,6.79,0.31,4.23,1.14,0,0,0,0,0,0,0,0,0,0,4.07,-5.16,0,0,4,0.27,0,0,0,0,3.43,-3.52]},{"time":0.5,"offset":14,"vertices":[2.25,-0.87,2.57,-0.56,3.17,-0.57,1.48,0.99,0,0,0,0,0,0,0,0,0,0,3.22,-4.43,0,0,1.48,0.01,0,0,0,0,0.31,-3.28,-1.53,0.17]},{"time":0.6333,"offset":14,"vertices":[0.75,-1.51,-0.97,-1.62,0.74,-0.61,-1.44,1.97,0,0,0,0,0,0,0,0,0,0,2.65,-3.95,0,0,-1.46,-0.31,0,0,0,0,-3.31,-3.55,-2.56,0.29]},{"time":0.8666,"offset":14,"vertices":[0.62,-1.26,0.38,-2.2,3.25,-0.5,2.41,2.39,0,0,0,0,0,0,0,0,0,0,1.66,-3.1,0,0,2.3,-1.15,0,0,0,0,-0.07,-3.63,-0.93,0.1]},{"time":1,"offset":14,"vertices":[-1.48,-0.24,-2.72,-2.15,-0.51,-3.39,0,0,0,0,0,0,0,0,0,0,0,0,1.09,-2.61,0,0,0.57,-1.24,0,0,0,0,-2.11,-3.29]}]},"undie straps":{"undie straps":[{"time":0,"offset":2,"vertices":[-1.77,0.54,-0.96,-1.03,-0.39,-0.24,-1.77,0.54]},{"time":0.1333,"offset":2,"vertices":[-2.25,-1.03,-1.49,-4.23,-0.74,-2.84,-1.9,0.54]},{"time":0.3333,"offset":2,"vertices":[-2.37,-0.05,-0.49,0.19,-0.9,1.16,-1.6,2.7,0.96,0.8]},{"time":0.7,"offset":2,"vertices":[-0.91,-2.76,-0.62,-3.63,-0.84,-2.26,-2.56,0.52]},{"time":0.8666,"offset":2,"vertices":[-2.56,0.52,-1.58,0.32,-1.38,0.32,-2.56,0.52]},{"time":1,"offset":2,"vertices":[-1.77,0.54,-0.8,0.53,-0.8,0.53,-1.77,0.54]}]},"undies":{"undies":[{"time":0,"vertices":[0.43,0.72,10.6,-0.11,2.29,0,2.29,0,2.29,0,0.58,0.24,-2.4,-0.65,-2.27,-0.77,2.29,0,0.58,-0.48,4.98,-0.11,6.5,-0.23]},{"time":0.1333,"vertices":[0.72,0.43,7.2,-0.16,1.37,0,1.37,0,1.37,0,1.25,0.04,-0.99,-2.95,-1.37,-3.07,1.37,0,0.35,-0.29,2.99,-0.07,3.9,-0.14]},{"time":0.3333,"vertices":[1.16,0,2.1,-0.23,0,0,0,0,0,0,2.24,-0.24,-0.43,0.6,-1.55,0.48]},{"time":0.5333,"vertices":[1.16,0,-0.23,-0.93,-2.92,0.35,0,0,0,0,0.49,-0.24,-0.64,-2.07,-0.64,-2.07]},{"time":0.7,"vertices":[1.86,-0.11,4.66,-0.09,-1.76,0.21,0,0,-0.56,0.32,-1.13,-1.15,-2.19,-3.47,-1.29,-3.47,0,0,0,0,1.58,-0.04,2.65,0.16]},{"time":0.8333,"vertices":[2.41,-0.2,8.58,0.58,-0.83,0.1,0,0,-1.02,0.59,-2.44,-1.87,-1.62,0,0,0,0,0,0,0,2.85,-0.08,4.78,0.3]},{"time":0.8666,"vertices":[2.01,-0.02,8.98,0.44,-0.2,0.08,0.45,0,-0.35,0.47,-1.84,-1.44,-0.79,1.26,0.53,1.23,0.45,0,0.11,-0.09,3.28,-0.09,5.13,0.19]},{"time":1,"vertices":[0.43,0.72,10.6,-0.11,2.29,0,2.29,0,2.29,0,0.58,0.24,-2.4,-0.65,-2.27,-0.77,2.29,0,0.58,-0.48,4.98,-0.11,6.5,-0.23]}]}}}}}} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.json.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json.meta similarity index 100% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.json.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.json.meta diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..fc524c564c810011889f6fe8276f45445f597368 GIT binary patch literal 160909 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 >My0Lu}IAze3K(Wc!UQsW}}_- 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 a bone isn't set, boneName is used to find the bone. public String boneName; - public bool resetOnAwake = true; - protected Transform cachedTransform; protected Transform skeletonTransform; - public void HandleResetRenderer(SkeletonRenderer skeletonRenderer){ + public void HandleResetRenderer (SkeletonRenderer skeletonRenderer) { Reset(); } @@ -73,32 +70,32 @@ public class BoneFollower : MonoBehaviour { bone = null; cachedTransform = transform; valid = skeletonRenderer != null && skeletonRenderer.valid; - if (!valid) return; + if (!valid) + return; skeletonTransform = skeletonRenderer.transform; skeletonRenderer.OnReset -= HandleResetRenderer; skeletonRenderer.OnReset += HandleResetRenderer; - if(Application.isEditor) + if (Application.isEditor) DoUpdate(); } - void OnDestroy(){ + void OnDestroy () { //cleanup - if(skeletonRenderer != null) + if (skeletonRenderer != null) skeletonRenderer.OnReset -= HandleResetRenderer; } public void Awake () { - if(resetOnAwake) + if (resetOnAwake) Reset(); } - void LateUpdate(){ + void LateUpdate () { DoUpdate(); } - public void DoUpdate () { if (!valid) { Reset(); @@ -106,13 +103,13 @@ public class BoneFollower : MonoBehaviour { } if (bone == null) { - if (boneName == null || boneName.Length == 0) return; + if (boneName == null || boneName.Length == 0) + return; bone = skeletonRenderer.skeleton.FindBone(boneName); if (bone == null) { Debug.LogError("Bone not found: " + boneName, this); return; - } - else{ + } else { } } @@ -123,21 +120,22 @@ public class BoneFollower : MonoBehaviour { if (cachedTransform.parent == skeletonTransform) { cachedTransform.localPosition = new Vector3(bone.worldX, bone.worldY, followZPosition ? 0f : cachedTransform.localPosition.z); - if(followBoneRotation) { + if (followBoneRotation) { Vector3 rotation = cachedTransform.localRotation.eulerAngles; cachedTransform.localRotation = Quaternion.Euler(rotation.x, rotation.y, bone.worldRotation * flipRotation); } } else { Vector3 targetWorldPosition = skeletonTransform.TransformPoint(new Vector3(bone.worldX, bone.worldY, 0f)); - if(!followZPosition) targetWorldPosition.z = cachedTransform.position.z; + if (!followZPosition) + targetWorldPosition.z = cachedTransform.position.z; cachedTransform.position = targetWorldPosition; - if(followBoneRotation) { + if (followBoneRotation) { Vector3 rotation = skeletonTransform.rotation.eulerAngles; - cachedTransform.rotation = Quaternion.Euler(rotation.x, rotation.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * flipRotation) ); + cachedTransform.rotation = Quaternion.Euler(rotation.x, rotation.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * flipRotation)); } } diff --git a/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs b/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs index 8e778ceed..136b7aae8 100644 --- a/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs @@ -27,7 +27,6 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; diff --git a/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs b/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs index ffb74810b..943a98715 100644 --- a/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs @@ -27,7 +27,6 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; @@ -36,6 +35,7 @@ using UnityEngine; public class BoneFollowerInspector : Editor { private SerializedProperty boneName, skeletonRenderer, followZPosition, followBoneRotation; BoneFollower component; + void OnEnable () { skeletonRenderer = serializedObject.FindProperty("skeletonRenderer"); boneName = serializedObject.FindProperty("boneName"); @@ -45,20 +45,20 @@ public class BoneFollowerInspector : Editor { ForceReload(); } - void FindRenderer(){ - if(skeletonRenderer.objectReferenceValue == null){ - SkeletonRenderer parentRenderer = SkeletonUtility.GetInParent( component.transform ); + void FindRenderer () { + if (skeletonRenderer.objectReferenceValue == null) { + SkeletonRenderer parentRenderer = SkeletonUtility.GetInParent(component.transform); - if(parentRenderer != null){ + if (parentRenderer != null) { skeletonRenderer.objectReferenceValue = (UnityEngine.Object)parentRenderer; } } } - void ForceReload(){ - if(component.skeletonRenderer != null){ - if(component.skeletonRenderer.valid == false) + void ForceReload () { + if (component.skeletonRenderer != null) { + if (component.skeletonRenderer.valid == false) component.skeletonRenderer.Reset(); } } @@ -72,10 +72,9 @@ public class BoneFollowerInspector : Editor { if (component.valid) { String[] bones = new String[1]; - try{ + try { bones = new String[component.skeletonRenderer.skeleton.Data.Bones.Count + 1]; - } - catch{ + } catch { } @@ -94,13 +93,12 @@ public class BoneFollowerInspector : Editor { boneName.stringValue = boneIndex == 0 ? null : bones[boneIndex]; EditorGUILayout.PropertyField(followBoneRotation); EditorGUILayout.PropertyField(followZPosition); - } - else{ + } else { GUILayout.Label("INVALID"); } if (serializedObject.ApplyModifiedProperties() || - (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") + (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { component.Reset(); } diff --git a/spine-unity/Assets/spine-unity/Editor/Menus.cs b/spine-unity/Assets/spine-unity/Editor/Menus.cs index e4ed1db30..578493228 100644 --- a/spine-unity/Assets/spine-unity/Editor/Menus.cs +++ b/spine-unity/Assets/spine-unity/Editor/Menus.cs @@ -27,7 +27,6 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using System.IO; using UnityEditor; @@ -50,7 +49,8 @@ public class Menus { var selected = Selection.activeObject; if (selected != null) { var assetDir = AssetDatabase.GetAssetPath(selected.GetInstanceID()); - if (assetDir.Length > 0 && Directory.Exists(assetDir)) dir = assetDir + "/"; + if (assetDir.Length > 0 && Directory.Exists(assetDir)) + dir = assetDir + "/"; } ScriptableObject asset = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(asset, dir + name + ".asset"); diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs index 1035e8df7..f338626b2 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs @@ -27,7 +27,6 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; @@ -44,7 +43,7 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { loop = serializedObject.FindProperty("loop"); timeScale = serializedObject.FindProperty("timeScale"); - if(PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) + if (PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) isPrefab = true; @@ -54,13 +53,14 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { base.gui(); SkeletonAnimation component = (SkeletonAnimation)target; - if (!component.valid) return; + if (!component.valid) + return; //catch case where SetAnimation was used to set track 0 without using AnimationName - if(Application.isPlaying){ + if (Application.isPlaying) { TrackEntry currentState = component.state.GetCurrent(0); - if(currentState != null){ - if(component.AnimationName != animationName.stringValue){ + if (currentState != null) { + if (component.AnimationName != animationName.stringValue) { animationName.stringValue = currentState.Animation.Name; } } @@ -86,7 +86,7 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { EditorGUILayout.EndHorizontal(); String selectedAnimationName = animationIndex == 0 ? null : animations[animationIndex]; - if(component.AnimationName != selectedAnimationName){ + if (component.AnimationName != selectedAnimationName) { component.AnimationName = selectedAnimationName; animationName.stringValue = selectedAnimationName; } @@ -100,9 +100,9 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { EditorGUILayout.Space(); - if(!isPrefab){ - if(component.GetComponent() == null){ - if(GUILayout.Button(new GUIContent("Add Skeleton Utility", SpineEditorUtilities.Icons.skeletonUtility), GUILayout.Height(30))){ + if (!isPrefab) { + if (component.GetComponent() == null) { + if (GUILayout.Button(new GUIContent("Add Skeleton Utility", SpineEditorUtilities.Icons.skeletonUtility), GUILayout.Height(30))) { component.gameObject.AddComponent(); } } diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs index 09618fa45..df0061291 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs @@ -32,10 +32,10 @@ * Automatic import and advanced preview added by Mitch Thompson * Full irrevocable rights and permissions granted to Esoteric Software *****************************************************************************/ - using System; using System.Collections.Generic; using UnityEditor; + #if !UNITY_4_3 using UnityEditor.AnimatedValues; #endif @@ -58,7 +58,7 @@ public class SkeletonDataAssetInspector : Editor { private string m_skeletonDataAssetGUID; void OnEnable () { - try{ + try { atlasAsset = serializedObject.FindProperty("atlasAsset"); skeletonJSON = serializedObject.FindProperty("skeletonJSON"); @@ -69,23 +69,21 @@ public class SkeletonDataAssetInspector : Editor { defaultMix = serializedObject.FindProperty("defaultMix"); m_skeletonDataAsset = (SkeletonDataAsset)target; - m_skeletonDataAssetGUID = AssetDatabase.AssetPathToGUID( AssetDatabase.GetAssetPath(m_skeletonDataAsset) ); + m_skeletonDataAssetGUID = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(m_skeletonDataAsset)); EditorApplication.update += Update; - } - catch{ + } catch { } } - void OnDestroy(){ + void OnDestroy () { m_initialized = false; EditorApplication.update -= Update; this.DestroyPreviewInstances(); - if (this.m_previewUtility != null) - { + if (this.m_previewUtility != null) { this.m_previewUtility.Cleanup(); this.m_previewUtility = null; } @@ -99,8 +97,8 @@ public class SkeletonDataAssetInspector : Editor { EditorGUILayout.PropertyField(atlasAsset); EditorGUILayout.PropertyField(skeletonJSON); EditorGUILayout.PropertyField(scale); - if(EditorGUI.EndChangeCheck()){ - if(m_previewUtility != null){ + if (EditorGUI.EndChangeCheck()) { + if (m_previewUtility != null) { m_previewUtility.Cleanup(); m_previewUtility = null; } @@ -143,7 +141,7 @@ public class SkeletonDataAssetInspector : Editor { EditorGUILayout.EndHorizontal(); } - if(GUILayout.Button(new GUIContent("Setup Pose", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(105), GUILayout.Height(18))){ + if (GUILayout.Button(new GUIContent("Setup Pose", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(105), GUILayout.Height(18))) { StopAnimation(); m_skeletonAnimation.skeleton.SetToSetupPose(); m_requireRefresh = true; @@ -152,357 +150,342 @@ public class SkeletonDataAssetInspector : Editor { #if UNITY_4_3 m_showAnimationList = EditorGUILayout.Foldout(m_showAnimationList, new GUIContent("Animations", SpineEditorUtilities.Icons.animationRoot)); if(m_showAnimationList){ - #else - m_showAnimationList.target = EditorGUILayout.Foldout(m_showAnimationList.target, new GUIContent("Animations", SpineEditorUtilities.Icons.animationRoot)); - if(EditorGUILayout.BeginFadeGroup(m_showAnimationList.faded)){ - #endif - - - - - EditorGUILayout.LabelField("Name", "Duration"); - foreach(Spine.Animation a in skeletonData.Animations){ - GUILayout.BeginHorizontal(); - - if(m_skeletonAnimation != null && m_skeletonAnimation.state != null){ - if(m_skeletonAnimation.state.GetCurrent(0) != null && m_skeletonAnimation.state.GetCurrent(0).Animation == a){ - GUI.contentColor = Color.black; - if(GUILayout.Button("\u25BA", GUILayout.Width(24))){ - StopAnimation(); - } - GUI.contentColor = Color.white; - } - else{ - if(GUILayout.Button("\u25BA", GUILayout.Width(24))){ - PlayAnimation(a.Name, true); - } - } - } - else{ - GUILayout.Label("?", GUILayout.Width(24)); - } - EditorGUILayout.LabelField(new GUIContent(a.Name, SpineEditorUtilities.Icons.animation), new GUIContent(a.Duration.ToString("f3") + "s" + ("(" + (Mathf.RoundToInt(a.Duration * 30)) + ")").PadLeft(12, ' '))); - GUILayout.EndHorizontal(); - } - } - #if !UNITY_4_3 - EditorGUILayout.EndFadeGroup(); + #else + m_showAnimationList.target = EditorGUILayout.Foldout(m_showAnimationList.target, new GUIContent("Animations", SpineEditorUtilities.Icons.animationRoot)); + if (EditorGUILayout.BeginFadeGroup(m_showAnimationList.faded)) { #endif - } - - if (!Application.isPlaying) { - if (serializedObject.ApplyModifiedProperties() || - (UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed") - ) { - asset.Reset(); - } - } - } - - //preview window stuff - private PreviewRenderUtility m_previewUtility; - private GameObject m_previewInstance; - private Vector2 previewDir; - private SkeletonAnimation m_skeletonAnimation; - private SkeletonData m_skeletonData; - - private static int sliderHash = "Slider".GetHashCode(); - private float m_lastTime; - private bool m_playing; - private bool m_requireRefresh; - - private Color m_originColor = new Color(0.3f,0.3f,0.3f, 1); - - private void StopAnimation(){ - m_skeletonAnimation.state.ClearTrack(0); - m_playing = false; - } - - - List m_animEvents = new List(); - List m_animEventFrames = new List(); - private void PlayAnimation(string animName, bool loop){ - m_animEvents.Clear(); - m_animEventFrames.Clear(); - - m_skeletonAnimation.state.SetAnimation(0, animName, loop); - - Spine.Animation a = m_skeletonAnimation.state.GetCurrent(0).Animation; - foreach(Timeline t in a.Timelines){ - if(t.GetType() == typeof(EventTimeline)){ - EventTimeline et = (EventTimeline)t; - for(int i = 0; i < et.Events.Length; i++){ - m_animEvents.Add(et.Events[i]); - m_animEventFrames.Add(et.Frames[i]); + + + + EditorGUILayout.LabelField("Name", "Duration"); + foreach (Spine.Animation a in skeletonData.Animations) { + GUILayout.BeginHorizontal(); + + if (m_skeletonAnimation != null && m_skeletonAnimation.state != null) { + if (m_skeletonAnimation.state.GetCurrent(0) != null && m_skeletonAnimation.state.GetCurrent(0).Animation == a) { + GUI.contentColor = Color.black; + if (GUILayout.Button("\u25BA", GUILayout.Width(24))) { + StopAnimation(); + } + GUI.contentColor = Color.white; + } else { + if (GUILayout.Button("\u25BA", GUILayout.Width(24))) { + PlayAnimation(a.Name, true); + } + } + } else { + GUILayout.Label("?", GUILayout.Width(24)); } - + EditorGUILayout.LabelField(new GUIContent(a.Name, SpineEditorUtilities.Icons.animation), new GUIContent(a.Duration.ToString("f3") + "s" + ("(" + (Mathf.RoundToInt(a.Duration * 30)) + ")").PadLeft(12, ' '))); + GUILayout.EndHorizontal(); } } - - m_playing = true; + #if !UNITY_4_3 + EditorGUILayout.EndFadeGroup(); + #endif } - - private void InitPreview() - { - if (this.m_previewUtility == null) - { - this.m_lastTime = Time.realtimeSinceStartup; - this.m_previewUtility = new PreviewRenderUtility(true); - this.m_previewUtility.m_Camera.isOrthoGraphic = true; - this.m_previewUtility.m_Camera.orthographicSize = 1; - this.m_previewUtility.m_Camera.cullingMask = -2147483648; - this.CreatePreviewInstances(); + + if (!Application.isPlaying) { + if (serializedObject.ApplyModifiedProperties() || + (UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed") + ) { + asset.Reset(); } } + } - private void CreatePreviewInstances() - { - this.DestroyPreviewInstances(); - if (this.m_previewInstance == null) - { - string skinName = EditorPrefs.GetString(m_skeletonDataAssetGUID + "_lastSkin", ""); + //preview window stuff + private PreviewRenderUtility m_previewUtility; + private GameObject m_previewInstance; + private Vector2 previewDir; + private SkeletonAnimation m_skeletonAnimation; + private SkeletonData m_skeletonData; + private static int sliderHash = "Slider".GetHashCode(); + private float m_lastTime; + private bool m_playing; + private bool m_requireRefresh; + private Color m_originColor = new Color(0.3f, 0.3f, 0.3f, 1); + + private void StopAnimation () { + m_skeletonAnimation.state.ClearTrack(0); + m_playing = false; + } + + List m_animEvents = new List(); + List m_animEventFrames = new List(); + + private void PlayAnimation (string animName, bool loop) { + m_animEvents.Clear(); + m_animEventFrames.Clear(); + + m_skeletonAnimation.state.SetAnimation(0, animName, loop); + + Spine.Animation a = m_skeletonAnimation.state.GetCurrent(0).Animation; + foreach (Timeline t in a.Timelines) { + if (t.GetType() == typeof(EventTimeline)) { + EventTimeline et = (EventTimeline)t; + + for (int i = 0; i < et.Events.Length; i++) { + m_animEvents.Add(et.Events[i]); + m_animEventFrames.Add(et.Frames[i]); + } + + } + } + + m_playing = true; + } + + private void InitPreview () { + if (this.m_previewUtility == null) { + this.m_lastTime = Time.realtimeSinceStartup; + this.m_previewUtility = new PreviewRenderUtility(true); + this.m_previewUtility.m_Camera.isOrthoGraphic = true; + this.m_previewUtility.m_Camera.orthographicSize = 1; + this.m_previewUtility.m_Camera.cullingMask = -2147483648; + this.CreatePreviewInstances(); + } + } + + private void CreatePreviewInstances () { + this.DestroyPreviewInstances(); + if (this.m_previewInstance == null) { + string skinName = EditorPrefs.GetString(m_skeletonDataAssetGUID + "_lastSkin", ""); - m_previewInstance = SpineEditorUtilities.SpawnAnimatedSkeleton( (SkeletonDataAsset)target, skinName ).gameObject; - m_previewInstance.hideFlags = HideFlags.HideAndDontSave; - m_previewInstance.layer = 0x1f; + m_previewInstance = SpineEditorUtilities.SpawnAnimatedSkeleton((SkeletonDataAsset)target, skinName).gameObject; + m_previewInstance.hideFlags = HideFlags.HideAndDontSave; + m_previewInstance.layer = 0x1f; - m_skeletonAnimation = m_previewInstance.GetComponent(); - m_skeletonAnimation.initialSkinName = skinName; + m_skeletonAnimation = m_previewInstance.GetComponent(); + m_skeletonAnimation.initialSkinName = skinName; + m_skeletonAnimation.LateUpdate(); + + m_skeletonData = m_skeletonAnimation.skeletonDataAsset.GetSkeletonData(true); + + m_previewInstance.renderer.enabled = false; + + m_initialized = true; + AdjustCameraGoals(true); + } + } + + private void DestroyPreviewInstances () { + if (this.m_previewInstance != null) { + DestroyImmediate(this.m_previewInstance); + m_previewInstance = null; + } + m_initialized = false; + } + + public override bool HasPreviewGUI () { + //TODO: validate json data + return skeletonJSON.objectReferenceValue != null; + } + + Texture m_previewTex = new Texture(); + + public override void OnInteractivePreviewGUI (Rect r, GUIStyle background) { + this.InitPreview(); + + if (UnityEngine.Event.current.type == EventType.Repaint) { + if (m_requireRefresh) { + this.m_previewUtility.BeginPreview(r, background); + this.DoRenderPreview(true); + this.m_previewTex = this.m_previewUtility.EndPreview(); + m_requireRefresh = false; + } + if (this.m_previewTex != null) + GUI.DrawTexture(r, m_previewTex, ScaleMode.StretchToFill, false); + } + + DrawSkinToolbar(r); + NormalizedTimeBar(r); + //TODO: implement panning + // this.previewDir = Drag2D(this.previewDir, r); + MouseScroll(r); + } + + float m_orthoGoal = 1; + Vector3 m_posGoal = new Vector3(0, 0, -10); + double m_adjustFrameEndTime = 0; + + private void AdjustCameraGoals (bool calculateMixTime) { + if (calculateMixTime) { + if (m_skeletonAnimation.state.GetCurrent(0) != null) { + m_adjustFrameEndTime = EditorApplication.timeSinceStartup + m_skeletonAnimation.state.GetCurrent(0).Mix; + } + } + + + GameObject go = this.m_previewInstance; + Bounds bounds = go.renderer.bounds; + m_orthoGoal = bounds.size.y; + + m_posGoal = bounds.center + new Vector3(0, 0, -10); + } + + private void AdjustCameraGoals () { + AdjustCameraGoals(false); + } + + private void AdjustCamera () { + if (m_previewUtility == null) + return; + + + if (EditorApplication.timeSinceStartup < m_adjustFrameEndTime) { + AdjustCameraGoals(); + } + + float orthoSet = Mathf.Lerp(this.m_previewUtility.m_Camera.orthographicSize, m_orthoGoal, 0.1f); + + this.m_previewUtility.m_Camera.orthographicSize = orthoSet; + + float dist = Vector3.Distance(m_previewUtility.m_Camera.transform.position, m_posGoal); + if (dist > 60f * ((SkeletonDataAsset)target).scale) { + Vector3 pos = Vector3.Lerp(this.m_previewUtility.m_Camera.transform.position, m_posGoal, 0.1f); + pos.x = 0; + this.m_previewUtility.m_Camera.transform.position = pos; + this.m_previewUtility.m_Camera.transform.rotation = Quaternion.identity; + m_requireRefresh = true; + } + } + + private void DoRenderPreview (bool drawHandles) { + GameObject go = this.m_previewInstance; + + if (m_requireRefresh) { + go.renderer.enabled = true; + + if (EditorApplication.isPlaying) { + //do nothing + } else { + m_skeletonAnimation.Update((Time.realtimeSinceStartup - m_lastTime)); + } + + m_lastTime = Time.realtimeSinceStartup; + + if (!EditorApplication.isPlaying) m_skeletonAnimation.LateUpdate(); - m_skeletonData = m_skeletonAnimation.skeletonDataAsset.GetSkeletonData(true); - - m_previewInstance.renderer.enabled = false; - - m_initialized = true; - AdjustCameraGoals(true); - } - } - - private void DestroyPreviewInstances() - { - if (this.m_previewInstance != null) - { - DestroyImmediate(this.m_previewInstance); - m_previewInstance = null; - } - m_initialized = false; - } - - public override bool HasPreviewGUI () - { - //TODO: validate json data - return skeletonJSON.objectReferenceValue != null; - } - - Texture m_previewTex = new Texture(); - public override void OnInteractivePreviewGUI(Rect r, GUIStyle background) - { - this.InitPreview(); - - if (UnityEngine.Event.current.type == EventType.Repaint) - { - if(m_requireRefresh){ - this.m_previewUtility.BeginPreview(r, background); - this.DoRenderPreview(true); - this.m_previewTex = this.m_previewUtility.EndPreview(); - m_requireRefresh = false; - } - if(this.m_previewTex != null) - GUI.DrawTexture(r, m_previewTex, ScaleMode.StretchToFill, false); - } - - DrawSkinToolbar(r); - NormalizedTimeBar(r); - //TODO: implement panning - // this.previewDir = Drag2D(this.previewDir, r); - MouseScroll(r); - } - - float m_orthoGoal = 1; - Vector3 m_posGoal = new Vector3(0,0,-10); - double m_adjustFrameEndTime = 0; - private void AdjustCameraGoals(bool calculateMixTime){ - if(calculateMixTime){ - if(m_skeletonAnimation.state.GetCurrent(0) != null){ - m_adjustFrameEndTime = EditorApplication.timeSinceStartup + m_skeletonAnimation.state.GetCurrent(0).Mix; - } - } - - - GameObject go = this.m_previewInstance; - Bounds bounds = go.renderer.bounds; - m_orthoGoal = bounds.size.y; - - m_posGoal = bounds.center + new Vector3(0,0,-10); - } - - private void AdjustCameraGoals(){ - AdjustCameraGoals(false); - } - - private void AdjustCamera(){ - if(m_previewUtility == null) - return; - - - if(EditorApplication.timeSinceStartup < m_adjustFrameEndTime){ - AdjustCameraGoals(); - } - - float orthoSet = Mathf.Lerp(this.m_previewUtility.m_Camera.orthographicSize, m_orthoGoal, 0.1f); - - this.m_previewUtility.m_Camera.orthographicSize = orthoSet; - - float dist = Vector3.Distance(m_previewUtility.m_Camera.transform.position, m_posGoal); - if(dist > 60f * ((SkeletonDataAsset)target).scale){ - Vector3 pos = Vector3.Lerp(this.m_previewUtility.m_Camera.transform.position, m_posGoal, 0.1f); - pos.x = 0; - this.m_previewUtility.m_Camera.transform.position = pos; - this.m_previewUtility.m_Camera.transform.rotation = Quaternion.identity; - m_requireRefresh = true; - } - } - - private void DoRenderPreview(bool drawHandles) - { - GameObject go = this.m_previewInstance; - - if(m_requireRefresh){ - go.renderer.enabled = true; - - if(EditorApplication.isPlaying){ - //do nothing - } - else{ - m_skeletonAnimation.Update((Time.realtimeSinceStartup - m_lastTime)); - } - - m_lastTime = Time.realtimeSinceStartup; - - if(!EditorApplication.isPlaying) - m_skeletonAnimation.LateUpdate(); - - if(drawHandles){ - Handles.SetCamera(m_previewUtility.m_Camera); - Handles.color = m_originColor; + if (drawHandles) { + Handles.SetCamera(m_previewUtility.m_Camera); + Handles.color = m_originColor; - Handles.DrawLine(new Vector3(-1000 * m_skeletonDataAsset.scale,0,0), new Vector3(1000 * m_skeletonDataAsset.scale,0,0)); - Handles.DrawLine(new Vector3(0,1000 * m_skeletonDataAsset.scale,0), new Vector3(0,-1000 * m_skeletonDataAsset.scale,0)); - } + Handles.DrawLine(new Vector3(-1000 * m_skeletonDataAsset.scale, 0, 0), new Vector3(1000 * m_skeletonDataAsset.scale, 0, 0)); + Handles.DrawLine(new Vector3(0, 1000 * m_skeletonDataAsset.scale, 0), new Vector3(0, -1000 * m_skeletonDataAsset.scale, 0)); + } - this.m_previewUtility.m_Camera.Render(); - go.renderer.enabled = false; - } - - + this.m_previewUtility.m_Camera.Render(); + go.renderer.enabled = false; } - - void Update(){ - AdjustCamera(); - if (m_playing) { - m_requireRefresh = true; + + } + + void Update () { + AdjustCamera(); + + if (m_playing) { + m_requireRefresh = true; + Repaint(); + } else if (m_requireRefresh) { Repaint(); - } - else if (m_requireRefresh) { - Repaint (); - } - else{ + } else { #if !UNITY_4_3 - if(m_showAnimationList.isAnimating) + if (m_showAnimationList.isAnimating) Repaint(); #endif } - } + } - void DrawSkinToolbar(Rect r){ - if(m_skeletonAnimation == null) - return; + void DrawSkinToolbar (Rect r) { + if (m_skeletonAnimation == null) + return; - if(m_skeletonAnimation.skeleton != null){ - string label = (m_skeletonAnimation.skeleton != null && m_skeletonAnimation.skeleton.Skin != null) ? m_skeletonAnimation.skeleton.Skin.Name : "default"; + if (m_skeletonAnimation.skeleton != null) { + string label = (m_skeletonAnimation.skeleton != null && m_skeletonAnimation.skeleton.Skin != null) ? m_skeletonAnimation.skeleton.Skin.Name : "default"; - Rect popRect = new Rect(r); - popRect.y += 32; - popRect.x += 4; - popRect.height = 24; - popRect.width = 40; - EditorGUI.DropShadowLabel(popRect, new GUIContent("Skin", SpineEditorUtilities.Icons.skinsRoot)); + Rect popRect = new Rect(r); + popRect.y += 32; + popRect.x += 4; + popRect.height = 24; + popRect.width = 40; + EditorGUI.DropShadowLabel(popRect, new GUIContent("Skin", SpineEditorUtilities.Icons.skinsRoot)); - popRect.y += 11; - popRect.width = 150; - popRect.x += 44; + popRect.y += 11; + popRect.width = 150; + popRect.x += 44; - if(GUI.Button( popRect, label, EditorStyles.popup)){ - SelectSkinContext(); - } + if (GUI.Button(popRect, label, EditorStyles.popup)) { + SelectSkinContext(); } } + } - void SelectSkinContext(){ - GenericMenu menu = new GenericMenu(); + void SelectSkinContext () { + GenericMenu menu = new GenericMenu(); - foreach(Skin s in m_skeletonData.Skins){ - menu.AddItem( new GUIContent(s.Name), this.m_skeletonAnimation.skeleton.Skin == s, SetSkin, (object)s); - } - - menu.ShowAsContext(); + foreach (Skin s in m_skeletonData.Skins) { + menu.AddItem(new GUIContent(s.Name), this.m_skeletonAnimation.skeleton.Skin == s, SetSkin, (object)s); } + + menu.ShowAsContext(); + } - void SetSkin(object o){ - Skin skin = (Skin)o; + void SetSkin (object o) { + Skin skin = (Skin)o; - m_skeletonAnimation.initialSkinName = skin.Name; - m_skeletonAnimation.Reset(); - m_requireRefresh = true; + m_skeletonAnimation.initialSkinName = skin.Name; + m_skeletonAnimation.Reset(); + m_requireRefresh = true; - EditorPrefs.SetString(m_skeletonDataAssetGUID + "_lastSkin", skin.Name); - } + EditorPrefs.SetString(m_skeletonDataAssetGUID + "_lastSkin", skin.Name); + } - void NormalizedTimeBar(Rect r){ - Rect barRect = new Rect(r); - barRect.height = 32; - barRect.x += 4; - barRect.width -=4; + void NormalizedTimeBar (Rect r) { + Rect barRect = new Rect(r); + barRect.height = 32; + barRect.x += 4; + barRect.width -= 4; - GUI.Box(barRect, ""); + GUI.Box(barRect, ""); - Rect lineRect = new Rect(barRect); - float width = lineRect.width; - TrackEntry t = m_skeletonAnimation.state.GetCurrent(0); + Rect lineRect = new Rect(barRect); + float width = lineRect.width; + TrackEntry t = m_skeletonAnimation.state.GetCurrent(0); - if(t != null){ - int loopCount = (int)(t.Time / t.EndTime); - float currentTime = t.Time - (t.EndTime * loopCount); + if (t != null) { + int loopCount = (int)(t.Time / t.EndTime); + float currentTime = t.Time - (t.EndTime * loopCount); - float normalizedTime = currentTime / t.Animation.Duration; + float normalizedTime = currentTime / t.Animation.Duration; - lineRect.x = barRect.x + (width * normalizedTime) - 0.5f; - lineRect.width = 2; + lineRect.x = barRect.x + (width * normalizedTime) - 0.5f; + lineRect.width = 2; - GUI.color = Color.red; - GUI.DrawTexture(lineRect, EditorGUIUtility.whiteTexture); - GUI.color = Color.white; + GUI.color = Color.red; + GUI.DrawTexture(lineRect, EditorGUIUtility.whiteTexture); + GUI.color = Color.white; - for(int i = 0; i < m_animEvents.Count; i++){ - //TODO: Tooltip - //Spine.Event spev = animEvents[i]; + for (int i = 0; i < m_animEvents.Count; i++) { + //TODO: Tooltip + //Spine.Event spev = animEvents[i]; - float fr = m_animEventFrames[i]; + float fr = m_animEventFrames[i]; - Rect evRect = new Rect(barRect); - evRect.x = Mathf.Clamp(((fr / t.Animation.Duration) * width) - (SpineEditorUtilities.Icons._event.width/2), barRect.x, float.MaxValue); - evRect.width = SpineEditorUtilities.Icons._event.width; - evRect.height = SpineEditorUtilities.Icons._event.height; - evRect.y += SpineEditorUtilities.Icons._event.height; - GUI.DrawTexture(evRect, SpineEditorUtilities.Icons._event); + Rect evRect = new Rect(barRect); + evRect.x = Mathf.Clamp(((fr / t.Animation.Duration) * width) - (SpineEditorUtilities.Icons._event.width / 2), barRect.x, float.MaxValue); + evRect.width = SpineEditorUtilities.Icons._event.width; + evRect.height = SpineEditorUtilities.Icons._event.height; + evRect.y += SpineEditorUtilities.Icons._event.height; + GUI.DrawTexture(evRect, SpineEditorUtilities.Icons._event); - //TODO: Tooltip - /* + //TODO: Tooltip + /* UnityEngine.Event ev = UnityEngine.Event.current; if(ev.isMouse){ if(evRect.Contains(ev.mousePosition)){ @@ -514,29 +497,29 @@ public class SkeletonDataAssetInspector : Editor { } } */ - } } } + } - void MouseScroll(Rect position){ - UnityEngine.Event current = UnityEngine.Event.current; - int controlID = GUIUtility.GetControlID(sliderHash, FocusType.Passive); + void MouseScroll (Rect position) { + UnityEngine.Event current = UnityEngine.Event.current; + int controlID = GUIUtility.GetControlID(sliderHash, FocusType.Passive); - switch(current.GetTypeForControl(controlID)){ - case EventType.ScrollWheel: - if(position.Contains(current.mousePosition)){ + switch (current.GetTypeForControl(controlID)) { + case EventType.ScrollWheel: + if (position.Contains(current.mousePosition)) { - m_orthoGoal += current.delta.y * ((SkeletonDataAsset)target).scale * 10; - GUIUtility.hotControl = controlID; - current.Use(); - } - break; + m_orthoGoal += current.delta.y * ((SkeletonDataAsset)target).scale * 10; + GUIUtility.hotControl = controlID; + current.Use(); } - + break; } + + } - //TODO: Implement preview panning - /* + //TODO: Implement preview panning + /* static Vector2 Drag2D(Vector2 scrollPosition, Rect position) { int controlID = GUIUtility.GetControlID(sliderHash, FocusType.Passive); @@ -577,56 +560,52 @@ public class SkeletonDataAssetInspector : Editor { } */ - public override GUIContent GetPreviewTitle () - { - return new GUIContent ("Preview"); - } + public override GUIContent GetPreviewTitle () { + return new GUIContent("Preview"); + } - public override void OnPreviewSettings () - { - if(!m_initialized){ - GUILayout.HorizontalSlider(0,0,2, GUILayout.MaxWidth(64)); - } - else{ - float speed = GUILayout.HorizontalSlider( m_skeletonAnimation.timeScale, 0, 2, GUILayout.MaxWidth(64)); + public override void OnPreviewSettings () { + if (!m_initialized) { + GUILayout.HorizontalSlider(0, 0, 2, GUILayout.MaxWidth(64)); + } else { + float speed = GUILayout.HorizontalSlider(m_skeletonAnimation.timeScale, 0, 2, GUILayout.MaxWidth(64)); - //snap to nearest 0.25 - float y = speed / 0.25f; - int q = Mathf.RoundToInt(y); - speed = q * 0.25f; + //snap to nearest 0.25 + float y = speed / 0.25f; + int q = Mathf.RoundToInt(y); + speed = q * 0.25f; - m_skeletonAnimation.timeScale = speed; - } + m_skeletonAnimation.timeScale = speed; } + } - //TODO: Fix first-import error - //TODO: Update preview without thumbnail - public override Texture2D RenderStaticPreview (string assetPath, UnityEngine.Object[] subAssets, int width, int height) - { - Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false); + //TODO: Fix first-import error + //TODO: Update preview without thumbnail + public override Texture2D RenderStaticPreview (string assetPath, UnityEngine.Object[] subAssets, int width, int height) { + Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false); - this.InitPreview(); + this.InitPreview(); - if(this.m_previewUtility.m_Camera == null) - return null; + if (this.m_previewUtility.m_Camera == null) + return null; - m_requireRefresh = true; - this.DoRenderPreview(false); - AdjustCameraGoals(false); + m_requireRefresh = true; + this.DoRenderPreview(false); + AdjustCameraGoals(false); - this.m_previewUtility.m_Camera.orthographicSize = m_orthoGoal/2; - this.m_previewUtility.m_Camera.transform.position = m_posGoal; - this.m_previewUtility.BeginStaticPreview(new Rect(0,0,width,height)); - this.DoRenderPreview(false); + this.m_previewUtility.m_Camera.orthographicSize = m_orthoGoal / 2; + this.m_previewUtility.m_Camera.transform.position = m_posGoal; + this.m_previewUtility.BeginStaticPreview(new Rect(0, 0, width, height)); + this.DoRenderPreview(false); - //TODO: Figure out why this is throwing errors on first attempt - // if(m_previewUtility != null){ - // Handles.SetCamera(this.m_previewUtility.m_Camera); - // Handles.BeginGUI(); - // GUI.DrawTexture(new Rect(40,60,width,height), SpineEditorUtilities.Icons.spine, ScaleMode.StretchToFill); - // Handles.EndGUI(); - // } - tex = this.m_previewUtility.EndStaticPreview(); - return tex; - } - } \ No newline at end of file + //TODO: Figure out why this is throwing errors on first attempt + // if(m_previewUtility != null){ + // Handles.SetCamera(this.m_previewUtility.m_Camera); + // Handles.BeginGUI(); + // GUI.DrawTexture(new Rect(40,60,width,height), SpineEditorUtilities.Icons.spine, ScaleMode.StretchToFill); + // Handles.EndGUI(); + // } + tex = this.m_previewUtility.EndStaticPreview(); + return tex; + } +} \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs index 4a9803827..3c918ac89 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs @@ -27,7 +27,6 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; @@ -64,7 +63,8 @@ public class SkeletonRendererInspector : Editor { if (!component.valid) { component.Reset(); component.LateUpdate(); - if (!component.valid) return; + if (!component.valid) + return; } // Initial skin name. @@ -100,7 +100,8 @@ public class SkeletonRendererInspector : Editor { if (serializedObject.ApplyModifiedProperties() || (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { - if (!Application.isPlaying) ((SkeletonRenderer)target).Reset(); + if (!Application.isPlaying) + ((SkeletonRenderer)target).Reset(); } } } diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index e3afbb71a..3b95ba432 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -33,7 +33,6 @@ * Spine Editor Utilities created by Mitch Thompson * Full irrevocable rights and permissions granted to Esoteric Software *****************************************************************************/ - using UnityEngine; using UnityEditor; using System.Collections; @@ -45,7 +44,7 @@ using Spine; [InitializeOnLoad] public class SpineEditorUtilities : AssetPostprocessor { - public static class Icons{ + public static class Icons { public static Texture2D skeleton; public static Texture2D nullBone; public static Texture2D bone; @@ -68,11 +67,16 @@ public class SpineEditorUtilities : AssetPostprocessor { public static Texture2D hingeChain; public static Texture2D subMeshRenderer; - public static Mesh boneMesh{ - get{ - if(_boneMesh == null){ + public static Mesh boneMesh { + get { + if (_boneMesh == null) { _boneMesh = new Mesh(); - _boneMesh.vertices = new Vector3[4]{Vector3.zero, new Vector3(-0.1f,0.1f,0), Vector3.up, new Vector3(0.1f,0.1f,0)}; + _boneMesh.vertices = new Vector3[4] { + Vector3.zero, + new Vector3(-0.1f, 0.1f, 0), + Vector3.up, + new Vector3(0.1f, 0.1f, 0) + }; _boneMesh.uv = new Vector2[4]; _boneMesh.triangles = new int[6]{0,1,2,2,3,0}; _boneMesh.RecalculateBounds(); @@ -82,12 +86,12 @@ public class SpineEditorUtilities : AssetPostprocessor { return _boneMesh; } } + internal static Mesh _boneMesh; - - public static Material boneMaterial{ - get{ - if(_boneMaterial == null){ + public static Material boneMaterial { + get { + if (_boneMaterial == null) { #if UNITY_4_3 _boneMaterial = new Material(Shader.Find("Particles/Alpha Blended")); _boneMaterial.SetColor("_TintColor", new Color(0.4f, 0.4f, 0.4f, 0.25f)); @@ -101,48 +105,43 @@ public class SpineEditorUtilities : AssetPostprocessor { return _boneMaterial; } } + internal static Material _boneMaterial; - public static void Initialize(){ - skeleton = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-skeleton.png"); - nullBone = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-null.png"); - bone = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-bone.png"); - poseBones = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-poseBones.png"); - boneNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-boneNib.png"); - slot = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-slot.png"); - skinPlaceholder = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); - image = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-image.png"); - boundingBox = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-boundingBox.png"); - mesh = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-mesh.png"); - skin = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); - skinsRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-skinsRoot.png"); - animation = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-animation.png"); - animationRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-animationRoot.png"); - spine = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-spine.png"); - _event = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-event.png"); - constraintNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-constraintNib.png"); - warning = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-warning.png"); - skeletonUtility = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-skeletonUtility.png"); - hingeChain = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-hingeChain.png"); - subMeshRenderer = (Texture2D)AssetDatabase.LoadMainAssetAtPath( SpineEditorUtilities.editorGUIPath + "/icon-subMeshRenderer.png"); - + public static void Initialize () { + skeleton = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skeleton.png"); + nullBone = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-null.png"); + bone = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-bone.png"); + poseBones = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-poseBones.png"); + boneNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-boneNib.png"); + slot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-slot.png"); + skinPlaceholder = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); + image = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-image.png"); + boundingBox = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-boundingBox.png"); + mesh = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-mesh.png"); + skin = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); + skinsRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinsRoot.png"); + animation = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-animation.png"); + animationRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-animationRoot.png"); + spine = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-spine.png"); + _event = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-event.png"); + constraintNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-constraintNib.png"); + warning = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-warning.png"); + skeletonUtility = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skeletonUtility.png"); + hingeChain = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-hingeChain.png"); + subMeshRenderer = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-subMeshRenderer.png"); } - } - - public static string editorPath = ""; public static string editorGUIPath = ""; - static Dictionary skeletonRendererTable; static Dictionary skeletonUtilityBoneTable; - public static float defaultScale = 0.01f; public static float defaultMix = 0.2f; public static string defaultShader = "Spine/Skeleton"; - static SpineEditorUtilities(){ + static SpineEditorUtilities () { DirectoryInfo rootDir = new DirectoryInfo(Application.dataPath); FileInfo[] files = rootDir.GetFiles("SpineEditorUtilities.cs", SearchOption.AllDirectories); editorPath = Path.GetDirectoryName(files[0].FullName.Replace("\\", "/").Replace(Application.dataPath, "Assets")); @@ -159,81 +158,79 @@ public class SpineEditorUtilities : AssetPostprocessor { HierarchyWindowChanged(); } - static void HierarchyWindowChanged(){ + static void HierarchyWindowChanged () { skeletonRendererTable.Clear(); skeletonUtilityBoneTable.Clear(); SkeletonRenderer[] arr = Object.FindObjectsOfType(); - foreach(SkeletonRenderer r in arr) - skeletonRendererTable.Add( r.gameObject.GetInstanceID(), r.gameObject ); + foreach (SkeletonRenderer r in arr) + skeletonRendererTable.Add(r.gameObject.GetInstanceID(), r.gameObject); SkeletonUtilityBone[] boneArr = Object.FindObjectsOfType(); - foreach(SkeletonUtilityBone b in boneArr) + foreach (SkeletonUtilityBone b in boneArr) skeletonUtilityBoneTable.Add(b.gameObject.GetInstanceID(), b); } - static void HierarchyWindowItemOnGUI(int instanceId, Rect selectionRect){ - if(skeletonRendererTable.ContainsKey(instanceId)){ - Rect r = new Rect (selectionRect); + static void HierarchyWindowItemOnGUI (int instanceId, Rect selectionRect) { + if (skeletonRendererTable.ContainsKey(instanceId)) { + Rect r = new Rect(selectionRect); r.x = r.width - 15; r.width = 15; GUI.Label(r, Icons.spine); - } - else if(skeletonUtilityBoneTable.ContainsKey(instanceId)){ - Rect r = new Rect (selectionRect); - r.x -= 26; + } else if (skeletonUtilityBoneTable.ContainsKey(instanceId)) { + Rect r = new Rect(selectionRect); + r.x -= 26; - if(skeletonUtilityBoneTable[instanceId] != null){ - if( skeletonUtilityBoneTable[instanceId].transform.childCount == 0 ) - r.x += 13; + if (skeletonUtilityBoneTable[instanceId] != null) { + if (skeletonUtilityBoneTable[instanceId].transform.childCount == 0) + r.x += 13; - r.y += 2; + r.y += 2; - r.width = 13; - r.height = 13; + r.width = 13; + r.height = 13; - if( skeletonUtilityBoneTable[instanceId].mode == SkeletonUtilityBone.Mode.Follow ){ - GUI.DrawTexture(r, Icons.bone); - } - else{ - GUI.DrawTexture(r, Icons.poseBones); + if (skeletonUtilityBoneTable[instanceId].mode == SkeletonUtilityBone.Mode.Follow) { + GUI.DrawTexture(r, Icons.bone); + } else { + GUI.DrawTexture(r, Icons.poseBones); + } } + } - } - } [MenuItem("Assets/Spine/Ingest")] - static void IngestSpineProjectFromSelection(){ + static void IngestSpineProjectFromSelection () { TextAsset spineJson = null; TextAsset atlasText = null; List spineJsonList = new List(); - foreach(UnityEngine.Object o in Selection.objects){ - if(o.GetType() != typeof(TextAsset)) + foreach (UnityEngine.Object o in Selection.objects) { + if (o.GetType() != typeof(TextAsset)) continue; string fileName = Path.GetFileName(AssetDatabase.GetAssetPath(o)); - if(fileName.EndsWith(".json")) + if (fileName.EndsWith(".json")) spineJson = (TextAsset)o; - else if(fileName.EndsWith(".atlas.txt")) - atlasText = (TextAsset)o; + else if (fileName.EndsWith(".atlas.txt")) + atlasText = (TextAsset)o; } - if(spineJson == null){ + if (spineJson == null) { EditorUtility.DisplayDialog("Error!", "Spine JSON file not found in selection!", "OK"); return; } string primaryName = Path.GetFileNameWithoutExtension(spineJson.name); - string assetPath = Path.GetDirectoryName( AssetDatabase.GetAssetPath(spineJson)); + string assetPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(spineJson)); - if(atlasText == null){ + if (atlasText == null) { string atlasPath = assetPath + "/" + primaryName + ".atlas.txt"; atlasText = (TextAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(TextAsset)); } @@ -243,7 +240,7 @@ public class SpineEditorUtilities : AssetPostprocessor { IngestSpineProject(spineJson, atlasAsset); } - static void OnPostprocessAllAssets(string[] imported, string[] deleted, string[] moved, string[] movedFromAssetPaths){ + static void OnPostprocessAllAssets (string[] imported, string[] deleted, string[] moved, string[] movedFromAssetPaths) { //debug // return; @@ -251,20 +248,20 @@ public class SpineEditorUtilities : AssetPostprocessor { System.Array.Sort(imported); - foreach(string str in imported){ - if(Path.GetExtension(str).ToLower() == ".json"){ + foreach (string str in imported) { + if (Path.GetExtension(str).ToLower() == ".json") { TextAsset spineJson = (TextAsset)AssetDatabase.LoadAssetAtPath(str, typeof(TextAsset)); - if(IsSpineJSON(spineJson)){ + if (IsSpineJSON(spineJson)) { - if(sharedAtlas != null){ + if (sharedAtlas != null) { string spinePath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(spineJson)); string atlasPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(sharedAtlas)); - if(spinePath != atlasPath) + if (spinePath != atlasPath) sharedAtlas = null; } SkeletonDataAsset data = AutoIngestSpineProject(spineJson, sharedAtlas); - if(data == null) + if (data == null) continue; sharedAtlas = data.atlasAsset; @@ -273,15 +270,14 @@ public class SpineEditorUtilities : AssetPostprocessor { string dir = Path.GetDirectoryName(Path.GetDirectoryName(AssetDatabase.GetAssetPath(data))); string prefabPath = Path.Combine(dir, data.skeletonJSON.name + ".prefab").Replace("\\", "/"); - if(File.Exists(prefabPath) == false){ + if (File.Exists(prefabPath) == false) { SkeletonAnimation anim = SpawnAnimatedSkeleton(data); PrefabUtility.CreatePrefab(prefabPath, anim.gameObject, ReplacePrefabOptions.ReplaceNameBased); - if(EditorApplication.isPlaying) + if (EditorApplication.isPlaying) GameObject.Destroy(anim.gameObject); else GameObject.DestroyImmediate(anim.gameObject); - } - else{ + } else { } @@ -291,58 +287,54 @@ public class SpineEditorUtilities : AssetPostprocessor { } } - static bool IsSpineJSON(TextAsset asset){ - object obj = Json.Deserialize( new StringReader(asset.text)); - if(obj == null){ + static bool IsSpineJSON (TextAsset asset) { + object obj = Json.Deserialize(new StringReader(asset.text)); + if (obj == null) { Debug.LogError("Is not valid JSON"); return false; } Dictionary root = (Dictionary)obj; - if(!root.ContainsKey("skeleton")) + if (!root.ContainsKey("skeleton")) return false; Dictionary skeletonInfo = (Dictionary)root["skeleton"]; string spineVersion = (string)skeletonInfo["spine"]; - //TODO: reject old versions return true; - } - static SkeletonDataAsset AutoIngestSpineProject(TextAsset spineJson, Object atlasSource = null){ + static SkeletonDataAsset AutoIngestSpineProject (TextAsset spineJson, Object atlasSource = null) { TextAsset atlasText = null; AtlasAsset atlasAsset = null; - if(atlasSource != null){ - if(atlasSource.GetType() == typeof(TextAsset)){ + if (atlasSource != null) { + if (atlasSource.GetType() == typeof(TextAsset)) { atlasText = (TextAsset)atlasSource; - } - else if(atlasSource.GetType() == typeof(AtlasAsset)){ - atlasAsset = (AtlasAsset)atlasSource; - } + } else if (atlasSource.GetType() == typeof(AtlasAsset)) { + atlasAsset = (AtlasAsset)atlasSource; + } } - if(atlasText == null && atlasAsset == null){ + if (atlasText == null && atlasAsset == null) { string primaryName = Path.GetFileNameWithoutExtension(spineJson.name); - string assetPath = Path.GetDirectoryName( AssetDatabase.GetAssetPath(spineJson)); + string assetPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(spineJson)); - if(atlasText == null){ + if (atlasText == null) { string atlasPath = assetPath + "/" + primaryName + ".atlas.txt"; atlasText = (TextAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(TextAsset)); - if(atlasText == null){ + if (atlasText == null) { //can't find atlas, likely because using a shared atlas bool abort = !EditorUtility.DisplayDialog("Atlas not Found", "Expecting " + spineJson.name + ".atlas\n" + "Press OK to select Atlas", "OK", "Abort"); - if(abort){ + if (abort) { //do nothing, let it error later - } - else{ - string path = EditorUtility.OpenFilePanel( "Find Atlas source...", Path.GetDirectoryName(Application.dataPath) + "/" + assetPath, "txt"); - if(path != ""){ + } else { + string path = EditorUtility.OpenFilePanel("Find Atlas source...", Path.GetDirectoryName(Application.dataPath) + "/" + assetPath, "txt"); + if (path != "") { path = path.Replace("\\", "/"); path = path.Replace(Application.dataPath.Replace("\\", "/"), "Assets"); atlasText = (TextAsset)AssetDatabase.LoadAssetAtPath(path, typeof(TextAsset)); @@ -353,52 +345,52 @@ public class SpineEditorUtilities : AssetPostprocessor { } } - if(atlasAsset == null) + if (atlasAsset == null) atlasAsset = IngestSpineAtlas(atlasText); return IngestSpineProject(spineJson, atlasAsset); } - static AtlasAsset IngestSpineAtlas(TextAsset atlasText){ - if(atlasText == null){ + static AtlasAsset IngestSpineAtlas (TextAsset atlasText) { + if (atlasText == null) { Debug.LogWarning("Atlas source cannot be null!"); return null; } string primaryName = Path.GetFileNameWithoutExtension(atlasText.name).Replace(".atlas", ""); - string assetPath = Path.GetDirectoryName( AssetDatabase.GetAssetPath(atlasText)); + string assetPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(atlasText)); string atlasPath = assetPath + "/" + primaryName + "_Atlas.asset"; AtlasAsset atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); - if(atlasAsset == null) + if (atlasAsset == null) atlasAsset = AtlasAsset.CreateInstance(); atlasAsset.atlasFile = atlasText; - //strip CR - string atlasStr = atlasText.text; - atlasStr = atlasStr.Replace("\r", ""); + //strip CR + string atlasStr = atlasText.text; + atlasStr = atlasStr.Replace("\r", ""); string[] atlasLines = atlasStr.Split('\n'); List pageFiles = new List(); - for(int i = 0; i < atlasLines.Length-1; i++){ - if(atlasLines[i].Length == 0) - pageFiles.Add(atlasLines[i+1]); + for (int i = 0; i < atlasLines.Length-1; i++) { + if (atlasLines[i].Length == 0) + pageFiles.Add(atlasLines[i + 1]); } atlasAsset.materials = new Material[pageFiles.Count]; - for(int i = 0; i < pageFiles.Count; i++){ + for (int i = 0; i < pageFiles.Count; i++) { string texturePath = assetPath + "/" + pageFiles[i]; Texture2D texture = (Texture2D)AssetDatabase.LoadAssetAtPath(texturePath, typeof(Texture2D)); TextureImporter texImporter = (TextureImporter)TextureImporter.GetAtPath(texturePath); texImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor; texImporter.mipmapEnabled = false; - texImporter.maxTextureSize = 2048; + texImporter.maxTextureSize = 2048; EditorUtility.SetDirty(texImporter); AssetDatabase.ImportAsset(texturePath); @@ -407,14 +399,14 @@ public class SpineEditorUtilities : AssetPostprocessor { string pageName = Path.GetFileNameWithoutExtension(pageFiles[i]); //because this looks silly - if(pageName == primaryName && pageFiles.Count == 1) + if (pageName == primaryName && pageFiles.Count == 1) pageName = "Material"; string materialPath = assetPath + "/" + primaryName + "_" + pageName + ".mat"; Material mat = (Material)AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)); - if(mat == null){ - mat = new Material(Shader.Find(defaultShader)); + if (mat == null) { + mat = new Material(Shader.Find(defaultShader)); AssetDatabase.CreateAsset(mat, materialPath); } @@ -426,7 +418,7 @@ public class SpineEditorUtilities : AssetPostprocessor { atlasAsset.materials[i] = mat; } - if(AssetDatabase.GetAssetPath( atlasAsset ) == "") + if (AssetDatabase.GetAssetPath(atlasAsset) == "") AssetDatabase.CreateAsset(atlasAsset, atlasPath); else atlasAsset.Reset(); @@ -436,17 +428,15 @@ public class SpineEditorUtilities : AssetPostprocessor { return (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); } - - static SkeletonDataAsset IngestSpineProject(TextAsset spineJson, AtlasAsset atlasAsset = null){ - + static SkeletonDataAsset IngestSpineProject (TextAsset spineJson, AtlasAsset atlasAsset = null) { string primaryName = Path.GetFileNameWithoutExtension(spineJson.name); - string assetPath = Path.GetDirectoryName( AssetDatabase.GetAssetPath(spineJson)); + string assetPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(spineJson)); string filePath = assetPath + "/" + primaryName + "_SkeletonData.asset"; - if(spineJson != null && atlasAsset != null){ + if (spineJson != null && atlasAsset != null) { SkeletonDataAsset skelDataAsset = (SkeletonDataAsset)AssetDatabase.LoadAssetAtPath(filePath, typeof(SkeletonDataAsset)); - if(skelDataAsset == null){ + if (skelDataAsset == null) { skelDataAsset = SkeletonDataAsset.CreateInstance(); skelDataAsset.atlasAsset = atlasAsset; skelDataAsset.skeletonJSON = spineJson; @@ -458,27 +448,23 @@ public class SpineEditorUtilities : AssetPostprocessor { AssetDatabase.CreateAsset(skelDataAsset, filePath); AssetDatabase.SaveAssets(); - } - else{ + } else { skelDataAsset.Reset(); skelDataAsset.GetSkeletonData(true); } return skelDataAsset; - } - else{ + } else { EditorUtility.DisplayDialog("Error!", "Must specify both Spine JSON and Atlas TextAsset", "OK"); return null; } } [MenuItem("Assets/Spine/Spawn")] - static void SpawnAnimatedSkeleton(){ + static void SpawnAnimatedSkeleton () { Object[] arr = Selection.objects; - - foreach(Object o in arr){ - - string guid = AssetDatabase.AssetPathToGUID( AssetDatabase.GetAssetPath( o ) ); + foreach (Object o in arr) { + string guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(o)); string skinName = EditorPrefs.GetString(guid + "_lastSkin", ""); SpawnAnimatedSkeleton((SkeletonDataAsset)o, skinName); @@ -487,34 +473,33 @@ public class SpineEditorUtilities : AssetPostprocessor { } [MenuItem("Assets/Spine/Spawn", true)] - static bool ValidateSpawnAnimatedSkeleton(){ + static bool ValidateSpawnAnimatedSkeleton () { Object[] arr = Selection.objects; - if(arr.Length == 0) + if (arr.Length == 0) return false; - foreach(Object o in arr){ - if(o.GetType() != typeof(SkeletonDataAsset)) + foreach (Object o in arr) { + if (o.GetType() != typeof(SkeletonDataAsset)) return false; } return true; } - public static SkeletonAnimation SpawnAnimatedSkeleton(SkeletonDataAsset skeletonDataAsset, string skinName){ + public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, string skinName) { return SpawnAnimatedSkeleton(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); } - public static SkeletonAnimation SpawnAnimatedSkeleton(SkeletonDataAsset skeletonDataAsset, Skin skin = null){ - + public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, Skin skin = null) { GameObject go = new GameObject(skeletonDataAsset.name.Replace("_SkeletonData", ""), typeof(MeshFilter), typeof(MeshRenderer), typeof(SkeletonAnimation)); SkeletonAnimation anim = go.GetComponent(); anim.skeletonDataAsset = skeletonDataAsset; bool requiresNormals = false; - foreach(Material m in anim.skeletonDataAsset.atlasAsset.materials){ - if(m.shader.name.Contains("Lit")){ + foreach (Material m in anim.skeletonDataAsset.atlasAsset.materials) { + if (m.shader.name.Contains("Lit")) { requiresNormals = true; break; } @@ -524,16 +509,16 @@ public class SpineEditorUtilities : AssetPostprocessor { SkeletonData data = skeletonDataAsset.GetSkeletonData(true); - if(data == null){ - string reloadAtlasPath = AssetDatabase.GetAssetPath( skeletonDataAsset.atlasAsset ); - skeletonDataAsset.atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath( reloadAtlasPath, typeof(AtlasAsset)); + if (data == null) { + string reloadAtlasPath = AssetDatabase.GetAssetPath(skeletonDataAsset.atlasAsset); + skeletonDataAsset.atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath(reloadAtlasPath, typeof(AtlasAsset)); data = skeletonDataAsset.GetSkeletonData(true); } - if(skin == null) + if (skin == null) skin = data.DefaultSkin; - if(skin == null) + if (skin == null) skin = data.Skins[0]; anim.Reset(); @@ -548,8 +533,4 @@ public class SpineEditorUtilities : AssetPostprocessor { return anim; } - - } - - diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs index b2b367167..0c4c9a44f 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs @@ -41,20 +41,23 @@ public class SkeletonAnimation : SkeletonRenderer { public bool loop; public Spine.AnimationState state; - public delegate void UpdateBonesDelegate(SkeletonAnimation skeleton); + public delegate void UpdateBonesDelegate (SkeletonAnimation skeleton); + public UpdateBonesDelegate UpdateLocal; public UpdateBonesDelegate UpdateWorld; public UpdateBonesDelegate UpdateComplete; - [SerializeField] - private String _animationName; + private String + _animationName; + public String AnimationName { get { TrackEntry entry = state.GetCurrent(0); return entry == null ? null : entry.Animation.Name; } set { - if (_animationName == value) return; + if (_animationName == value) + return; _animationName = value; if (value == null || value.Length == 0) state.ClearTrack(0); @@ -65,7 +68,8 @@ public class SkeletonAnimation : SkeletonRenderer { public override void Reset () { base.Reset(); - if (!valid) return; + if (!valid) + return; state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); if (_animationName != null && _animationName.Length > 0) { @@ -79,7 +83,8 @@ public class SkeletonAnimation : SkeletonRenderer { } public virtual void Update (float deltaTime) { - if (!valid) return; + if (!valid) + return; deltaTime *= timeScale; skeleton.Update(deltaTime); @@ -91,12 +96,12 @@ public class SkeletonAnimation : SkeletonRenderer { skeleton.UpdateWorldTransform(); - if (UpdateWorld != null){ + if (UpdateWorld != null) { UpdateWorld(this); skeleton.UpdateWorldTransform(); } - if (UpdateComplete != null){ + if (UpdateComplete != null) { UpdateComplete(this); } } diff --git a/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs b/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs index 9e92238f1..3e6242dcb 100644 --- a/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs +++ b/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs @@ -87,7 +87,8 @@ public class SkeletonDataAsset : ScriptableObject { stateData = new AnimationStateData(skeletonData); stateData.DefaultMix = defaultMix; for (int i = 0, n = fromAnimation.Length; i < n; i++) { - if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) continue; + if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) + continue; stateData.SetMix(fromAnimation[i], toAnimation[i], duration[i]); } diff --git a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs index 06b414658..a483e47e6 100644 --- a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs +++ b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs @@ -39,68 +39,68 @@ using Spine; public static class SkeletonExtensions { - public static void SetColor(this Slot slot, Color color){ + public static void SetColor (this Slot slot, Color color) { slot.A = color.a; slot.R = color.r; slot.G = color.g; slot.B = color.b; } - public static void SetColor(this Slot slot, Color32 color){ + public static void SetColor (this Slot slot, Color32 color) { slot.A = color.a / 255f; slot.R = color.r / 255f; slot.G = color.g / 255f; slot.B = color.b / 255f; } - public static void SetColor(this RegionAttachment attachment, Color color){ + public static void SetColor (this RegionAttachment attachment, Color color) { attachment.A = color.a; attachment.R = color.r; attachment.G = color.g; attachment.B = color.b; } - public static void SetColor(this RegionAttachment attachment, Color32 color){ + public static void SetColor (this RegionAttachment attachment, Color32 color) { attachment.A = color.a / 255f; attachment.R = color.r / 255f; attachment.G = color.g / 255f; attachment.B = color.b / 255f; } - public static void SetColor(this MeshAttachment attachment, Color color){ + public static void SetColor (this MeshAttachment attachment, Color color) { attachment.A = color.a; attachment.R = color.r; attachment.G = color.g; attachment.B = color.b; } - public static void SetColor(this MeshAttachment attachment, Color32 color){ + public static void SetColor (this MeshAttachment attachment, Color32 color) { attachment.A = color.a / 255f; attachment.R = color.r / 255f; attachment.G = color.g / 255f; attachment.B = color.b / 255f; } - public static void SetColor(this SkinnedMeshAttachment attachment, Color color){ + public static void SetColor (this SkinnedMeshAttachment attachment, Color color) { attachment.A = color.a; attachment.R = color.r; attachment.G = color.g; attachment.B = color.b; } - public static void SetColor(this SkinnedMeshAttachment attachment, Color32 color){ + public static void SetColor (this SkinnedMeshAttachment attachment, Color32 color) { attachment.A = color.a / 255f; attachment.R = color.r / 255f; attachment.G = color.g / 255f; attachment.B = color.b / 255f; } - public static void SetPosition(this Bone bone, Vector2 position){ + public static void SetPosition (this Bone bone, Vector2 position) { bone.X = position.x; bone.Y = position.y; } - public static void SetPosition(this Bone bone, Vector3 position){ + public static void SetPosition (this Bone bone, Vector3 position) { bone.X = position.x; bone.Y = position.y; } diff --git a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs index a09838247..7f039b636 100644 --- a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs +++ b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs @@ -38,21 +38,19 @@ using Spine; [ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] public class SkeletonRenderer : MonoBehaviour { - public delegate void SkeletonRendererDelegate(SkeletonRenderer skeletonRenderer); + public delegate void SkeletonRendererDelegate (SkeletonRenderer skeletonRenderer); + public SkeletonRendererDelegate OnReset; - [System.NonSerialized] public bool valid; [System.NonSerialized] public Skeleton skeleton; - public SkeletonDataAsset skeletonDataAsset; public String initialSkinName; public bool calculateNormals, calculateTangents; public float zSpacing; public bool renderMeshes = true, immutableTriangles; public bool logErrors = false; - private MeshFilter meshFilter; private Mesh mesh, mesh1, mesh2; private bool useMesh1; @@ -66,9 +64,12 @@ public class SkeletonRenderer : MonoBehaviour { private readonly List submeshes = new List(); public virtual void Reset () { - if (meshFilter != null) meshFilter.sharedMesh = null; - if (mesh != null) DestroyImmediate(mesh); - if (renderer != null) renderer.sharedMaterial = null; + if (meshFilter != null) + meshFilter.sharedMesh = null; + if (mesh != null) + DestroyImmediate(mesh); + if (renderer != null) + renderer.sharedMaterial = null; mesh = null; mesh1 = null; mesh2 = null; @@ -83,13 +84,14 @@ public class SkeletonRenderer : MonoBehaviour { valid = false; if (!skeletonDataAsset) { - if(logErrors) + if (logErrors) Debug.LogError("Missing SkeletonData asset.", this); return; } SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return; + if (skeletonData == null) + return; valid = true; meshFilter = GetComponent(); @@ -100,7 +102,8 @@ public class SkeletonRenderer : MonoBehaviour { skeleton = new Skeleton(skeletonData); if (initialSkinName != null && initialSkinName.Length > 0 && initialSkinName != "default") skeleton.SetSkin(initialSkinName); - if(OnReset != null) OnReset(this); + if (OnReset != null) + OnReset(this); } public void Awake () { @@ -116,7 +119,8 @@ public class SkeletonRenderer : MonoBehaviour { } public virtual void LateUpdate () { - if (!valid) return; + if (!valid) + return; // Count vertices and submesh triangles. int vertexCount = 0; int submeshTriangleCount = 0, submeshFirstVertex = 0, submeshStartSlotIndex = 0; @@ -137,19 +141,20 @@ public class SkeletonRenderer : MonoBehaviour { attachmentVertexCount = 4; attachmentTriangleCount = 6; } else { - if (!renderMeshes) continue; + if (!renderMeshes) + continue; if (attachment is MeshAttachment) { MeshAttachment meshAttachment = (MeshAttachment)attachment; rendererObject = meshAttachment.RendererObject; attachmentVertexCount = meshAttachment.vertices.Length >> 1; attachmentTriangleCount = meshAttachment.triangles.Length; } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - rendererObject = meshAttachment.RendererObject; - attachmentVertexCount = meshAttachment.uvs.Length >> 1; - attachmentTriangleCount = meshAttachment.triangles.Length; - } else - continue; + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + rendererObject = meshAttachment.RendererObject; + attachmentVertexCount = meshAttachment.uvs.Length >> 1; + attachmentTriangleCount = meshAttachment.triangles.Length; + } else + continue; } // Populate submesh when material changes. @@ -217,7 +222,8 @@ public class SkeletonRenderer : MonoBehaviour { color.r = (byte)(r * slot.r * regionAttachment.r * color.a); color.g = (byte)(g * slot.g * regionAttachment.g * color.a); color.b = (byte)(b * slot.b * regionAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + if (slot.data.additiveBlending) + color.a = 0; colors[vertexIndex] = color; colors[vertexIndex + 1] = color; colors[vertexIndex + 2] = color; @@ -231,18 +237,21 @@ public class SkeletonRenderer : MonoBehaviour { vertexIndex += 4; } else { - if (!renderMeshes) continue; + if (!renderMeshes) + continue; if (attachment is MeshAttachment) { MeshAttachment meshAttachment = (MeshAttachment)attachment; int meshVertexCount = meshAttachment.vertices.Length; - if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; + if (tempVertices.Length < meshVertexCount) + tempVertices = new float[meshVertexCount]; meshAttachment.ComputeWorldVertices(slot, tempVertices); color.a = (byte)(a * slot.a * meshAttachment.a); color.r = (byte)(r * slot.r * meshAttachment.r * color.a); color.g = (byte)(g * slot.g * meshAttachment.g * color.a); color.b = (byte)(b * slot.b * meshAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + if (slot.data.additiveBlending) + color.a = 0; float[] meshUVs = meshAttachment.uvs; float z = i * zSpacing; @@ -252,25 +261,27 @@ public class SkeletonRenderer : MonoBehaviour { uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); } } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - int meshVertexCount = meshAttachment.uvs.Length; - if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; - meshAttachment.ComputeWorldVertices(slot, tempVertices); + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + int meshVertexCount = meshAttachment.uvs.Length; + if (tempVertices.Length < meshVertexCount) + tempVertices = new float[meshVertexCount]; + meshAttachment.ComputeWorldVertices(slot, tempVertices); - color.a = (byte)(a * slot.a * meshAttachment.a); - color.r = (byte)(r * slot.r * meshAttachment.r * color.a); - color.g = (byte)(g * slot.g * meshAttachment.g * color.a); - color.b = (byte)(b * slot.b * meshAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + color.a = (byte)(a * slot.a * meshAttachment.a); + color.r = (byte)(r * slot.r * meshAttachment.r * color.a); + color.g = (byte)(g * slot.g * meshAttachment.g * color.a); + color.b = (byte)(b * slot.b * meshAttachment.b * color.a); + if (slot.data.additiveBlending) + color.a = 0; - float[] meshUVs = meshAttachment.uvs; - float z = i * zSpacing; - for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { - vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); - colors[vertexIndex] = color; - uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + float[] meshUVs = meshAttachment.uvs; + float z = i * zSpacing; + for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { + vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); + colors[vertexIndex] = color; + uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + } } - } } } @@ -318,7 +329,7 @@ public class SkeletonRenderer : MonoBehaviour { if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh()); else if (immutableTriangles) - return; + return; Submesh submesh = submeshes[submeshIndex]; @@ -330,10 +341,10 @@ public class SkeletonRenderer : MonoBehaviour { triangles[i] = 0; submesh.triangleCount = triangleCount; } else if (trianglesCapacity != triangleCount) { - // Reallocate triangles when not the exact size needed. - submesh.triangles = triangles = new int[triangleCount]; - submesh.triangleCount = 0; - } + // Reallocate triangles when not the exact size needed. + submesh.triangles = triangles = new int[triangleCount]; + submesh.triangleCount = 0; + } if (!renderMeshes) { // Use stored triangles if possible. @@ -374,18 +385,18 @@ public class SkeletonRenderer : MonoBehaviour { attachmentVertexCount = meshAttachment.vertices.Length >> 1; attachmentTriangles = meshAttachment.triangles; } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - attachmentVertexCount = meshAttachment.uvs.Length >> 1; - attachmentTriangles = meshAttachment.triangles; - } else - continue; + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + attachmentVertexCount = meshAttachment.uvs.Length >> 1; + attachmentTriangles = meshAttachment.triangles; + } else + continue; for (int ii = 0, nn = attachmentTriangles.Length; ii < nn; ii++, triangleIndex++) triangles[triangleIndex] = firstVertex + attachmentTriangles[ii]; firstVertex += attachmentVertexCount; } } - #if UNITY_EDITOR +#if UNITY_EDITOR void OnDrawGizmos() { // Make selection easier by drawing a clear gizmo over the skeleton. if (vertices == null) return; @@ -405,7 +416,7 @@ public class SkeletonRenderer : MonoBehaviour { Gizmos.matrix = transform.localToWorldMatrix; Gizmos.DrawCube(gizmosCenter, gizmosSize); } - #endif +#endif } class Submesh { diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs index c0eb706d5..a6950aa84 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -32,7 +32,6 @@ * Skeleton Utility created by Mitch Thompson * Full irrevocable rights and permissions granted to Esoteric Software *****************************************************************************/ - using UnityEngine; using UnityEditor; using System.Collections; @@ -41,7 +40,7 @@ using Spine; [CustomEditor(typeof(SkeletonUtilityBone)), CanEditMultipleObjects] public class SkeletonUtilityBoneInspector : Editor { - SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, parentReference, flip, flipX; + SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, parentReference, flip, flipX; //multi selected flags bool containsFollows, containsOverrides, multiObject; @@ -51,7 +50,7 @@ public class SkeletonUtilityBoneInspector : Editor { SkeletonUtility skeletonUtility; bool canCreateHingeChain = false; - void OnEnable(){ + void OnEnable () { mode = this.serializedObject.FindProperty("mode"); boneName = this.serializedObject.FindProperty("boneName"); zPosition = this.serializedObject.FindProperty("zPosition"); @@ -60,72 +59,69 @@ public class SkeletonUtilityBoneInspector : Editor { scale = this.serializedObject.FindProperty("scale"); overrideAlpha = this.serializedObject.FindProperty("overrideAlpha"); parentReference = this.serializedObject.FindProperty("parentReference"); - flip = this.serializedObject.FindProperty("flip"); - flipX = this.serializedObject.FindProperty("flipX"); + flip = this.serializedObject.FindProperty("flip"); + flipX = this.serializedObject.FindProperty("flipX"); EvaluateFlags(); - if(utilityBone.valid == false && skeletonUtility != null && skeletonUtility.skeletonRenderer != null){ + if (utilityBone.valid == false && skeletonUtility != null && skeletonUtility.skeletonRenderer != null) { skeletonUtility.skeletonRenderer.Reset(); } canCreateHingeChain = CanCreateHingeChain(); } - /// - /// Evaluates the flags. - /// - void EvaluateFlags(){ + void EvaluateFlags () { utilityBone = (SkeletonUtilityBone)target; skeletonUtility = utilityBone.skeletonUtility; - if(Selection.objects.Length == 1){ + if (Selection.objects.Length == 1) { containsFollows = utilityBone.mode == SkeletonUtilityBone.Mode.Follow; containsOverrides = utilityBone.mode == SkeletonUtilityBone.Mode.Override; - } - else{ + } else { int boneCount = 0; - foreach(Object o in Selection.objects){ - if(o is GameObject){ + foreach (Object o in Selection.objects) { + if (o is GameObject) { GameObject go = (GameObject)o; SkeletonUtilityBone sub = go.GetComponent(); - if(sub != null){ + if (sub != null) { boneCount++; - if(sub.mode == SkeletonUtilityBone.Mode.Follow) + if (sub.mode == SkeletonUtilityBone.Mode.Follow) containsFollows = true; - if(sub.mode == SkeletonUtilityBone.Mode.Override) + if (sub.mode == SkeletonUtilityBone.Mode.Override) containsOverrides = true; } } } - if(boneCount > 1) + if (boneCount > 1) multiObject = true; } } - public override void OnInspectorGUI () - { + public override void OnInspectorGUI () { serializedObject.Update(); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(mode); - if(EditorGUI.EndChangeCheck()){ + if (EditorGUI.EndChangeCheck()) { containsOverrides = mode.enumValueIndex == 1; containsFollows = mode.enumValueIndex == 0; } - EditorGUI.BeginDisabledGroup( multiObject ); + EditorGUI.BeginDisabledGroup(multiObject); { string str = boneName.stringValue; - if(str == "") str = ""; - if(multiObject) str = ""; + if (str == "") + str = ""; + if (multiObject) + str = ""; GUILayout.BeginHorizontal(); EditorGUILayout.PrefixLabel("Bone"); - if(GUILayout.Button( str, EditorStyles.popup )){ - BoneSelectorContextMenu( str, ((SkeletonUtilityBone)target).skeletonUtility.skeletonRenderer.skeleton.Bones, "", TargetBoneSelected ); + if (GUILayout.Button(str, EditorStyles.popup)) { + BoneSelectorContextMenu(str, ((SkeletonUtilityBone)target).skeletonUtility.skeletonRenderer.skeleton.Bones, "", TargetBoneSelected); } GUILayout.EndHorizontal(); @@ -136,23 +132,22 @@ public class SkeletonUtilityBoneInspector : Editor { EditorGUILayout.PropertyField(position); EditorGUILayout.PropertyField(rotation); EditorGUILayout.PropertyField(scale); - EditorGUILayout.PropertyField(flip); + EditorGUILayout.PropertyField(flip); - EditorGUI.BeginDisabledGroup( containsFollows ); + EditorGUI.BeginDisabledGroup(containsFollows); { EditorGUILayout.PropertyField(overrideAlpha); EditorGUILayout.PropertyField(parentReference); - EditorGUI.BeginDisabledGroup(multiObject || !flip.boolValue); - { - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(flipX); - if (EditorGUI.EndChangeCheck()) - { - FlipX(flipX.boolValue); - } - } - EditorGUI.EndDisabledGroup(); + EditorGUI.BeginDisabledGroup(multiObject || !flip.boolValue); + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(flipX); + if (EditorGUI.EndChangeCheck()) { + FlipX(flipX.boolValue); + } + } + EditorGUI.EndDisabledGroup(); } EditorGUI.EndDisabledGroup(); @@ -161,23 +156,23 @@ public class SkeletonUtilityBoneInspector : Editor { GUILayout.BeginHorizontal(); { - EditorGUI.BeginDisabledGroup( multiObject || !utilityBone.valid || utilityBone.bone == null || utilityBone.bone.Children.Count == 0); + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || utilityBone.bone == null || utilityBone.bone.Children.Count == 0); { - if(GUILayout.Button(new GUIContent("Add Child", SpineEditorUtilities.Icons.bone), GUILayout.Width(150), GUILayout.Height(24))) - BoneSelectorContextMenu( "", utilityBone.bone.Children, "", SpawnChildBoneSelected); + if (GUILayout.Button(new GUIContent("Add Child", SpineEditorUtilities.Icons.bone), GUILayout.Width(150), GUILayout.Height(24))) + BoneSelectorContextMenu("", utilityBone.bone.Children, "", SpawnChildBoneSelected); } EditorGUI.EndDisabledGroup(); - EditorGUI.BeginDisabledGroup( multiObject || !utilityBone.valid || utilityBone.bone == null || containsOverrides); + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || utilityBone.bone == null || containsOverrides); { - if(GUILayout.Button(new GUIContent("Add Override", SpineEditorUtilities.Icons.poseBones), GUILayout.Width(150), GUILayout.Height(24))) + if (GUILayout.Button(new GUIContent("Add Override", SpineEditorUtilities.Icons.poseBones), GUILayout.Width(150), GUILayout.Height(24))) SpawnOverride(); } EditorGUI.EndDisabledGroup(); - EditorGUI.BeginDisabledGroup( multiObject || !utilityBone.valid || !canCreateHingeChain ); + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || !canCreateHingeChain); { - if(GUILayout.Button(new GUIContent("Create Hinge Chain", SpineEditorUtilities.Icons.hingeChain), GUILayout.Width(150), GUILayout.Height(24))) + if (GUILayout.Button(new GUIContent("Create Hinge Chain", SpineEditorUtilities.Icons.hingeChain), GUILayout.Width(150), GUILayout.Height(24))) CreateHingeChain(); } EditorGUI.EndDisabledGroup(); @@ -188,36 +183,32 @@ public class SkeletonUtilityBoneInspector : Editor { serializedObject.ApplyModifiedProperties(); } - void FlipX(bool state) - { - utilityBone.FlipX(state); - if (Application.isPlaying == false) - { - skeletonUtility.skeletonAnimation.LateUpdate(); - } - } + void FlipX (bool state) { + utilityBone.FlipX(state); + if (Application.isPlaying == false) { + skeletonUtility.skeletonAnimation.LateUpdate(); + } + } - void BoneSelectorContextMenu(string current, List bones, string topValue, GenericMenu.MenuFunction2 callback){ + void BoneSelectorContextMenu (string current, List bones, string topValue, GenericMenu.MenuFunction2 callback) { GenericMenu menu = new GenericMenu(); - if(topValue != "") - menu.AddItem( new GUIContent(topValue), current == topValue, callback, null ); + if (topValue != "") + menu.AddItem(new GUIContent(topValue), current == topValue, callback, null); - for(int i = 0; i < bones.Count; i++){ - menu.AddItem( new GUIContent(bones[i].Data.Name), bones[i].Data.Name == current, callback, bones[i] ); + for (int i = 0; i < bones.Count; i++) { + menu.AddItem(new GUIContent(bones[i].Data.Name), bones[i].Data.Name == current, callback, bones[i]); } menu.ShowAsContext(); } - - void TargetBoneSelected(object obj){ - if(obj == null){ + void TargetBoneSelected (object obj) { + if (obj == null) { boneName.stringValue = ""; serializedObject.ApplyModifiedProperties(); - } - else{ + } else { Bone bone = (Bone)obj; boneName.stringValue = bone.Data.Name; serializedObject.ApplyModifiedProperties(); @@ -226,56 +217,59 @@ public class SkeletonUtilityBoneInspector : Editor { } } - void SpawnChildBoneSelected(object obj){ - if(obj == null){ + void SpawnChildBoneSelected (object obj) { + if (obj == null) { //add recursively - foreach(var bone in utilityBone.bone.Children){ - GameObject go = skeletonUtility.SpawnBoneRecursively( bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale ); + foreach (var bone in utilityBone.bone.Children) { + GameObject go = skeletonUtility.SpawnBoneRecursively(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); SkeletonUtilityBone[] newUtilityBones = go.GetComponentsInChildren(); - foreach(SkeletonUtilityBone utilBone in newUtilityBones) + foreach (SkeletonUtilityBone utilBone in newUtilityBones) SkeletonUtilityInspector.AttachIcon(utilBone); } - } - else{ + } else { Bone bone = (Bone)obj; - GameObject go = skeletonUtility.SpawnBone( bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale ); + GameObject go = skeletonUtility.SpawnBone(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); SkeletonUtilityInspector.AttachIcon(go.GetComponent()); Selection.activeGameObject = go; EditorGUIUtility.PingObject(go); } } - void SpawnOverride(){ - GameObject go = skeletonUtility.SpawnBone( utilityBone.bone, utilityBone.transform.parent, SkeletonUtilityBone.Mode.Override, utilityBone.position, utilityBone.rotation, utilityBone.scale); + void SpawnOverride () { + GameObject go = skeletonUtility.SpawnBone(utilityBone.bone, utilityBone.transform.parent, SkeletonUtilityBone.Mode.Override, utilityBone.position, utilityBone.rotation, utilityBone.scale); go.name = go.name + " [Override]"; SkeletonUtilityInspector.AttachIcon(go.GetComponent()); Selection.activeGameObject = go; EditorGUIUtility.PingObject(go); } - bool CanCreateHingeChain(){ - if(utilityBone == null) return false; - if(utilityBone.rigidbody != null) return false; - if(utilityBone.bone != null && utilityBone.bone.Children.Count == 0) return false; + bool CanCreateHingeChain () { + if (utilityBone == null) + return false; + if (utilityBone.rigidbody != null) + return false; + if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) + return false; Rigidbody[] rigidbodies = utilityBone.GetComponentsInChildren(); - if(rigidbodies.Length > 0) return false; + if (rigidbodies.Length > 0) + return false; return true; } - void CreateHingeChain(){ + void CreateHingeChain () { var utilBoneArr = utilityBone.GetComponentsInChildren(); - foreach(var utilBone in utilBoneArr){ + foreach (var utilBone in utilBoneArr) { AttachRigidbody(utilBone); } utilityBone.rigidbody.isKinematic = true; - foreach(var utilBone in utilBoneArr){ - if(utilBone == utilityBone) + foreach (var utilBone in utilBoneArr) { + if (utilBone == utilityBone) continue; utilBone.mode = SkeletonUtilityBone.Mode.Override; @@ -292,16 +286,15 @@ public class SkeletonUtilityBoneInspector : Editor { } } - void AttachRigidbody(SkeletonUtilityBone utilBone){ - if(utilBone.GetComponent() == null){ - if(utilBone.bone.Data.Length == 0){ + void AttachRigidbody (SkeletonUtilityBone utilBone) { + if (utilBone.GetComponent() == null) { + if (utilBone.bone.Data.Length == 0) { SphereCollider sphere = utilBone.gameObject.AddComponent(); sphere.radius = 0.1f; - } - else{ + } else { float length = utilBone.bone.Data.Length; BoxCollider box = utilBone.gameObject.AddComponent(); - box.size = new Vector3( length, length / 3, 0.2f); + box.size = new Vector3(length, length / 3, 0.2f); box.center = new Vector3(length / 2, 0, 0); } } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs index 7358c7635..4c6d02d09 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs @@ -32,9 +32,9 @@ * Skeleton Utility created by Mitch Thompson * Full irrevocable rights and permissions granted to Esoteric Software *****************************************************************************/ - using UnityEngine; using UnityEditor; + #if UNITY_4_3 //nothing #else @@ -49,16 +49,16 @@ using System.Reflection; [CustomEditor(typeof(SkeletonUtility))] public class SkeletonUtilityInspector : Editor { - public static void AttachIcon(SkeletonUtilityBone utilityBone){ + public static void AttachIcon (SkeletonUtilityBone utilityBone) { Skeleton skeleton = utilityBone.skeletonUtility.skeletonRenderer.skeleton; Texture2D icon; - if(utilityBone.bone.Data.Length == 0) + if (utilityBone.bone.Data.Length == 0) icon = SpineEditorUtilities.Icons.nullBone; else icon = SpineEditorUtilities.Icons.boneNib; - foreach(IkConstraint c in skeleton.IkConstraints){ - if(c.Target == utilityBone.bone){ + foreach (IkConstraint c in skeleton.IkConstraints) { + if (c.Target == utilityBone.bone) { icon = SpineEditorUtilities.Icons.constraintNib; break; } @@ -66,21 +66,22 @@ public class SkeletonUtilityInspector : Editor { - typeof(EditorGUIUtility).InvokeMember("SetIconForObject", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic, null, null, new object[2]{ utilityBone.gameObject, icon}); + typeof(EditorGUIUtility).InvokeMember("SetIconForObject", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic, null, null, new object[2] { + utilityBone.gameObject, + icon + }); } - static void AttachIconsToChildren(Transform root){ - if(root != null){ + static void AttachIconsToChildren (Transform root) { + if (root != null) { var utilityBones = root.GetComponentsInChildren(); - foreach(var utilBone in utilityBones){ + foreach (var utilBone in utilityBones) { AttachIcon(utilBone); } } } - - - static SkeletonUtilityInspector(){ + static SkeletonUtilityInspector () { #if UNITY_4_3 showSlots = false; #else @@ -89,13 +90,10 @@ public class SkeletonUtilityInspector : Editor { } SkeletonUtility skeletonUtility; - Skeleton skeleton; SkeletonRenderer skeletonRenderer; Transform transform; bool isPrefab; - - Dictionary> attachmentTable = new Dictionary>(); @@ -106,13 +104,13 @@ public class SkeletonUtilityInspector : Editor { static AnimBool showSlots; #endif - void OnEnable(){ + void OnEnable () { skeletonUtility = (SkeletonUtility)target; skeletonRenderer = skeletonUtility.GetComponent(); skeleton = skeletonRenderer.skeleton; transform = skeletonRenderer.transform; - if(skeleton == null){ + if (skeleton == null) { skeletonRenderer.Reset(); skeletonRenderer.LateUpdate(); @@ -121,44 +119,44 @@ public class SkeletonUtilityInspector : Editor { UpdateAttachments(); - if(PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) + if (PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) isPrefab = true; } - void OnDestroy(){ + void OnDestroy () { } - void OnSceneGUI(){ - if(skeleton == null){ + void OnSceneGUI () { + if (skeleton == null) { OnEnable(); return; } float flipRotation = skeleton.FlipX ? -1 : 1; - foreach(Bone b in skeleton.Bones){ + foreach (Bone b in skeleton.Bones) { Vector3 vec = transform.TransformPoint(new Vector3(b.WorldX, b.WorldY, 0)); - Quaternion rot = Quaternion.Euler(0,0,b.WorldRotation * flipRotation); - Vector3 forward = transform.TransformDirection( rot * Vector3.right); + Quaternion rot = Quaternion.Euler(0, 0, b.WorldRotation * flipRotation); + Vector3 forward = transform.TransformDirection(rot * Vector3.right); forward *= flipRotation; SpineEditorUtilities.Icons.boneMaterial.SetPass(0); - Graphics.DrawMeshNow( SpineEditorUtilities.Icons.boneMesh, Matrix4x4.TRS ( vec, Quaternion.LookRotation(transform.forward, forward), Vector3.one * b.Data.Length * b.WorldScaleX)); + Graphics.DrawMeshNow(SpineEditorUtilities.Icons.boneMesh, Matrix4x4.TRS(vec, Quaternion.LookRotation(transform.forward, forward), Vector3.one * b.Data.Length * b.WorldScaleX)); } } - void UpdateAttachments(){ + void UpdateAttachments () { attachmentTable = new Dictionary>(); Skin skin = skeleton.Skin; - if(skin == null){ + if (skin == null) { skin = skeletonRenderer.skeletonDataAsset.GetSkeletonData(true).DefaultSkin; } - for(int i = skeleton.Slots.Count-1; i >= 0; i--){ + for (int i = skeleton.Slots.Count-1; i >= 0; i--) { List attachments = new List(); skin.FindAttachmentsForSlot(i, attachments); @@ -166,49 +164,48 @@ public class SkeletonUtilityInspector : Editor { } } - void SpawnHierarchyButton(string label, string tooltip, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca, params GUILayoutOption[] options){ + void SpawnHierarchyButton (string label, string tooltip, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca, params GUILayoutOption[] options) { GUIContent content = new GUIContent(label, tooltip); - if(GUILayout.Button(content, options)){ - if(skeletonUtility.skeletonRenderer == null) + if (GUILayout.Button(content, options)) { + if (skeletonUtility.skeletonRenderer == null) skeletonUtility.skeletonRenderer = skeletonUtility.GetComponent(); - if(skeletonUtility.boneRoot != null){ + if (skeletonUtility.boneRoot != null) { return; } skeletonUtility.SpawnHierarchy(mode, pos, rot, sca); SkeletonUtilityBone[] boneComps = skeletonUtility.GetComponentsInChildren(); - foreach(SkeletonUtilityBone b in boneComps) + foreach (SkeletonUtilityBone b in boneComps) AttachIcon(b); } } - public override void OnInspectorGUI () - { - if(isPrefab){ + public override void OnInspectorGUI () { + if (isPrefab) { GUILayout.Label(new GUIContent("Cannot edit Prefabs", SpineEditorUtilities.Icons.warning)); return; } - skeletonUtility.boneRoot = (Transform)EditorGUILayout.ObjectField( "Bone Root", skeletonUtility.boneRoot, typeof(Transform), true); + skeletonUtility.boneRoot = (Transform)EditorGUILayout.ObjectField("Bone Root", skeletonUtility.boneRoot, typeof(Transform), true); GUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(skeletonUtility.boneRoot != null); { - if(GUILayout.Button(new GUIContent("Spawn Hierarchy", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(150), GUILayout.Height(24))) + if (GUILayout.Button(new GUIContent("Spawn Hierarchy", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(150), GUILayout.Height(24))) SpawnHierarchyContextMenu(); } EditorGUI.EndDisabledGroup(); - if(GUILayout.Button(new GUIContent("Spawn Submeshes", SpineEditorUtilities.Icons.subMeshRenderer), GUILayout.Width(150), GUILayout.Height(24))) + if (GUILayout.Button(new GUIContent("Spawn Submeshes", SpineEditorUtilities.Icons.subMeshRenderer), GUILayout.Width(150), GUILayout.Height(24))) skeletonUtility.SpawnSubRenderers(true); GUILayout.EndHorizontal(); EditorGUI.BeginChangeCheck(); skeleton.FlipX = EditorGUILayout.ToggleLeft("Flip X", skeleton.FlipX); skeleton.FlipY = EditorGUILayout.ToggleLeft("Flip Y", skeleton.FlipY); - if(EditorGUI.EndChangeCheck()){ + if (EditorGUI.EndChangeCheck()) { skeletonRenderer.LateUpdate(); SceneView.RepaintAll(); } @@ -217,9 +214,9 @@ public class SkeletonUtilityInspector : Editor { showSlots = EditorGUILayout.Foldout(showSlots, "Slots"); #else showSlots.target = EditorGUILayout.Foldout(showSlots.target, "Slots"); - if(EditorGUILayout.BeginFadeGroup(showSlots.faded)){ + if (EditorGUILayout.BeginFadeGroup(showSlots.faded)) { #endif - foreach(KeyValuePair> pair in attachmentTable){ + foreach (KeyValuePair> pair in attachmentTable) { Slot slot = pair.Key; @@ -230,8 +227,8 @@ public class SkeletonUtilityInspector : Editor { EditorGUI.BeginChangeCheck(); Color c = EditorGUILayout.ColorField(new Color(slot.R, slot.G, slot.B, slot.A), GUILayout.Width(60)); - if(EditorGUI.EndChangeCheck()){ - slot.SetColor( c ); + if (EditorGUI.EndChangeCheck()) { + slot.SetColor(c); skeletonRenderer.LateUpdate(); } @@ -239,12 +236,11 @@ public class SkeletonUtilityInspector : Editor { - foreach(Attachment attachment in pair.Value){ + foreach (Attachment attachment in pair.Value) { - if(slot.Attachment == attachment){ + if (slot.Attachment == attachment) { GUI.contentColor = Color.white; - } - else{ + } else { GUI.contentColor = Color.grey; } @@ -253,21 +249,20 @@ public class SkeletonUtilityInspector : Editor { Texture2D icon = null; - if(attachment is MeshAttachment || attachment is SkinnedMeshAttachment) + if (attachment is MeshAttachment || attachment is SkinnedMeshAttachment) icon = SpineEditorUtilities.Icons.mesh; else icon = SpineEditorUtilities.Icons.image; - bool swap = EditorGUILayout.ToggleLeft( new GUIContent( attachment.Name, icon ), attachment == slot.Attachment ); + bool swap = EditorGUILayout.ToggleLeft(new GUIContent(attachment.Name, icon), attachment == slot.Attachment); - if(!isAttached && swap){ + if (!isAttached && swap) { slot.Attachment = attachment; skeletonRenderer.LateUpdate(); - } - else if(isAttached && !swap){ - slot.Attachment = null; - skeletonRenderer.LateUpdate(); - } + } else if (isAttached && !swap) { + slot.Attachment = null; + skeletonRenderer.LateUpdate(); + } GUI.contentColor = Color.white; } @@ -277,12 +272,12 @@ public class SkeletonUtilityInspector : Editor { #else } EditorGUILayout.EndFadeGroup(); - if(showSlots.isAnimating) + if (showSlots.isAnimating) Repaint(); #endif } - void SpawnHierarchyContextMenu(){ + void SpawnHierarchyContextMenu () { GenericMenu menu = new GenericMenu(); menu.AddItem(new GUIContent("Follow"), false, SpawnFollowHierarchy); @@ -294,23 +289,23 @@ public class SkeletonUtilityInspector : Editor { menu.ShowAsContext(); } - void SpawnFollowHierarchy(){ - Selection.activeGameObject = skeletonUtility.SpawnHierarchy( SkeletonUtilityBone.Mode.Follow, true, true, true ); - AttachIconsToChildren( skeletonUtility.boneRoot ); + void SpawnFollowHierarchy () { + Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Follow, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); } - void SpawnFollowHierarchyRootOnly(){ - Selection.activeGameObject = skeletonUtility.SpawnRoot( SkeletonUtilityBone.Mode.Follow, true, true, true ); - AttachIconsToChildren( skeletonUtility.boneRoot ); + void SpawnFollowHierarchyRootOnly () { + Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Follow, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); } - void SpawnOverrideHierarchy(){ - Selection.activeGameObject = skeletonUtility.SpawnHierarchy( SkeletonUtilityBone.Mode.Override, true, true, true ); - AttachIconsToChildren( skeletonUtility.boneRoot ); + void SpawnOverrideHierarchy () { + Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Override, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); } - void SpawnOverrideHierarchyRootOnly(){ - Selection.activeGameObject = skeletonUtility.SpawnRoot( SkeletonUtilityBone.Mode.Override, true, true, true ); - AttachIconsToChildren( skeletonUtility.boneRoot ); + void SpawnOverrideHierarchyRootOnly () { + Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Override, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); } } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs index 77caf627e..c274c3db6 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs @@ -42,7 +42,7 @@ using Spine; [ExecuteInEditMode] public class SkeletonUtility : MonoBehaviour { - public static T GetInParent(Transform origin) where T : Component{ + public static T GetInParent (Transform origin) where T : Component { #if UNITY_4_3 Transform parent = origin.parent; while(parent.GetComponent() == null){ @@ -58,18 +58,19 @@ public class SkeletonUtility : MonoBehaviour { } - public delegate void SkeletonUtilityDelegate(); + public delegate void SkeletonUtilityDelegate (); + public event SkeletonUtilityDelegate OnReset; public Transform boneRoot; - void Update(){ - if(boneRoot != null && skeletonRenderer.skeleton != null){ + void Update () { + if (boneRoot != null && skeletonRenderer.skeleton != null) { Vector3 flipScale = Vector3.one; - if(skeletonRenderer.skeleton.FlipX) + if (skeletonRenderer.skeleton.FlipX) flipScale.x = -1; - if(skeletonRenderer.skeleton.FlipY) + if (skeletonRenderer.skeleton.FlipY) flipScale.y = -1; boneRoot.localScale = flipScale; @@ -78,35 +79,31 @@ public class SkeletonUtility : MonoBehaviour { [HideInInspector] public SkeletonRenderer skeletonRenderer; - [HideInInspector] public SkeletonAnimation skeletonAnimation; - [System.NonSerialized] public List utilityBones = new List(); - [System.NonSerialized] public List utilityConstraints = new List(); // Dictionary utilityBoneTable; - protected bool hasTransformBones; protected bool hasUtilityConstraints; protected bool needToReprocessBones; - void OnEnable(){ - if(skeletonRenderer == null){ + void OnEnable () { + if (skeletonRenderer == null) { skeletonRenderer = GetComponent(); } - if(skeletonAnimation == null){ + if (skeletonAnimation == null) { skeletonAnimation = GetComponent(); } skeletonRenderer.OnReset -= HandleRendererReset; skeletonRenderer.OnReset += HandleRendererReset; - if(skeletonAnimation != null){ + if (skeletonAnimation != null) { skeletonAnimation.UpdateLocal -= UpdateLocal; skeletonAnimation.UpdateLocal += UpdateLocal; } @@ -115,147 +112,144 @@ public class SkeletonUtility : MonoBehaviour { CollectBones(); } - void Start(){ + void Start () { //recollect because order of operations failure when switching between game mode and edit mode... // CollectBones(); } - - - void OnDisable(){ + void OnDisable () { skeletonRenderer.OnReset -= HandleRendererReset; - if(skeletonAnimation != null){ + if (skeletonAnimation != null) { skeletonAnimation.UpdateLocal -= UpdateLocal; skeletonAnimation.UpdateWorld -= UpdateWorld; skeletonAnimation.UpdateComplete -= UpdateComplete; } } - void HandleRendererReset(SkeletonRenderer r){ - if(OnReset != null) + void HandleRendererReset (SkeletonRenderer r) { + if (OnReset != null) OnReset(); CollectBones(); } - public void RegisterBone(SkeletonUtilityBone bone){ - if(utilityBones.Contains(bone)) + public void RegisterBone (SkeletonUtilityBone bone) { + if (utilityBones.Contains(bone)) return; - else{ + else { utilityBones.Add(bone); needToReprocessBones = true; } } - public void UnregisterBone(SkeletonUtilityBone bone){ + public void UnregisterBone (SkeletonUtilityBone bone) { utilityBones.Remove(bone); } - public void RegisterConstraint(SkeletonUtilityConstraint constraint){ + public void RegisterConstraint (SkeletonUtilityConstraint constraint) { - if(utilityConstraints.Contains(constraint)) + if (utilityConstraints.Contains(constraint)) return; - else{ + else { utilityConstraints.Add(constraint); needToReprocessBones = true; } } - public void UnregisterConstraint(SkeletonUtilityConstraint constraint){ + public void UnregisterConstraint (SkeletonUtilityConstraint constraint) { utilityConstraints.Remove(constraint); } - public void CollectBones(){ - if(skeletonRenderer.skeleton == null) + public void CollectBones () { + if (skeletonRenderer.skeleton == null) return; - if(boneRoot != null){ + if (boneRoot != null) { List constraintTargetNames = new List(); - foreach(IkConstraint c in skeletonRenderer.skeleton.IkConstraints){ + foreach (IkConstraint c in skeletonRenderer.skeleton.IkConstraints) { constraintTargetNames.Add(c.Target.Data.Name); } - foreach(var b in utilityBones){ - if(b.bone == null){ + foreach (var b in utilityBones) { + if (b.bone == null) { return; } - if(b.mode == SkeletonUtilityBone.Mode.Override){ + if (b.mode == SkeletonUtilityBone.Mode.Override) { hasTransformBones = true; } - if(constraintTargetNames.Contains( b.bone.Data.Name )){ + if (constraintTargetNames.Contains(b.bone.Data.Name)) { hasUtilityConstraints = true; } } - if(utilityConstraints.Count > 0) + if (utilityConstraints.Count > 0) hasUtilityConstraints = true; - if(skeletonAnimation != null){ + if (skeletonAnimation != null) { skeletonAnimation.UpdateWorld -= UpdateWorld; skeletonAnimation.UpdateComplete -= UpdateComplete; - if(hasTransformBones || hasUtilityConstraints){ + if (hasTransformBones || hasUtilityConstraints) { skeletonAnimation.UpdateWorld += UpdateWorld; } - if(hasUtilityConstraints){ + if (hasUtilityConstraints) { skeletonAnimation.UpdateComplete += UpdateComplete; } } needToReprocessBones = false; - } - else{ + } else { utilityBones.Clear(); utilityConstraints.Clear(); } } - void UpdateLocal(SkeletonAnimation anim){ + void UpdateLocal (SkeletonAnimation anim) { - if(needToReprocessBones) + if (needToReprocessBones) CollectBones(); - if(utilityBones == null) + if (utilityBones == null) return; - foreach(SkeletonUtilityBone b in utilityBones){ + foreach (SkeletonUtilityBone b in utilityBones) { b.transformLerpComplete = false; } UpdateAllBones(); } - void UpdateWorld(SkeletonAnimation anim){ + void UpdateWorld (SkeletonAnimation anim) { UpdateAllBones(); - foreach(SkeletonUtilityConstraint c in utilityConstraints) + foreach (SkeletonUtilityConstraint c in utilityConstraints) c.DoUpdate(); } - void UpdateComplete(SkeletonAnimation anim){ + void UpdateComplete (SkeletonAnimation anim) { UpdateAllBones(); } - void UpdateAllBones(){ - if(boneRoot == null){ + void UpdateAllBones () { + if (boneRoot == null) { CollectBones(); } - if(utilityBones == null) + if (utilityBones == null) return; - foreach(SkeletonUtilityBone b in utilityBones){ + foreach (SkeletonUtilityBone b in utilityBones) { b.DoUpdate(); } } - public Transform GetBoneRoot(){ - if(boneRoot != null) + public Transform GetBoneRoot () { + if (boneRoot != null) return boneRoot; boneRoot = new GameObject("SkeletonUtility-Root").transform; @@ -267,18 +261,18 @@ public class SkeletonUtility : MonoBehaviour { return boneRoot; } - public GameObject SpawnRoot(SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca){ + public GameObject SpawnRoot (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { GetBoneRoot(); Skeleton skeleton = this.skeletonRenderer.skeleton; - GameObject go = SpawnBone( skeleton.RootBone, boneRoot, mode, pos, rot, sca ); + GameObject go = SpawnBone(skeleton.RootBone, boneRoot, mode, pos, rot, sca); CollectBones(); return go; } - public GameObject SpawnHierarchy(SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca){ + public GameObject SpawnHierarchy (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { GetBoneRoot(); Skeleton skeleton = this.skeletonRenderer.skeleton; @@ -290,17 +284,17 @@ public class SkeletonUtility : MonoBehaviour { return go; } - public GameObject SpawnBoneRecursively(Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca){ + public GameObject SpawnBoneRecursively (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { GameObject go = SpawnBone(bone, parent, mode, pos, rot, sca); - foreach(Bone child in bone.Children){ + foreach (Bone child in bone.Children) { SpawnBoneRecursively(child, go.transform, mode, pos, rot, sca); } return go; } - public GameObject SpawnBone(Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca){ + public GameObject SpawnBone (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { GameObject go = new GameObject(bone.Data.Name); go.transform.parent = parent; @@ -316,11 +310,11 @@ public class SkeletonUtility : MonoBehaviour { b.boneName = bone.Data.Name; b.valid = true; - if(mode == SkeletonUtilityBone.Mode.Override){ - if(rot) + if (mode == SkeletonUtilityBone.Mode.Override) { + if (rot) go.transform.localRotation = Quaternion.Euler(0, 0, b.bone.RotationIK); - if(pos) + if (pos) go.transform.localPosition = new Vector3(b.bone.X, b.bone.Y, 0); go.transform.localScale = new Vector3(b.bone.scaleX, b.bone.scaleY, 0); @@ -329,10 +323,10 @@ public class SkeletonUtility : MonoBehaviour { return go; } - public void SpawnSubRenderers(bool disablePrimaryRenderer){ + public void SpawnSubRenderers (bool disablePrimaryRenderer) { int submeshCount = GetComponent().sharedMesh.subMeshCount; - for(int i = 0; i < submeshCount; i++){ + for (int i = 0; i < submeshCount; i++) { GameObject go = new GameObject("Submesh " + i, typeof(MeshFilter), typeof(MeshRenderer)); go.transform.parent = transform; go.transform.localPosition = Vector3.zero; @@ -342,11 +336,11 @@ public class SkeletonUtility : MonoBehaviour { SkeletonUtilitySubmeshRenderer s = go.AddComponent(); s.sortingOrder = i * 10; s.submeshIndex = i; - s.Initialize( renderer ); + s.Initialize(renderer); s.Update(); } - if(disablePrimaryRenderer) + if (disablePrimaryRenderer) renderer.enabled = false; } } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs index ca0b56bde..99c561499 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs @@ -44,52 +44,49 @@ using Spine; [AddComponentMenu("Spine/SkeletonUtilityBone")] public class SkeletonUtilityBone : MonoBehaviour { - public enum Mode { Follow, Override } + public enum Mode { + Follow, + Override + } [System.NonSerialized] public bool valid; - [System.NonSerialized] public SkeletonUtility skeletonUtility; - [System.NonSerialized] public Bone bone; - public Mode mode; - public bool zPosition = true; public bool position; public bool rotation; public bool scale; - public bool flip; - public bool flipX; - + public bool flip; + public bool flipX; [Range(0f,1f)] public float overrideAlpha = 1; /// If a bone isn't set, boneName is used to find the bone. public String boneName; - public Transform parentReference; - [HideInInspector] public bool transformLerpComplete; - protected Transform cachedTransform; protected Transform skeletonTransform; - public bool NonUniformScaleWarning{ - get{ + public bool NonUniformScaleWarning { + get { return nonUniformScaleWarning; } } + private bool nonUniformScaleWarning; public void Reset () { bone = null; cachedTransform = transform; valid = skeletonUtility != null && skeletonUtility.skeletonRenderer != null && skeletonUtility.skeletonRenderer.valid; - if (!valid) return; + if (!valid) + return; skeletonTransform = skeletonUtility.transform; skeletonUtility.OnReset -= HandleOnReset; @@ -98,10 +95,10 @@ public class SkeletonUtilityBone : MonoBehaviour { DoUpdate(); } - void OnEnable(){ + void OnEnable () { skeletonUtility = SkeletonUtility.GetInParent(transform); - if(skeletonUtility == null) + if (skeletonUtility == null) return; skeletonUtility.RegisterBone(this); @@ -109,13 +106,12 @@ public class SkeletonUtilityBone : MonoBehaviour { skeletonUtility.OnReset += HandleOnReset; } - void HandleOnReset () - { - Reset (); + void HandleOnReset () { + Reset(); } - void OnDisable(){ - if(skeletonUtility != null){ + void OnDisable () { + if (skeletonUtility != null) { skeletonUtility.OnReset -= HandleOnReset; skeletonUtility.UnregisterBone(this); @@ -132,7 +128,8 @@ public class SkeletonUtilityBone : MonoBehaviour { Spine.Skeleton skeleton = skeletonUtility.skeletonRenderer.skeleton; if (bone == null) { - if (boneName == null || boneName.Length == 0) return; + if (boneName == null || boneName.Length == 0) + return; bone = skeleton.FindBone(boneName); if (bone == null) { Debug.LogError("Bone not found: " + boneName, this); @@ -144,170 +141,153 @@ public class SkeletonUtilityBone : MonoBehaviour { float skeletonFlipRotation = (skeleton.flipX ^ skeleton.flipY) ? -1f : 1f; - float flipCompensation = 0; - if (flip && (flipX || ( flipX != bone.flipX)) && bone.parent != null) - { - flipCompensation = bone.parent.WorldRotation * -2; - } + float flipCompensation = 0; + if (flip && (flipX || (flipX != bone.flipX)) && bone.parent != null) { + flipCompensation = bone.parent.WorldRotation * -2; + } - if(mode == Mode.Follow){ - if (flip) - { - flipX = bone.flipX; - } + if (mode == Mode.Follow) { + if (flip) { + flipX = bone.flipX; + } - if(position){ + if (position) { cachedTransform.localPosition = new Vector3(bone.x, bone.y, 0); } - if(rotation){ + if (rotation) { - if(bone.Data.InheritRotation){ - if (bone.FlipX) - { - cachedTransform.localRotation = Quaternion.Euler(0, 180, bone.rotationIK - flipCompensation); - } - else { - cachedTransform.localRotation = Quaternion.Euler(0,0,bone.rotationIK); - } - } - else{ + if (bone.Data.InheritRotation) { + if (bone.FlipX) { + cachedTransform.localRotation = Quaternion.Euler(0, 180, bone.rotationIK - flipCompensation); + } else { + cachedTransform.localRotation = Quaternion.Euler(0, 0, bone.rotationIK); + } + } else { Vector3 euler = skeletonTransform.rotation.eulerAngles; - cachedTransform.rotation = Quaternion.Euler(euler.x, euler.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * skeletonFlipRotation) ); + cachedTransform.rotation = Quaternion.Euler(euler.x, euler.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * skeletonFlipRotation)); } } - if(scale){ + if (scale) { cachedTransform.localScale = new Vector3(bone.scaleX, bone.scaleY, 1); nonUniformScaleWarning = (bone.scaleX != bone.scaleY); } - } - else if(mode == Mode.Override){ + } else if (mode == Mode.Override) { - if(transformLerpComplete) - return; + if (transformLerpComplete) + return; - if(parentReference == null){ - if(position){ - bone.x = Mathf.Lerp(bone.x, cachedTransform.localPosition.x, overrideAlpha); - bone.y = Mathf.Lerp(bone.y, cachedTransform.localPosition.y, overrideAlpha); - } + if (parentReference == null) { + if (position) { + bone.x = Mathf.Lerp(bone.x, cachedTransform.localPosition.x, overrideAlpha); + bone.y = Mathf.Lerp(bone.y, cachedTransform.localPosition.y, overrideAlpha); + } - if(rotation){ - float angle = Mathf.LerpAngle(bone.Rotation, cachedTransform.localRotation.eulerAngles.z, overrideAlpha) + flipCompensation; + if (rotation) { + float angle = Mathf.LerpAngle(bone.Rotation, cachedTransform.localRotation.eulerAngles.z, overrideAlpha) + flipCompensation; - if (flip) { - if ((!flipX && bone.flipX)) - { - angle -= flipCompensation; - } + if (flip) { + if ((!flipX && bone.flipX)) { + angle -= flipCompensation; + } - //TODO fix this... - if (angle >= 360) - angle -= 360; - else if (angle <= -360) - angle += 360; - } + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } - bone.Rotation = angle; - } + bone.Rotation = angle; + } - if(scale){ - bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); - bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); + if (scale) { + bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); + bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); - nonUniformScaleWarning = (bone.scaleX != bone.scaleY); - } + nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + } - if (flip) - { - bone.flipX = flipX; - } - } - else{ + if (flip) { + bone.flipX = flipX; + } + } else { - if (transformLerpComplete) - return; + if (transformLerpComplete) + return; - if(position){ - Vector3 pos = parentReference.InverseTransformPoint(cachedTransform.position); - bone.x = Mathf.Lerp(bone.x, pos.x, overrideAlpha); - bone.y = Mathf.Lerp(bone.y, pos.y, overrideAlpha); - } + if (position) { + Vector3 pos = parentReference.InverseTransformPoint(cachedTransform.position); + bone.x = Mathf.Lerp(bone.x, pos.x, overrideAlpha); + bone.y = Mathf.Lerp(bone.y, pos.y, overrideAlpha); + } - if(rotation){ - float angle = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation(flipX ? Vector3.forward * -1 : Vector3.forward, parentReference.InverseTransformDirection(cachedTransform.up)).eulerAngles.z, overrideAlpha) + flipCompensation; + if (rotation) { + float angle = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation(flipX ? Vector3.forward * -1 : Vector3.forward, parentReference.InverseTransformDirection(cachedTransform.up)).eulerAngles.z, overrideAlpha) + flipCompensation; - if (flip) - { - if ((!flipX && bone.flipX)) - { - angle -= flipCompensation; - } + if (flip) { + if ((!flipX && bone.flipX)) { + angle -= flipCompensation; + } - //TODO fix this... - if (angle >= 360) - angle -= 360; - else if (angle <= -360) - angle += 360; - } + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } - bone.Rotation = angle; - } + bone.Rotation = angle; + } - //TODO: Something about this - if(scale){ - bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); - bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); + //TODO: Something about this + if (scale) { + bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); + bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); - nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + } + + if (flip) { + bone.flipX = flipX; + } + } - if (flip) - { - bone.flipX = flipX; - } - - } - - transformLerpComplete = true; - } + transformLerpComplete = true; + } } - public void FlipX(bool state) - { - if (state != flipX) - { - flipX = state; - if (flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) > 90) - { - skeletonUtility.skeletonAnimation.LateUpdate(); - return; - } - else if (!flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) < 90) - { - skeletonUtility.skeletonAnimation.LateUpdate(); - return; - } - } + public void FlipX (bool state) { + if (state != flipX) { + flipX = state; + if (flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) > 90) { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } else if (!flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) < 90) { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } + } - bone.FlipX = state; - transform.RotateAround(transform.position, skeletonUtility.transform.up, 180); - Vector3 euler = transform.localRotation.eulerAngles; - euler.x = 0; - euler.y = bone.FlipX ? 180 : 0; - transform.localRotation = Quaternion.Euler(euler); - } + bone.FlipX = state; + transform.RotateAround(transform.position, skeletonUtility.transform.up, 180); + Vector3 euler = transform.localRotation.eulerAngles; + euler.x = 0; + euler.y = bone.FlipX ? 180 : 0; + transform.localRotation = Quaternion.Euler(euler); + } - void OnDrawGizmos(){ - if(NonUniformScaleWarning){ - Gizmos.DrawIcon(transform.position + new Vector3(0,0.128f,0), "icon-warning"); + void OnDrawGizmos () { + if (NonUniformScaleWarning) { + Gizmos.DrawIcon(transform.position + new Vector3(0, 0.128f, 0), "icon-warning"); } } } \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs index 767707bdb..3be62228c 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs @@ -8,15 +8,15 @@ public abstract class SkeletonUtilityConstraint : MonoBehaviour { protected SkeletonUtilityBone utilBone; protected SkeletonUtility skeletonUtility; - protected virtual void OnEnable(){ + protected virtual void OnEnable () { utilBone = GetComponent(); skeletonUtility = SkeletonUtility.GetInParent(transform); skeletonUtility.RegisterConstraint(this); } - protected virtual void OnDisable(){ + protected virtual void OnDisable () { skeletonUtility.UnregisterConstraint(this); } - public abstract void DoUpdate(); + public abstract void DoUpdate (); } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs index 07203faef..6aefded5a 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs @@ -7,41 +7,36 @@ public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { public float radius = 0.5f; public Transform target; public Vector3 targetPosition; - public float speed = 10; - Vector3[] origins; Vector3 centerPoint; - protected override void OnEnable () - { - if(!Application.isPlaying) + protected override void OnEnable () { + if (!Application.isPlaying) return; - base.OnEnable (); + base.OnEnable(); - Bounds centerBounds = new Bounds( eyes[0].localPosition, Vector3.zero ); + Bounds centerBounds = new Bounds(eyes[0].localPosition, Vector3.zero); origins = new Vector3[eyes.Length]; - for(int i = 0; i < eyes.Length; i++){ + for (int i = 0; i < eyes.Length; i++) { origins[i] = eyes[i].localPosition; - centerBounds.Encapsulate( origins[i] ); + centerBounds.Encapsulate(origins[i]); } centerPoint = centerBounds.center; } - protected override void OnDisable () - { - if(!Application.isPlaying) + protected override void OnDisable () { + if (!Application.isPlaying) return; - base.OnDisable (); + base.OnDisable(); } - public override void DoUpdate () - { + public override void DoUpdate () { - if(target != null) + if (target != null) targetPosition = target.position; Vector3 goal = targetPosition; @@ -49,10 +44,10 @@ public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { Vector3 center = transform.TransformPoint(centerPoint); Vector3 dir = goal - center; - if(dir.magnitude > 1) + if (dir.magnitude > 1) dir.Normalize(); - for(int i = 0; i < eyes.Length; i++){ + for (int i = 0; i < eyes.Length; i++) { center = transform.TransformPoint(origins[i]); eyes[i].position = Vector3.MoveTowards(eyes[i].position, center + (dir * radius), speed * Time.deltaTime); } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs index 3efa51e96..b9608e9bc 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs @@ -34,71 +34,63 @@ public class SkeletonUtilityGroundConstraint : SkeletonUtilityConstraint { Vector3 rayOrigin; - Vector3 rayDir = new Vector3(0,-1,0); + Vector3 rayDir = new Vector3(0, -1, 0); float hitY; float lastHitY; - protected override void OnEnable () - { - base.OnEnable (); + protected override void OnEnable () { + base.OnEnable(); } - protected override void OnDisable () - { - base.OnDisable (); + protected override void OnDisable () { + base.OnDisable(); } - public override void DoUpdate() - { - rayOrigin = transform.position + new Vector3(castOffset,castDistance,0); + public override void DoUpdate () { + rayOrigin = transform.position + new Vector3(castOffset, castDistance, 0); hitY = float.MinValue; - if(use2D){ + if (use2D) { RaycastHit2D hit; - if(useRadius){ + if (useRadius) { #if UNITY_4_3 //NOTE: Unity 4.3.x does not have CircleCast hit = Physics2D.Raycast(rayOrigin , rayDir, castDistance + groundOffset, groundMask); #else - hit = Physics2D.CircleCast( rayOrigin, castRadius, rayDir, castDistance + groundOffset, groundMask ); + hit = Physics2D.CircleCast(rayOrigin, castRadius, rayDir, castDistance + groundOffset, groundMask); #endif - } - else{ - hit = Physics2D.Raycast(rayOrigin , rayDir, castDistance + groundOffset, groundMask); + } else { + hit = Physics2D.Raycast(rayOrigin, rayDir, castDistance + groundOffset, groundMask); } - if(hit.collider != null){ + if (hit.collider != null) { hitY = hit.point.y + groundOffset; - if(Application.isPlaying){ - hitY = Mathf.MoveTowards( lastHitY, hitY, adjustSpeed * Time.deltaTime ); + if (Application.isPlaying) { + hitY = Mathf.MoveTowards(lastHitY, hitY, adjustSpeed * Time.deltaTime); } + } else { + if (Application.isPlaying) + hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustSpeed * Time.deltaTime); } - else{ - if(Application.isPlaying) - hitY = Mathf.MoveTowards( lastHitY, transform.position.y, adjustSpeed * Time.deltaTime ); - } - } - else{ + } else { RaycastHit hit; bool validHit = false; - if(useRadius){ - validHit = Physics.SphereCast( rayOrigin, castRadius, rayDir, out hit, castDistance + groundOffset, groundMask ); - } - else{ - validHit = Physics.Raycast( rayOrigin, rayDir, out hit, castDistance + groundOffset, groundMask); + if (useRadius) { + validHit = Physics.SphereCast(rayOrigin, castRadius, rayDir, out hit, castDistance + groundOffset, groundMask); + } else { + validHit = Physics.Raycast(rayOrigin, rayDir, out hit, castDistance + groundOffset, groundMask); } - if(validHit){ + if (validHit) { hitY = hit.point.y + groundOffset; - if(Application.isPlaying){ - hitY = Mathf.MoveTowards( lastHitY, hitY, adjustSpeed * Time.deltaTime ); + if (Application.isPlaying) { + hitY = Mathf.MoveTowards(lastHitY, hitY, adjustSpeed * Time.deltaTime); } - } - else{ - if(Application.isPlaying) - hitY = Mathf.MoveTowards( lastHitY, transform.position.y, adjustSpeed * Time.deltaTime ); + } else { + if (Application.isPlaying) + hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustSpeed * Time.deltaTime); } } @@ -110,21 +102,18 @@ public class SkeletonUtilityGroundConstraint : SkeletonUtilityConstraint { utilBone.bone.Y = transform.localPosition.y; lastHitY = hitY; - } - void OnDrawGizmos(){ + void OnDrawGizmos () { Vector3 hitEnd = rayOrigin + (rayDir * Mathf.Min(castDistance, rayOrigin.y - hitY)); Vector3 clearEnd = rayOrigin + (rayDir * castDistance); Gizmos.DrawLine(rayOrigin, hitEnd); - if(useRadius){ + if (useRadius) { Gizmos.DrawLine(new Vector3(hitEnd.x - castRadius, hitEnd.y - groundOffset, hitEnd.z), new Vector3(hitEnd.x + castRadius, hitEnd.y - groundOffset, hitEnd.z)); Gizmos.DrawLine(new Vector3(clearEnd.x - castRadius, clearEnd.y, clearEnd.z), new Vector3(clearEnd.x + castRadius, clearEnd.y, clearEnd.z)); } - - Gizmos.color = Color.red; Gizmos.DrawLine(hitEnd, clearEnd); } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs index 917eb5a45..c088353f2 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs @@ -3,15 +3,13 @@ using System.Collections; using System.Collections.Generic; public class SkeletonUtilityKinematicShadow : MonoBehaviour { - public bool hideShadow = true; - Dictionary shadowTable; GameObject shadowRoot; - void Start(){ + void Start () { shadowRoot = (GameObject)Instantiate(gameObject); - if(hideShadow) + if (hideShadow) shadowRoot.hideFlags = HideFlags.HideInHierarchy; shadowRoot.transform.parent = transform.root; @@ -28,20 +26,20 @@ public class SkeletonUtilityKinematicShadow : MonoBehaviour { shadowRoot.transform.localScale = Vector3.one; var shadowJoints = shadowRoot.GetComponentsInChildren(); - foreach(Joint j in shadowJoints){ + foreach (Joint j in shadowJoints) { j.connectedAnchor *= scale; } var joints = GetComponentsInChildren(); - foreach(var j in joints) + foreach (var j in joints) Destroy(j); var rbs = GetComponentsInChildren(); - foreach(var rb in rbs) + foreach (var rb in rbs) Destroy(rb); var colliders = GetComponentsInChildren(); - foreach(var c in colliders) + foreach (var c in colliders) Destroy(c); @@ -50,30 +48,30 @@ public class SkeletonUtilityKinematicShadow : MonoBehaviour { var bones = GetComponentsInChildren(); //build bone lookup - foreach(var b in bones){ - if(b.gameObject == gameObject) + foreach (var b in bones) { + if (b.gameObject == gameObject) continue; - foreach(var sb in shadowBones){ - if(sb.rigidbody == null) + foreach (var sb in shadowBones) { + if (sb.rigidbody == null) continue; - if(sb.boneName == b.boneName){ - shadowTable.Add( sb.transform, b.transform ); + if (sb.boneName == b.boneName) { + shadowTable.Add(sb.transform, b.transform); break; } } } - foreach(var b in shadowBones) + foreach (var b in shadowBones) Destroy(b); } - void FixedUpdate(){ - shadowRoot.rigidbody.MovePosition( transform.position ); - shadowRoot.rigidbody.MoveRotation( transform.rotation ); + void FixedUpdate () { + shadowRoot.rigidbody.MovePosition(transform.position); + shadowRoot.rigidbody.MoveRotation(transform.rotation); - foreach(var pair in shadowTable){ + foreach (var pair in shadowTable) { pair.Value.localPosition = pair.Key.localPosition; pair.Value.localRotation = pair.Key.localRotation; } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs index f6a2e682b..fc8867e6b 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs @@ -3,46 +3,42 @@ using System.Collections; [ExecuteInEditMode] public class SkeletonUtilitySubmeshRenderer : MonoBehaviour { - public Renderer parentRenderer; - [System.NonSerialized] public Mesh mesh; - public int submeshIndex = 0; public int sortingOrder = 0; public int sortingLayerID = 0; - public Material hiddenPassMaterial; Renderer cachedRenderer; MeshFilter filter; Material[] sharedMaterials; MeshFilter parentFilter; - void Awake(){ + void Awake () { cachedRenderer = renderer; sharedMaterials = cachedRenderer.sharedMaterials; filter = GetComponent(); - if(parentRenderer != null) - Initialize( parentRenderer ); + if (parentRenderer != null) + Initialize(parentRenderer); } - void OnEnable(){ + void OnEnable () { parentRenderer = transform.parent.GetComponent(); parentRenderer.GetComponent().OnReset += HandleSkeletonReset; } - void OnDisable(){ + void OnDisable () { parentRenderer.GetComponent().OnReset -= HandleSkeletonReset; } - void HandleSkeletonReset(SkeletonRenderer r){ - if(parentRenderer != null) + void HandleSkeletonReset (SkeletonRenderer r) { + if (parentRenderer != null) Initialize(parentRenderer); } - public void Initialize(Renderer parentRenderer){ + public void Initialize (Renderer parentRenderer) { this.parentRenderer = parentRenderer; parentFilter = parentRenderer.GetComponent(); mesh = parentFilter.sharedMesh; @@ -50,52 +46,50 @@ public class SkeletonUtilitySubmeshRenderer : MonoBehaviour { Debug.Log("Mesh: " + mesh); } - public void Update(){ - if(mesh == null || mesh != parentFilter.sharedMesh){ + public void Update () { + if (mesh == null || mesh != parentFilter.sharedMesh) { mesh = parentFilter.sharedMesh; filter.sharedMesh = mesh; } - if(cachedRenderer == null) + if (cachedRenderer == null) cachedRenderer = renderer; - if(mesh == null || submeshIndex > mesh.subMeshCount - 1){ + if (mesh == null || submeshIndex > mesh.subMeshCount - 1) { cachedRenderer.enabled = false; return; - } - else{ + } else { renderer.enabled = true; } bool changed = false; - if(sharedMaterials.Length != parentRenderer.sharedMaterials.Length){ + if (sharedMaterials.Length != parentRenderer.sharedMaterials.Length) { sharedMaterials = parentRenderer.sharedMaterials; changed = true; } - for(int i = 0; i < renderer.sharedMaterials.Length; i++){ - if(i == submeshIndex) + for (int i = 0; i < renderer.sharedMaterials.Length; i++) { + if (i == submeshIndex) continue; - if(sharedMaterials[i] != hiddenPassMaterial){ + if (sharedMaterials[i] != hiddenPassMaterial) { sharedMaterials[i] = hiddenPassMaterial; changed = true; } } - if(sharedMaterials[submeshIndex] != parentRenderer.sharedMaterials[submeshIndex]){ + if (sharedMaterials[submeshIndex] != parentRenderer.sharedMaterials[submeshIndex]) { sharedMaterials[submeshIndex] = parentRenderer.sharedMaterials[submeshIndex]; changed = true; } - if(changed){ + if (changed) { cachedRenderer.sharedMaterials = sharedMaterials; } - cachedRenderer.sortingLayerID = sortingLayerID; cachedRenderer.sortingOrder = sortingOrder; } diff --git a/spine-unity/Spine.mdpolicy b/spine-unity/Spine.mdpolicy new file mode 100644 index 000000000..8af1049a9 --- /dev/null +++ b/spine-unity/Spine.mdpolicy @@ -0,0 +1,28 @@ + + + + 130 + 3 + 3 + + + False + False + False + EndOfLine + EndOfLine + EndOfLine + EndOfLine + EndOfLine + EndOfLine + EndOfLine + EndOfLine + SameLine + False + True + False + False + 1 + 1 + + \ No newline at end of file From 803a7152bc7ff409e39a7e6e38ee81528ca69398 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Mon, 6 Oct 2014 00:00:29 -0700 Subject: [PATCH 39/91] [Unity] Updated Eye Constraint example, atlas was broken from 1.9.17 export? --- spine-unity/Assets/Examples/Scenes/Eyes.unity | Bin 23136 -> 23240 bytes .../Assets/Examples/Spine/Eyes/eyes.atlas.txt | 2 +- .../Assets/Examples/Spine/Eyes/eyes.json | 2 +- .../Examples/Spine/Eyes/eyes_Material.mat | Bin 4216 -> 4216 bytes .../Spine/Eyes/eyes_SkeletonData.asset | Bin 4204 -> 4204 bytes 5 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/Examples/Scenes/Eyes.unity b/spine-unity/Assets/Examples/Scenes/Eyes.unity index ae92cee9e0d94ce5a0d70f210a057e288a9692b3..131a173a4c7744d30fd744ccb62c4677e3d93531 100644 GIT binary patch delta 582 zcmYk3zb^w}7{{Miuch@P*PgUBsB5)M1_@#jA~w_!5fKs+5fY-B+A3HiHav^ff6%6W z#bOejq$0$iiI@x$Obn{NcixIO`R0ATpXcuRarbyAvPVKCGD1WXSt4>G?n$dfPbTTO zvhAsMe)1mkP?f_qx3~}^fk*0j##dKq+HuPV;5FX&`9%Y#ea%AWd{v_evZ&TYh_5{w z_gB`4Ml0G<+&t^A6=6P5!Xjd^bB|jzS<#(e7tNUu|7u%g5sivCaon#jD_+$`G=55}8xUzT~=DFx^Eo q&+egjjv3BOnQ>o+?@5{4k!r;X@?%T30El%qy3I!M<>iC~*7XCx#)ZlN delta 565 zcmYk(y-Pw-7zXh7uRO{K<&vS^5qprSzgfI+TG zKtXR^3s!{hbFKX<`J2RspMP(*1N$3ENvoM zM-9H)$t0`<%VFL6?Ova-OS_t+d&PsgY|CXC)g~0Z*BzG-SsoDq$8{;ud4!c+Hf Date: Mon, 6 Oct 2014 14:01:32 +0200 Subject: [PATCH 40/91] Fixed ANSI C compilation. --- spine-c/src/spine/SkeletonJson.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 1ca9c81d1..8db167d16 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -106,19 +106,19 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r spAnimation* animation; Json* frame; float duration; + int timelinesCount = 0; Json* bones = Json_getItem(root, "bones"); Json* slots = Json_getItem(root, "slots"); Json* ik = Json_getItem(root, "ik"); Json* ffd = Json_getItem(root, "ffd"); Json* drawOrder = Json_getItem(root, "drawOrder"); - if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); Json* events = Json_getItem(root, "events"); Json* flipX = Json_getItem(root, "flipx"); Json* flipY = Json_getItem(root, "flipy"); Json *boneMap, *slotMap, *ikMap, *ffdMap; + if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); - int timelinesCount = 0; for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) timelinesCount += boneMap->size; for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) From 5f8dd415a5c1371c7be63278c506f59b7218b785 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Mon, 6 Oct 2014 15:04:21 +0200 Subject: [PATCH 41/91] Added images path to nonessential data. --- .../esotericsoftware/spine/SkeletonBinary.java | 6 ++++++ .../esotericsoftware/spine/SkeletonData.java | 17 +++++++++++++++-- .../esotericsoftware/spine/SkeletonJson.java | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index 3071babdb..a5c343166 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -113,6 +113,12 @@ public class SkeletonBinary { skeletonData.height = input.readFloat(); boolean nonessential = input.readBoolean(); + + if (nonessential) { + String imagesPath = input.readString(); + if (imagesPath.length() > 0) skeletonData.imagesPath = imagesPath; + } + // Bones. for (int i = 0, n = input.readInt(true); i < n; i++) { String name = input.readString(); diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java index 12026e133..a845e8ab6 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java @@ -42,7 +42,7 @@ public class SkeletonData { final Array animations = new Array(); final Array ikConstraints = new Array(); float width, height; - String version, hash; + String version, hash, imagesPath; // --- Bones. @@ -197,23 +197,36 @@ public class SkeletonData { this.height = height; } - /** Returns the Spine version used to export this data. */ + /** Returns the Spine version used to export this data, or null. */ public String getVersion () { return version; } + /** @param version May be null. */ public void setVersion (String version) { this.version = version; } + /** @return May be null. */ public String getHash () { return hash; } + /** @param hash May be null. */ public void setHash (String hash) { this.hash = hash; } + /** @return May be null. */ + public String getImagesPath () { + return imagesPath; + } + + /** @param imagesPath May be null. */ + public void setImagesPath (String imagesPath) { + this.imagesPath = imagesPath; + } + public String toString () { return name != null ? name : super.toString(); } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index 7c8f1235a..e18a7be94 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -99,6 +99,7 @@ public class SkeletonJson { skeletonData.version = skeletonMap.getString("spine"); skeletonData.width = skeletonMap.getFloat("width"); skeletonData.height = skeletonMap.getFloat("height"); + skeletonData.imagesPath = skeletonMap.getString("images", null); } // Bones. From 5906a0de0db627673bc4c53d9f0729d1849147de Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Mon, 6 Oct 2014 16:16:49 -0700 Subject: [PATCH 42/91] [Unity TK2D] Brought inline with Spine Unity native runtime. --- spine-tk2d/Assets/Gizmos.meta | 5 + .../Assets/Gizmos/SkeletonDataAsset Icon.png | Bin 0 -> 4424 bytes .../Gizmos/SkeletonDataAsset Icon.png.meta | 46 ++ .../{BoneComponent.cs => BoneFollower.cs} | 66 ++- ...Component.cs.meta => BoneFollower.cs.meta} | 2 +- ...tInspector.cs => BoneFollowerInspector.cs} | 42 +- ....cs.meta => BoneFollowerInspector.cs.meta} | 2 +- spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta | 5 + .../spine-tk2d/Editor/GUI/icon-animation.png | Bin 0 -> 3368 bytes .../Editor/GUI/icon-animation.png.meta | 47 ++ .../Editor/GUI/icon-animationRoot.png | Bin 0 -> 3302 bytes .../Editor/GUI/icon-animationRoot.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-bone.png | Bin 0 -> 515 bytes .../spine-tk2d/Editor/GUI/icon-bone.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-boneNib.png | Bin 0 -> 3364 bytes .../Editor/GUI/icon-boneNib.png.meta | 47 ++ .../Editor/GUI/icon-boundingBox.png | Bin 0 -> 3016 bytes .../Editor/GUI/icon-boundingBox.png.meta | 47 ++ .../Editor/GUI/icon-constraintNib.png | Bin 0 -> 14078 bytes .../Editor/GUI/icon-constraintNib.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-event.png | Bin 0 -> 3116 bytes .../spine-tk2d/Editor/GUI/icon-event.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-hingeChain.png | Bin 0 -> 757 bytes .../Editor/GUI/icon-hingeChain.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-image.png | Bin 0 -> 3132 bytes .../spine-tk2d/Editor/GUI/icon-image.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-mesh.png | Bin 0 -> 603 bytes .../spine-tk2d/Editor/GUI/icon-mesh.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-null.png | Bin 0 -> 3023 bytes .../spine-tk2d/Editor/GUI/icon-null.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-poseBones.png | Bin 0 -> 555 bytes .../Editor/GUI/icon-poseBones.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-skeleton.png | Bin 0 -> 3207 bytes .../Editor/GUI/icon-skeleton.png.meta | 47 ++ .../Editor/GUI/icon-skeletonUtility.png | Bin 0 -> 1133 bytes .../Editor/GUI/icon-skeletonUtility.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-skin.png | Bin 0 -> 3430 bytes .../spine-tk2d/Editor/GUI/icon-skin.png.meta | 47 ++ .../Editor/GUI/icon-skinPlaceholder.png | Bin 0 -> 3370 bytes .../Editor/GUI/icon-skinPlaceholder.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-skinsRoot.png | Bin 0 -> 790 bytes .../Editor/GUI/icon-skinsRoot.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-slot.png | Bin 0 -> 3387 bytes .../spine-tk2d/Editor/GUI/icon-slot.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-spine.png | Bin 0 -> 4424 bytes .../spine-tk2d/Editor/GUI/icon-spine.png.meta | 47 ++ .../Editor/GUI/icon-subMeshRenderer.png | Bin 0 -> 3536 bytes .../Editor/GUI/icon-subMeshRenderer.png.meta | 47 ++ .../spine-tk2d/Editor/GUI/icon-warning.png | Bin 0 -> 1713 bytes .../Editor/GUI/icon-warning.png.meta | 47 ++ .../Editor/SkeletonAnimationInspector.cs | 41 +- .../Editor/SkeletonDataAssetInspector.cs | 542 +++++++++++++++++- .../Editor/SkeletonDataAssetInspector.cs.meta | 2 +- .../spine-tk2d/Editor/SpineEditorUtilities.cs | 268 +++++++++ .../Editor/SpineEditorUtilities.cs.meta | 8 + .../Assets/spine-tk2d/Shaders/Bones.shader | 69 +++ .../spine-tk2d/Shaders/Bones.shader.meta | 5 + .../Assets/spine-tk2d/Shaders/HiddenPass.mat | Bin 0 -> 4288 bytes .../spine-tk2d/Shaders/HiddenPass.mat.meta | 4 + .../spine-tk2d/Shaders/HiddenPass.shader | 21 + .../spine-tk2d/Shaders/HiddenPass.shader.meta | 5 + .../Assets/spine-tk2d/SkeletonAnimation.cs | 33 +- .../Assets/spine-tk2d/SkeletonDataAsset.cs | 9 +- .../Assets/spine-tk2d/SkeletonExtensions.cs | 108 ++++ .../spine-tk2d/SkeletonExtensions.cs.meta | 8 + .../Assets/spine-tk2d/SkeletonRenderer.cs | 119 ++-- .../Assets/spine-tk2d/SkeletonUtility.meta | 5 + .../spine-tk2d/SkeletonUtility/Editor.meta | 5 + .../Editor/SkeletonUtilityBoneInspector.cs | 304 ++++++++++ .../SkeletonUtilityBoneInspector.cs.meta | 8 + .../Editor/SkeletonUtilityInspector.cs | 311 ++++++++++ .../Editor/SkeletonUtilityInspector.cs.meta | 8 + .../SkeletonUtility/SkeletonUtility.cs | 346 +++++++++++ .../SkeletonUtility/SkeletonUtility.cs.meta | 8 + .../SkeletonUtility/SkeletonUtilityBone.cs | 293 ++++++++++ .../SkeletonUtilityBone.cs.meta | 8 + .../SkeletonUtilityConstraint.cs | 22 + .../SkeletonUtilityConstraint.cs.meta | 8 + .../SkeletonUtilityEyeConstraint.cs | 56 ++ .../SkeletonUtilityEyeConstraint.cs.meta | 8 + .../SkeletonUtilityGroundConstraint.cs | 120 ++++ .../SkeletonUtilityGroundConstraint.cs.meta | 8 + .../SkeletonUtilityKinematicShadow.cs | 79 +++ .../SkeletonUtilityKinematicShadow.cs.meta | 8 + .../SkeletonUtilitySubmeshRenderer.cs | 96 ++++ .../SkeletonUtilitySubmeshRenderer.cs.meta | 12 + 86 files changed, 3993 insertions(+), 117 deletions(-) create mode 100644 spine-tk2d/Assets/Gizmos.meta create mode 100644 spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png create mode 100644 spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta rename spine-tk2d/Assets/spine-tk2d/{BoneComponent.cs => BoneFollower.cs} (80%) rename spine-tk2d/Assets/spine-tk2d/{BoneComponent.cs.meta => BoneFollower.cs.meta} (78%) rename spine-tk2d/Assets/spine-tk2d/Editor/{BoneComponentInspector.cs => BoneFollowerInspector.cs} (76%) rename spine-tk2d/Assets/spine-tk2d/Editor/{BoneComponentInspector.cs.meta => BoneFollowerInspector.cs.meta} (78%) create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader create mode 100644 spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs.meta create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs create mode 100644 spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs.meta diff --git a/spine-tk2d/Assets/Gizmos.meta b/spine-tk2d/Assets/Gizmos.meta new file mode 100644 index 000000000..a7b083b0c --- /dev/null +++ b/spine-tk2d/Assets/Gizmos.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a260a1ff5965c2c4f88aea3e7d433965 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png b/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd5473c1474be392c6ddff639c8817ec49e2860 GIT binary patch literal 4424 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 G#Qy+ll>ZC> literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta b/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta new file mode 100644 index 000000000..22239ca4b --- /dev/null +++ b/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta @@ -0,0 +1,46 @@ +fileFormatVersion: 2 +guid: 68defdbc95b30a74a9ad396bfc9a2277 +TextureImporter: + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/BoneComponent.cs b/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs similarity index 80% rename from spine-tk2d/Assets/spine-tk2d/BoneComponent.cs rename to spine-tk2d/Assets/spine-tk2d/BoneFollower.cs index acfe183cb..e900ba8ee 100644 --- a/spine-tk2d/Assets/spine-tk2d/BoneComponent.cs +++ b/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs @@ -36,14 +36,14 @@ using Spine; /// Sets a GameObject's transform to match a bone on a Spine skeleton. [ExecuteInEditMode] -[AddComponentMenu("Spine/BoneComponent")] -public class BoneComponent : MonoBehaviour { - [System.NonSerialized] - public bool valid; +[AddComponentMenu("Spine/BoneFollower")] +public class BoneFollower : MonoBehaviour { + [System.NonSerialized] + public bool + valid; public SkeletonRenderer skeletonRenderer; public Bone bone; - public bool followZPosition = true; public bool followBoneRotation = true; @@ -51,46 +51,66 @@ public class BoneComponent : MonoBehaviour { get { return skeletonRenderer; } set { skeletonRenderer = value; - Reset (); + Reset(); } } - // TODO: Make the rotation behavior more customizable - // public bool followTransformRotation = false; - - // TODO: Make transform follow bone scale? too specific? This is really useful for shared shadow assets. - //public bool followBoneScale = false; /// If a bone isn't set, boneName is used to find the bone. public String boneName; - + public bool resetOnAwake = true; protected Transform cachedTransform; protected Transform skeletonTransform; - + + public void HandleResetRenderer (SkeletonRenderer skeletonRenderer) { + Reset(); + } + public void Reset () { bone = null; cachedTransform = transform; valid = skeletonRenderer != null && skeletonRenderer.valid; - if (!valid) return; + if (!valid) + return; skeletonTransform = skeletonRenderer.transform; + + skeletonRenderer.OnReset -= HandleResetRenderer; + skeletonRenderer.OnReset += HandleResetRenderer; + + if (Application.isEditor) + DoUpdate(); + } + + void OnDestroy () { + //cleanup + if (skeletonRenderer != null) + skeletonRenderer.OnReset -= HandleResetRenderer; } public void Awake () { - Reset(); + if (resetOnAwake) + Reset(); } - public void LateUpdate () { + void LateUpdate () { + DoUpdate(); + } + + public void DoUpdate () { if (!valid) { Reset(); return; } if (bone == null) { - if (boneName == null || boneName.Length == 0) return; + if (boneName == null || boneName.Length == 0) + return; bone = skeletonRenderer.skeleton.FindBone(boneName); if (bone == null) { Debug.LogError("Bone not found: " + boneName, this); return; + } else { + } } @@ -100,22 +120,24 @@ public class BoneComponent : MonoBehaviour { if (cachedTransform.parent == skeletonTransform) { cachedTransform.localPosition = new Vector3(bone.worldX, bone.worldY, followZPosition ? 0f : cachedTransform.localPosition.z); - if(followBoneRotation) { + if (followBoneRotation) { Vector3 rotation = cachedTransform.localRotation.eulerAngles; cachedTransform.localRotation = Quaternion.Euler(rotation.x, rotation.y, bone.worldRotation * flipRotation); } } else { Vector3 targetWorldPosition = skeletonTransform.TransformPoint(new Vector3(bone.worldX, bone.worldY, 0f)); - if(!followZPosition) targetWorldPosition.z = cachedTransform.position.z; + if (!followZPosition) + targetWorldPosition.z = cachedTransform.position.z; cachedTransform.position = targetWorldPosition; - if(followBoneRotation) { + if (followBoneRotation) { Vector3 rotation = skeletonTransform.rotation.eulerAngles; - cachedTransform.rotation = Quaternion.Euler(rotation.x, rotation.y, - skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * flipRotation) ); + + cachedTransform.rotation = Quaternion.Euler(rotation.x, rotation.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * flipRotation)); } } + } } \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/BoneComponent.cs.meta b/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta similarity index 78% rename from spine-tk2d/Assets/spine-tk2d/BoneComponent.cs.meta rename to spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta index f2c537209..29dabc13e 100644 --- a/spine-tk2d/Assets/spine-tk2d/BoneComponent.cs.meta +++ b/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: d08aa5caf52eae44ba81cc81ca1dad5d +guid: a1fd8daaed7b64148a34acb96ba14ce1 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs similarity index 76% rename from spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs rename to spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs index b7373393c..943a98715 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs +++ b/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs @@ -27,30 +27,57 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; -[CustomEditor(typeof(BoneComponent))] -public class BoneComponentInspector : Editor { +[CustomEditor(typeof(BoneFollower))] +public class BoneFollowerInspector : Editor { private SerializedProperty boneName, skeletonRenderer, followZPosition, followBoneRotation; + BoneFollower component; void OnEnable () { skeletonRenderer = serializedObject.FindProperty("skeletonRenderer"); boneName = serializedObject.FindProperty("boneName"); followBoneRotation = serializedObject.FindProperty("followBoneRotation"); followZPosition = serializedObject.FindProperty("followZPosition"); + component = (BoneFollower)target; + ForceReload(); + } + + void FindRenderer () { + if (skeletonRenderer.objectReferenceValue == null) { + SkeletonRenderer parentRenderer = SkeletonUtility.GetInParent(component.transform); + + if (parentRenderer != null) { + skeletonRenderer.objectReferenceValue = (UnityEngine.Object)parentRenderer; + } + + } + } + + void ForceReload () { + if (component.skeletonRenderer != null) { + if (component.skeletonRenderer.valid == false) + component.skeletonRenderer.Reset(); + } } override public void OnInspectorGUI () { serializedObject.Update(); - BoneComponent component = (BoneComponent)target; + + FindRenderer(); EditorGUILayout.PropertyField(skeletonRenderer); if (component.valid) { - String[] bones = new String[component.skeletonRenderer.skeleton.Data.Bones.Count + 1]; + String[] bones = new String[1]; + try { + bones = new String[component.skeletonRenderer.skeleton.Data.Bones.Count + 1]; + } catch { + + } + bones[0] = ""; for (int i = 0; i < bones.Length - 1; i++) bones[i + 1] = component.skeletonRenderer.skeleton.Data.Bones[i].Name; @@ -64,13 +91,14 @@ public class BoneComponentInspector : Editor { EditorGUILayout.EndHorizontal(); boneName.stringValue = boneIndex == 0 ? null : bones[boneIndex]; - EditorGUILayout.PropertyField(followBoneRotation); EditorGUILayout.PropertyField(followZPosition); + } else { + GUILayout.Label("INVALID"); } if (serializedObject.ApplyModifiedProperties() || - (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") + (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") ) { component.Reset(); } diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta similarity index 78% rename from spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs.meta rename to spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta index 7a90e80a3..a5cf9ae89 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/BoneComponentInspector.cs.meta +++ b/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 99e3e8311529bbc48a5c3a5b9714e162 +guid: c71ca35fd6241cb49a0b0756a664fcf7 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta new file mode 100644 index 000000000..d730a5573 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: bfaea6b7e7f52bc46b8d1c3cb5e9eaa1 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f44d38e9030a52cbe6aaf31067f7f132faca511f GIT binary patch literal 3368 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png.meta new file mode 100644 index 000000000..4bcf433e8 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 3d1be4ea889f3a14b864352fe49a1bde +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png new file mode 100644 index 0000000000000000000000000000000000000000..ec66a6a85588b584071e68bfa670eb2e758a3e6b GIT binary patch literal 515 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 KMNUMnLSTYb4V82N literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png.meta new file mode 100644 index 000000000..c90f54d3c --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 955aed20030d0504b8a9c6934a5cb47a +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png new file mode 100644 index 0000000000000000000000000000000000000000..175bcb047ad5242ad2d48ca94298a65eeed61514 GIT binary patch literal 14078 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 E7aRC%)c^nh literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png.meta new file mode 100644 index 000000000..e7ab7aca3 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: de1a4f5ad4bdf1a4ea072c4d59ba87d8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png new file mode 100644 index 0000000000000000000000000000000000000000..4547f254ca02538d7382258d7659e265b719927f GIT binary patch literal 3116 zcmV+{4Ab+8P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z00043Nkl|36o$W(nJ|-JB$7aofFPRMLa-1-NG&#kjSpa_k06R5w!VNi zmLjNyh+rWGOVe41L5ZN*h+FoVYjY!m#7NAk4&48{XBVXu|1}?dnAvtj!~}vs05AaQ zpjSWxr~q}-^AJ2;e>e;Uhmzf*72jVj=Qk2dK*0+K{sI9aq1X%%1FGJdjULJ!1S~Hs zJ-`;=@2A`1g`FNi2XMU&tEKO+*5c8zMaOCR!vm2K%O9`->dk7c^pVf{5cejNItN~X zrnEOqL@Xc-M1jc8^6|>#`0N6}(e>`$_QC22@CKBD5>P@Zh5o?MjR*triP7og#a6Cz zwwWyebHEgk0EV^3`c7LZ<%o#V_0-du)a_&bZa-IkDgw_yK}W6tEx?sdhan;Y*m|C} z7Jq86sWc?NU6qI!diPDe(+<#39zeRCq|Tr{PFMX9e+>Y&4SVNW69Ihy0000e)fFgvj+=hXDWMt%dFc^G0G&J<0 z(P-SOR;y$(ne6iNauCRi>u%7d>`kZB34_7ls?}<=S}p4JI=ZftNF+YSVzGC|E5i=J z4LE@_pcx8lSy4wRh!vtHtM=gAQ12w!r}1C@$vCti^amp$w|ZM zbn2R>0bnwju-R@+Fl@eV>|| znsm8bmRv5!;^N{A@D1n(%)l?80Q>|R0FTz!*Egh;vR13f{r!EJN~Pr1)|QM$qXpoJ zl#=Tbzyv%^CX?AqDSLZ+twKLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004JNkl#5(Zk@O6ooOt^to%EeV6~a&u44H}`wa_j^Ta&2M4w2MEvuMBdI;xIhD_ z1Ga9FX#$Z-rE=|R*T-^f2ivj9Br-a&nwUOZJ3J7P2dzIEO`ylsE{nU%K62xsfi#4| zQbC%F&As&9=-lzf(Y}aO-xYM6x#>J}eR%~y(JD%L?RF?Lee>sf`|}{#rl7WXD2)Y_wsMQ>SX|W WK!44B#El970000-n zl9S}FA$SID@;pHjY3hIw2yregKVKUl9TZ>c|Kxy_Y<%JECX%8N-6*>5VE%y`O9;_#=-k_0h{dXyka=~ zOqTsFwbU*EJV=L&iviF99;nw9@YIWVi>?tGlh zveZwemcd%-^*LZky{^tbJ`?bgDEi{twB;#`V>Frq?)qH<+*7an)oc$|Jeww~t7pJr z;fV@^)6=0B?m4jGnJg8GmvpN5z&r5~aeU|SIOp5Du)jEOG24SDz=0&^YZi!O3oIC8 zjwHD&A0$bJq{i8afH%Mz@YqkK!*yr2t4_3b2H@At+Ym*seXmy$$9BS*twICpo!FUJ pVNsLk$zKLWQtfY?{CWSX`2(S2E9%66Rh0k$002ovPDHLkV1oU23VZ+n literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png.meta new file mode 100644 index 000000000..a98b0e9c8 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: a309a2e14638a204091b915126910f45 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png new file mode 100644 index 0000000000000000000000000000000000000000..9a6d738ebd50b85b80645160e244c3886933b4d8 GIT binary patch literal 3023 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png.meta new file mode 100644 index 000000000..f607575fb --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: f2216037084d99d4481810cb521ed96f +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4d937b20d040d8181baca98b1ec68a83396f96 GIT binary patch literal 1133 zcmV-z1d{uSP)jROreXx;4sNu~-<2Mf` zl4$y5G!he&CY6`15-i$cYitZfN-Wqwm5+i!OJN~fpcHn2Qs8or4|i7ATB?bYoMi5u zne#j6{AZ355&rK`O1XhNARU+oLL##IkBuVopAAre4M>c$B*5R&(sEivq`A5Iqz0?I z&nN20?i+ZVWdXZ@Oucqn!}CT)Mji#Q+wFUS0wAK4x(#evIfRMfzHm( zU}k1!y2s;5nwpvl8-`&^Nl8ibdcBTlG%5oF1FOMc@cY@>*~^`sog+X9m=KZ0e}ma{ znKE}36+LnI$dMO;ozY0txYYf__*47$yH{3Lq^72(va+%=#WYPKk%%}P4wagk%JlT~ z+}hgObYWrPArZMAuSWvl0@ARAei-lpCBSp1zdL{Hr{NLl9U7KPzYNN^-QAJA{QP?0 zKzVuj3DY!1M5M2;Zy9I;4g=2sWk7noW-cK2g`-EGbh=zwhG8T*9L|hfpRZtJW5e!t zyS>>tIqA_z#Qfx=4|_HZW76q#-Ez5-=YVVd{ry)&q+Th-+}zv}&<*qe1|Zrj81P7Y z$2Xtl`~3maG?m@yOfpRqQ)eBU-<+S{IMv#E6$q7fE-tz{JhW6-S62~}BRf0W zrJWlhvK22&43A5ee`zu$4<lc$%RaJk&lv3MXf*8yIcvKV7tY zclzFa``o4o<6~oU?>4^uC1Cga{h3QkOJ+D6HfCmKma(q;wyQvMDk=&tUg)~=Y4gV|z;8gQ$K!D}H8owUudnx* zrfC3MF`e!OTW);g_2a+=-~p`1x~|uh2F`wP>{u8`2ExENU~6b-c+BJRxQ2&^e@#e8 zNQ*=w3vp-f30nn5ff?W-tgD}l^&HlL6>X#XdsCM_FAxaij*X3lySlo5oS2yK+HAHh ztVXacEPjY~bVrwC6^Lrs9St(|K9|?)%?JjAJ;3kl>+6w%f`S}irw(>G-mxtXU}{He zdeb6s6IcM2^uJhnW7(P2)z#&trKJj(92y$BXt&$fJ32ZJ0?xa$P$Cj*ONoFTaA4`C zw8OtS=dVYqu)0i+4saHD5UW{7fk_dG#>4&qB?{b6GbmGu00000NkvXXu0mjfe3A@6 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png.meta new file mode 100644 index 000000000..9d3c22794 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 5bb0631368b462047869d8788673cb48 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png new file mode 100644 index 0000000000000000000000000000000000000000..3d9bddeb4a3c2c2889143bc1a79853dbb84166a4 GIT binary patch literal 3430 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png.meta new file mode 100644 index 000000000..3be7a6e69 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: bfd9f3d2607e9e44c97384d7575a17dc +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png new file mode 100644 index 0000000000000000000000000000000000000000..3b11d379e43d42f770f6b3aaa58588f63774553b GIT binary patch literal 3370 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 literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png.meta new file mode 100644 index 000000000..e332380e8 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 8bd14c7643597a74ba2edc10a5e4c4ed +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png new file mode 100644 index 0000000000000000000000000000000000000000..ca938722d0792078eef7517d3a9ffc8248429cb5 GIT binary patch literal 3387 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.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 G#Qy+ll>ZC> literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png.meta new file mode 100644 index 000000000..c0ec65ca2 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 4e7c964fa5e07024c8bf1debecc3b7c8 +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7c9e64bb1a4cf1065652908425ac95aff2d17f GIT binary patch literal 3536 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 W*c~!{*LmCX6HzHP$&V*%EB^-QZFN}y literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png.meta new file mode 100644 index 000000000..e32950ca4 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png.meta @@ -0,0 +1,47 @@ +fileFormatVersion: 2 +guid: 754d724c1bd750048852e8cf3d4a05ee +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + linearTexture: 1 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: .25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + seamlessCubemap: 0 + textureFormat: -3 + maxTextureSize: 1024 + textureSettings: + filterMode: -1 + aniso: 1 + mipBias: -1 + wrapMode: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: .5, y: .5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: 2 + buildTargetSettings: [] + spriteSheet: + sprites: [] + spritePackingTag: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs index bc6d6b19c..f338626b2 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs @@ -27,28 +27,47 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ - using System; using UnityEditor; using UnityEngine; +using Spine; [CustomEditor(typeof(SkeletonAnimation))] public class SkeletonAnimationInspector : SkeletonRendererInspector { protected SerializedProperty animationName, loop, timeScale; + protected bool isPrefab; protected override void OnEnable () { base.OnEnable(); animationName = serializedObject.FindProperty("_animationName"); loop = serializedObject.FindProperty("loop"); timeScale = serializedObject.FindProperty("timeScale"); + + if (PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) + isPrefab = true; + + } protected override void gui () { base.gui(); SkeletonAnimation component = (SkeletonAnimation)target; - if (!component.valid) return; + if (!component.valid) + return; + //catch case where SetAnimation was used to set track 0 without using AnimationName + if (Application.isPlaying) { + TrackEntry currentState = component.state.GetCurrent(0); + if (currentState != null) { + if (component.AnimationName != animationName.stringValue) { + animationName.stringValue = currentState.Animation.Name; + } + } + } + + + //TODO: Refactor this to use GenericMenu and callbacks to avoid interfering with control by other behaviours. // Animation name. { String[] animations = new String[component.skeleton.Data.Animations.Count + 1]; @@ -67,12 +86,26 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { EditorGUILayout.EndHorizontal(); String selectedAnimationName = animationIndex == 0 ? null : animations[animationIndex]; - component.AnimationName = selectedAnimationName; - animationName.stringValue = selectedAnimationName; + if (component.AnimationName != selectedAnimationName) { + component.AnimationName = selectedAnimationName; + animationName.stringValue = selectedAnimationName; + } + + } EditorGUILayout.PropertyField(loop); EditorGUILayout.PropertyField(timeScale); component.timeScale = Math.Max(component.timeScale, 0); + + EditorGUILayout.Space(); + + if (!isPrefab) { + if (component.GetComponent() == null) { + if (GUILayout.Button(new GUIContent("Add Skeleton Utility", SpineEditorUtilities.Icons.skeletonUtility), GUILayout.Height(30))) { + component.gameObject.AddComponent(); + } + } + } } } diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs index 2642d4d46..f3cf146d1 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs @@ -28,8 +28,17 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +/***************************************************************************** + * Automatic import and advanced preview added by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ using System; +using System.Collections.Generic; using UnityEditor; + +#if !UNITY_4_3 +using UnityEditor.AnimatedValues; +#endif using UnityEngine; using Spine; @@ -37,39 +46,75 @@ using Spine; public class SkeletonDataAssetInspector : Editor { private SerializedProperty spriteCollection, skeletonJSON, scale, fromAnimation, toAnimation, duration, defaultMix; private bool showAnimationStateData = true; - + + #if UNITY_4_3 + private bool m_showAnimationList = true; + #else + private AnimBool m_showAnimationList = new AnimBool(true); + #endif + + private bool m_initialized = false; + private SkeletonDataAsset m_skeletonDataAsset; + private string m_skeletonDataAssetGUID; + void OnEnable () { - spriteCollection = serializedObject.FindProperty("spriteCollection"); - skeletonJSON = serializedObject.FindProperty("skeletonJSON"); - scale = serializedObject.FindProperty("scale"); - fromAnimation = serializedObject.FindProperty("fromAnimation"); - toAnimation = serializedObject.FindProperty("toAnimation"); - duration = serializedObject.FindProperty("duration"); - defaultMix = serializedObject.FindProperty("defaultMix"); - } + try { + spriteCollection = serializedObject.FindProperty("spriteCollection"); + skeletonJSON = serializedObject.FindProperty("skeletonJSON"); + scale = serializedObject.FindProperty("scale"); + fromAnimation = serializedObject.FindProperty("fromAnimation"); + toAnimation = serializedObject.FindProperty("toAnimation"); + duration = serializedObject.FindProperty("duration"); + defaultMix = serializedObject.FindProperty("defaultMix"); + + m_skeletonDataAsset = (SkeletonDataAsset)target; + m_skeletonDataAssetGUID = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(m_skeletonDataAsset)); + + EditorApplication.update += Update; + + } catch { + + + } + } + + void OnDestroy () { + m_initialized = false; + EditorApplication.update -= Update; + this.DestroyPreviewInstances(); + if (this.m_previewUtility != null) { + this.m_previewUtility.Cleanup(); + this.m_previewUtility = null; + } + } + override public void OnInspectorGUI () { serializedObject.Update(); SkeletonDataAsset asset = (SkeletonDataAsset)target; - - tk2dSpriteCollection sprites = EditorGUILayout.ObjectField("Sprite Collection", asset.spriteCollection, typeof(tk2dSpriteCollection), false) as tk2dSpriteCollection; - if (sprites != null) - spriteCollection.objectReferenceValue = sprites.spriteCollection; - + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(spriteCollection); EditorGUILayout.PropertyField(skeletonJSON); EditorGUILayout.PropertyField(scale); + if (EditorGUI.EndChangeCheck()) { + if (m_previewUtility != null) { + m_previewUtility.Cleanup(); + m_previewUtility = null; + } + } SkeletonData skeletonData = asset.GetSkeletonData(asset.spriteCollection == null || asset.skeletonJSON == null); if (skeletonData != null) { showAnimationStateData = EditorGUILayout.Foldout(showAnimationStateData, "Animation State Data"); if (showAnimationStateData) { EditorGUILayout.PropertyField(defaultMix); - - // Animation names. + + // Animation names String[] animations = new String[skeletonData.Animations.Count]; for (int i = 0; i < animations.Length; i++) animations[i] = skeletonData.Animations[i].Name; - + for (int i = 0; i < fromAnimation.arraySize; i++) { SerializedProperty from = fromAnimation.GetArrayElementAtIndex(i); SerializedProperty to = toAnimation.GetArrayElementAtIndex(i); @@ -95,14 +140,471 @@ public class SkeletonDataAssetInspector : Editor { EditorGUILayout.Space(); EditorGUILayout.EndHorizontal(); } + + if (GUILayout.Button(new GUIContent("Setup Pose", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(105), GUILayout.Height(18))) { + StopAnimation(); + m_skeletonAnimation.skeleton.SetToSetupPose(); + m_requireRefresh = true; + } + + #if UNITY_4_3 + m_showAnimationList = EditorGUILayout.Foldout(m_showAnimationList, new GUIContent("Animations", SpineEditorUtilities.Icons.animationRoot)); + if(m_showAnimationList){ + #else + m_showAnimationList.target = EditorGUILayout.Foldout(m_showAnimationList.target, new GUIContent("Animations", SpineEditorUtilities.Icons.animationRoot)); + if (EditorGUILayout.BeginFadeGroup(m_showAnimationList.faded)) { + #endif + + + + + EditorGUILayout.LabelField("Name", "Duration"); + foreach (Spine.Animation a in skeletonData.Animations) { + GUILayout.BeginHorizontal(); + + if (m_skeletonAnimation != null && m_skeletonAnimation.state != null) { + if (m_skeletonAnimation.state.GetCurrent(0) != null && m_skeletonAnimation.state.GetCurrent(0).Animation == a) { + GUI.contentColor = Color.black; + if (GUILayout.Button("\u25BA", GUILayout.Width(24))) { + StopAnimation(); + } + GUI.contentColor = Color.white; + } else { + if (GUILayout.Button("\u25BA", GUILayout.Width(24))) { + PlayAnimation(a.Name, true); + } + } + } else { + GUILayout.Label("?", GUILayout.Width(24)); + } + EditorGUILayout.LabelField(new GUIContent(a.Name, SpineEditorUtilities.Icons.animation), new GUIContent(a.Duration.ToString("f3") + "s" + ("(" + (Mathf.RoundToInt(a.Duration * 30)) + ")").PadLeft(12, ' '))); + GUILayout.EndHorizontal(); + } + } + #if !UNITY_4_3 + EditorGUILayout.EndFadeGroup(); + #endif } - + if (!Application.isPlaying) { if (serializedObject.ApplyModifiedProperties() || (UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed") - ) { + ) { asset.Reset(); } } } -} + + //preview window stuff + private PreviewRenderUtility m_previewUtility; + private GameObject m_previewInstance; + private Vector2 previewDir; + private SkeletonAnimation m_skeletonAnimation; + private SkeletonData m_skeletonData; + private static int sliderHash = "Slider".GetHashCode(); + private float m_lastTime; + private bool m_playing; + private bool m_requireRefresh; + private Color m_originColor = new Color(0.3f, 0.3f, 0.3f, 1); + + private void StopAnimation () { + m_skeletonAnimation.state.ClearTrack(0); + m_playing = false; + } + + List m_animEvents = new List(); + List m_animEventFrames = new List(); + + private void PlayAnimation (string animName, bool loop) { + m_animEvents.Clear(); + m_animEventFrames.Clear(); + + m_skeletonAnimation.state.SetAnimation(0, animName, loop); + + Spine.Animation a = m_skeletonAnimation.state.GetCurrent(0).Animation; + foreach (Timeline t in a.Timelines) { + if (t.GetType() == typeof(EventTimeline)) { + EventTimeline et = (EventTimeline)t; + + for (int i = 0; i < et.Events.Length; i++) { + m_animEvents.Add(et.Events[i]); + m_animEventFrames.Add(et.Frames[i]); + } + + } + } + + m_playing = true; + } + + private void InitPreview () { + if (this.m_previewUtility == null) { + this.m_lastTime = Time.realtimeSinceStartup; + this.m_previewUtility = new PreviewRenderUtility(true); + this.m_previewUtility.m_Camera.isOrthoGraphic = true; + this.m_previewUtility.m_Camera.orthographicSize = (scale.floatValue * (m_skeletonDataAsset.spriteCollection.invOrthoSize * m_skeletonDataAsset.spriteCollection.halfTargetHeight)) / 100; + this.m_previewUtility.m_Camera.cullingMask = -2147483648; + this.CreatePreviewInstances(); + } + } + + private void CreatePreviewInstances () { + this.DestroyPreviewInstances(); + if (this.m_previewInstance == null) { + string skinName = EditorPrefs.GetString(m_skeletonDataAssetGUID + "_lastSkin", ""); + + m_previewInstance = SpineEditorUtilities.SpawnAnimatedSkeleton((SkeletonDataAsset)target, skinName).gameObject; + //m_previewInstance.transform.localScale = Vector3.one * 0.01f; + m_previewInstance.hideFlags = HideFlags.HideAndDontSave; + m_previewInstance.layer = 0x1f; + + + m_skeletonAnimation = m_previewInstance.GetComponent(); + m_skeletonAnimation.initialSkinName = skinName; + m_skeletonAnimation.LateUpdate(); + m_skeletonData = m_skeletonAnimation.skeletonDataAsset.GetSkeletonData(true); + + m_previewInstance.renderer.enabled = false; + + m_initialized = true; + AdjustCameraGoals(true); + } + } + + private void DestroyPreviewInstances () { + if (this.m_previewInstance != null) { + DestroyImmediate(this.m_previewInstance); + m_previewInstance = null; + } + m_initialized = false; + } + + public override bool HasPreviewGUI () { + //TODO: validate json data + return skeletonJSON.objectReferenceValue != null; + } + + Texture m_previewTex = new Texture(); + + public override void OnInteractivePreviewGUI (Rect r, GUIStyle background) { + this.InitPreview(); + + if (UnityEngine.Event.current.type == EventType.Repaint) { + if (m_requireRefresh) { + this.m_previewUtility.BeginPreview(r, background); + this.DoRenderPreview(true); + this.m_previewTex = this.m_previewUtility.EndPreview(); + m_requireRefresh = false; + } + if (this.m_previewTex != null) + GUI.DrawTexture(r, m_previewTex, ScaleMode.StretchToFill, false); + } + + DrawSkinToolbar(r); + NormalizedTimeBar(r); + //TODO: implement panning + // this.previewDir = Drag2D(this.previewDir, r); + MouseScroll(r); + } + + float m_orthoGoal = 1; + Vector3 m_posGoal = new Vector3(0, 0, -10); + double m_adjustFrameEndTime = 0; + + private void AdjustCameraGoals (bool calculateMixTime) { + if (calculateMixTime) { + if (m_skeletonAnimation.state.GetCurrent(0) != null) { + m_adjustFrameEndTime = EditorApplication.timeSinceStartup + m_skeletonAnimation.state.GetCurrent(0).Mix; + } + } + + GameObject go = this.m_previewInstance; + Bounds bounds = go.renderer.bounds; + m_orthoGoal = bounds.size.y; + m_posGoal = bounds.center + new Vector3(0, 0, -10); + } + + private void AdjustCameraGoals () { + AdjustCameraGoals(false); + } + + private void AdjustCamera () { + if (m_previewUtility == null) + return; + + + if (EditorApplication.timeSinceStartup < m_adjustFrameEndTime) { + AdjustCameraGoals(); + } + + float orthoSet = Mathf.Lerp(this.m_previewUtility.m_Camera.orthographicSize, m_orthoGoal, 0.1f); + + this.m_previewUtility.m_Camera.orthographicSize = orthoSet; + + + float dist = Vector3.Distance(m_previewUtility.m_Camera.transform.position, m_posGoal); + if (dist > m_skeletonDataAsset.scale) { + Vector3 pos = Vector3.Lerp(this.m_previewUtility.m_Camera.transform.position, m_posGoal, 0.1f); + pos.x = 0; + this.m_previewUtility.m_Camera.transform.position = pos; + this.m_previewUtility.m_Camera.transform.rotation = Quaternion.identity; + m_requireRefresh = true; + } + } + + private void DoRenderPreview (bool drawHandles) { + GameObject go = this.m_previewInstance; + + if (m_requireRefresh) { + go.renderer.enabled = true; + + if (EditorApplication.isPlaying) { + //do nothing + } else { + m_skeletonAnimation.Update((Time.realtimeSinceStartup - m_lastTime)); + } + + m_lastTime = Time.realtimeSinceStartup; + + if (!EditorApplication.isPlaying) + m_skeletonAnimation.LateUpdate(); + + if (drawHandles) { + Handles.SetCamera(m_previewUtility.m_Camera); + Handles.color = m_originColor; + + Handles.DrawLine(new Vector3(-1000 * m_skeletonDataAsset.scale, 0, 0), new Vector3(1000 * m_skeletonDataAsset.scale, 0, 0)); + Handles.DrawLine(new Vector3(0, 1000 * m_skeletonDataAsset.scale, 0), new Vector3(0, -1000 * m_skeletonDataAsset.scale, 0)); + } + + this.m_previewUtility.m_Camera.Render(); + go.renderer.enabled = false; + } + + + } + + void Update () { + AdjustCamera(); + + if (m_playing) { + m_requireRefresh = true; + Repaint(); + } else if (m_requireRefresh) { + Repaint(); + } else { + #if !UNITY_4_3 + if (m_showAnimationList.isAnimating) + Repaint(); + #endif + } + } + + void DrawSkinToolbar (Rect r) { + if (m_skeletonAnimation == null) + return; + + if (m_skeletonAnimation.skeleton != null) { + string label = (m_skeletonAnimation.skeleton != null && m_skeletonAnimation.skeleton.Skin != null) ? m_skeletonAnimation.skeleton.Skin.Name : "default"; + + Rect popRect = new Rect(r); + popRect.y += 32; + popRect.x += 4; + popRect.height = 24; + popRect.width = 40; + EditorGUI.DropShadowLabel(popRect, new GUIContent("Skin", SpineEditorUtilities.Icons.skinsRoot)); + + popRect.y += 11; + popRect.width = 150; + popRect.x += 44; + + if (GUI.Button(popRect, label, EditorStyles.popup)) { + SelectSkinContext(); + } + } + } + + void SelectSkinContext () { + GenericMenu menu = new GenericMenu(); + + foreach (Skin s in m_skeletonData.Skins) { + menu.AddItem(new GUIContent(s.Name), this.m_skeletonAnimation.skeleton.Skin == s, SetSkin, (object)s); + } + + menu.ShowAsContext(); + } + + void SetSkin (object o) { + Skin skin = (Skin)o; + + m_skeletonAnimation.initialSkinName = skin.Name; + m_skeletonAnimation.Reset(); + m_requireRefresh = true; + + EditorPrefs.SetString(m_skeletonDataAssetGUID + "_lastSkin", skin.Name); + } + + void NormalizedTimeBar (Rect r) { + Rect barRect = new Rect(r); + barRect.height = 32; + barRect.x += 4; + barRect.width -= 4; + + GUI.Box(barRect, ""); + + Rect lineRect = new Rect(barRect); + float width = lineRect.width; + TrackEntry t = m_skeletonAnimation.state.GetCurrent(0); + + if (t != null) { + int loopCount = (int)(t.Time / t.EndTime); + float currentTime = t.Time - (t.EndTime * loopCount); + + float normalizedTime = currentTime / t.Animation.Duration; + + lineRect.x = barRect.x + (width * normalizedTime) - 0.5f; + lineRect.width = 2; + + GUI.color = Color.red; + GUI.DrawTexture(lineRect, EditorGUIUtility.whiteTexture); + GUI.color = Color.white; + + for (int i = 0; i < m_animEvents.Count; i++) { + //TODO: Tooltip + //Spine.Event spev = animEvents[i]; + + float fr = m_animEventFrames[i]; + + Rect evRect = new Rect(barRect); + evRect.x = Mathf.Clamp(((fr / t.Animation.Duration) * width) - (SpineEditorUtilities.Icons._event.width / 2), barRect.x, float.MaxValue); + evRect.width = SpineEditorUtilities.Icons._event.width; + evRect.height = SpineEditorUtilities.Icons._event.height; + evRect.y += SpineEditorUtilities.Icons._event.height; + GUI.DrawTexture(evRect, SpineEditorUtilities.Icons._event); + + + //TODO: Tooltip + /* + UnityEngine.Event ev = UnityEngine.Event.current; + if(ev.isMouse){ + if(evRect.Contains(ev.mousePosition)){ + Rect tooltipRect = new Rect(evRect); + tooltipRect.width = 500; + tooltipRect.y -= 4; + tooltipRect.x += 4; + GUI.Label(tooltipRect, spev.Data.Name); + } + } + */ + } + } + } + + void MouseScroll (Rect position) { + UnityEngine.Event current = UnityEngine.Event.current; + int controlID = GUIUtility.GetControlID(sliderHash, FocusType.Passive); + + switch (current.GetTypeForControl(controlID)) { + case EventType.ScrollWheel: + if (position.Contains(current.mousePosition)) { + + m_orthoGoal += current.delta.y * ((SkeletonDataAsset)target).scale * 10; + GUIUtility.hotControl = controlID; + current.Use(); + } + break; + } + + } + + //TODO: Implement preview panning + /* + static Vector2 Drag2D(Vector2 scrollPosition, Rect position) + { + int controlID = GUIUtility.GetControlID(sliderHash, FocusType.Passive); + UnityEngine.Event current = UnityEngine.Event.current; + switch (current.GetTypeForControl(controlID)) + { + case EventType.MouseDown: + if (position.Contains(current.mousePosition) && (position.width > 50f)) + { + GUIUtility.hotControl = controlID; + current.Use(); + EditorGUIUtility.SetWantsMouseJumping(1); + } + return scrollPosition; + + case EventType.MouseUp: + if (GUIUtility.hotControl == controlID) + { + GUIUtility.hotControl = 0; + } + EditorGUIUtility.SetWantsMouseJumping(0); + return scrollPosition; + + case EventType.MouseMove: + return scrollPosition; + + case EventType.MouseDrag: + if (GUIUtility.hotControl == controlID) + { + scrollPosition -= (Vector2) (((current.delta * (!current.shift ? ((float) 1) : ((float) 3))) / Mathf.Min(position.width, position.height)) * 140f); + scrollPosition.y = Mathf.Clamp(scrollPosition.y, -90f, 90f); + current.Use(); + GUI.changed = true; + } + return scrollPosition; + } + return scrollPosition; + } + */ + + public override GUIContent GetPreviewTitle () { + return new GUIContent("Preview"); + } + + public override void OnPreviewSettings () { + if (!m_initialized) { + GUILayout.HorizontalSlider(0, 0, 2, GUILayout.MaxWidth(64)); + } else { + float speed = GUILayout.HorizontalSlider(m_skeletonAnimation.timeScale, 0, 2, GUILayout.MaxWidth(64)); + + //snap to nearest 0.25 + float y = speed / 0.25f; + int q = Mathf.RoundToInt(y); + speed = q * 0.25f; + + m_skeletonAnimation.timeScale = speed; + } + } + + //TODO: Fix first-import error + //TODO: Update preview without thumbnail + public override Texture2D RenderStaticPreview (string assetPath, UnityEngine.Object[] subAssets, int width, int height) { + Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false); + + this.InitPreview(); + + if (this.m_previewUtility.m_Camera == null) + return null; + + m_requireRefresh = true; + this.DoRenderPreview(false); + AdjustCameraGoals(false); + + this.m_previewUtility.m_Camera.orthographicSize = m_orthoGoal / 2; + this.m_previewUtility.m_Camera.transform.position = m_posGoal; + this.m_previewUtility.BeginStaticPreview(new Rect(0, 0, width, height)); + this.DoRenderPreview(false); + + //TODO: Figure out why this is throwing errors on first attempt + // if(m_previewUtility != null){ + // Handles.SetCamera(this.m_previewUtility.m_Camera); + // Handles.BeginGUI(); + // GUI.DrawTexture(new Rect(40,60,width,height), SpineEditorUtilities.Icons.spine, ScaleMode.StretchToFill); + // Handles.EndGUI(); + // } + tex = this.m_previewUtility.EndStaticPreview(); + return tex; + } +} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs.meta index e7eaac24c..fba64b6e3 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs.meta +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cffb121e3cd80644d84c585b9c7448e8 +guid: 01cbef8f24d105f4bafa9668d669e040 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs new file mode 100644 index 000000000..7bb412ce6 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs @@ -0,0 +1,268 @@ +#pragma warning disable 0219 +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Spine Editor Utilities created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ +using UnityEngine; +using UnityEditor; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Spine; + +[InitializeOnLoad] +public class SpineEditorUtilities : AssetPostprocessor { + + public static class Icons { + public static Texture2D skeleton; + public static Texture2D nullBone; + public static Texture2D bone; + public static Texture2D poseBones; + public static Texture2D boneNib; + public static Texture2D slot; + public static Texture2D skinPlaceholder; + public static Texture2D image; + public static Texture2D boundingBox; + public static Texture2D mesh; + public static Texture2D skin; + public static Texture2D skinsRoot; + public static Texture2D animation; + public static Texture2D animationRoot; + public static Texture2D spine; + public static Texture2D _event; + public static Texture2D constraintNib; + public static Texture2D warning; + public static Texture2D skeletonUtility; + public static Texture2D hingeChain; + public static Texture2D subMeshRenderer; + + public static Mesh boneMesh { + get { + if (_boneMesh == null) { + _boneMesh = new Mesh(); + _boneMesh.vertices = new Vector3[4] { + Vector3.zero, + new Vector3(-0.1f, 0.1f, 0), + Vector3.up, + new Vector3(0.1f, 0.1f, 0) + }; + _boneMesh.uv = new Vector2[4]; + _boneMesh.triangles = new int[6]{0,1,2,2,3,0}; + _boneMesh.RecalculateBounds(); + _boneMesh.RecalculateNormals(); + } + + return _boneMesh; + } + } + + internal static Mesh _boneMesh; + + public static Material boneMaterial { + get { + if (_boneMaterial == null) { +#if UNITY_4_3 + _boneMaterial = new Material(Shader.Find("Particles/Alpha Blended")); + _boneMaterial.SetColor("_TintColor", new Color(0.4f, 0.4f, 0.4f, 0.25f)); +#else + _boneMaterial = new Material(Shader.Find("Spine/Bones")); + _boneMaterial.SetColor("_Color", new Color(0.4f, 0.4f, 0.4f, 0.25f)); +#endif + + } + + return _boneMaterial; + } + } + + internal static Material _boneMaterial; + + public static void Initialize () { + skeleton = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skeleton.png"); + nullBone = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-null.png"); + bone = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-bone.png"); + poseBones = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-poseBones.png"); + boneNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-boneNib.png"); + slot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-slot.png"); + skinPlaceholder = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); + image = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-image.png"); + boundingBox = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-boundingBox.png"); + mesh = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-mesh.png"); + skin = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinPlaceholder.png"); + skinsRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skinsRoot.png"); + animation = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-animation.png"); + animationRoot = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-animationRoot.png"); + spine = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-spine.png"); + _event = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-event.png"); + constraintNib = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-constraintNib.png"); + warning = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-warning.png"); + skeletonUtility = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-skeletonUtility.png"); + hingeChain = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-hingeChain.png"); + subMeshRenderer = (Texture2D)AssetDatabase.LoadMainAssetAtPath(SpineEditorUtilities.editorGUIPath + "/icon-subMeshRenderer.png"); + } + } + + public static string editorPath = ""; + public static string editorGUIPath = ""; + static Dictionary skeletonRendererTable; + static Dictionary skeletonUtilityBoneTable; + public static float defaultScale = 0.01f; + public static float defaultMix = 0.2f; + public static string defaultShader = "Spine/Skeleton"; + + static SpineEditorUtilities () { + DirectoryInfo rootDir = new DirectoryInfo(Application.dataPath); + FileInfo[] files = rootDir.GetFiles("SpineEditorUtilities.cs", SearchOption.AllDirectories); + editorPath = Path.GetDirectoryName(files[0].FullName.Replace("\\", "/").Replace(Application.dataPath, "Assets")); + editorGUIPath = editorPath + "/GUI"; + + Icons.Initialize(); + + skeletonRendererTable = new Dictionary(); + skeletonUtilityBoneTable = new Dictionary(); + + EditorApplication.hierarchyWindowChanged += HierarchyWindowChanged; + EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI; + + HierarchyWindowChanged(); + } + + static void HierarchyWindowChanged () { + skeletonRendererTable.Clear(); + skeletonUtilityBoneTable.Clear(); + + SkeletonRenderer[] arr = Object.FindObjectsOfType(); + + foreach (SkeletonRenderer r in arr) + skeletonRendererTable.Add(r.gameObject.GetInstanceID(), r.gameObject); + + SkeletonUtilityBone[] boneArr = Object.FindObjectsOfType(); + foreach (SkeletonUtilityBone b in boneArr) + skeletonUtilityBoneTable.Add(b.gameObject.GetInstanceID(), b); + } + + static void HierarchyWindowItemOnGUI (int instanceId, Rect selectionRect) { + if (skeletonRendererTable.ContainsKey(instanceId)) { + Rect r = new Rect(selectionRect); + r.x = r.width - 15; + r.width = 15; + + GUI.Label(r, Icons.spine); + } else if (skeletonUtilityBoneTable.ContainsKey(instanceId)) { + Rect r = new Rect(selectionRect); + r.x -= 26; + + if (skeletonUtilityBoneTable[instanceId] != null) { + if (skeletonUtilityBoneTable[instanceId].transform.childCount == 0) + r.x += 13; + + r.y += 2; + + r.width = 13; + r.height = 13; + + if (skeletonUtilityBoneTable[instanceId].mode == SkeletonUtilityBone.Mode.Follow) { + GUI.DrawTexture(r, Icons.bone); + } else { + GUI.DrawTexture(r, Icons.poseBones); + } + } + + } + + } + + [MenuItem("Assets/Spine/Spawn")] + static void SpawnAnimatedSkeleton () { + Object[] arr = Selection.objects; + foreach (Object o in arr) { + string guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(o)); + string skinName = EditorPrefs.GetString(guid + "_lastSkin", ""); + + SpawnAnimatedSkeleton((SkeletonDataAsset)o, skinName); + SceneView.RepaintAll(); + } + } + + [MenuItem("Assets/Spine/Spawn", true)] + static bool ValidateSpawnAnimatedSkeleton () { + Object[] arr = Selection.objects; + + if (arr.Length == 0) + return false; + + foreach (Object o in arr) { + if (o.GetType() != typeof(SkeletonDataAsset)) + return false; + } + + return true; + } + + public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, string skinName) { + return SpawnAnimatedSkeleton(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); + } + + public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, Skin skin = null) { + GameObject go = new GameObject(skeletonDataAsset.name.Replace("_SkeletonData", ""), typeof(MeshFilter), typeof(MeshRenderer), typeof(SkeletonAnimation)); + SkeletonAnimation anim = go.GetComponent(); + anim.skeletonDataAsset = skeletonDataAsset; + + + + SkeletonData data = skeletonDataAsset.GetSkeletonData(true); + + if (data == null) { + return null; + } + + if (skin == null) + skin = data.DefaultSkin; + + if (skin == null) + skin = data.Skins[0]; + + anim.Reset(); + + anim.skeleton.SetSkin(skin); + anim.initialSkinName = skin.Name; + + anim.skeleton.Update(1); + anim.state.Update(1); + anim.state.Apply(anim.skeleton); + anim.skeleton.UpdateWorldTransform(); + + return anim; + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta new file mode 100644 index 000000000..544e47769 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f834d5cd806ec4645915ac315edbdc60 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader b/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader new file mode 100644 index 000000000..61fc977e5 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader @@ -0,0 +1,69 @@ +Shader "Spine/Bones" { +Properties { + _Color ("Color", Color) = (0.5,0.5,0.5,0.5) + _MainTex ("Particle Texture", 2D) = "white" {} +} + +Category { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + AlphaTest Greater .01 + ColorMask RGB + + Lighting Off Cull Off ZTest Always ZWrite Off Fog { Mode Off } + + SubShader { + Pass { + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_particles + + #include "UnityCG.cginc" + + sampler2D _MainTex; + fixed4 _Color; + + struct appdata_t { + float4 vertex : POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + struct v2f { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + #ifdef SOFTPARTICLES_ON + float4 projPos : TEXCOORD1; + #endif + }; + + float4 _MainTex_ST; + + v2f vert (appdata_t v) + { + v2f o; + o.vertex = mul(UNITY_MATRIX_MVP, v.vertex); + #ifdef SOFTPARTICLES_ON + o.projPos = ComputeScreenPos (o.vertex); + COMPUTE_EYEDEPTH(o.projPos.z); + #endif + o.color = v.color; + o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex); + return o; + } + + sampler2D_float _CameraDepthTexture; + + + fixed4 frag (v2f i) : SV_Target + { + return 2.0f * i.color * _Color * tex2D(_MainTex, i.texcoord); + } + ENDCG + } + } +} +} diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader.meta new file mode 100644 index 000000000..d01814ef9 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 66988de88a15abd4e8846c6805485f57 +ShaderImporter: + defaultTextures: [] + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat new file mode 100644 index 0000000000000000000000000000000000000000..31cf39d9972a7839972b6b5bf7d5263c728f8252 GIT binary patch literal 4288 zcmeHK+j87Q5FHZ&xj-P?!zEcD+`&NX0D;8u1#fUsAxoTu$E~q7@`~D(T%%dz!xv;41U<%ineF5z>14T6qyDX}AI-M= zCQD3rsCP>BC_&&5f~VJeJ!h}3Cz&hk`o1&dq{x?Oe9xLxZ}qe_xf5R;w^UCb%8 zC15ujnvJhH4yV<`kw^mSX*Z}rNC+ay2#AxB$cH&> z|M3W@bT-R(X!hUfkuZ&z5YDoa=Zdv@qU4U%pv7w_om*B7CuR1tVLna~03uTreS4s- zO0?75ds;fD5KPAAKqtn64AGc`CjvCoC<#vnAYnH`!kGwYkLsqdO~h}_nZ z092~OyCoeK+Npg$JKk>D(G>fH?e9eFL7-b{T2evc7<;#c#N@(A@3rh`hLPTn*rj~C z$XBZOgAi27TDNQ9L&AVKCXXr9+h>Q@=F7)Z@oktf*=;9&O`>~)KIEJ;W_mc>w zo%yGANQ{qG@1?+r&wjdk7a|B@xvpEh7Z(Fit=1>SS}`oFP<=TBRl-F(;m-)e$pTB5 zBUFD51Bp)-`ZU#Fpo@eN)qfroR~UQ<$FMflUq&$P%)cUx&pb-?)xe3*ewylQ5d`yh z`^M^uKPK?DS_*(lb$DONnpoDa2lhF#L&Uzr_GRwz`F6M^_AR!r{HtBFeKlf77pB!Y z-GQp^(}lMcF7&H&Yd;+S?ZTBCzbu{{{QB3Qf8cDJ$&7&+12YC@4E$diz^@|xv?nI- z>9VYk`lSt?4nEs)^y6c$e^X~UeY&!NZxy|zaEahWk3Zc0+SnCos(yd);2MwH$oIPR hO9?D6_*L%nOOX^F@BLKQkxTy$ecCp51^@n1{{ZTN@%aD% literal 0 HcmV?d00001 diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta new file mode 100644 index 000000000..ef267ef07 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 43227e5adadc6f24bb4bf74b92a56fb4 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader new file mode 100644 index 000000000..3a0de6756 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader @@ -0,0 +1,21 @@ +Shader "Spine/HiddenPass" { + SubShader + + { + + Tags {"Queue" = "Geometry-1" } + + Lighting Off + + Pass + + { + + ZWrite Off + + ColorMask 0 + + } + + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader.meta new file mode 100644 index 000000000..bcc031d30 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: 913475501bf19374c84390868a9d6d3d +ShaderImporter: + defaultTextures: [] + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs index 8810a5383..0c4c9a44f 100644 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs @@ -41,18 +41,23 @@ public class SkeletonAnimation : SkeletonRenderer { public bool loop; public Spine.AnimationState state; - public delegate void UpdateBonesDelegate(SkeletonAnimation skeleton); - public UpdateBonesDelegate UpdateBones; + public delegate void UpdateBonesDelegate (SkeletonAnimation skeleton); + public UpdateBonesDelegate UpdateLocal; + public UpdateBonesDelegate UpdateWorld; + public UpdateBonesDelegate UpdateComplete; [SerializeField] - private String _animationName; + private String + _animationName; + public String AnimationName { get { TrackEntry entry = state.GetCurrent(0); return entry == null ? null : entry.Animation.Name; } set { - if (_animationName == value) return; + if (_animationName == value) + return; _animationName = value; if (value == null || value.Length == 0) state.ClearTrack(0); @@ -63,7 +68,8 @@ public class SkeletonAnimation : SkeletonRenderer { public override void Reset () { base.Reset(); - if (!valid) return; + if (!valid) + return; state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); if (_animationName != null && _animationName.Length > 0) { @@ -77,13 +83,26 @@ public class SkeletonAnimation : SkeletonRenderer { } public virtual void Update (float deltaTime) { - if (!valid) return; + if (!valid) + return; deltaTime *= timeScale; skeleton.Update(deltaTime); state.Update(deltaTime); state.Apply(skeleton); - if (UpdateBones != null) UpdateBones(this); + + if (UpdateLocal != null) + UpdateLocal(this); + skeleton.UpdateWorldTransform(); + + if (UpdateWorld != null) { + UpdateWorld(this); + skeleton.UpdateWorldTransform(); + } + + if (UpdateComplete != null) { + UpdateComplete(this); + } } } diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs index 9323a2d31..3e760787e 100644 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs @@ -53,14 +53,14 @@ public class SkeletonDataAsset : ScriptableObject { public SkeletonData GetSkeletonData (bool quiet) { if (spriteCollection == null) { if (!quiet) - Debug.LogError("Sprite collection not set for skeleton data asset: " + name, this); + Debug.LogError("SpriteCollection not set for SkeletonData asset: " + name, this); Reset(); return null; } - + if (skeletonJSON == null) { if (!quiet) - Debug.LogError("Skeleton JSON file not set for skeleton data asset: " + name, this); + Debug.LogError("Skeleton JSON file not set for SkeletonData asset: " + name, this); Reset(); return null; } @@ -81,7 +81,8 @@ public class SkeletonDataAsset : ScriptableObject { stateData = new AnimationStateData(skeletonData); stateData.DefaultMix = defaultMix; for (int i = 0, n = fromAnimation.Length; i < n; i++) { - if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) continue; + if (fromAnimation[i].Length == 0 || toAnimation[i].Length == 0) + continue; stateData.SetMix(fromAnimation[i], toAnimation[i], duration[i]); } diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs new file mode 100644 index 000000000..a483e47e6 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs @@ -0,0 +1,108 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Spine Extensions created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; +using Spine; + +public static class SkeletonExtensions { + + public static void SetColor (this Slot slot, Color color) { + slot.A = color.a; + slot.R = color.r; + slot.G = color.g; + slot.B = color.b; + } + + public static void SetColor (this Slot slot, Color32 color) { + slot.A = color.a / 255f; + slot.R = color.r / 255f; + slot.G = color.g / 255f; + slot.B = color.b / 255f; + } + + public static void SetColor (this RegionAttachment attachment, Color color) { + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor (this RegionAttachment attachment, Color32 color) { + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetColor (this MeshAttachment attachment, Color color) { + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor (this MeshAttachment attachment, Color32 color) { + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetColor (this SkinnedMeshAttachment attachment, Color color) { + attachment.A = color.a; + attachment.R = color.r; + attachment.G = color.g; + attachment.B = color.b; + } + + public static void SetColor (this SkinnedMeshAttachment attachment, Color32 color) { + attachment.A = color.a / 255f; + attachment.R = color.r / 255f; + attachment.G = color.g / 255f; + attachment.B = color.b / 255f; + } + + public static void SetPosition (this Bone bone, Vector2 position) { + bone.X = position.x; + bone.Y = position.y; + } + + public static void SetPosition (this Bone bone, Vector3 position) { + bone.X = position.x; + bone.Y = position.y; + } + +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs.meta new file mode 100644 index 000000000..427cdd10a --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea85c8f6a91a6ab45881b0dbdaabb7d0 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs index 355ac0e46..5f4da3adb 100644 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs @@ -37,17 +37,20 @@ using Spine; /// Renders a skeleton. [ExecuteInEditMode, RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))] public class SkeletonRenderer : MonoBehaviour { + + public delegate void SkeletonRendererDelegate (SkeletonRenderer skeletonRenderer); + + public SkeletonRendererDelegate OnReset; [System.NonSerialized] public bool valid; [System.NonSerialized] public Skeleton skeleton; - public SkeletonDataAsset skeletonDataAsset; public String initialSkinName; public bool calculateNormals, calculateTangents; public float zSpacing; public bool renderMeshes = true, immutableTriangles; - + public bool logErrors = false; private MeshFilter meshFilter; private Mesh mesh, mesh1, mesh2; private bool useMesh1; @@ -61,9 +64,12 @@ public class SkeletonRenderer : MonoBehaviour { private readonly List submeshes = new List(); public virtual void Reset () { - if (meshFilter != null) meshFilter.sharedMesh = null; - if (mesh != null) DestroyImmediate(mesh); - if (renderer != null) renderer.sharedMaterial = null; + if (meshFilter != null) + meshFilter.sharedMesh = null; + if (mesh != null) + DestroyImmediate(mesh); + if (renderer != null) + renderer.sharedMaterial = null; mesh = null; mesh1 = null; mesh2 = null; @@ -78,11 +84,14 @@ public class SkeletonRenderer : MonoBehaviour { valid = false; if (!skeletonDataAsset) { - Debug.LogError("Missing SkeletonData asset.", this); + if (logErrors) + Debug.LogError("Missing SkeletonData asset.", this); + return; } SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) return; + if (skeletonData == null) + return; valid = true; meshFilter = GetComponent(); @@ -93,6 +102,8 @@ public class SkeletonRenderer : MonoBehaviour { skeleton = new Skeleton(skeletonData); if (initialSkinName != null && initialSkinName.Length > 0 && initialSkinName != "default") skeleton.SetSkin(initialSkinName); + if (OnReset != null) + OnReset(this); } public void Awake () { @@ -108,8 +119,8 @@ public class SkeletonRenderer : MonoBehaviour { } public virtual void LateUpdate () { - if (!valid) return; - + if (!valid) + return; // Count vertices and submesh triangles. int vertexCount = 0; int submeshTriangleCount = 0, submeshFirstVertex = 0, submeshStartSlotIndex = 0; @@ -119,7 +130,8 @@ public class SkeletonRenderer : MonoBehaviour { int drawOrderCount = drawOrder.Count; bool renderMeshes = this.renderMeshes; for (int i = 0; i < drawOrderCount; i++) { - Attachment attachment = drawOrder[i].attachment; + Slot slot = drawOrder[i]; + Attachment attachment = slot.attachment; object rendererObject; int attachmentVertexCount, attachmentTriangleCount; @@ -129,24 +141,25 @@ public class SkeletonRenderer : MonoBehaviour { attachmentVertexCount = 4; attachmentTriangleCount = 6; } else { - if (!renderMeshes) continue; + if (!renderMeshes) + continue; if (attachment is MeshAttachment) { MeshAttachment meshAttachment = (MeshAttachment)attachment; rendererObject = meshAttachment.RendererObject; attachmentVertexCount = meshAttachment.vertices.Length >> 1; attachmentTriangleCount = meshAttachment.triangles.Length; } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - rendererObject = meshAttachment.RendererObject; - attachmentVertexCount = meshAttachment.uvs.Length >> 1; - attachmentTriangleCount = meshAttachment.triangles.Length; - } else - continue; + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + rendererObject = meshAttachment.RendererObject; + attachmentVertexCount = meshAttachment.uvs.Length >> 1; + attachmentTriangleCount = meshAttachment.triangles.Length; + } else + continue; } // Populate submesh when material changes. Material material = (Material)rendererObject; - if (lastMaterial != material && lastMaterial != null) { + if ((lastMaterial != material && lastMaterial != null) || slot.Data.name[0] == '*') { AddSubmesh(lastMaterial, submeshStartSlotIndex, i, submeshTriangleCount, submeshFirstVertex, false); submeshTriangleCount = 0; submeshFirstVertex = vertexCount; @@ -209,7 +222,8 @@ public class SkeletonRenderer : MonoBehaviour { color.r = (byte)(r * slot.r * regionAttachment.r * color.a); color.g = (byte)(g * slot.g * regionAttachment.g * color.a); color.b = (byte)(b * slot.b * regionAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + if (slot.data.additiveBlending) + color.a = 0; colors[vertexIndex] = color; colors[vertexIndex + 1] = color; colors[vertexIndex + 2] = color; @@ -223,18 +237,21 @@ public class SkeletonRenderer : MonoBehaviour { vertexIndex += 4; } else { - if (!renderMeshes) continue; + if (!renderMeshes) + continue; if (attachment is MeshAttachment) { MeshAttachment meshAttachment = (MeshAttachment)attachment; int meshVertexCount = meshAttachment.vertices.Length; - if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; + if (tempVertices.Length < meshVertexCount) + tempVertices = new float[meshVertexCount]; meshAttachment.ComputeWorldVertices(slot, tempVertices); color.a = (byte)(a * slot.a * meshAttachment.a); color.r = (byte)(r * slot.r * meshAttachment.r * color.a); color.g = (byte)(g * slot.g * meshAttachment.g * color.a); color.b = (byte)(b * slot.b * meshAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + if (slot.data.additiveBlending) + color.a = 0; float[] meshUVs = meshAttachment.uvs; float z = i * zSpacing; @@ -244,25 +261,27 @@ public class SkeletonRenderer : MonoBehaviour { uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); } } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - int meshVertexCount = meshAttachment.uvs.Length; - if (tempVertices.Length < meshVertexCount) tempVertices = new float[meshVertexCount]; - meshAttachment.ComputeWorldVertices(slot, tempVertices); + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + int meshVertexCount = meshAttachment.uvs.Length; + if (tempVertices.Length < meshVertexCount) + tempVertices = new float[meshVertexCount]; + meshAttachment.ComputeWorldVertices(slot, tempVertices); - color.a = (byte)(a * slot.a * meshAttachment.a); - color.r = (byte)(r * slot.r * meshAttachment.r * color.a); - color.g = (byte)(g * slot.g * meshAttachment.g * color.a); - color.b = (byte)(b * slot.b * meshAttachment.b * color.a); - if (slot.data.additiveBlending) color.a = 0; + color.a = (byte)(a * slot.a * meshAttachment.a); + color.r = (byte)(r * slot.r * meshAttachment.r * color.a); + color.g = (byte)(g * slot.g * meshAttachment.g * color.a); + color.b = (byte)(b * slot.b * meshAttachment.b * color.a); + if (slot.data.additiveBlending) + color.a = 0; - float[] meshUVs = meshAttachment.uvs; - float z = i * zSpacing; - for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { - vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); - colors[vertexIndex] = color; - uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + float[] meshUVs = meshAttachment.uvs; + float z = i * zSpacing; + for (int ii = 0; ii < meshVertexCount; ii += 2, vertexIndex++) { + vertices[vertexIndex] = new Vector3(tempVertices[ii], tempVertices[ii + 1], z); + colors[vertexIndex] = color; + uvs[vertexIndex] = new Vector2(meshUVs[ii], meshUVs[ii + 1]); + } } - } } } @@ -310,7 +329,7 @@ public class SkeletonRenderer : MonoBehaviour { if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh()); else if (immutableTriangles) - return; + return; Submesh submesh = submeshes[submeshIndex]; @@ -322,10 +341,10 @@ public class SkeletonRenderer : MonoBehaviour { triangles[i] = 0; submesh.triangleCount = triangleCount; } else if (trianglesCapacity != triangleCount) { - // Reallocate triangles when not the exact size needed. - submesh.triangles = triangles = new int[triangleCount]; - submesh.triangleCount = 0; - } + // Reallocate triangles when not the exact size needed. + submesh.triangles = triangles = new int[triangleCount]; + submesh.triangleCount = 0; + } if (!renderMeshes) { // Use stored triangles if possible. @@ -366,18 +385,18 @@ public class SkeletonRenderer : MonoBehaviour { attachmentVertexCount = meshAttachment.vertices.Length >> 1; attachmentTriangles = meshAttachment.triangles; } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - attachmentVertexCount = meshAttachment.uvs.Length >> 1; - attachmentTriangles = meshAttachment.triangles; - } else - continue; + SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; + attachmentVertexCount = meshAttachment.uvs.Length >> 1; + attachmentTriangles = meshAttachment.triangles; + } else + continue; for (int ii = 0, nn = attachmentTriangles.Length; ii < nn; ii++, triangleIndex++) triangles[triangleIndex] = firstVertex + attachmentTriangles[ii]; firstVertex += attachmentVertexCount; } } - #if UNITY_EDITOR +#if UNITY_EDITOR void OnDrawGizmos() { // Make selection easier by drawing a clear gizmo over the skeleton. if (vertices == null) return; @@ -397,7 +416,7 @@ public class SkeletonRenderer : MonoBehaviour { Gizmos.matrix = transform.localToWorldMatrix; Gizmos.DrawCube(gizmosCenter, gizmosSize); } - #endif +#endif } class Submesh { diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta new file mode 100644 index 000000000..d690c94de --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: f6e0caaafe294de48af468a6a9321473 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor.meta new file mode 100644 index 000000000..386e1e90b --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor.meta @@ -0,0 +1,5 @@ +fileFormatVersion: 2 +guid: a751a9d1e3e26d64d997b66a781df8e9 +folderAsset: yes +DefaultImporter: + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs new file mode 100644 index 000000000..a6950aa84 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -0,0 +1,304 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Skeleton Utility created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ +using UnityEngine; +using UnityEditor; +using System.Collections; +using System.Collections.Generic; +using Spine; + +[CustomEditor(typeof(SkeletonUtilityBone)), CanEditMultipleObjects] +public class SkeletonUtilityBoneInspector : Editor { + SerializedProperty mode, boneName, zPosition, position, rotation, scale, overrideAlpha, parentReference, flip, flipX; + + //multi selected flags + bool containsFollows, containsOverrides, multiObject; + + //single selected helpers + SkeletonUtilityBone utilityBone; + SkeletonUtility skeletonUtility; + bool canCreateHingeChain = false; + + void OnEnable () { + mode = this.serializedObject.FindProperty("mode"); + boneName = this.serializedObject.FindProperty("boneName"); + zPosition = this.serializedObject.FindProperty("zPosition"); + position = this.serializedObject.FindProperty("position"); + rotation = this.serializedObject.FindProperty("rotation"); + scale = this.serializedObject.FindProperty("scale"); + overrideAlpha = this.serializedObject.FindProperty("overrideAlpha"); + parentReference = this.serializedObject.FindProperty("parentReference"); + flip = this.serializedObject.FindProperty("flip"); + flipX = this.serializedObject.FindProperty("flipX"); + + EvaluateFlags(); + + if (utilityBone.valid == false && skeletonUtility != null && skeletonUtility.skeletonRenderer != null) { + skeletonUtility.skeletonRenderer.Reset(); + } + + canCreateHingeChain = CanCreateHingeChain(); + } + + void EvaluateFlags () { + utilityBone = (SkeletonUtilityBone)target; + skeletonUtility = utilityBone.skeletonUtility; + + if (Selection.objects.Length == 1) { + containsFollows = utilityBone.mode == SkeletonUtilityBone.Mode.Follow; + containsOverrides = utilityBone.mode == SkeletonUtilityBone.Mode.Override; + } else { + int boneCount = 0; + foreach (Object o in Selection.objects) { + if (o is GameObject) { + GameObject go = (GameObject)o; + SkeletonUtilityBone sub = go.GetComponent(); + if (sub != null) { + boneCount++; + if (sub.mode == SkeletonUtilityBone.Mode.Follow) + containsFollows = true; + if (sub.mode == SkeletonUtilityBone.Mode.Override) + containsOverrides = true; + } + } + } + + if (boneCount > 1) + multiObject = true; + } + } + + public override void OnInspectorGUI () { + serializedObject.Update(); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(mode); + if (EditorGUI.EndChangeCheck()) { + containsOverrides = mode.enumValueIndex == 1; + containsFollows = mode.enumValueIndex == 0; + } + + EditorGUI.BeginDisabledGroup(multiObject); + { + string str = boneName.stringValue; + if (str == "") + str = ""; + if (multiObject) + str = ""; + + GUILayout.BeginHorizontal(); + EditorGUILayout.PrefixLabel("Bone"); + + if (GUILayout.Button(str, EditorStyles.popup)) { + BoneSelectorContextMenu(str, ((SkeletonUtilityBone)target).skeletonUtility.skeletonRenderer.skeleton.Bones, "", TargetBoneSelected); + } + + GUILayout.EndHorizontal(); + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.PropertyField(zPosition); + EditorGUILayout.PropertyField(position); + EditorGUILayout.PropertyField(rotation); + EditorGUILayout.PropertyField(scale); + EditorGUILayout.PropertyField(flip); + + EditorGUI.BeginDisabledGroup(containsFollows); + { + EditorGUILayout.PropertyField(overrideAlpha); + EditorGUILayout.PropertyField(parentReference); + + EditorGUI.BeginDisabledGroup(multiObject || !flip.boolValue); + { + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(flipX); + if (EditorGUI.EndChangeCheck()) { + FlipX(flipX.boolValue); + } + } + EditorGUI.EndDisabledGroup(); + + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.Space(); + + GUILayout.BeginHorizontal(); + { + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || utilityBone.bone == null || utilityBone.bone.Children.Count == 0); + { + if (GUILayout.Button(new GUIContent("Add Child", SpineEditorUtilities.Icons.bone), GUILayout.Width(150), GUILayout.Height(24))) + BoneSelectorContextMenu("", utilityBone.bone.Children, "", SpawnChildBoneSelected); + } + EditorGUI.EndDisabledGroup(); + + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || utilityBone.bone == null || containsOverrides); + { + if (GUILayout.Button(new GUIContent("Add Override", SpineEditorUtilities.Icons.poseBones), GUILayout.Width(150), GUILayout.Height(24))) + SpawnOverride(); + } + EditorGUI.EndDisabledGroup(); + + EditorGUI.BeginDisabledGroup(multiObject || !utilityBone.valid || !canCreateHingeChain); + { + if (GUILayout.Button(new GUIContent("Create Hinge Chain", SpineEditorUtilities.Icons.hingeChain), GUILayout.Width(150), GUILayout.Height(24))) + CreateHingeChain(); + } + EditorGUI.EndDisabledGroup(); + + } + GUILayout.EndHorizontal(); + + serializedObject.ApplyModifiedProperties(); + } + + void FlipX (bool state) { + utilityBone.FlipX(state); + if (Application.isPlaying == false) { + skeletonUtility.skeletonAnimation.LateUpdate(); + } + } + + void BoneSelectorContextMenu (string current, List bones, string topValue, GenericMenu.MenuFunction2 callback) { + GenericMenu menu = new GenericMenu(); + + if (topValue != "") + menu.AddItem(new GUIContent(topValue), current == topValue, callback, null); + + for (int i = 0; i < bones.Count; i++) { + menu.AddItem(new GUIContent(bones[i].Data.Name), bones[i].Data.Name == current, callback, bones[i]); + } + + menu.ShowAsContext(); + + } + + void TargetBoneSelected (object obj) { + if (obj == null) { + boneName.stringValue = ""; + serializedObject.ApplyModifiedProperties(); + } else { + Bone bone = (Bone)obj; + boneName.stringValue = bone.Data.Name; + serializedObject.ApplyModifiedProperties(); + + utilityBone.Reset(); + } + } + + void SpawnChildBoneSelected (object obj) { + if (obj == null) { + //add recursively + foreach (var bone in utilityBone.bone.Children) { + GameObject go = skeletonUtility.SpawnBoneRecursively(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); + SkeletonUtilityBone[] newUtilityBones = go.GetComponentsInChildren(); + foreach (SkeletonUtilityBone utilBone in newUtilityBones) + SkeletonUtilityInspector.AttachIcon(utilBone); + } + } else { + Bone bone = (Bone)obj; + GameObject go = skeletonUtility.SpawnBone(bone, utilityBone.transform, utilityBone.mode, utilityBone.position, utilityBone.rotation, utilityBone.scale); + SkeletonUtilityInspector.AttachIcon(go.GetComponent()); + Selection.activeGameObject = go; + EditorGUIUtility.PingObject(go); + } + } + + void SpawnOverride () { + GameObject go = skeletonUtility.SpawnBone(utilityBone.bone, utilityBone.transform.parent, SkeletonUtilityBone.Mode.Override, utilityBone.position, utilityBone.rotation, utilityBone.scale); + go.name = go.name + " [Override]"; + SkeletonUtilityInspector.AttachIcon(go.GetComponent()); + Selection.activeGameObject = go; + EditorGUIUtility.PingObject(go); + } + + bool CanCreateHingeChain () { + if (utilityBone == null) + return false; + if (utilityBone.rigidbody != null) + return false; + if (utilityBone.bone != null && utilityBone.bone.Children.Count == 0) + return false; + + Rigidbody[] rigidbodies = utilityBone.GetComponentsInChildren(); + + if (rigidbodies.Length > 0) + return false; + + return true; + } + + void CreateHingeChain () { + var utilBoneArr = utilityBone.GetComponentsInChildren(); + + foreach (var utilBone in utilBoneArr) { + AttachRigidbody(utilBone); + } + + utilityBone.rigidbody.isKinematic = true; + + foreach (var utilBone in utilBoneArr) { + if (utilBone == utilityBone) + continue; + + utilBone.mode = SkeletonUtilityBone.Mode.Override; + + HingeJoint joint = utilBone.gameObject.AddComponent(); + joint.axis = Vector3.forward; + joint.connectedBody = utilBone.transform.parent.rigidbody; + joint.useLimits = true; + JointLimits limits = new JointLimits(); + limits.min = -20; + limits.max = 20; + joint.limits = limits; + utilBone.rigidbody.mass = utilBone.transform.parent.rigidbody.mass * 0.75f; + } + } + + void AttachRigidbody (SkeletonUtilityBone utilBone) { + if (utilBone.GetComponent() == null) { + if (utilBone.bone.Data.Length == 0) { + SphereCollider sphere = utilBone.gameObject.AddComponent(); + sphere.radius = 0.1f; + } else { + float length = utilBone.bone.Data.Length; + BoxCollider box = utilBone.gameObject.AddComponent(); + box.size = new Vector3(length, length / 3, 0.2f); + box.center = new Vector3(length / 2, 0, 0); + } + } + + utilBone.gameObject.AddComponent(); + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs.meta new file mode 100644 index 000000000..340d6e2eb --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b3ae20b4bcc31f645afd6f5b64f82473 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs new file mode 100644 index 000000000..4c6d02d09 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs @@ -0,0 +1,311 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Skeleton Utility created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ +using UnityEngine; +using UnityEditor; + +#if UNITY_4_3 +//nothing +#else +using UnityEditor.AnimatedValues; +#endif +using System.Collections; +using System.Collections.Generic; +using Spine; + +using System.Reflection; + +[CustomEditor(typeof(SkeletonUtility))] +public class SkeletonUtilityInspector : Editor { + + public static void AttachIcon (SkeletonUtilityBone utilityBone) { + Skeleton skeleton = utilityBone.skeletonUtility.skeletonRenderer.skeleton; + Texture2D icon; + if (utilityBone.bone.Data.Length == 0) + icon = SpineEditorUtilities.Icons.nullBone; + else + icon = SpineEditorUtilities.Icons.boneNib; + + foreach (IkConstraint c in skeleton.IkConstraints) { + if (c.Target == utilityBone.bone) { + icon = SpineEditorUtilities.Icons.constraintNib; + break; + } + } + + + + typeof(EditorGUIUtility).InvokeMember("SetIconForObject", BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic, null, null, new object[2] { + utilityBone.gameObject, + icon + }); + } + + static void AttachIconsToChildren (Transform root) { + if (root != null) { + var utilityBones = root.GetComponentsInChildren(); + foreach (var utilBone in utilityBones) { + AttachIcon(utilBone); + } + } + } + + static SkeletonUtilityInspector () { + #if UNITY_4_3 + showSlots = false; + #else + showSlots = new AnimBool(false); + #endif + } + + SkeletonUtility skeletonUtility; + Skeleton skeleton; + SkeletonRenderer skeletonRenderer; + Transform transform; + bool isPrefab; + Dictionary> attachmentTable = new Dictionary>(); + + + //GUI stuff +#if UNITY_4_3 + static bool showSlots; +#else + static AnimBool showSlots; +#endif + + void OnEnable () { + skeletonUtility = (SkeletonUtility)target; + skeletonRenderer = skeletonUtility.GetComponent(); + skeleton = skeletonRenderer.skeleton; + transform = skeletonRenderer.transform; + + if (skeleton == null) { + skeletonRenderer.Reset(); + skeletonRenderer.LateUpdate(); + + skeleton = skeletonRenderer.skeleton; + } + + UpdateAttachments(); + + if (PrefabUtility.GetPrefabType(this.target) == PrefabType.Prefab) + isPrefab = true; + + } + + void OnDestroy () { + + } + + void OnSceneGUI () { + if (skeleton == null) { + OnEnable(); + return; + } + + float flipRotation = skeleton.FlipX ? -1 : 1; + + foreach (Bone b in skeleton.Bones) { + Vector3 vec = transform.TransformPoint(new Vector3(b.WorldX, b.WorldY, 0)); + + Quaternion rot = Quaternion.Euler(0, 0, b.WorldRotation * flipRotation); + Vector3 forward = transform.TransformDirection(rot * Vector3.right); + forward *= flipRotation; + + SpineEditorUtilities.Icons.boneMaterial.SetPass(0); + Graphics.DrawMeshNow(SpineEditorUtilities.Icons.boneMesh, Matrix4x4.TRS(vec, Quaternion.LookRotation(transform.forward, forward), Vector3.one * b.Data.Length * b.WorldScaleX)); + } + } + + void UpdateAttachments () { + attachmentTable = new Dictionary>(); + Skin skin = skeleton.Skin; + + if (skin == null) { + skin = skeletonRenderer.skeletonDataAsset.GetSkeletonData(true).DefaultSkin; + } + + for (int i = skeleton.Slots.Count-1; i >= 0; i--) { + List attachments = new List(); + skin.FindAttachmentsForSlot(i, attachments); + + attachmentTable.Add(skeleton.Slots[i], attachments); + } + } + + void SpawnHierarchyButton (string label, string tooltip, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca, params GUILayoutOption[] options) { + GUIContent content = new GUIContent(label, tooltip); + if (GUILayout.Button(content, options)) { + if (skeletonUtility.skeletonRenderer == null) + skeletonUtility.skeletonRenderer = skeletonUtility.GetComponent(); + + if (skeletonUtility.boneRoot != null) { + return; + } + + skeletonUtility.SpawnHierarchy(mode, pos, rot, sca); + + SkeletonUtilityBone[] boneComps = skeletonUtility.GetComponentsInChildren(); + foreach (SkeletonUtilityBone b in boneComps) + AttachIcon(b); + } + } + + public override void OnInspectorGUI () { + if (isPrefab) { + GUILayout.Label(new GUIContent("Cannot edit Prefabs", SpineEditorUtilities.Icons.warning)); + return; + } + + skeletonUtility.boneRoot = (Transform)EditorGUILayout.ObjectField("Bone Root", skeletonUtility.boneRoot, typeof(Transform), true); + + GUILayout.BeginHorizontal(); + EditorGUI.BeginDisabledGroup(skeletonUtility.boneRoot != null); + { + if (GUILayout.Button(new GUIContent("Spawn Hierarchy", SpineEditorUtilities.Icons.skeleton), GUILayout.Width(150), GUILayout.Height(24))) + SpawnHierarchyContextMenu(); + } + EditorGUI.EndDisabledGroup(); + + if (GUILayout.Button(new GUIContent("Spawn Submeshes", SpineEditorUtilities.Icons.subMeshRenderer), GUILayout.Width(150), GUILayout.Height(24))) + skeletonUtility.SpawnSubRenderers(true); + GUILayout.EndHorizontal(); + + EditorGUI.BeginChangeCheck(); + skeleton.FlipX = EditorGUILayout.ToggleLeft("Flip X", skeleton.FlipX); + skeleton.FlipY = EditorGUILayout.ToggleLeft("Flip Y", skeleton.FlipY); + if (EditorGUI.EndChangeCheck()) { + skeletonRenderer.LateUpdate(); + SceneView.RepaintAll(); + } + +#if UNITY_4_3 + showSlots = EditorGUILayout.Foldout(showSlots, "Slots"); +#else + showSlots.target = EditorGUILayout.Foldout(showSlots.target, "Slots"); + if (EditorGUILayout.BeginFadeGroup(showSlots.faded)) { +#endif + foreach (KeyValuePair> pair in attachmentTable) { + + Slot slot = pair.Key; + + EditorGUILayout.BeginHorizontal(); + EditorGUI.indentLevel = 1; + EditorGUILayout.LabelField(new GUIContent(slot.Data.Name, SpineEditorUtilities.Icons.slot), GUILayout.ExpandWidth(false)); + + EditorGUI.BeginChangeCheck(); + Color c = EditorGUILayout.ColorField(new Color(slot.R, slot.G, slot.B, slot.A), GUILayout.Width(60)); + + if (EditorGUI.EndChangeCheck()) { + slot.SetColor(c); + skeletonRenderer.LateUpdate(); + } + + EditorGUILayout.EndHorizontal(); + + + + foreach (Attachment attachment in pair.Value) { + + if (slot.Attachment == attachment) { + GUI.contentColor = Color.white; + } else { + GUI.contentColor = Color.grey; + } + + EditorGUI.indentLevel = 2; + bool isAttached = attachment == slot.Attachment; + + Texture2D icon = null; + + if (attachment is MeshAttachment || attachment is SkinnedMeshAttachment) + icon = SpineEditorUtilities.Icons.mesh; + else + icon = SpineEditorUtilities.Icons.image; + + bool swap = EditorGUILayout.ToggleLeft(new GUIContent(attachment.Name, icon), attachment == slot.Attachment); + + if (!isAttached && swap) { + slot.Attachment = attachment; + skeletonRenderer.LateUpdate(); + } else if (isAttached && !swap) { + slot.Attachment = null; + skeletonRenderer.LateUpdate(); + } + + GUI.contentColor = Color.white; + } + } + #if UNITY_4_3 + +#else + } + EditorGUILayout.EndFadeGroup(); + if (showSlots.isAnimating) + Repaint(); +#endif + } + + void SpawnHierarchyContextMenu () { + GenericMenu menu = new GenericMenu(); + + menu.AddItem(new GUIContent("Follow"), false, SpawnFollowHierarchy); + menu.AddItem(new GUIContent("Follow (Root Only)"), false, SpawnFollowHierarchyRootOnly); + menu.AddSeparator(""); + menu.AddItem(new GUIContent("Override"), false, SpawnOverrideHierarchy); + menu.AddItem(new GUIContent("Override (Root Only)"), false, SpawnOverrideHierarchyRootOnly); + + menu.ShowAsContext(); + } + + void SpawnFollowHierarchy () { + Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Follow, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); + } + + void SpawnFollowHierarchyRootOnly () { + Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Follow, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); + } + + void SpawnOverrideHierarchy () { + Selection.activeGameObject = skeletonUtility.SpawnHierarchy(SkeletonUtilityBone.Mode.Override, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); + } + + void SpawnOverrideHierarchyRootOnly () { + Selection.activeGameObject = skeletonUtility.SpawnRoot(SkeletonUtilityBone.Mode.Override, true, true, true); + AttachIconsToChildren(skeletonUtility.boneRoot); + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs.meta new file mode 100644 index 000000000..7820cbd6d --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5b90df955eb8c2429ac67c8b2de6c5c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs new file mode 100644 index 000000000..c274c3db6 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs @@ -0,0 +1,346 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Skeleton Utility created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using Spine; + +[RequireComponent(typeof(SkeletonAnimation))] +[ExecuteInEditMode] +public class SkeletonUtility : MonoBehaviour { + + public static T GetInParent (Transform origin) where T : Component { +#if UNITY_4_3 + Transform parent = origin.parent; + while(parent.GetComponent() == null){ + parent = parent.parent; + if(parent == null) + return default(T); + } + + return parent.GetComponent(); +#else + return origin.GetComponentInParent(); +#endif + } + + + public delegate void SkeletonUtilityDelegate (); + + public event SkeletonUtilityDelegate OnReset; + + public Transform boneRoot; + + void Update () { + if (boneRoot != null && skeletonRenderer.skeleton != null) { + Vector3 flipScale = Vector3.one; + if (skeletonRenderer.skeleton.FlipX) + flipScale.x = -1; + + if (skeletonRenderer.skeleton.FlipY) + flipScale.y = -1; + + boneRoot.localScale = flipScale; + } + } + + [HideInInspector] + public SkeletonRenderer skeletonRenderer; + [HideInInspector] + public SkeletonAnimation skeletonAnimation; + [System.NonSerialized] + public List utilityBones = new List(); + [System.NonSerialized] + public List utilityConstraints = new List(); +// Dictionary utilityBoneTable; + + protected bool hasTransformBones; + protected bool hasUtilityConstraints; + protected bool needToReprocessBones; + + void OnEnable () { + if (skeletonRenderer == null) { + skeletonRenderer = GetComponent(); + } + + if (skeletonAnimation == null) { + skeletonAnimation = GetComponent(); + } + + skeletonRenderer.OnReset -= HandleRendererReset; + skeletonRenderer.OnReset += HandleRendererReset; + + if (skeletonAnimation != null) { + skeletonAnimation.UpdateLocal -= UpdateLocal; + skeletonAnimation.UpdateLocal += UpdateLocal; + } + + + CollectBones(); + } + + void Start () { + //recollect because order of operations failure when switching between game mode and edit mode... +// CollectBones(); + } + + void OnDisable () { + skeletonRenderer.OnReset -= HandleRendererReset; + + if (skeletonAnimation != null) { + skeletonAnimation.UpdateLocal -= UpdateLocal; + skeletonAnimation.UpdateWorld -= UpdateWorld; + skeletonAnimation.UpdateComplete -= UpdateComplete; + } + } + + void HandleRendererReset (SkeletonRenderer r) { + if (OnReset != null) + OnReset(); + + CollectBones(); + } + + public void RegisterBone (SkeletonUtilityBone bone) { + if (utilityBones.Contains(bone)) + return; + else { + utilityBones.Add(bone); + needToReprocessBones = true; + } + } + + public void UnregisterBone (SkeletonUtilityBone bone) { + utilityBones.Remove(bone); + } + + public void RegisterConstraint (SkeletonUtilityConstraint constraint) { + + if (utilityConstraints.Contains(constraint)) + return; + else { + utilityConstraints.Add(constraint); + needToReprocessBones = true; + } + } + + public void UnregisterConstraint (SkeletonUtilityConstraint constraint) { + utilityConstraints.Remove(constraint); + } + + public void CollectBones () { + if (skeletonRenderer.skeleton == null) + return; + + if (boneRoot != null) { + List constraintTargetNames = new List(); + + foreach (IkConstraint c in skeletonRenderer.skeleton.IkConstraints) { + constraintTargetNames.Add(c.Target.Data.Name); + } + + foreach (var b in utilityBones) { + if (b.bone == null) { + return; + } + if (b.mode == SkeletonUtilityBone.Mode.Override) { + hasTransformBones = true; + } + + if (constraintTargetNames.Contains(b.bone.Data.Name)) { + hasUtilityConstraints = true; + } + } + + if (utilityConstraints.Count > 0) + hasUtilityConstraints = true; + + if (skeletonAnimation != null) { + skeletonAnimation.UpdateWorld -= UpdateWorld; + skeletonAnimation.UpdateComplete -= UpdateComplete; + + if (hasTransformBones || hasUtilityConstraints) { + skeletonAnimation.UpdateWorld += UpdateWorld; + } + + if (hasUtilityConstraints) { + skeletonAnimation.UpdateComplete += UpdateComplete; + } + } + + needToReprocessBones = false; + } else { + utilityBones.Clear(); + utilityConstraints.Clear(); + } + + } + + void UpdateLocal (SkeletonAnimation anim) { + + if (needToReprocessBones) + CollectBones(); + + if (utilityBones == null) + return; + + foreach (SkeletonUtilityBone b in utilityBones) { + b.transformLerpComplete = false; + } + + UpdateAllBones(); + } + + void UpdateWorld (SkeletonAnimation anim) { + UpdateAllBones(); + + foreach (SkeletonUtilityConstraint c in utilityConstraints) + c.DoUpdate(); + } + + void UpdateComplete (SkeletonAnimation anim) { + UpdateAllBones(); + } + + void UpdateAllBones () { + if (boneRoot == null) { + CollectBones(); + } + + if (utilityBones == null) + return; + + foreach (SkeletonUtilityBone b in utilityBones) { + b.DoUpdate(); + } + } + + public Transform GetBoneRoot () { + if (boneRoot != null) + return boneRoot; + + boneRoot = new GameObject("SkeletonUtility-Root").transform; + boneRoot.parent = transform; + boneRoot.localPosition = Vector3.zero; + boneRoot.localRotation = Quaternion.identity; + boneRoot.localScale = Vector3.one; + + return boneRoot; + } + + public GameObject SpawnRoot (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { + GetBoneRoot(); + Skeleton skeleton = this.skeletonRenderer.skeleton; + + GameObject go = SpawnBone(skeleton.RootBone, boneRoot, mode, pos, rot, sca); + + CollectBones(); + + return go; + } + + public GameObject SpawnHierarchy (SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { + GetBoneRoot(); + + Skeleton skeleton = this.skeletonRenderer.skeleton; + + GameObject go = SpawnBoneRecursively(skeleton.RootBone, boneRoot, mode, pos, rot, sca); + + CollectBones(); + + return go; + } + + public GameObject SpawnBoneRecursively (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { + GameObject go = SpawnBone(bone, parent, mode, pos, rot, sca); + + foreach (Bone child in bone.Children) { + SpawnBoneRecursively(child, go.transform, mode, pos, rot, sca); + } + + return go; + } + + public GameObject SpawnBone (Bone bone, Transform parent, SkeletonUtilityBone.Mode mode, bool pos, bool rot, bool sca) { + GameObject go = new GameObject(bone.Data.Name); + go.transform.parent = parent; + + SkeletonUtilityBone b = go.AddComponent(); + b.skeletonUtility = this; + b.position = pos; + b.rotation = rot; + b.scale = sca; + b.mode = mode; + b.zPosition = true; + b.Reset(); + b.bone = bone; + b.boneName = bone.Data.Name; + b.valid = true; + + if (mode == SkeletonUtilityBone.Mode.Override) { + if (rot) + go.transform.localRotation = Quaternion.Euler(0, 0, b.bone.RotationIK); + + if (pos) + go.transform.localPosition = new Vector3(b.bone.X, b.bone.Y, 0); + + go.transform.localScale = new Vector3(b.bone.scaleX, b.bone.scaleY, 0); + } + + return go; + } + + public void SpawnSubRenderers (bool disablePrimaryRenderer) { + int submeshCount = GetComponent().sharedMesh.subMeshCount; + + for (int i = 0; i < submeshCount; i++) { + GameObject go = new GameObject("Submesh " + i, typeof(MeshFilter), typeof(MeshRenderer)); + go.transform.parent = transform; + go.transform.localPosition = Vector3.zero; + go.transform.localRotation = Quaternion.identity; + go.transform.localScale = Vector3.one; + + SkeletonUtilitySubmeshRenderer s = go.AddComponent(); + s.sortingOrder = i * 10; + s.submeshIndex = i; + s.Initialize(renderer); + s.Update(); + } + + if (disablePrimaryRenderer) + renderer.enabled = false; + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs.meta new file mode 100644 index 000000000..7d3d7a44f --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f726fb798ad621458c431cb9966d91d +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs new file mode 100644 index 000000000..99c561499 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs @@ -0,0 +1,293 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +/***************************************************************************** + * Skeleton Utility created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using System; +using System.IO; +using System.Collections.Generic; +using UnityEngine; +using Spine; + +/// Sets a GameObject's transform to match a bone on a Spine skeleton. +[ExecuteInEditMode] +[AddComponentMenu("Spine/SkeletonUtilityBone")] +public class SkeletonUtilityBone : MonoBehaviour { + + public enum Mode { + Follow, + Override + } + + [System.NonSerialized] + public bool valid; + [System.NonSerialized] + public SkeletonUtility skeletonUtility; + [System.NonSerialized] + public Bone bone; + public Mode mode; + public bool zPosition = true; + public bool position; + public bool rotation; + public bool scale; + public bool flip; + public bool flipX; + [Range(0f,1f)] + public float overrideAlpha = 1; + + /// If a bone isn't set, boneName is used to find the bone. + public String boneName; + public Transform parentReference; + [HideInInspector] + public bool transformLerpComplete; + protected Transform cachedTransform; + protected Transform skeletonTransform; + + public bool NonUniformScaleWarning { + get { + return nonUniformScaleWarning; + } + } + + private bool nonUniformScaleWarning; + + public void Reset () { + bone = null; + cachedTransform = transform; + valid = skeletonUtility != null && skeletonUtility.skeletonRenderer != null && skeletonUtility.skeletonRenderer.valid; + if (!valid) + return; + skeletonTransform = skeletonUtility.transform; + + skeletonUtility.OnReset -= HandleOnReset; + skeletonUtility.OnReset += HandleOnReset; + + DoUpdate(); + } + + void OnEnable () { + skeletonUtility = SkeletonUtility.GetInParent(transform); + + if (skeletonUtility == null) + return; + + skeletonUtility.RegisterBone(this); + + skeletonUtility.OnReset += HandleOnReset; + } + + void HandleOnReset () { + Reset(); + } + + void OnDisable () { + if (skeletonUtility != null) { + skeletonUtility.OnReset -= HandleOnReset; + + skeletonUtility.UnregisterBone(this); + } + } + + public void DoUpdate () { + + if (!valid) { + Reset(); + return; + } + + Spine.Skeleton skeleton = skeletonUtility.skeletonRenderer.skeleton; + + if (bone == null) { + if (boneName == null || boneName.Length == 0) + return; + bone = skeleton.FindBone(boneName); + if (bone == null) { + Debug.LogError("Bone not found: " + boneName, this); + return; + } + } + + + + float skeletonFlipRotation = (skeleton.flipX ^ skeleton.flipY) ? -1f : 1f; + + float flipCompensation = 0; + if (flip && (flipX || (flipX != bone.flipX)) && bone.parent != null) { + flipCompensation = bone.parent.WorldRotation * -2; + } + + if (mode == Mode.Follow) { + if (flip) { + flipX = bone.flipX; + } + + + if (position) { + cachedTransform.localPosition = new Vector3(bone.x, bone.y, 0); + } + + if (rotation) { + + if (bone.Data.InheritRotation) { + if (bone.FlipX) { + cachedTransform.localRotation = Quaternion.Euler(0, 180, bone.rotationIK - flipCompensation); + } else { + cachedTransform.localRotation = Quaternion.Euler(0, 0, bone.rotationIK); + } + } else { + Vector3 euler = skeletonTransform.rotation.eulerAngles; + cachedTransform.rotation = Quaternion.Euler(euler.x, euler.y, skeletonTransform.rotation.eulerAngles.z + (bone.worldRotation * skeletonFlipRotation)); + } + + } + + if (scale) { + cachedTransform.localScale = new Vector3(bone.scaleX, bone.scaleY, 1); + + nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + } + + } else if (mode == Mode.Override) { + + + + if (transformLerpComplete) + return; + + if (parentReference == null) { + if (position) { + bone.x = Mathf.Lerp(bone.x, cachedTransform.localPosition.x, overrideAlpha); + bone.y = Mathf.Lerp(bone.y, cachedTransform.localPosition.y, overrideAlpha); + } + + if (rotation) { + float angle = Mathf.LerpAngle(bone.Rotation, cachedTransform.localRotation.eulerAngles.z, overrideAlpha) + flipCompensation; + + if (flip) { + if ((!flipX && bone.flipX)) { + angle -= flipCompensation; + } + + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } + + bone.Rotation = angle; + } + + if (scale) { + bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); + bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); + + nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + } + + if (flip) { + bone.flipX = flipX; + } + } else { + + if (transformLerpComplete) + return; + + if (position) { + Vector3 pos = parentReference.InverseTransformPoint(cachedTransform.position); + bone.x = Mathf.Lerp(bone.x, pos.x, overrideAlpha); + bone.y = Mathf.Lerp(bone.y, pos.y, overrideAlpha); + } + + if (rotation) { + float angle = Mathf.LerpAngle(bone.Rotation, Quaternion.LookRotation(flipX ? Vector3.forward * -1 : Vector3.forward, parentReference.InverseTransformDirection(cachedTransform.up)).eulerAngles.z, overrideAlpha) + flipCompensation; + + if (flip) { + if ((!flipX && bone.flipX)) { + angle -= flipCompensation; + } + + //TODO fix this... + if (angle >= 360) + angle -= 360; + else if (angle <= -360) + angle += 360; + } + + bone.Rotation = angle; + } + + //TODO: Something about this + if (scale) { + bone.scaleX = Mathf.Lerp(bone.scaleX, cachedTransform.localScale.x, overrideAlpha); + bone.scaleY = Mathf.Lerp(bone.scaleY, cachedTransform.localScale.y, overrideAlpha); + + nonUniformScaleWarning = (bone.scaleX != bone.scaleY); + } + + if (flip) { + bone.flipX = flipX; + } + + } + + transformLerpComplete = true; + } + } + + public void FlipX (bool state) { + if (state != flipX) { + flipX = state; + if (flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) > 90) { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } else if (!flipX && Mathf.Abs(transform.localRotation.eulerAngles.y) < 90) { + skeletonUtility.skeletonAnimation.LateUpdate(); + return; + } + } + + bone.FlipX = state; + transform.RotateAround(transform.position, skeletonUtility.transform.up, 180); + Vector3 euler = transform.localRotation.eulerAngles; + euler.x = 0; + euler.y = bone.FlipX ? 180 : 0; + transform.localRotation = Quaternion.Euler(euler); + } + + void OnDrawGizmos () { + if (NonUniformScaleWarning) { + Gizmos.DrawIcon(transform.position + new Vector3(0, 0.128f, 0), "icon-warning"); + } + } +} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs.meta new file mode 100644 index 000000000..f66d45053 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b238dfcde8209044b97d23f62bcaadf6 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs new file mode 100644 index 000000000..3be62228c --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs @@ -0,0 +1,22 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SkeletonUtilityBone)), ExecuteInEditMode] + +public abstract class SkeletonUtilityConstraint : MonoBehaviour { + + protected SkeletonUtilityBone utilBone; + protected SkeletonUtility skeletonUtility; + + protected virtual void OnEnable () { + utilBone = GetComponent(); + skeletonUtility = SkeletonUtility.GetInParent(transform); + skeletonUtility.RegisterConstraint(this); + } + + protected virtual void OnDisable () { + skeletonUtility.UnregisterConstraint(this); + } + + public abstract void DoUpdate (); +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs.meta new file mode 100644 index 000000000..dad11e0a2 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 522dbfcc6c916df4396f14f35048d185 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs new file mode 100644 index 000000000..6aefded5a --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs @@ -0,0 +1,56 @@ +using UnityEngine; +using System.Collections; + +public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { + + public Transform[] eyes; + public float radius = 0.5f; + public Transform target; + public Vector3 targetPosition; + public float speed = 10; + Vector3[] origins; + Vector3 centerPoint; + + protected override void OnEnable () { + if (!Application.isPlaying) + return; + + base.OnEnable(); + + Bounds centerBounds = new Bounds(eyes[0].localPosition, Vector3.zero); + origins = new Vector3[eyes.Length]; + for (int i = 0; i < eyes.Length; i++) { + origins[i] = eyes[i].localPosition; + centerBounds.Encapsulate(origins[i]); + } + + centerPoint = centerBounds.center; + } + + protected override void OnDisable () { + if (!Application.isPlaying) + return; + + base.OnDisable(); + } + + public override void DoUpdate () { + + if (target != null) + targetPosition = target.position; + + Vector3 goal = targetPosition; + + Vector3 center = transform.TransformPoint(centerPoint); + Vector3 dir = goal - center; + + if (dir.magnitude > 1) + dir.Normalize(); + + for (int i = 0; i < eyes.Length; i++) { + center = transform.TransformPoint(origins[i]); + eyes[i].position = Vector3.MoveTowards(eyes[i].position, center + (dir * radius), speed * Time.deltaTime); + } + + } +} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs.meta new file mode 100644 index 000000000..3e82746da --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d994c65b6daec64f80ae2ae04e9d999 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs new file mode 100644 index 000000000..b9608e9bc --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs @@ -0,0 +1,120 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(SkeletonUtilityBone)), ExecuteInEditMode] +public class SkeletonUtilityGroundConstraint : SkeletonUtilityConstraint { + +#if UNITY_4_3 + public LayerMask groundMask; + public bool use2D = false; + public bool useRadius = false; + public float castRadius = 0.1f; + public float castDistance = 5f; + public float castOffset = 0; + public float groundOffset = 0; + public float adjustSpeed = 5; +#else + [Tooltip("LayerMask for what objects to raycast against")] + public LayerMask groundMask; + [Tooltip("The 2D")] + public bool use2D = false; + [Tooltip("Uses SphereCast for 3D mode and CircleCast for 2D mode")] + public bool useRadius = false; + [Tooltip("The Radius")] + public float castRadius = 0.1f; + [Tooltip("How high above the target bone to begin casting from")] + public float castDistance = 5f; + [Tooltip("X-Axis adjustment")] + public float castOffset = 0; + [Tooltip("Y-Axis adjustment")] + public float groundOffset = 0; + [Tooltip("How fast the target IK position adjusts to the ground. Use smaller values to prevent snapping")] + public float adjustSpeed = 5; +#endif + + + Vector3 rayOrigin; + Vector3 rayDir = new Vector3(0, -1, 0); + float hitY; + float lastHitY; + + protected override void OnEnable () { + base.OnEnable(); + } + + protected override void OnDisable () { + base.OnDisable(); + } + + public override void DoUpdate () { + rayOrigin = transform.position + new Vector3(castOffset, castDistance, 0); + + hitY = float.MinValue; + if (use2D) { + RaycastHit2D hit; + + if (useRadius) { +#if UNITY_4_3 + //NOTE: Unity 4.3.x does not have CircleCast + hit = Physics2D.Raycast(rayOrigin , rayDir, castDistance + groundOffset, groundMask); +#else + hit = Physics2D.CircleCast(rayOrigin, castRadius, rayDir, castDistance + groundOffset, groundMask); +#endif + } else { + hit = Physics2D.Raycast(rayOrigin, rayDir, castDistance + groundOffset, groundMask); + } + + if (hit.collider != null) { + hitY = hit.point.y + groundOffset; + if (Application.isPlaying) { + hitY = Mathf.MoveTowards(lastHitY, hitY, adjustSpeed * Time.deltaTime); + } + } else { + if (Application.isPlaying) + hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustSpeed * Time.deltaTime); + } + } else { + RaycastHit hit; + bool validHit = false; + + if (useRadius) { + validHit = Physics.SphereCast(rayOrigin, castRadius, rayDir, out hit, castDistance + groundOffset, groundMask); + } else { + validHit = Physics.Raycast(rayOrigin, rayDir, out hit, castDistance + groundOffset, groundMask); + } + + if (validHit) { + hitY = hit.point.y + groundOffset; + if (Application.isPlaying) { + hitY = Mathf.MoveTowards(lastHitY, hitY, adjustSpeed * Time.deltaTime); + } + } else { + if (Application.isPlaying) + hitY = Mathf.MoveTowards(lastHitY, transform.position.y, adjustSpeed * Time.deltaTime); + } + } + + Vector3 v = transform.position; + v.y = Mathf.Clamp(v.y, Mathf.Min(lastHitY, hitY), float.MaxValue); + transform.position = v; + + utilBone.bone.X = transform.localPosition.x; + utilBone.bone.Y = transform.localPosition.y; + + lastHitY = hitY; + } + + void OnDrawGizmos () { + Vector3 hitEnd = rayOrigin + (rayDir * Mathf.Min(castDistance, rayOrigin.y - hitY)); + Vector3 clearEnd = rayOrigin + (rayDir * castDistance); + Gizmos.DrawLine(rayOrigin, hitEnd); + + if (useRadius) { + Gizmos.DrawLine(new Vector3(hitEnd.x - castRadius, hitEnd.y - groundOffset, hitEnd.z), new Vector3(hitEnd.x + castRadius, hitEnd.y - groundOffset, hitEnd.z)); + Gizmos.DrawLine(new Vector3(clearEnd.x - castRadius, clearEnd.y, clearEnd.z), new Vector3(clearEnd.x + castRadius, clearEnd.y, clearEnd.z)); + } + + Gizmos.color = Color.red; + Gizmos.DrawLine(hitEnd, clearEnd); + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs.meta new file mode 100644 index 000000000..5d9e6920c --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3662334b99de5fe4396ab24e30c4fd12 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs new file mode 100644 index 000000000..c088353f2 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs @@ -0,0 +1,79 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +public class SkeletonUtilityKinematicShadow : MonoBehaviour { + public bool hideShadow = true; + Dictionary shadowTable; + GameObject shadowRoot; + + void Start () { + shadowRoot = (GameObject)Instantiate(gameObject); + if (hideShadow) + shadowRoot.hideFlags = HideFlags.HideInHierarchy; + + shadowRoot.transform.parent = transform.root; + + shadowTable = new Dictionary(); + + Destroy(shadowRoot.GetComponent()); + + shadowRoot.transform.position = transform.position; + shadowRoot.transform.rotation = transform.rotation; + + Vector3 scaleRef = transform.TransformPoint(Vector3.right); + float scale = Vector3.Distance(transform.position, scaleRef); + shadowRoot.transform.localScale = Vector3.one; + + var shadowJoints = shadowRoot.GetComponentsInChildren(); + foreach (Joint j in shadowJoints) { + j.connectedAnchor *= scale; + } + + var joints = GetComponentsInChildren(); + foreach (var j in joints) + Destroy(j); + + var rbs = GetComponentsInChildren(); + foreach (var rb in rbs) + Destroy(rb); + + var colliders = GetComponentsInChildren(); + foreach (var c in colliders) + Destroy(c); + + + //match by bone name + var shadowBones = shadowRoot.GetComponentsInChildren(); + var bones = GetComponentsInChildren(); + + //build bone lookup + foreach (var b in bones) { + if (b.gameObject == gameObject) + continue; + + foreach (var sb in shadowBones) { + if (sb.rigidbody == null) + continue; + + if (sb.boneName == b.boneName) { + shadowTable.Add(sb.transform, b.transform); + break; + } + } + } + + foreach (var b in shadowBones) + Destroy(b); + } + + void FixedUpdate () { + shadowRoot.rigidbody.MovePosition(transform.position); + shadowRoot.rigidbody.MoveRotation(transform.rotation); + + foreach (var pair in shadowTable) { + pair.Value.localPosition = pair.Key.localPosition; + pair.Value.localRotation = pair.Key.localRotation; + } + } +} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs.meta new file mode 100644 index 000000000..06bcb6f4a --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cfeac06b8a6aa1645813700e3e4c0863 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs new file mode 100644 index 000000000..fc8867e6b --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs @@ -0,0 +1,96 @@ +using UnityEngine; +using System.Collections; + +[ExecuteInEditMode] +public class SkeletonUtilitySubmeshRenderer : MonoBehaviour { + public Renderer parentRenderer; + [System.NonSerialized] + public Mesh mesh; + public int submeshIndex = 0; + public int sortingOrder = 0; + public int sortingLayerID = 0; + public Material hiddenPassMaterial; + Renderer cachedRenderer; + MeshFilter filter; + Material[] sharedMaterials; + MeshFilter parentFilter; + + void Awake () { + cachedRenderer = renderer; + sharedMaterials = cachedRenderer.sharedMaterials; + filter = GetComponent(); + + if (parentRenderer != null) + Initialize(parentRenderer); + } + + void OnEnable () { + parentRenderer = transform.parent.GetComponent(); + parentRenderer.GetComponent().OnReset += HandleSkeletonReset; + } + + void OnDisable () { + parentRenderer.GetComponent().OnReset -= HandleSkeletonReset; + } + + void HandleSkeletonReset (SkeletonRenderer r) { + if (parentRenderer != null) + Initialize(parentRenderer); + } + + public void Initialize (Renderer parentRenderer) { + this.parentRenderer = parentRenderer; + parentFilter = parentRenderer.GetComponent(); + mesh = parentFilter.sharedMesh; + filter.sharedMesh = mesh; + Debug.Log("Mesh: " + mesh); + } + + public void Update () { + if (mesh == null || mesh != parentFilter.sharedMesh) { + mesh = parentFilter.sharedMesh; + filter.sharedMesh = mesh; + } + + if (cachedRenderer == null) + cachedRenderer = renderer; + + if (mesh == null || submeshIndex > mesh.subMeshCount - 1) { + cachedRenderer.enabled = false; + return; + } else { + renderer.enabled = true; + } + + bool changed = false; + + if (sharedMaterials.Length != parentRenderer.sharedMaterials.Length) { + sharedMaterials = parentRenderer.sharedMaterials; + changed = true; + } + + + + for (int i = 0; i < renderer.sharedMaterials.Length; i++) { + if (i == submeshIndex) + continue; + + if (sharedMaterials[i] != hiddenPassMaterial) { + sharedMaterials[i] = hiddenPassMaterial; + changed = true; + } + } + + if (sharedMaterials[submeshIndex] != parentRenderer.sharedMaterials[submeshIndex]) { + sharedMaterials[submeshIndex] = parentRenderer.sharedMaterials[submeshIndex]; + changed = true; + } + + if (changed) { + cachedRenderer.sharedMaterials = sharedMaterials; + } + + cachedRenderer.sortingLayerID = sortingLayerID; + cachedRenderer.sortingOrder = sortingOrder; + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs.meta new file mode 100644 index 000000000..168ca8811 --- /dev/null +++ b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7820c1c2b0e52c6408de899d6939996e +MonoImporter: + serializedVersion: 2 + defaultReferences: + - parentRenderer: {instanceID: 0} + - mesh: {instanceID: 0} + - hiddenPassMaterial: {fileID: 2100000, guid: 43227e5adadc6f24bb4bf74b92a56fb4, + type: 2} + executionOrder: 0 + icon: {instanceID: 0} + userData: From 315c4e8c0cb65e05460ac53e795472c907937f82 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Mon, 6 Oct 2014 16:19:52 -0700 Subject: [PATCH 43/91] [Unity TK2D] goblin script fix --- spine-tk2d/Assets/examples/goblins/Goblins.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spine-tk2d/Assets/examples/goblins/Goblins.cs b/spine-tk2d/Assets/examples/goblins/Goblins.cs index c30e677b0..bf3a78079 100644 --- a/spine-tk2d/Assets/examples/goblins/Goblins.cs +++ b/spine-tk2d/Assets/examples/goblins/Goblins.cs @@ -40,11 +40,11 @@ public class Goblins : MonoBehaviour { public void Start () { skeletonAnimation = GetComponent(); headBone = skeletonAnimation.skeleton.FindBone("head"); - skeletonAnimation.UpdateBones += UpdateBones; + skeletonAnimation.UpdateLocal += UpdateLocal; } // This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically. - public void UpdateBones (SkeletonAnimation skeletonAnimation) { + public void UpdateLocal (SkeletonAnimation skeletonAnimation) { headBone.Rotation += 15; } From 74dc8062b00108b6d9976aed1c5447e4b23b7c0d Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 7 Oct 2014 13:16:40 +0200 Subject: [PATCH 44/91] Docs --- spine-tk2d/README.md | 26 +++++++++++++++++++------- spine-unity/README.md | 4 ++-- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/spine-tk2d/README.md b/spine-tk2d/README.md index 67ada4e58..caf1d24f0 100644 --- a/spine-tk2d/README.md +++ b/spine-tk2d/README.md @@ -2,9 +2,25 @@ The spine-tk2d runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [2D Toolkit](http://www.unikronsoftware.com/2dtoolkit/) for [Unity](http://unity3d.com/). spine-tk2d is based on [spine-csharp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-csharp) and is very similar to [spine-unity](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-unity). -A Spine skeleton is a GameObject and can be used throughout Unity like any other GameObject. The `BoneComponent` class allows other GameObjects to follow a bone in a Spine skeleton. +A Spine skeleton is a GameObject and can be used throughout Unity like any other GameObject. It depends only on Unity's `MeshRenderer`, so it is close to the metal. `SkeletonUtility` allows other GameObjects to interact with the Spine skeleton, to control bones in the skeleton, be controlled by the skeleton, attach colliders, etc. -## Setup +spine-tk2d differs from spine-unity in that a TK2D atlas is used instead of a Spine atlas. Also, spine-unity has more tools for automatically importing Spine skeleton data and atlases, while spine-tk2d requires setting up the TK2D manually. spine-unity provides a GameObject that renders a Spine skeleton, so can be used with TK2D (or any other Unity plugin). + +## Documentation + +The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use both spine-unity and spine-tk2d features. + +## Quick installation + +Download and run this Unity package: + +[spine-tk2d.unitypackage](http://esotericsoftware.com/files/runtimes/unity/spine-tk2d.unitypackage) + +In the `Assets/examples` folder you will find example scenes that demonstrate various spine-tk2d features. Also see the example scenes in [spine-unity](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-unity). + +## Manual installation + +To open the spine-tk2d example scenes: 1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip). 1. Copy the contents of `spine-csharp/src` to `spine-tk2d/Assets/spine-csharp`. @@ -17,11 +33,7 @@ To use spine-tk2d in your own Unity project: 1. Copy the `spine-tk2d/Assets/spine-tk2d` to `Assets/spine-tk2d` in your project. 1. Import 2D Toolkit into your project. -## Examples - -* **spineboy** This shows the spineboy skeleton with shadows. First an animation is played that shows the draw order changing and events firing, then spineboy jumps and walks. Click spineboy to jump again. Notice the walk and jump animations are mixed and transition smoothly. The white cube on spineboy's right hand is a separate GameObject that is positioned using a `BoneComponent`. - ## Notes - Atlas images should use premultiplied alpha when using the shaders that come with spine-tk2d. -- This slightly outdated [spine-tk2d setup video](http://www.youtube.com/watch?v=dnQbS9ap-i8) may still be useful. +- This slightly outdated [spine-tk2d setup video](http://www.youtube.com/watch?v=dnQbS9ap-i8) may still be useful for manual installation. diff --git a/spine-unity/README.md b/spine-unity/README.md index 1d537fee1..3ce9aa1aa 100644 --- a/spine-unity/README.md +++ b/spine-unity/README.md @@ -6,7 +6,7 @@ A Spine skeleton is a GameObject and can be used throughout Unity like any other ## Documentation -The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use spine-unity features. +The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use both spine-unity and spine-tk2d features. ## Quick installation @@ -14,7 +14,7 @@ Download and run this Unity package: [spine-unity.unitypackage](http://esotericsoftware.com/files/runtimes/unity/spine-unity.unitypackage) -In the `Examples/Scenes` folder you will find many example scenes that demonstrate various spine-unity features. +In the `Assets/Examples/Scenes` folder you will find many example scenes that demonstrate various spine-unity features. ## Manual installation From 3b9dc8fd20d8f7407bebb15401d8df7e457fdd5f Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 7 Oct 2014 20:08:55 +0200 Subject: [PATCH 45/91] Skeleton data is optional. --- .../src/com/esotericsoftware/spine/SkeletonBinary.java | 6 ++++-- .../src/com/esotericsoftware/spine/SkeletonJson.java | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index a5c343166..a7834d50a 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -108,15 +108,17 @@ public class SkeletonBinary { DataInput input = new DataInput(file.read(512)); try { skeletonData.hash = input.readString(); + if (skeletonData.hash.isEmpty()) skeletonData.hash = null; skeletonData.version = input.readString(); + if (skeletonData.version.isEmpty()) skeletonData.version = null; skeletonData.width = input.readFloat(); skeletonData.height = input.readFloat(); boolean nonessential = input.readBoolean(); if (nonessential) { - String imagesPath = input.readString(); - if (imagesPath.length() > 0) skeletonData.imagesPath = imagesPath; + skeletonData.imagesPath = input.readString(); + if (skeletonData.imagesPath.isEmpty()) skeletonData.imagesPath = null; } // Bones. diff --git a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index e18a7be94..1bf073fae 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -95,10 +95,10 @@ public class SkeletonJson { // Skeleton. JsonValue skeletonMap = root.get("skeleton"); if (skeletonMap != null) { - skeletonData.hash = skeletonMap.getString("hash"); - skeletonData.version = skeletonMap.getString("spine"); - skeletonData.width = skeletonMap.getFloat("width"); - skeletonData.height = skeletonMap.getFloat("height"); + skeletonData.hash = skeletonMap.getString("hash", null); + skeletonData.version = skeletonMap.getString("spine", null); + skeletonData.width = skeletonMap.getFloat("width", 0); + skeletonData.height = skeletonMap.getFloat("height", 0); skeletonData.imagesPath = skeletonMap.getString("images", null); } From 83a5d8ac121b78b3c33643857b24b1aa66ba9ca1 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 11 Oct 2014 17:57:45 +0200 Subject: [PATCH 46/91] Removed unused local. --- spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m | 1 - 1 file changed, 1 deletion(-) diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m index 47f0415f1..e7e86a5ac 100755 --- a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m @@ -139,7 +139,6 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; _skeleton->a = self.opacity; int additive = -1; - ccColor4B color; const float* uvs = 0; int verticesCount = 0; const int* triangles = 0; From e32e4a4f36b6c793b190d66b7993777b53c8edae Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 11 Oct 2014 17:58:37 +0200 Subject: [PATCH 47/91] Updated projects for latest cocos2d-iphone. v2 is 2.1.0 v3 is 3.2.1 --- .gitignore | 2 + .../project.pbxproj | 85 ++++++++++++++----- .../project.pbxproj | 28 +++--- 3 files changed, 82 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 833666d36..1d65ad4f4 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,8 @@ xcuserdata spine-cocos2d-iphone/2/cocos2d/* !spine-cocos2d-iphone/2/cocos2d/Place cocos2d here.txt +spine-cocos2d-iphone/3.0/cocos2d/* +!spine-cocos2d-iphone/3.0/cocos2d/Place cocos2d here.txt spine-csharp/bin spine-csharp/obj diff --git a/spine-cocos2d-iphone/2/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/2/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj index ba94640bc..2a7de1097 100644 --- a/spine-cocos2d-iphone/2/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj +++ b/spine-cocos2d-iphone/2/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj @@ -7,7 +7,12 @@ objects = { /* Begin PBXBuildFile section */ - 434D47F1192A2480003127B5 /* libcocos2d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 434D47E2192A246B003127B5 /* libcocos2d.a */; }; + 4327E30419E9879C007E7FB7 /* IkConstraint.c in Sources */ = {isa = PBXBuildFile; fileRef = 4327E30219E9879C007E7FB7 /* IkConstraint.c */; }; + 4327E30519E9879C007E7FB7 /* IkConstraintData.c in Sources */ = {isa = PBXBuildFile; fileRef = 4327E30319E9879C007E7FB7 /* IkConstraintData.c */; }; + 4327E30619E98913007E7FB7 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 652107951895250000B1FF07 /* CoreText.framework */; }; + 4327E30919E98977007E7FB7 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4327E30819E98977007E7FB7 /* GLKit.framework */; }; + 4327E30A19E989A3007E7FB7 /* libcocos2d_chipmunk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 434D47E6192A246B003127B5 /* libcocos2d_chipmunk.a */; }; + 4327E30B19E98A32007E7FB7 /* libChipmunk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 434D47E0192A246B003127B5 /* libChipmunk.a */; }; 43C3282F170B0C19004A9460 /* spine-cocos2d-iphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */; }; 43C3286C170B0DA6004A9460 /* spineboy.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32868170B0DA6004A9460 /* spineboy.json */; }; 43C3286E170B0DA6004A9460 /* spineboy.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43C3286A170B0DA6004A9460 /* spineboy.atlas */; }; @@ -25,9 +30,9 @@ 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 43C3287C170B0DBE004A9460 /* iTunesArtwork */; }; 43C32A06170B0F93004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A05170B0F93004A9460 /* main.m */; }; 43C32A09170B10FF004A9460 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A08170B10FF004A9460 /* AppDelegate.m */; }; - 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */; }; - 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010D1927FBC700CA4038 /* goblins-ffd.json */; }; - 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010E1927FBC700CA4038 /* goblins-ffd.png */; }; + 43F7010F1927FBC700CA4038 /* goblins-mesh.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */; }; + 43F701101927FBC700CA4038 /* goblins-mesh.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010D1927FBC700CA4038 /* goblins-mesh.json */; }; + 43F701111927FBC700CA4038 /* goblins-mesh.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010E1927FBC700CA4038 /* goblins-mesh.png */; }; 43F7FF511927F91900CA4038 /* Animation.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF381927F91900CA4038 /* Animation.c */; }; 43F7FF521927F91900CA4038 /* AnimationState.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF391927F91900CA4038 /* AnimationState.c */; }; 43F7FF531927F91900CA4038 /* AnimationStateData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */; }; @@ -57,7 +62,6 @@ 43F7FF891927F94800CA4038 /* SkeletonRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF861927F94800CA4038 /* SkeletonRenderer.m */; }; 43F7FF8E1927F96700CA4038 /* GoblinsExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF8B1927F96700CA4038 /* GoblinsExample.m */; }; 43F7FF8F1927F96700CA4038 /* SpineboyExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF8D1927F96700CA4038 /* SpineboyExample.m */; }; - 652107961895250000B1FF07 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 652107951895250000B1FF07 /* CoreText.framework */; }; 9A5D2499170A94DA0030D4DD /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D2498170A94DA0030D4DD /* QuartzCore.framework */; }; 9A5D249B170A94DA0030D4DD /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D249A170A94DA0030D4DD /* OpenGLES.framework */; }; 9A5D249D170A94DA0030D4DD /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D249C170A94DA0030D4DD /* OpenAL.framework */; }; @@ -150,6 +154,11 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 4327E30019E9879C007E7FB7 /* IkConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IkConstraint.h; path = "../../spine-c/include/spine/IkConstraint.h"; sourceTree = ""; }; + 4327E30119E9879C007E7FB7 /* IkConstraintData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IkConstraintData.h; path = "../../spine-c/include/spine/IkConstraintData.h"; sourceTree = ""; }; + 4327E30219E9879C007E7FB7 /* IkConstraint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IkConstraint.c; path = "../../spine-c/src/spine/IkConstraint.c"; sourceTree = ""; }; + 4327E30319E9879C007E7FB7 /* IkConstraintData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IkConstraintData.c; path = "../../spine-c/src/spine/IkConstraintData.c"; sourceTree = ""; }; + 4327E30819E98977007E7FB7 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; }; 434D47CA192A246A003127B5 /* cocos2d-ios.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "cocos2d-ios.xcodeproj"; path = "cocos2d/cocos2d-ios.xcodeproj"; sourceTree = SOURCE_ROOT; }; 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "spine-cocos2d-iphone.m"; path = "src/spine/spine-cocos2d-iphone.m"; sourceTree = ""; }; 43C3282E170B0C19004A9460 /* spine-cocos2d-iphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "spine-cocos2d-iphone.h"; path = "src/spine/spine-cocos2d-iphone.h"; sourceTree = ""; }; @@ -172,9 +181,9 @@ 43C32A05170B0F93004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Resources-ios/main.m"; sourceTree = ""; }; 43C32A07170B10FF004A9460 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "Resources-ios/AppDelegate.h"; sourceTree = ""; }; 43C32A08170B10FF004A9460 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "Resources-ios/AppDelegate.m"; sourceTree = ""; }; - 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "goblins-ffd.atlas"; path = "Resources/goblins-ffd.atlas"; sourceTree = ""; }; - 43F7010D1927FBC700CA4038 /* goblins-ffd.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "goblins-ffd.json"; path = "Resources/goblins-ffd.json"; sourceTree = ""; }; - 43F7010E1927FBC700CA4038 /* goblins-ffd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "goblins-ffd.png"; path = "Resources/goblins-ffd.png"; sourceTree = ""; }; + 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "goblins-mesh.atlas"; path = "Resources/goblins-mesh.atlas"; sourceTree = ""; }; + 43F7010D1927FBC700CA4038 /* goblins-mesh.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "goblins-mesh.json"; path = "Resources/goblins-mesh.json"; sourceTree = ""; }; + 43F7010E1927FBC700CA4038 /* goblins-mesh.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "goblins-mesh.png"; path = "Resources/goblins-mesh.png"; sourceTree = ""; }; 43F7FF381927F91900CA4038 /* Animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Animation.c; path = "../../spine-c/src/spine/Animation.c"; sourceTree = ""; }; 43F7FF391927F91900CA4038 /* AnimationState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationState.c; path = "../../spine-c/src/spine/AnimationState.c"; sourceTree = ""; }; 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationStateData.c; path = "../../spine-c/src/spine/AnimationStateData.c"; sourceTree = ""; }; @@ -252,8 +261,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 434D47F1192A2480003127B5 /* libcocos2d.a in Frameworks */, - 652107961895250000B1FF07 /* CoreText.framework in Frameworks */, + 4327E30A19E989A3007E7FB7 /* libcocos2d_chipmunk.a in Frameworks */, + 4327E30B19E98A32007E7FB7 /* libChipmunk.a in Frameworks */, + 4327E30919E98977007E7FB7 /* GLKit.framework in Frameworks */, + 4327E30619E98913007E7FB7 /* CoreText.framework in Frameworks */, 9A5D2499170A94DA0030D4DD /* QuartzCore.framework in Frameworks */, 9A5D249B170A94DA0030D4DD /* OpenGLES.framework in Frameworks */, 9A5D249D170A94DA0030D4DD /* OpenAL.framework in Frameworks */, @@ -333,6 +344,10 @@ 43F7FF741927F92500CA4038 /* EventData.h */, 43F7FF441927F91900CA4038 /* extension.c */, 43F7FF751927F92500CA4038 /* extension.h */, + 4327E30219E9879C007E7FB7 /* IkConstraint.c */, + 4327E30019E9879C007E7FB7 /* IkConstraint.h */, + 4327E30319E9879C007E7FB7 /* IkConstraintData.c */, + 4327E30119E9879C007E7FB7 /* IkConstraintData.h */, 43F7FF451927F91900CA4038 /* Json.c */, 43F7FF461927F91900CA4038 /* Json.h */, 43F7FF471927F91900CA4038 /* MeshAttachment.c */, @@ -378,9 +393,9 @@ 43C32867170B0C7F004A9460 /* Resources */ = { isa = PBXGroup; children = ( - 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */, - 43F7010D1927FBC700CA4038 /* goblins-ffd.json */, - 43F7010E1927FBC700CA4038 /* goblins-ffd.png */, + 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */, + 43F7010D1927FBC700CA4038 /* goblins-mesh.json */, + 43F7010E1927FBC700CA4038 /* goblins-mesh.png */, 43C32868170B0DA6004A9460 /* spineboy.json */, 43C3286A170B0DA6004A9460 /* spineboy.atlas */, 43C3286B170B0DA6004A9460 /* spineboy.png */, @@ -430,6 +445,7 @@ 9A5D2497170A94DA0030D4DD /* Frameworks */ = { isa = PBXGroup; children = ( + 4327E30819E98977007E7FB7 /* GLKit.framework */, 652107951895250000B1FF07 /* CoreText.framework */, 9A5D2498170A94DA0030D4DD /* QuartzCore.framework */, 9A5D249A170A94DA0030D4DD /* OpenGLES.framework */, @@ -479,7 +495,7 @@ 9A5D248D170A94DA0030D4DD /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0460; + LastUpgradeCheck = 0510; ORGANIZATIONNAME = "Craig Hinrichs"; }; buildConfigurationList = 9A5D2490170A94DA0030D4DD /* Build configuration list for PBXProject "spine-cocos2d-iphone-ios" */; @@ -604,9 +620,9 @@ 43C32885170B0DBE004A9460 /* Icon.png in Resources */, 43C32886170B0DBE004A9460 /* Icon@2x.png in Resources */, 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */, - 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */, - 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */, - 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */, + 43F7010F1927FBC700CA4038 /* goblins-mesh.atlas in Resources */, + 43F701101927FBC700CA4038 /* goblins-mesh.json in Resources */, + 43F701111927FBC700CA4038 /* goblins-mesh.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -633,9 +649,11 @@ 43F7FF5B1927F91900CA4038 /* Event.c in Sources */, 43F7FF5C1927F91900CA4038 /* EventData.c in Sources */, 43F7FF5D1927F91900CA4038 /* extension.c in Sources */, + 4327E30419E9879C007E7FB7 /* IkConstraint.c in Sources */, 43F7FF5E1927F91900CA4038 /* Json.c in Sources */, 43F7FF5F1927F91900CA4038 /* MeshAttachment.c in Sources */, 43F7FF601927F91900CA4038 /* RegionAttachment.c in Sources */, + 4327E30519E9879C007E7FB7 /* IkConstraintData.c in Sources */, 43F7FF611927F91900CA4038 /* Skeleton.c in Sources */, 43F7FF621927F91900CA4038 /* SkeletonBounds.c in Sources */, 43F7FF631927F91900CA4038 /* SkeletonData.c in Sources */, @@ -659,6 +677,12 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_OPTIMIZATION_LEVEL = 0; @@ -668,11 +692,17 @@ ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.0; + ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = "$(ARCHS_STANDARD_32_BIT)"; }; name = Debug; }; @@ -680,6 +710,12 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -687,18 +723,24 @@ "NS_BLOCK_ASSERTIONS=1", ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 4.0; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; + VALID_ARCHS = "$(ARCHS_STANDARD_32_BIT)"; }; name = Release; }; 9A5D2644170A94DC0030D4DD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -710,12 +752,14 @@ "\"cocos2d/cocos2d\"/**", ); INFOPLIST_FILE = "Resources-ios/Info.plist"; + ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ( "-lz", "-lsqlite3", "-ObjC", ); PRODUCT_NAME = "$(TARGET_NAME)"; + VALID_ARCHS = "$(ARCHS_STANDARD_32_BIT)"; WRAPPER_EXTENSION = app; }; name = Debug; @@ -723,7 +767,8 @@ 9A5D2645170A94DC0030D4DD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; COPY_PHASE_STRIP = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "Resources-ios/Prefix.pch"; @@ -734,6 +779,7 @@ "\"cocos2d/cocos2d\"/**", ); INFOPLIST_FILE = "Resources-ios/Info.plist"; + ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ( "-lz", "-lsqlite3", @@ -741,6 +787,7 @@ ); PRODUCT_NAME = "$(TARGET_NAME)"; VALIDATE_PRODUCT = YES; + VALID_ARCHS = "$(ARCHS_STANDARD_32_BIT)"; WRAPPER_EXTENSION = app; }; name = Release; diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj index 821326844..3f7ea834e 100644 --- a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj @@ -26,9 +26,9 @@ 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 43C3287C170B0DBE004A9460 /* iTunesArtwork */; }; 43C32A06170B0F93004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A05170B0F93004A9460 /* main.m */; }; 43C32A09170B10FF004A9460 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A08170B10FF004A9460 /* AppDelegate.m */; }; - 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */; }; - 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010D1927FBC700CA4038 /* goblins-ffd.json */; }; - 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010E1927FBC700CA4038 /* goblins-ffd.png */; }; + 43F7010F1927FBC700CA4038 /* goblins-mesh.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */; }; + 43F701101927FBC700CA4038 /* goblins-mesh.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010D1927FBC700CA4038 /* goblins-mesh.json */; }; + 43F701111927FBC700CA4038 /* goblins-mesh.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010E1927FBC700CA4038 /* goblins-mesh.png */; }; 43F7FF511927F91900CA4038 /* Animation.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF381927F91900CA4038 /* Animation.c */; }; 43F7FF521927F91900CA4038 /* AnimationState.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF391927F91900CA4038 /* AnimationState.c */; }; 43F7FF531927F91900CA4038 /* AnimationStateData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */; }; @@ -107,9 +107,9 @@ 43C32A05170B0F93004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Resources-ios/main.m"; sourceTree = ""; }; 43C32A07170B10FF004A9460 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "Resources-ios/AppDelegate.h"; sourceTree = ""; }; 43C32A08170B10FF004A9460 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "Resources-ios/AppDelegate.m"; sourceTree = ""; }; - 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "goblins-ffd.atlas"; path = "Resources/goblins-ffd.atlas"; sourceTree = ""; }; - 43F7010D1927FBC700CA4038 /* goblins-ffd.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "goblins-ffd.json"; path = "Resources/goblins-ffd.json"; sourceTree = ""; }; - 43F7010E1927FBC700CA4038 /* goblins-ffd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "goblins-ffd.png"; path = "Resources/goblins-ffd.png"; sourceTree = ""; }; + 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "goblins-mesh.atlas"; path = "Resources/goblins-mesh.atlas"; sourceTree = ""; }; + 43F7010D1927FBC700CA4038 /* goblins-mesh.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "goblins-mesh.json"; path = "Resources/goblins-mesh.json"; sourceTree = ""; }; + 43F7010E1927FBC700CA4038 /* goblins-mesh.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "goblins-mesh.png"; path = "Resources/goblins-mesh.png"; sourceTree = ""; }; 43F7FF381927F91900CA4038 /* Animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Animation.c; path = "../../spine-c/src/spine/Animation.c"; sourceTree = ""; }; 43F7FF391927F91900CA4038 /* AnimationState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationState.c; path = "../../spine-c/src/spine/AnimationState.c"; sourceTree = ""; }; 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationStateData.c; path = "../../spine-c/src/spine/AnimationStateData.c"; sourceTree = ""; }; @@ -298,9 +298,9 @@ 43C32867170B0C7F004A9460 /* Resources */ = { isa = PBXGroup; children = ( - 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */, - 43F7010D1927FBC700CA4038 /* goblins-ffd.json */, - 43F7010E1927FBC700CA4038 /* goblins-ffd.png */, + 43F7010C1927FBC700CA4038 /* goblins-mesh.atlas */, + 43F7010D1927FBC700CA4038 /* goblins-mesh.json */, + 43F7010E1927FBC700CA4038 /* goblins-mesh.png */, 43C32868170B0DA6004A9460 /* spineboy.json */, 43C3286A170B0DA6004A9460 /* spineboy.atlas */, 43C3286B170B0DA6004A9460 /* spineboy.png */, @@ -463,9 +463,9 @@ 43C32885170B0DBE004A9460 /* Icon.png in Resources */, 43C32886170B0DBE004A9460 /* Icon@2x.png in Resources */, 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */, - 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */, - 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */, - 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */, + 43F7010F1927FBC700CA4038 /* goblins-mesh.atlas in Resources */, + 43F701101927FBC700CA4038 /* goblins-mesh.json in Resources */, + 43F701111927FBC700CA4038 /* goblins-mesh.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -579,7 +579,7 @@ 9A5D2644170A94DC0030D4DD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; CLANG_ENABLE_OBJC_ARC = YES; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -607,7 +607,7 @@ 9A5D2645170A94DC0030D4DD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; + ALWAYS_SEARCH_USER_PATHS = YES; CLANG_ENABLE_OBJC_ARC = YES; COPY_PHASE_STRIP = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; From ef3761158db9cc074c6cee477caa2ce6d5d91866 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Sat, 11 Oct 2014 17:59:16 +0200 Subject: [PATCH 48/91] Renamed 3.0 to 3. --- .gitignore | 4 ++-- spine-cocos2d-iphone/{3.0 => 3}/README.md | 0 .../{3.0 => 3}/Resources-ios/AppDelegate.h | 0 .../{3.0 => 3}/Resources-ios/AppDelegate.m | 0 .../{3.0 => 3}/Resources-ios/Default-568h@2x.png | Bin .../Resources-ios/Default-Landscape~ipad.png | Bin .../{3.0 => 3}/Resources-ios/Default.png | Bin .../{3.0 => 3}/Resources-ios/Default@2x.png | Bin .../{3.0 => 3}/Resources-ios/Icon-72.png | Bin .../{3.0 => 3}/Resources-ios/Icon-Small-50.png | Bin .../{3.0 => 3}/Resources-ios/Icon-Small.png | Bin .../{3.0 => 3}/Resources-ios/Icon-Small@2x.png | Bin .../{3.0 => 3}/Resources-ios/Icon.png | Bin .../{3.0 => 3}/Resources-ios/Icon@2x.png | Bin .../{3.0 => 3}/Resources-ios/Info.plist | 0 .../{3.0 => 3}/Resources-ios/Prefix.pch | 0 .../{3.0 => 3}/Resources-ios/iTunesArtwork | Bin .../{3.0 => 3}/Resources-ios/main.m | 0 .../{3.0 => 3}/Resources-mac/AppDelegate.h | 0 .../{3.0 => 3}/Resources-mac/AppDelegate.m | 0 .../Resources-mac/English.lproj/InfoPlist.strings | 0 .../Resources-mac/English.lproj/MainMenu.xib | 0 .../{3.0 => 3}/Resources-mac/Info.plist | 0 .../{3.0 => 3}/Resources-mac/Prefix.pch | 0 .../{3.0 => 3}/Resources-mac/icon.icns | Bin .../{3.0 => 3}/Resources-mac/main.m | 0 .../{3.0 => 3}/Resources/goblins-mesh.atlas | 0 .../{3.0 => 3}/Resources/goblins-mesh.json | 0 .../{3.0 => 3}/Resources/goblins-mesh.png | Bin .../{3.0 => 3}/Resources/spineboy.atlas | 0 .../{3.0 => 3}/Resources/spineboy.json | 0 .../{3.0 => 3}/Resources/spineboy.png | Bin .../{3.0 => 3}/example/GoblinsExample.h | 0 .../{3.0 => 3}/example/GoblinsExample.m | 0 .../{3.0 => 3}/example/SpineboyExample.h | 0 .../{3.0 => 3}/example/SpineboyExample.m | 0 .../project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../{3.0 => 3}/src/spine/SkeletonAnimation.h | 0 .../{3.0 => 3}/src/spine/SkeletonAnimation.m | 0 .../{3.0 => 3}/src/spine/SkeletonRenderer.h | 0 .../{3.0 => 3}/src/spine/SkeletonRenderer.m | 0 .../{3.0 => 3}/src/spine/spine-cocos2d-iphone.h | 0 .../{3.0 => 3}/src/spine/spine-cocos2d-iphone.m | 0 44 files changed, 2 insertions(+), 2 deletions(-) rename spine-cocos2d-iphone/{3.0 => 3}/README.md (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/AppDelegate.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/AppDelegate.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Default-568h@2x.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Default-Landscape~ipad.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Default.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Default@2x.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon-72.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon-Small-50.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon-Small.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon-Small@2x.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Icon@2x.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Info.plist (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/Prefix.pch (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/iTunesArtwork (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-ios/main.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/AppDelegate.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/AppDelegate.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/English.lproj/InfoPlist.strings (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/English.lproj/MainMenu.xib (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/Info.plist (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/Prefix.pch (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/icon.icns (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources-mac/main.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/goblins-mesh.atlas (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/goblins-mesh.json (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/goblins-mesh.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/spineboy.atlas (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/spineboy.json (100%) rename spine-cocos2d-iphone/{3.0 => 3}/Resources/spineboy.png (100%) rename spine-cocos2d-iphone/{3.0 => 3}/example/GoblinsExample.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/example/GoblinsExample.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/example/SpineboyExample.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/example/SpineboyExample.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj (100%) rename spine-cocos2d-iphone/{3.0 => 3}/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/SkeletonAnimation.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/SkeletonAnimation.m (100%) rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/SkeletonRenderer.h (100%) mode change 100755 => 100644 rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/SkeletonRenderer.m (100%) mode change 100755 => 100644 rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/spine-cocos2d-iphone.h (100%) rename spine-cocos2d-iphone/{3.0 => 3}/src/spine/spine-cocos2d-iphone.m (100%) diff --git a/.gitignore b/.gitignore index 1d65ad4f4..0d0f2ca50 100644 --- a/.gitignore +++ b/.gitignore @@ -32,8 +32,8 @@ xcuserdata spine-cocos2d-iphone/2/cocos2d/* !spine-cocos2d-iphone/2/cocos2d/Place cocos2d here.txt -spine-cocos2d-iphone/3.0/cocos2d/* -!spine-cocos2d-iphone/3.0/cocos2d/Place cocos2d here.txt +spine-cocos2d-iphone/3/cocos2d/* +!spine-cocos2d-iphone/3/cocos2d/Place cocos2d here.txt spine-csharp/bin spine-csharp/obj diff --git a/spine-cocos2d-iphone/3.0/README.md b/spine-cocos2d-iphone/3/README.md similarity index 100% rename from spine-cocos2d-iphone/3.0/README.md rename to spine-cocos2d-iphone/3/README.md diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.h b/spine-cocos2d-iphone/3/Resources-ios/AppDelegate.h similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.h rename to spine-cocos2d-iphone/3/Resources-ios/AppDelegate.h diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.m b/spine-cocos2d-iphone/3/Resources-ios/AppDelegate.m similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.m rename to spine-cocos2d-iphone/3/Resources-ios/AppDelegate.m diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default-568h@2x.png b/spine-cocos2d-iphone/3/Resources-ios/Default-568h@2x.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Default-568h@2x.png rename to spine-cocos2d-iphone/3/Resources-ios/Default-568h@2x.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default-Landscape~ipad.png b/spine-cocos2d-iphone/3/Resources-ios/Default-Landscape~ipad.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Default-Landscape~ipad.png rename to spine-cocos2d-iphone/3/Resources-ios/Default-Landscape~ipad.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default.png b/spine-cocos2d-iphone/3/Resources-ios/Default.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Default.png rename to spine-cocos2d-iphone/3/Resources-ios/Default.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default@2x.png b/spine-cocos2d-iphone/3/Resources-ios/Default@2x.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Default@2x.png rename to spine-cocos2d-iphone/3/Resources-ios/Default@2x.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-72.png b/spine-cocos2d-iphone/3/Resources-ios/Icon-72.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon-72.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon-72.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small-50.png b/spine-cocos2d-iphone/3/Resources-ios/Icon-Small-50.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small-50.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon-Small-50.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small.png b/spine-cocos2d-iphone/3/Resources-ios/Icon-Small.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon-Small.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small@2x.png b/spine-cocos2d-iphone/3/Resources-ios/Icon-Small@2x.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small@2x.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon-Small@2x.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon.png b/spine-cocos2d-iphone/3/Resources-ios/Icon.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon@2x.png b/spine-cocos2d-iphone/3/Resources-ios/Icon@2x.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Icon@2x.png rename to spine-cocos2d-iphone/3/Resources-ios/Icon@2x.png diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Info.plist b/spine-cocos2d-iphone/3/Resources-ios/Info.plist similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Info.plist rename to spine-cocos2d-iphone/3/Resources-ios/Info.plist diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Prefix.pch b/spine-cocos2d-iphone/3/Resources-ios/Prefix.pch similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/Prefix.pch rename to spine-cocos2d-iphone/3/Resources-ios/Prefix.pch diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/iTunesArtwork b/spine-cocos2d-iphone/3/Resources-ios/iTunesArtwork similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/iTunesArtwork rename to spine-cocos2d-iphone/3/Resources-ios/iTunesArtwork diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/main.m b/spine-cocos2d-iphone/3/Resources-ios/main.m similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-ios/main.m rename to spine-cocos2d-iphone/3/Resources-ios/main.m diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.h b/spine-cocos2d-iphone/3/Resources-mac/AppDelegate.h similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.h rename to spine-cocos2d-iphone/3/Resources-mac/AppDelegate.h diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.m b/spine-cocos2d-iphone/3/Resources-mac/AppDelegate.m similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.m rename to spine-cocos2d-iphone/3/Resources-mac/AppDelegate.m diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/InfoPlist.strings b/spine-cocos2d-iphone/3/Resources-mac/English.lproj/InfoPlist.strings similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/InfoPlist.strings rename to spine-cocos2d-iphone/3/Resources-mac/English.lproj/InfoPlist.strings diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/MainMenu.xib b/spine-cocos2d-iphone/3/Resources-mac/English.lproj/MainMenu.xib similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/MainMenu.xib rename to spine-cocos2d-iphone/3/Resources-mac/English.lproj/MainMenu.xib diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/Info.plist b/spine-cocos2d-iphone/3/Resources-mac/Info.plist similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/Info.plist rename to spine-cocos2d-iphone/3/Resources-mac/Info.plist diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/Prefix.pch b/spine-cocos2d-iphone/3/Resources-mac/Prefix.pch similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/Prefix.pch rename to spine-cocos2d-iphone/3/Resources-mac/Prefix.pch diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/icon.icns b/spine-cocos2d-iphone/3/Resources-mac/icon.icns similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/icon.icns rename to spine-cocos2d-iphone/3/Resources-mac/icon.icns diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/main.m b/spine-cocos2d-iphone/3/Resources-mac/main.m similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources-mac/main.m rename to spine-cocos2d-iphone/3/Resources-mac/main.m diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.atlas b/spine-cocos2d-iphone/3/Resources/goblins-mesh.atlas similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/goblins-mesh.atlas rename to spine-cocos2d-iphone/3/Resources/goblins-mesh.atlas diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.json b/spine-cocos2d-iphone/3/Resources/goblins-mesh.json similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/goblins-mesh.json rename to spine-cocos2d-iphone/3/Resources/goblins-mesh.json diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-mesh.png b/spine-cocos2d-iphone/3/Resources/goblins-mesh.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/goblins-mesh.png rename to spine-cocos2d-iphone/3/Resources/goblins-mesh.png diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.atlas b/spine-cocos2d-iphone/3/Resources/spineboy.atlas similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/spineboy.atlas rename to spine-cocos2d-iphone/3/Resources/spineboy.atlas diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.json b/spine-cocos2d-iphone/3/Resources/spineboy.json similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/spineboy.json rename to spine-cocos2d-iphone/3/Resources/spineboy.json diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.png b/spine-cocos2d-iphone/3/Resources/spineboy.png similarity index 100% rename from spine-cocos2d-iphone/3.0/Resources/spineboy.png rename to spine-cocos2d-iphone/3/Resources/spineboy.png diff --git a/spine-cocos2d-iphone/3.0/example/GoblinsExample.h b/spine-cocos2d-iphone/3/example/GoblinsExample.h similarity index 100% rename from spine-cocos2d-iphone/3.0/example/GoblinsExample.h rename to spine-cocos2d-iphone/3/example/GoblinsExample.h diff --git a/spine-cocos2d-iphone/3.0/example/GoblinsExample.m b/spine-cocos2d-iphone/3/example/GoblinsExample.m similarity index 100% rename from spine-cocos2d-iphone/3.0/example/GoblinsExample.m rename to spine-cocos2d-iphone/3/example/GoblinsExample.m diff --git a/spine-cocos2d-iphone/3.0/example/SpineboyExample.h b/spine-cocos2d-iphone/3/example/SpineboyExample.h similarity index 100% rename from spine-cocos2d-iphone/3.0/example/SpineboyExample.h rename to spine-cocos2d-iphone/3/example/SpineboyExample.h diff --git a/spine-cocos2d-iphone/3.0/example/SpineboyExample.m b/spine-cocos2d-iphone/3/example/SpineboyExample.m similarity index 100% rename from spine-cocos2d-iphone/3.0/example/SpineboyExample.m rename to spine-cocos2d-iphone/3/example/SpineboyExample.m diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj similarity index 100% rename from spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj rename to spine-cocos2d-iphone/3/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/spine-cocos2d-iphone/3/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to spine-cocos2d-iphone/3/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.h b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.h rename to spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.m b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.m rename to spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.h b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h old mode 100755 new mode 100644 similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.h rename to spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m old mode 100755 new mode 100644 similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m rename to spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m diff --git a/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.h b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.h rename to spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h diff --git a/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.m b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m similarity index 100% rename from spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.m rename to spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m From 77f528550a9f08270ac0caf1a8858398fc85f317 Mon Sep 17 00:00:00 2001 From: Fenrisul Date: Sun, 12 Oct 2014 21:06:15 -0700 Subject: [PATCH 49/91] [Unity TK2D] Workflow improvements and bugfixes --- .../Editor/SkeletonDataAssetInspector.cs | 40 +++++-- .../spine-tk2d/Editor/SpineEditorUtilities.cs | 112 +++++++++++++++++- 2 files changed, 143 insertions(+), 9 deletions(-) diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs index f3cf146d1..97fb6715c 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs @@ -56,7 +56,8 @@ public class SkeletonDataAssetInspector : Editor { private bool m_initialized = false; private SkeletonDataAsset m_skeletonDataAsset; private string m_skeletonDataAssetGUID; - + bool failedSkeletonDataLatch = false; + void OnEnable () { try { @@ -98,12 +99,25 @@ public class SkeletonDataAssetInspector : Editor { EditorGUILayout.PropertyField(skeletonJSON); EditorGUILayout.PropertyField(scale); if (EditorGUI.EndChangeCheck()) { + + if(failedSkeletonDataLatch){ + failedSkeletonDataLatch = false; + } + if (m_previewUtility != null) { m_previewUtility.Cleanup(); m_previewUtility = null; } + + serializedObject.ApplyModifiedProperties(); } - + + if(failedSkeletonDataLatch){ + GUI.color = Color.red; + GUILayout.Label("WARNING: Skeleton JSON and Sprite Collection Mismatch"); + return; + } + SkeletonData skeletonData = asset.GetSkeletonData(asset.spriteCollection == null || asset.skeletonJSON == null); if (skeletonData != null) { showAnimationStateData = EditorGUILayout.Foldout(showAnimationStateData, "Animation State Data"); @@ -238,7 +252,7 @@ public class SkeletonDataAssetInspector : Editor { } private void InitPreview () { - if (this.m_previewUtility == null) { + if (this.m_previewUtility == null && m_skeletonDataAsset.spriteCollection != null && !failedSkeletonDataLatch) { this.m_lastTime = Time.realtimeSinceStartup; this.m_previewUtility = new PreviewRenderUtility(true); this.m_previewUtility.m_Camera.isOrthoGraphic = true; @@ -252,8 +266,14 @@ public class SkeletonDataAssetInspector : Editor { this.DestroyPreviewInstances(); if (this.m_previewInstance == null) { string skinName = EditorPrefs.GetString(m_skeletonDataAssetGUID + "_lastSkin", ""); - - m_previewInstance = SpineEditorUtilities.SpawnAnimatedSkeleton((SkeletonDataAsset)target, skinName).gameObject; + SkeletonAnimation skelAnim = SpineEditorUtilities.SpawnAnimatedSkeleton((SkeletonDataAsset)target, skinName); + if(skelAnim == null){ + failedSkeletonDataLatch = true; + //EditorUtility.DisplayDialog("Skeleton / SpriteCollection Mismatch", "GetSkeletonData failed, make sure JSON and SpriteCollection match.\nSprite Collection must contain all attachments referenced in SkeletonJSON", "OK"); + return; //failed + } + + m_previewInstance = skelAnim.gameObject; //m_previewInstance.transform.localScale = Vector3.one * 0.01f; m_previewInstance.hideFlags = HideFlags.HideAndDontSave; m_previewInstance.layer = 0x1f; @@ -281,12 +301,16 @@ public class SkeletonDataAssetInspector : Editor { public override bool HasPreviewGUI () { //TODO: validate json data - return skeletonJSON.objectReferenceValue != null; + + return skeletonJSON.objectReferenceValue != null && spriteCollection.objectReferenceValue != null && !failedSkeletonDataLatch; } Texture m_previewTex = new Texture(); public override void OnInteractivePreviewGUI (Rect r, GUIStyle background) { + if(m_skeletonDataAsset.spriteCollection == null) + return; + this.InitPreview(); if (UnityEngine.Event.current.type == EventType.Repaint) { @@ -355,7 +379,7 @@ public class SkeletonDataAssetInspector : Editor { private void DoRenderPreview (bool drawHandles) { GameObject go = this.m_previewInstance; - if (m_requireRefresh) { + if (m_requireRefresh && go != null) { go.renderer.enabled = true; if (EditorApplication.isPlaying) { @@ -581,6 +605,8 @@ public class SkeletonDataAssetInspector : Editor { //TODO: Fix first-import error //TODO: Update preview without thumbnail public override Texture2D RenderStaticPreview (string assetPath, UnityEngine.Object[] subAssets, int width, int height) { + if(m_skeletonDataAsset.spriteCollection == null) + return null; Texture2D tex = new Texture2D(width, height, TextureFormat.ARGB32, false); this.InitPreview(); diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs index 7bb412ce6..94102d866 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs +++ b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs @@ -231,7 +231,11 @@ public class SpineEditorUtilities : AssetPostprocessor { } public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, string skinName) { - return SpawnAnimatedSkeleton(skeletonDataAsset, skeletonDataAsset.GetSkeletonData(true).FindSkin(skinName)); + SkeletonData skelData = skeletonDataAsset.GetSkeletonData(false); + if(skelData == null){ + return null; + } + return SpawnAnimatedSkeleton(skeletonDataAsset, skelData.FindSkin(skinName)); } public static SkeletonAnimation SpawnAnimatedSkeleton (SkeletonDataAsset skeletonDataAsset, Skin skin = null) { @@ -241,7 +245,7 @@ public class SpineEditorUtilities : AssetPostprocessor { - SkeletonData data = skeletonDataAsset.GetSkeletonData(true); + SkeletonData data = skeletonDataAsset.GetSkeletonData(false); if (data == null) { return null; @@ -265,4 +269,108 @@ public class SpineEditorUtilities : AssetPostprocessor { return anim; } + + static bool IsSpineJSON (TextAsset asset) { + object obj = Json.Deserialize(new StringReader(asset.text)); + if (obj == null) { + Debug.LogError("Is not valid JSON"); + return false; + } + + Dictionary root = (Dictionary)obj; + + if (!root.ContainsKey("skeleton")) + return false; + + Dictionary skeletonInfo = (Dictionary)root["skeleton"]; + + string spineVersion = (string)skeletonInfo["spine"]; + //TODO: reject old versions + + return true; + } + + //TK2D helpers + + [MenuItem("Assets/Create/Spine/SkeletonData From Selection", true)] + static bool CreateSkeletonDataFromSelectionValidate(){ + int spineJsonCount = 0; + int collectionCount = 0; + + foreach(Object obj in Selection.objects){ + if(obj is TextAsset){ + TextAsset t = obj as TextAsset; + if(IsSpineJSON(t)) + spineJsonCount++; + } + else if(obj is GameObject){ + GameObject go = obj as GameObject; + var spriteCollection = go.GetComponent(); + if(spriteCollection != null){ + if(spriteCollection.spriteCollection != null){ + collectionCount++; + if(collectionCount > 1){ + Debug.LogWarning("SkeletonData From Selection only works when 1 Collection is selected."); + return false; + } + } + } + } + } + + if(spineJsonCount > 0 && collectionCount == 1){ + return true; + } + + return false; + } + + [MenuItem("Assets/Create/Spine/SkeletonData From Selection")] + static void CreateSkeletonDataFromSelection(){ + + List jsonList = new List(); + tk2dSpriteCollectionData collectionData = null; + + foreach(Object obj in Selection.objects){ + if(obj is TextAsset){ + TextAsset t = obj as TextAsset; + if(IsSpineJSON(t)) + jsonList.Add(t); + } + else if(obj is GameObject){ + GameObject go = obj as GameObject; + var spriteCollection = go.GetComponent(); + if(spriteCollection != null){ + if(spriteCollection.spriteCollection != null){ + collectionData = spriteCollection.spriteCollection; + } + } + } + } + + if(collectionData == null) + return; + + foreach(TextAsset t in jsonList){ + string path = Path.GetDirectoryName(AssetDatabase.GetAssetPath(t)) + "/" + t.name + "_SkeletonData.asset"; + + SkeletonDataAsset skeletonDataAsset = (SkeletonDataAsset)AssetDatabase.LoadAssetAtPath(path, typeof(SkeletonDataAsset)); + if(skeletonDataAsset == null){ + skeletonDataAsset = SkeletonDataAsset.CreateInstance(); + AssetDatabase.CreateAsset(skeletonDataAsset, path); + } + + skeletonDataAsset.skeletonJSON = t; + skeletonDataAsset.spriteCollection = collectionData; + skeletonDataAsset.defaultMix = 0.2f; + skeletonDataAsset.fromAnimation = new string[0]; + skeletonDataAsset.toAnimation = new string[0]; + skeletonDataAsset.duration = new float[0]; + + EditorUtility.SetDirty(skeletonDataAsset); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + + } } From 799f152597e796531aaca246545b682cbb140564 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Mon, 13 Oct 2014 12:57:52 +0200 Subject: [PATCH 50/91] Docs. --- spine-tk2d/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-tk2d/README.md b/spine-tk2d/README.md index caf1d24f0..4713b3f73 100644 --- a/spine-tk2d/README.md +++ b/spine-tk2d/README.md @@ -8,7 +8,7 @@ spine-tk2d differs from spine-unity in that a TK2D atlas is used instead of a Sp ## Documentation -The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use both spine-unity and spine-tk2d features. +The [spine-tk2d video](https://www.youtube.com/watch?v=7dg9slk9mxA) shows some differences between spine-tk2d and spine-unity. Except for setting up the texture atlas, everything in spine-tk2d works the same as spine-unity. The [Spine Unity Examples](http://esotericsoftware.com/forum/viewtopic.php?f=3&t=3318) forum thread has many videos on how to use both spine-unity and spine-tk2d features. ## Quick installation From 4a242cd966f467fd0131006b94c64812bc12a25d Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Tue, 14 Oct 2014 00:37:18 +0200 Subject: [PATCH 51/91] Update README.md --- spine-c/README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/spine-c/README.md b/spine-c/README.md index f3a72db18..71ec54b08 100644 --- a/spine-c/README.md +++ b/spine-c/README.md @@ -11,10 +11,6 @@ Alternatively, the contents of the `spine-c/src` and `spine-c/include` directori If `SPINE_SHORT_NAMES` is defined, the `sp` prefix for all structs and functions is optional. Only use this if the spine-c names won't cause a conflict. -## Examples - -[Loading data](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-c/example/main.c) - ## Extension Extending spine-c requires implementing three methods: From eb1e303017aaf76363f08e86f4feafb65c4d7907 Mon Sep 17 00:00:00 2001 From: jpoag Date: Sun, 26 Oct 2014 12:49:26 -0400 Subject: [PATCH 52/91] [Spine-C] retain hash and version strings --- spine-c/src/spine/SkeletonData.c | 248 ++--- spine-c/src/spine/SkeletonJson.c | 1572 +++++++++++++++--------------- 2 files changed, 912 insertions(+), 908 deletions(-) diff --git a/spine-c/src/spine/SkeletonData.c b/spine-c/src/spine/SkeletonData.c index d586415b7..eeea05c5c 100644 --- a/spine-c/src/spine/SkeletonData.c +++ b/spine-c/src/spine/SkeletonData.c @@ -1,122 +1,126 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable and - * non-transferable license to install, execute and perform the Spine Runtimes - * Software (the "Software") solely for internal use. Without the written - * permission of Esoteric Software (typically granted by licensing Spine), you - * may not (a) modify, translate, adapt or otherwise create derivative works, - * improvements of the Software or develop new applications using the Software - * or (b) remove, delete, alter or obscure any trademarks or any copyright, - * trademark, patent or other intellectual property or proprietary rights - * notices on or in the Software, including any copy thereof. Redistributions - * in binary or source form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include -#include -#include - -spSkeletonData* spSkeletonData_create () { - return NEW(spSkeletonData); -} - -void spSkeletonData_dispose (spSkeletonData* self) { - int i; - for (i = 0; i < self->bonesCount; ++i) - spBoneData_dispose(self->bones[i]); - FREE(self->bones); - - for (i = 0; i < self->slotsCount; ++i) - spSlotData_dispose(self->slots[i]); - FREE(self->slots); - - for (i = 0; i < self->skinsCount; ++i) - spSkin_dispose(self->skins[i]); - FREE(self->skins); - - for (i = 0; i < self->eventsCount; ++i) - spEventData_dispose(self->events[i]); - FREE(self->events); - - for (i = 0; i < self->animationsCount; ++i) - spAnimation_dispose(self->animations[i]); - FREE(self->animations); - - for (i = 0; i < self->ikConstraintsCount; ++i) - spIkConstraintData_dispose(self->ikConstraints[i]); - FREE(self->ikConstraints); - - FREE(self); -} - -spBoneData* spSkeletonData_findBone (const spSkeletonData* self, const char* boneName) { - int i; - for (i = 0; i < self->bonesCount; ++i) - if (strcmp(self->bones[i]->name, boneName) == 0) return self->bones[i]; - return 0; -} - -int spSkeletonData_findBoneIndex (const spSkeletonData* self, const char* boneName) { - int i; - for (i = 0; i < self->bonesCount; ++i) - if (strcmp(self->bones[i]->name, boneName) == 0) return i; - return -1; -} - -spSlotData* spSkeletonData_findSlot (const spSkeletonData* self, const char* slotName) { - int i; - for (i = 0; i < self->slotsCount; ++i) - if (strcmp(self->slots[i]->name, slotName) == 0) return self->slots[i]; - return 0; -} - -int spSkeletonData_findSlotIndex (const spSkeletonData* self, const char* slotName) { - int i; - for (i = 0; i < self->slotsCount; ++i) - if (strcmp(self->slots[i]->name, slotName) == 0) return i; - return -1; -} - -spSkin* spSkeletonData_findSkin (const spSkeletonData* self, const char* skinName) { - int i; - for (i = 0; i < self->skinsCount; ++i) - if (strcmp(self->skins[i]->name, skinName) == 0) return self->skins[i]; - return 0; -} - -spEventData* spSkeletonData_findEvent (const spSkeletonData* self, const char* eventName) { - int i; - for (i = 0; i < self->eventsCount; ++i) - if (strcmp(self->events[i]->name, eventName) == 0) return self->events[i]; - return 0; -} - -spAnimation* spSkeletonData_findAnimation (const spSkeletonData* self, const char* animationName) { - int i; - for (i = 0; i < self->animationsCount; ++i) - if (strcmp(self->animations[i]->name, animationName) == 0) return self->animations[i]; - return 0; -} - -spIkConstraintData* spSkeletonData_findIkConstraint (const spSkeletonData* self, const char* ikConstraintName) { - int i; - for (i = 0; i < self->ikConstraintsCount; ++i) - if (strcmp(self->ikConstraints[i]->name, ikConstraintName) == 0) return self->ikConstraints[i]; - return 0; -} +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#include +#include +#include + +spSkeletonData* spSkeletonData_create () { + return NEW(spSkeletonData); +} + +void spSkeletonData_dispose (spSkeletonData* self) { + int i; + + for (i = 0; i < self->bonesCount; ++i) + spBoneData_dispose(self->bones[i]); + FREE(self->bones); + + for (i = 0; i < self->slotsCount; ++i) + spSlotData_dispose(self->slots[i]); + FREE(self->slots); + + for (i = 0; i < self->skinsCount; ++i) + spSkin_dispose(self->skins[i]); + FREE(self->skins); + + for (i = 0; i < self->eventsCount; ++i) + spEventData_dispose(self->events[i]); + FREE(self->events); + + for (i = 0; i < self->animationsCount; ++i) + spAnimation_dispose(self->animations[i]); + FREE(self->animations); + + for (i = 0; i < self->ikConstraintsCount; ++i) + spIkConstraintData_dispose(self->ikConstraints[i]); + FREE(self->ikConstraints); + + FREE(self->hash); + FREE(self->version); + + FREE(self); +} + +spBoneData* spSkeletonData_findBone (const spSkeletonData* self, const char* boneName) { + int i; + for (i = 0; i < self->bonesCount; ++i) + if (strcmp(self->bones[i]->name, boneName) == 0) return self->bones[i]; + return 0; +} + +int spSkeletonData_findBoneIndex (const spSkeletonData* self, const char* boneName) { + int i; + for (i = 0; i < self->bonesCount; ++i) + if (strcmp(self->bones[i]->name, boneName) == 0) return i; + return -1; +} + +spSlotData* spSkeletonData_findSlot (const spSkeletonData* self, const char* slotName) { + int i; + for (i = 0; i < self->slotsCount; ++i) + if (strcmp(self->slots[i]->name, slotName) == 0) return self->slots[i]; + return 0; +} + +int spSkeletonData_findSlotIndex (const spSkeletonData* self, const char* slotName) { + int i; + for (i = 0; i < self->slotsCount; ++i) + if (strcmp(self->slots[i]->name, slotName) == 0) return i; + return -1; +} + +spSkin* spSkeletonData_findSkin (const spSkeletonData* self, const char* skinName) { + int i; + for (i = 0; i < self->skinsCount; ++i) + if (strcmp(self->skins[i]->name, skinName) == 0) return self->skins[i]; + return 0; +} + +spEventData* spSkeletonData_findEvent (const spSkeletonData* self, const char* eventName) { + int i; + for (i = 0; i < self->eventsCount; ++i) + if (strcmp(self->events[i]->name, eventName) == 0) return self->events[i]; + return 0; +} + +spAnimation* spSkeletonData_findAnimation (const spSkeletonData* self, const char* animationName) { + int i; + for (i = 0; i < self->animationsCount; ++i) + if (strcmp(self->animations[i]->name, animationName) == 0) return self->animations[i]; + return 0; +} + +spIkConstraintData* spSkeletonData_findIkConstraint (const spSkeletonData* self, const char* ikConstraintName) { + int i; + for (i = 0; i < self->ikConstraintsCount; ++i) + if (strcmp(self->ikConstraints[i]->name, ikConstraintName) == 0) return self->ikConstraints[i]; + return 0; +} diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 8db167d16..bc4418368 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -1,786 +1,786 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable and - * non-transferable license to install, execute and perform the Spine Runtimes - * Software (the "Software") solely for internal use. Without the written - * permission of Esoteric Software (typically granted by licensing Spine), you - * may not (a) modify, translate, adapt or otherwise create derivative works, - * improvements of the Software or develop new applications using the Software - * or (b) remove, delete, alter or obscure any trademarks or any copyright, - * trademark, patent or other intellectual property or proprietary rights - * notices on or in the Software, including any copy thereof. Redistributions - * in binary or source form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include -#include -#include "Json.h" -#include -#include - -typedef struct { - spSkeletonJson super; - int ownsLoader; -} _spSkeletonJson; - -spSkeletonJson* spSkeletonJson_createWithLoader (spAttachmentLoader* attachmentLoader) { - spSkeletonJson* self = SUPER(NEW(_spSkeletonJson)); - self->scale = 1; - self->attachmentLoader = attachmentLoader; - return self; -} - -spSkeletonJson* spSkeletonJson_create (spAtlas* atlas) { - spAtlasAttachmentLoader* attachmentLoader = spAtlasAttachmentLoader_create(atlas); - spSkeletonJson* self = spSkeletonJson_createWithLoader(SUPER(attachmentLoader)); - SUB_CAST(_spSkeletonJson, self)->ownsLoader = 1; - return self; -} - -void spSkeletonJson_dispose (spSkeletonJson* self) { - if (SUB_CAST(_spSkeletonJson, self)->ownsLoader) spAttachmentLoader_dispose(self->attachmentLoader); - FREE(self->error); - FREE(self); -} - -void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* value1, const char* value2) { - char message[256]; - int length; - FREE(self->error); - strcpy(message, value1); - length = (int)strlen(value1); - if (value2) strncat(message + length, value2, 256 - length); - MALLOC_STR(self->error, message); - if (root) Json_dispose(root); -} - -static float toColor (const char* value, int index) { - char digits[3]; - char *error; - int color; - - if (strlen(value) != 8) return -1; - value += index * 2; - - digits[0] = *value; - digits[1] = *(value + 1); - digits[2] = '\0'; - color = (int)strtoul(digits, &error, 16); - if (*error != 0) return -1; - return color / (float)255; -} - -static void readCurve (spCurveTimeline* timeline, int frameIndex, Json* frame) { - Json* curve = Json_getItem(frame, "curve"); - if (!curve) return; - if (curve->type == Json_String && strcmp(curve->valueString, "stepped") == 0) - spCurveTimeline_setStepped(timeline, frameIndex); - else if (curve->type == Json_Array) { - Json* child0 = curve->child; - Json* child1 = child0->next; - Json* child2 = child1->next; - Json* child3 = child2->next; - spCurveTimeline_setCurve(timeline, frameIndex, child0->valueFloat, child1->valueFloat, child2->valueFloat, - child3->valueFloat); - } -} - -static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* root, spSkeletonData *skeletonData) { - int i; - spAnimation* animation; - Json* frame; - float duration; - int timelinesCount = 0; - - Json* bones = Json_getItem(root, "bones"); - Json* slots = Json_getItem(root, "slots"); - Json* ik = Json_getItem(root, "ik"); - Json* ffd = Json_getItem(root, "ffd"); - Json* drawOrder = Json_getItem(root, "drawOrder"); - Json* events = Json_getItem(root, "events"); - Json* flipX = Json_getItem(root, "flipx"); - Json* flipY = Json_getItem(root, "flipy"); - Json *boneMap, *slotMap, *ikMap, *ffdMap; - if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); - - for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) - timelinesCount += boneMap->size; - for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) - timelinesCount += slotMap->size; - timelinesCount += ik ? ik->size : 0; - for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) - for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) - timelinesCount += slotMap->size; - if (drawOrder) ++timelinesCount; - if (events) ++timelinesCount; - if (flipX) ++timelinesCount; - if (flipY) ++timelinesCount; - - animation = spAnimation_create(root->name, timelinesCount); - animation->timelinesCount = 0; - skeletonData->animations[skeletonData->animationsCount++] = animation; - - /* Slot timelines. */ - for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) { - Json *timelineArray; - - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); - if (slotIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, root, "Slot not found: ", slotMap->name); - return 0; - } - - for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { - if (strcmp(timelineArray->name, "color") == 0) { - spColorTimeline *timeline = spColorTimeline_create(timelineArray->size); - timeline->slotIndex = slotIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - const char* s = Json_getString(frame, "color", 0); - spColorTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), toColor(s, 0), toColor(s, 1), toColor(s, 2), - toColor(s, 3)); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 5 - 5]; - if (duration > animation->duration) animation->duration = duration; - - } else if (strcmp(timelineArray->name, "attachment") == 0) { - spAttachmentTimeline *timeline = spAttachmentTimeline_create(timelineArray->size); - timeline->slotIndex = slotIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - Json* name = Json_getItem(frame, "name"); - spAttachmentTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), - name->type == Json_NULL ? 0 : name->valueString); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size - 1]; - if (duration > animation->duration) animation->duration = duration; - - } else { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Invalid timeline type for a slot: ", timelineArray->name); - return 0; - } - } - } - - /* Bone timelines. */ - for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) { - Json *timelineArray; - - int boneIndex = spSkeletonData_findBoneIndex(skeletonData, boneMap->name); - if (boneIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, root, "Bone not found: ", boneMap->name); - return 0; - } - - for (timelineArray = boneMap->child; timelineArray; timelineArray = timelineArray->next) { - if (strcmp(timelineArray->name, "rotate") == 0) { - spRotateTimeline *timeline = spRotateTimeline_create(timelineArray->size); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - spRotateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "angle", 0)); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - - } else { - int isScale = strcmp(timelineArray->name, "scale") == 0; - if (isScale || strcmp(timelineArray->name, "translate") == 0) { - float scale = isScale ? 1 : self->scale; - spTranslateTimeline *timeline = - isScale ? spScaleTimeline_create(timelineArray->size) : spTranslateTimeline_create(timelineArray->size); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - spTranslateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "x", 0) * scale, - Json_getFloat(frame, "y", 0) * scale); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 3 - 3]; - if (duration > animation->duration) animation->duration = duration; - } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { - int x = strcmp(timelineArray->name, "flipX") == 0; - char* field = x ? "x" : "y"; - spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) - spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0)); - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - - } else { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name); - return 0; - } - } - } - } - - /* IK timelines. */ - for (ikMap = ik ? ik->child : 0; ikMap; ikMap = ikMap->next) { - spIkConstraintData* ikConstraint = spSkeletonData_findIkConstraint(skeletonData, ikMap->name); - spIkConstraintTimeline* timeline = spIkConstraintTimeline_create(ikMap->size); - for (i = 0; i < skeletonData->ikConstraintsCount; ++i) { - if (ikConstraint == skeletonData->ikConstraints[i]) { - timeline->ikConstraintIndex = i; - break; - } - } - for (frame = ikMap->child, i = 0; frame; frame = frame->next, ++i) { - spIkConstraintTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "mix", 0), - Json_getInt(frame, "bendPositive", 1) ? 1 : -1); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[ikMap->size * 3 - 3]; - if (duration > animation->duration) animation->duration = duration; - } - - /* FFD timelines. */ - for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) { - spSkin* skin = spSkeletonData_findSkin(skeletonData, ffdMap->name); - for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); - Json* timelineArray; - for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { - Json* frame; - int verticesCount = 0; - float* tempVertices; - spFFDTimeline *timeline; - - spAttachment* attachment = spSkin_getAttachment(skin, slotIndex, timelineArray->name); - if (!attachment) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Attachment not found: ", timelineArray->name); - return 0; - } - if (attachment->type == SP_ATTACHMENT_MESH) - verticesCount = SUB_CAST(spMeshAttachment, attachment)->verticesCount; - else if (attachment->type == SP_ATTACHMENT_SKINNED_MESH) - verticesCount = SUB_CAST(spSkinnedMeshAttachment, attachment)->weightsCount / 3 * 2; - - timeline = spFFDTimeline_create(timelineArray->size, verticesCount); - timeline->slotIndex = slotIndex; - timeline->attachment = attachment; - - tempVertices = MALLOC(float, verticesCount); - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - Json* vertices = Json_getItem(frame, "vertices"); - float* frameVertices; - if (!vertices) { - if (attachment->type == SP_ATTACHMENT_MESH) - frameVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; - else { - frameVertices = tempVertices; - memset(frameVertices, 0, sizeof(float) * verticesCount); - } - } else { - int v, start = Json_getInt(frame, "offset", 0); - Json* vertex; - frameVertices = tempVertices; - memset(frameVertices, 0, sizeof(float) * start); - if (self->scale == 1) { - for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) - frameVertices[v] = vertex->valueFloat; - } else { - for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) - frameVertices[v] = vertex->valueFloat * self->scale; - } - memset(frameVertices + v, 0, sizeof(float) * (verticesCount - v)); - if (attachment->type == SP_ATTACHMENT_MESH) { - float* meshVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; - for (v = 0; v < verticesCount; ++v) - frameVertices[v] += meshVertices[v]; - } - } - spFFDTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), frameVertices); - readCurve(SUPER(timeline), i, frame); - } - FREE(tempVertices); - - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - } - } - - /* Draw order timeline. */ - if (drawOrder) { - spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); - for (frame = drawOrder->child, i = 0; frame; frame = frame->next, ++i) { - int ii; - int* drawOrder = 0; - Json* offsets = Json_getItem(frame, "offsets"); - if (offsets) { - Json* offsetMap; - int* unchanged = MALLOC(int, skeletonData->slotsCount - offsets->size); - int originalIndex = 0, unchangedIndex = 0; - - drawOrder = MALLOC(int, skeletonData->slotsCount); - for (ii = skeletonData->slotsCount - 1; ii >= 0; --ii) - drawOrder[ii] = -1; - - for (offsetMap = offsets->child; offsetMap; offsetMap = offsetMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, Json_getString(offsetMap, "slot", 0)); - if (slotIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Slot not found: ", Json_getString(offsetMap, "slot", 0)); - return 0; - } - /* Collect unchanged items. */ - while (originalIndex != slotIndex) - unchanged[unchangedIndex++] = originalIndex++; - /* Set changed items. */ - drawOrder[originalIndex + Json_getInt(offsetMap, "offset", 0)] = originalIndex; - originalIndex++; - } - /* Collect remaining unchanged items. */ - while (originalIndex < skeletonData->slotsCount) - unchanged[unchangedIndex++] = originalIndex++; - /* Fill in unchanged items. */ - for (ii = skeletonData->slotsCount - 1; ii >= 0; ii--) - if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; - FREE(unchanged); - } - spDrawOrderTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), drawOrder); - FREE(drawOrder); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[drawOrder->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - - /* Event timeline. */ - if (events) { - Json* frame; - - spEventTimeline* timeline = spEventTimeline_create(events->size); - for (frame = events->child, i = 0; frame; frame = frame->next, ++i) { - spEvent* event; - const char* stringValue; - spEventData* eventData = spSkeletonData_findEvent(skeletonData, Json_getString(frame, "name", 0)); - if (!eventData) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Event not found: ", Json_getString(frame, "name", 0)); - return 0; - } - event = spEvent_create(eventData); - event->intValue = Json_getInt(frame, "int", eventData->intValue); - event->floatValue = Json_getFloat(frame, "float", eventData->floatValue); - stringValue = Json_getString(frame, "string", eventData->stringValue); - if (stringValue) MALLOC_STR(event->stringValue, stringValue); - spEventTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), event); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[events->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - - return animation; -} - -spSkeletonData* spSkeletonJson_readSkeletonDataFile (spSkeletonJson* self, const char* path) { - int length; - spSkeletonData* skeletonData; - const char* json = _spUtil_readFile(path, &length); - if (!json) { - _spSkeletonJson_setError(self, 0, "Unable to read skeleton file: ", path); - return 0; - } - skeletonData = spSkeletonJson_readSkeletonData(self, json); - FREE(json); - return skeletonData; -} - -spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const char* json) { - int i, ii; - spSkeletonData* skeletonData; - Json *root, *skeleton, *bones, *boneMap, *ik, *slots, *skins, *animations, *events; - - FREE(self->error); - CONST_CAST(char*, self->error) = 0; - - root = Json_create(json); - if (!root) { - _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); - return 0; - } - - skeletonData = spSkeletonData_create(); - - skeleton = Json_getItem(root, "skeleton"); - if (skeleton) { - skeletonData->hash = Json_getString(skeleton, "hash", 0); - skeletonData->version = Json_getString(skeleton, "spine", 0); - skeletonData->width = Json_getFloat(skeleton, "width", 0); - skeletonData->height = Json_getFloat(skeleton, "height", 0); - } - - /* Bones. */ - bones = Json_getItem(root, "bones"); - skeletonData->bones = MALLOC(spBoneData*, bones->size); - for (boneMap = bones->child, i = 0; boneMap; boneMap = boneMap->next, ++i) { - spBoneData* boneData; - - spBoneData* parent = 0; - const char* parentName = Json_getString(boneMap, "parent", 0); - if (parentName) { - parent = spSkeletonData_findBone(skeletonData, parentName); - if (!parent) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Parent bone not found: ", parentName); - return 0; - } - } - - boneData = spBoneData_create(Json_getString(boneMap, "name", 0), parent); - boneData->length = Json_getFloat(boneMap, "length", 0) * self->scale; - boneData->x = Json_getFloat(boneMap, "x", 0) * self->scale; - boneData->y = Json_getFloat(boneMap, "y", 0) * self->scale; - boneData->rotation = Json_getFloat(boneMap, "rotation", 0); - boneData->scaleX = Json_getFloat(boneMap, "scaleX", 1); - boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1); - boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1); - boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1); - - skeletonData->bones[i] = boneData; - skeletonData->bonesCount++; - } - - /* IK constraints. */ - ik = Json_getItem(root, "ik"); - if (ik) { - Json *ikMap; - skeletonData->ikConstraintsCount = ik->size; - skeletonData->ikConstraints = MALLOC(spIkConstraintData*, ik->size); - for (ikMap = ik->child, i = 0; ikMap; ikMap = ikMap->next, ++i) { - const char* targetName; - - spIkConstraintData* ikConstraintData = spIkConstraintData_create(Json_getString(ikMap, "name", 0)); - boneMap = Json_getItem(ikMap, "bones"); - ikConstraintData->bonesCount = boneMap->size; - ikConstraintData->bones = MALLOC(spBoneData*, boneMap->size); - for (boneMap = boneMap->child, ii = 0; boneMap; boneMap = boneMap->next, ++ii) { - ikConstraintData->bones[ii] = spSkeletonData_findBone(skeletonData, boneMap->valueString); - if (!ikConstraintData->bones[ii]) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "IK bone not found: ", boneMap->valueString); - return 0; - } - } - - targetName = Json_getString(ikMap, "target", 0); - ikConstraintData->target = spSkeletonData_findBone(skeletonData, targetName); - if (!ikConstraintData->target) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Target bone not found: ", boneMap->name); - return 0; - } - - ikConstraintData->bendDirection = Json_getInt(ikMap, "bendPositive", 1) ? 1 : -1; - ikConstraintData->mix = Json_getFloat(ikMap, "mix", 1); - - skeletonData->ikConstraints[i] = ikConstraintData; - } - } - - /* Slots. */ - slots = Json_getItem(root, "slots"); - if (slots) { - Json *slotMap; - skeletonData->slotsCount = slots->size; - skeletonData->slots = MALLOC(spSlotData*, slots->size); - for (slotMap = slots->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { - spSlotData* slotData; - const char* color; - Json *attachmentItem; - - const char* boneName = Json_getString(slotMap, "bone", 0); - spBoneData* boneData = spSkeletonData_findBone(skeletonData, boneName); - if (!boneData) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Slot bone not found: ", boneName); - return 0; - } - - slotData = spSlotData_create(Json_getString(slotMap, "name", 0), boneData); - - color = Json_getString(slotMap, "color", 0); - if (color) { - slotData->r = toColor(color, 0); - slotData->g = toColor(color, 1); - slotData->b = toColor(color, 2); - slotData->a = toColor(color, 3); - } - - attachmentItem = Json_getItem(slotMap, "attachment"); - if (attachmentItem) spSlotData_setAttachmentName(slotData, attachmentItem->valueString); - - slotData->additiveBlending = Json_getInt(slotMap, "additive", 0); - - skeletonData->slots[i] = slotData; - } - } - - /* Skins. */ - skins = Json_getItem(root, "skins"); - if (skins) { - Json *slotMap; - skeletonData->skinsCount = skins->size; - skeletonData->skins = MALLOC(spSkin*, skins->size); - for (slotMap = skins->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { - Json *attachmentsMap; - spSkin *skin = spSkin_create(slotMap->name); - - skeletonData->skins[i] = skin; - if (strcmp(slotMap->name, "default") == 0) skeletonData->defaultSkin = skin; - - for (attachmentsMap = slotMap->child; attachmentsMap; attachmentsMap = attachmentsMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, attachmentsMap->name); - Json *attachmentMap; - - for (attachmentMap = attachmentsMap->child; attachmentMap; attachmentMap = attachmentMap->next) { - spAttachment* attachment; - const char* skinAttachmentName = attachmentMap->name; - const char* attachmentName = Json_getString(attachmentMap, "name", skinAttachmentName); - const char* path = Json_getString(attachmentMap, "path", attachmentName); - const char* color; - int i; - Json* entry; - - const char* typeString = Json_getString(attachmentMap, "type", "region"); - spAttachmentType type; - if (strcmp(typeString, "region") == 0) - type = SP_ATTACHMENT_REGION; - else if (strcmp(typeString, "mesh") == 0) - type = SP_ATTACHMENT_MESH; - else if (strcmp(typeString, "skinnedmesh") == 0) - type = SP_ATTACHMENT_SKINNED_MESH; - else if (strcmp(typeString, "boundingbox") == 0) - type = SP_ATTACHMENT_BOUNDING_BOX; - else { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Unknown attachment type: ", typeString); - return 0; - } - - attachment = spAttachmentLoader_newAttachment(self->attachmentLoader, skin, type, attachmentName, path); - if (!attachment) { - if (self->attachmentLoader->error1) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, self->attachmentLoader->error1, self->attachmentLoader->error2); - return 0; - } - continue; - } - - switch (attachment->type) { - case SP_ATTACHMENT_REGION: { - spRegionAttachment* region = SUB_CAST(spRegionAttachment, attachment); - if (path) MALLOC_STR(region->path, path); - region->x = Json_getFloat(attachmentMap, "x", 0) * self->scale; - region->y = Json_getFloat(attachmentMap, "y", 0) * self->scale; - region->scaleX = Json_getFloat(attachmentMap, "scaleX", 1); - region->scaleY = Json_getFloat(attachmentMap, "scaleY", 1); - region->rotation = Json_getFloat(attachmentMap, "rotation", 0); - region->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - region->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - region->r = toColor(color, 0); - region->g = toColor(color, 1); - region->b = toColor(color, 2); - region->a = toColor(color, 3); - } - - spRegionAttachment_updateOffset(region); - break; - } - case SP_ATTACHMENT_MESH: { - spMeshAttachment* mesh = SUB_CAST(spMeshAttachment, attachment); - - MALLOC_STR(mesh->path, path); - - entry = Json_getItem(attachmentMap, "vertices"); - mesh->verticesCount = entry->size; - mesh->vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->vertices[i] = entry->valueFloat * self->scale; - - entry = Json_getItem(attachmentMap, "triangles"); - mesh->trianglesCount = entry->size; - mesh->triangles = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->triangles[i] = entry->valueInt; - - entry = Json_getItem(attachmentMap, "uvs"); - mesh->regionUVs = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->regionUVs[i] = entry->valueFloat; - - spMeshAttachment_updateUVs(mesh); - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - mesh->r = toColor(color, 0); - mesh->g = toColor(color, 1); - mesh->b = toColor(color, 2); - mesh->a = toColor(color, 3); - } - - mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); - - entry = Json_getItem(attachmentMap, "edges"); - if (entry) { - mesh->edgesCount = entry->size; - mesh->edges = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->edges[i] = entry->valueInt; - } - - mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - break; - } - case SP_ATTACHMENT_SKINNED_MESH: { - spSkinnedMeshAttachment* mesh = SUB_CAST(spSkinnedMeshAttachment, attachment); - int verticesCount, b, w, nn; - float* vertices; - - MALLOC_STR(mesh->path, path); - - entry = Json_getItem(attachmentMap, "uvs"); - mesh->uvsCount = entry->size; - mesh->regionUVs = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->regionUVs[i] = entry->valueFloat; - - entry = Json_getItem(attachmentMap, "vertices"); - verticesCount = entry->size; - vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - vertices[i] = entry->valueFloat; - - for (i = 0; i < verticesCount;) { - int bonesCount = (int)vertices[i]; - mesh->bonesCount += bonesCount + 1; - mesh->weightsCount += bonesCount * 3; - i += 1 + bonesCount * 4; - } - mesh->bones = MALLOC(int, mesh->bonesCount); - mesh->weights = MALLOC(float, mesh->weightsCount); - - for (i = 0, b = 0, w = 0; i < verticesCount;) { - int bonesCount = (int)vertices[i++]; - mesh->bones[b++] = bonesCount; - for (nn = i + bonesCount * 4; i < nn; i += 4, ++b, w += 3) { - mesh->bones[b] = (int)vertices[i]; - mesh->weights[w] = vertices[i + 1] * self->scale; - mesh->weights[w + 1] = vertices[i + 2] * self->scale; - mesh->weights[w + 2] = vertices[i + 3]; - } - } - - FREE(vertices); - - entry = Json_getItem(attachmentMap, "triangles"); - mesh->trianglesCount = entry->size; - mesh->triangles = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->triangles[i] = entry->valueInt; - - spSkinnedMeshAttachment_updateUVs(mesh); - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - mesh->r = toColor(color, 0); - mesh->g = toColor(color, 1); - mesh->b = toColor(color, 2); - mesh->a = toColor(color, 3); - } - - mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); - - entry = Json_getItem(attachmentMap, "edges"); - if (entry) { - mesh->edgesCount = entry->size; - mesh->edges = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->edges[i] = entry->valueInt; - } - - mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - break; - } - case SP_ATTACHMENT_BOUNDING_BOX: { - spBoundingBoxAttachment* box = SUB_CAST(spBoundingBoxAttachment, attachment); - entry = Json_getItem(attachmentMap, "vertices"); - box->verticesCount = entry->size; - box->vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - box->vertices[i] = entry->valueFloat * self->scale; - break; - } - } - - spSkin_addAttachment(skin, slotIndex, skinAttachmentName, attachment); - } - } - } - } - - /* Events. */ - events = Json_getItem(root, "events"); - if (events) { - Json *eventMap; - const char* stringValue; - skeletonData->eventsCount = events->size; - skeletonData->events = MALLOC(spEventData*, events->size); - for (eventMap = events->child, i = 0; eventMap; eventMap = eventMap->next, ++i) { - spEventData* eventData = spEventData_create(eventMap->name); - eventData->intValue = Json_getInt(eventMap, "int", 0); - eventData->floatValue = Json_getFloat(eventMap, "float", 0); - stringValue = Json_getString(eventMap, "string", 0); - if (stringValue) MALLOC_STR(eventData->stringValue, stringValue); - skeletonData->events[i] = eventData; - } - } - - /* Animations. */ - animations = Json_getItem(root, "animations"); - if (animations) { - Json *animationMap; - skeletonData->animations = MALLOC(spAnimation*, animations->size); - for (animationMap = animations->child; animationMap; animationMap = animationMap->next) - _spSkeletonJson_readAnimation(self, animationMap, skeletonData); - } - - Json_dispose(root); - return skeletonData; -} +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#include +#include +#include "Json.h" +#include +#include + +typedef struct { + spSkeletonJson super; + int ownsLoader; +} _spSkeletonJson; + +spSkeletonJson* spSkeletonJson_createWithLoader (spAttachmentLoader* attachmentLoader) { + spSkeletonJson* self = SUPER(NEW(_spSkeletonJson)); + self->scale = 1; + self->attachmentLoader = attachmentLoader; + return self; +} + +spSkeletonJson* spSkeletonJson_create (spAtlas* atlas) { + spAtlasAttachmentLoader* attachmentLoader = spAtlasAttachmentLoader_create(atlas); + spSkeletonJson* self = spSkeletonJson_createWithLoader(SUPER(attachmentLoader)); + SUB_CAST(_spSkeletonJson, self)->ownsLoader = 1; + return self; +} + +void spSkeletonJson_dispose (spSkeletonJson* self) { + if (SUB_CAST(_spSkeletonJson, self)->ownsLoader) spAttachmentLoader_dispose(self->attachmentLoader); + FREE(self->error); + FREE(self); +} + +void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* value1, const char* value2) { + char message[256]; + int length; + FREE(self->error); + strcpy(message, value1); + length = (int)strlen(value1); + if (value2) strncat(message + length, value2, 256 - length); + MALLOC_STR(self->error, message); + if (root) Json_dispose(root); +} + +static float toColor (const char* value, int index) { + char digits[3]; + char *error; + int color; + + if (strlen(value) != 8) return -1; + value += index * 2; + + digits[0] = *value; + digits[1] = *(value + 1); + digits[2] = '\0'; + color = (int)strtoul(digits, &error, 16); + if (*error != 0) return -1; + return color / (float)255; +} + +static void readCurve (spCurveTimeline* timeline, int frameIndex, Json* frame) { + Json* curve = Json_getItem(frame, "curve"); + if (!curve) return; + if (curve->type == Json_String && strcmp(curve->valueString, "stepped") == 0) + spCurveTimeline_setStepped(timeline, frameIndex); + else if (curve->type == Json_Array) { + Json* child0 = curve->child; + Json* child1 = child0->next; + Json* child2 = child1->next; + Json* child3 = child2->next; + spCurveTimeline_setCurve(timeline, frameIndex, child0->valueFloat, child1->valueFloat, child2->valueFloat, + child3->valueFloat); + } +} + +static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* root, spSkeletonData *skeletonData) { + int i; + spAnimation* animation; + Json* frame; + float duration; + int timelinesCount = 0; + + Json* bones = Json_getItem(root, "bones"); + Json* slots = Json_getItem(root, "slots"); + Json* ik = Json_getItem(root, "ik"); + Json* ffd = Json_getItem(root, "ffd"); + Json* drawOrder = Json_getItem(root, "drawOrder"); + Json* events = Json_getItem(root, "events"); + Json* flipX = Json_getItem(root, "flipx"); + Json* flipY = Json_getItem(root, "flipy"); + Json *boneMap, *slotMap, *ikMap, *ffdMap; + if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); + + for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) + timelinesCount += boneMap->size; + for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) + timelinesCount += slotMap->size; + timelinesCount += ik ? ik->size : 0; + for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) + for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) + timelinesCount += slotMap->size; + if (drawOrder) ++timelinesCount; + if (events) ++timelinesCount; + if (flipX) ++timelinesCount; + if (flipY) ++timelinesCount; + + animation = spAnimation_create(root->name, timelinesCount); + animation->timelinesCount = 0; + skeletonData->animations[skeletonData->animationsCount++] = animation; + + /* Slot timelines. */ + for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) { + Json *timelineArray; + + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); + if (slotIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, root, "Slot not found: ", slotMap->name); + return 0; + } + + for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { + if (strcmp(timelineArray->name, "color") == 0) { + spColorTimeline *timeline = spColorTimeline_create(timelineArray->size); + timeline->slotIndex = slotIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + const char* s = Json_getString(frame, "color", 0); + spColorTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), toColor(s, 0), toColor(s, 1), toColor(s, 2), + toColor(s, 3)); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 5 - 5]; + if (duration > animation->duration) animation->duration = duration; + + } else if (strcmp(timelineArray->name, "attachment") == 0) { + spAttachmentTimeline *timeline = spAttachmentTimeline_create(timelineArray->size); + timeline->slotIndex = slotIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + Json* name = Json_getItem(frame, "name"); + spAttachmentTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), + name->type == Json_NULL ? 0 : name->valueString); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size - 1]; + if (duration > animation->duration) animation->duration = duration; + + } else { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Invalid timeline type for a slot: ", timelineArray->name); + return 0; + } + } + } + + /* Bone timelines. */ + for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) { + Json *timelineArray; + + int boneIndex = spSkeletonData_findBoneIndex(skeletonData, boneMap->name); + if (boneIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, root, "Bone not found: ", boneMap->name); + return 0; + } + + for (timelineArray = boneMap->child; timelineArray; timelineArray = timelineArray->next) { + if (strcmp(timelineArray->name, "rotate") == 0) { + spRotateTimeline *timeline = spRotateTimeline_create(timelineArray->size); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + spRotateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "angle", 0)); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + + } else { + int isScale = strcmp(timelineArray->name, "scale") == 0; + if (isScale || strcmp(timelineArray->name, "translate") == 0) { + float scale = isScale ? 1 : self->scale; + spTranslateTimeline *timeline = + isScale ? spScaleTimeline_create(timelineArray->size) : spTranslateTimeline_create(timelineArray->size); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + spTranslateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "x", 0) * scale, + Json_getFloat(frame, "y", 0) * scale); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 3 - 3]; + if (duration > animation->duration) animation->duration = duration; + } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { + int x = strcmp(timelineArray->name, "flipX") == 0; + char* field = x ? "x" : "y"; + spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) + spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0)); + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + + } else { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name); + return 0; + } + } + } + } + + /* IK timelines. */ + for (ikMap = ik ? ik->child : 0; ikMap; ikMap = ikMap->next) { + spIkConstraintData* ikConstraint = spSkeletonData_findIkConstraint(skeletonData, ikMap->name); + spIkConstraintTimeline* timeline = spIkConstraintTimeline_create(ikMap->size); + for (i = 0; i < skeletonData->ikConstraintsCount; ++i) { + if (ikConstraint == skeletonData->ikConstraints[i]) { + timeline->ikConstraintIndex = i; + break; + } + } + for (frame = ikMap->child, i = 0; frame; frame = frame->next, ++i) { + spIkConstraintTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "mix", 0), + Json_getInt(frame, "bendPositive", 1) ? 1 : -1); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[ikMap->size * 3 - 3]; + if (duration > animation->duration) animation->duration = duration; + } + + /* FFD timelines. */ + for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) { + spSkin* skin = spSkeletonData_findSkin(skeletonData, ffdMap->name); + for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); + Json* timelineArray; + for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { + Json* frame; + int verticesCount = 0; + float* tempVertices; + spFFDTimeline *timeline; + + spAttachment* attachment = spSkin_getAttachment(skin, slotIndex, timelineArray->name); + if (!attachment) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Attachment not found: ", timelineArray->name); + return 0; + } + if (attachment->type == SP_ATTACHMENT_MESH) + verticesCount = SUB_CAST(spMeshAttachment, attachment)->verticesCount; + else if (attachment->type == SP_ATTACHMENT_SKINNED_MESH) + verticesCount = SUB_CAST(spSkinnedMeshAttachment, attachment)->weightsCount / 3 * 2; + + timeline = spFFDTimeline_create(timelineArray->size, verticesCount); + timeline->slotIndex = slotIndex; + timeline->attachment = attachment; + + tempVertices = MALLOC(float, verticesCount); + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + Json* vertices = Json_getItem(frame, "vertices"); + float* frameVertices; + if (!vertices) { + if (attachment->type == SP_ATTACHMENT_MESH) + frameVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; + else { + frameVertices = tempVertices; + memset(frameVertices, 0, sizeof(float) * verticesCount); + } + } else { + int v, start = Json_getInt(frame, "offset", 0); + Json* vertex; + frameVertices = tempVertices; + memset(frameVertices, 0, sizeof(float) * start); + if (self->scale == 1) { + for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) + frameVertices[v] = vertex->valueFloat; + } else { + for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) + frameVertices[v] = vertex->valueFloat * self->scale; + } + memset(frameVertices + v, 0, sizeof(float) * (verticesCount - v)); + if (attachment->type == SP_ATTACHMENT_MESH) { + float* meshVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; + for (v = 0; v < verticesCount; ++v) + frameVertices[v] += meshVertices[v]; + } + } + spFFDTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), frameVertices); + readCurve(SUPER(timeline), i, frame); + } + FREE(tempVertices); + + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + } + } + + /* Draw order timeline. */ + if (drawOrder) { + spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); + for (frame = drawOrder->child, i = 0; frame; frame = frame->next, ++i) { + int ii; + int* drawOrder = 0; + Json* offsets = Json_getItem(frame, "offsets"); + if (offsets) { + Json* offsetMap; + int* unchanged = MALLOC(int, skeletonData->slotsCount - offsets->size); + int originalIndex = 0, unchangedIndex = 0; + + drawOrder = MALLOC(int, skeletonData->slotsCount); + for (ii = skeletonData->slotsCount - 1; ii >= 0; --ii) + drawOrder[ii] = -1; + + for (offsetMap = offsets->child; offsetMap; offsetMap = offsetMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, Json_getString(offsetMap, "slot", 0)); + if (slotIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Slot not found: ", Json_getString(offsetMap, "slot", 0)); + return 0; + } + /* Collect unchanged items. */ + while (originalIndex != slotIndex) + unchanged[unchangedIndex++] = originalIndex++; + /* Set changed items. */ + drawOrder[originalIndex + Json_getInt(offsetMap, "offset", 0)] = originalIndex; + originalIndex++; + } + /* Collect remaining unchanged items. */ + while (originalIndex < skeletonData->slotsCount) + unchanged[unchangedIndex++] = originalIndex++; + /* Fill in unchanged items. */ + for (ii = skeletonData->slotsCount - 1; ii >= 0; ii--) + if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; + FREE(unchanged); + } + spDrawOrderTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), drawOrder); + FREE(drawOrder); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[drawOrder->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + + /* Event timeline. */ + if (events) { + Json* frame; + + spEventTimeline* timeline = spEventTimeline_create(events->size); + for (frame = events->child, i = 0; frame; frame = frame->next, ++i) { + spEvent* event; + const char* stringValue; + spEventData* eventData = spSkeletonData_findEvent(skeletonData, Json_getString(frame, "name", 0)); + if (!eventData) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Event not found: ", Json_getString(frame, "name", 0)); + return 0; + } + event = spEvent_create(eventData); + event->intValue = Json_getInt(frame, "int", eventData->intValue); + event->floatValue = Json_getFloat(frame, "float", eventData->floatValue); + stringValue = Json_getString(frame, "string", eventData->stringValue); + if (stringValue) MALLOC_STR(event->stringValue, stringValue); + spEventTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), event); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[events->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + + return animation; +} + +spSkeletonData* spSkeletonJson_readSkeletonDataFile (spSkeletonJson* self, const char* path) { + int length; + spSkeletonData* skeletonData; + const char* json = _spUtil_readFile(path, &length); + if (!json) { + _spSkeletonJson_setError(self, 0, "Unable to read skeleton file: ", path); + return 0; + } + skeletonData = spSkeletonJson_readSkeletonData(self, json); + FREE(json); + return skeletonData; +} + +spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const char* json) { + int i, ii; + spSkeletonData* skeletonData; + Json *root, *skeleton, *bones, *boneMap, *ik, *slots, *skins, *animations, *events; + + FREE(self->error); + CONST_CAST(char*, self->error) = 0; + + root = Json_create(json); + if (!root) { + _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); + return 0; + } + + skeletonData = spSkeletonData_create(); + + skeleton = Json_getItem(root, "skeleton"); + if (skeleton) { + MALLOC_STR(skeletonData->hash, Json_getString(skeleton, "hash", 0)); + MALLOC_STR(skeletonData->version, Json_getString(skeleton, "spine", 0)); + skeletonData->width = Json_getFloat(skeleton, "width", 0); + skeletonData->height = Json_getFloat(skeleton, "height", 0); + } + + /* Bones. */ + bones = Json_getItem(root, "bones"); + skeletonData->bones = MALLOC(spBoneData*, bones->size); + for (boneMap = bones->child, i = 0; boneMap; boneMap = boneMap->next, ++i) { + spBoneData* boneData; + + spBoneData* parent = 0; + const char* parentName = Json_getString(boneMap, "parent", 0); + if (parentName) { + parent = spSkeletonData_findBone(skeletonData, parentName); + if (!parent) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Parent bone not found: ", parentName); + return 0; + } + } + + boneData = spBoneData_create(Json_getString(boneMap, "name", 0), parent); + boneData->length = Json_getFloat(boneMap, "length", 0) * self->scale; + boneData->x = Json_getFloat(boneMap, "x", 0) * self->scale; + boneData->y = Json_getFloat(boneMap, "y", 0) * self->scale; + boneData->rotation = Json_getFloat(boneMap, "rotation", 0); + boneData->scaleX = Json_getFloat(boneMap, "scaleX", 1); + boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1); + boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1); + boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1); + + skeletonData->bones[i] = boneData; + skeletonData->bonesCount++; + } + + /* IK constraints. */ + ik = Json_getItem(root, "ik"); + if (ik) { + Json *ikMap; + skeletonData->ikConstraintsCount = ik->size; + skeletonData->ikConstraints = MALLOC(spIkConstraintData*, ik->size); + for (ikMap = ik->child, i = 0; ikMap; ikMap = ikMap->next, ++i) { + const char* targetName; + + spIkConstraintData* ikConstraintData = spIkConstraintData_create(Json_getString(ikMap, "name", 0)); + boneMap = Json_getItem(ikMap, "bones"); + ikConstraintData->bonesCount = boneMap->size; + ikConstraintData->bones = MALLOC(spBoneData*, boneMap->size); + for (boneMap = boneMap->child, ii = 0; boneMap; boneMap = boneMap->next, ++ii) { + ikConstraintData->bones[ii] = spSkeletonData_findBone(skeletonData, boneMap->valueString); + if (!ikConstraintData->bones[ii]) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "IK bone not found: ", boneMap->valueString); + return 0; + } + } + + targetName = Json_getString(ikMap, "target", 0); + ikConstraintData->target = spSkeletonData_findBone(skeletonData, targetName); + if (!ikConstraintData->target) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Target bone not found: ", boneMap->name); + return 0; + } + + ikConstraintData->bendDirection = Json_getInt(ikMap, "bendPositive", 1) ? 1 : -1; + ikConstraintData->mix = Json_getFloat(ikMap, "mix", 1); + + skeletonData->ikConstraints[i] = ikConstraintData; + } + } + + /* Slots. */ + slots = Json_getItem(root, "slots"); + if (slots) { + Json *slotMap; + skeletonData->slotsCount = slots->size; + skeletonData->slots = MALLOC(spSlotData*, slots->size); + for (slotMap = slots->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { + spSlotData* slotData; + const char* color; + Json *attachmentItem; + + const char* boneName = Json_getString(slotMap, "bone", 0); + spBoneData* boneData = spSkeletonData_findBone(skeletonData, boneName); + if (!boneData) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Slot bone not found: ", boneName); + return 0; + } + + slotData = spSlotData_create(Json_getString(slotMap, "name", 0), boneData); + + color = Json_getString(slotMap, "color", 0); + if (color) { + slotData->r = toColor(color, 0); + slotData->g = toColor(color, 1); + slotData->b = toColor(color, 2); + slotData->a = toColor(color, 3); + } + + attachmentItem = Json_getItem(slotMap, "attachment"); + if (attachmentItem) spSlotData_setAttachmentName(slotData, attachmentItem->valueString); + + slotData->additiveBlending = Json_getInt(slotMap, "additive", 0); + + skeletonData->slots[i] = slotData; + } + } + + /* Skins. */ + skins = Json_getItem(root, "skins"); + if (skins) { + Json *slotMap; + skeletonData->skinsCount = skins->size; + skeletonData->skins = MALLOC(spSkin*, skins->size); + for (slotMap = skins->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { + Json *attachmentsMap; + spSkin *skin = spSkin_create(slotMap->name); + + skeletonData->skins[i] = skin; + if (strcmp(slotMap->name, "default") == 0) skeletonData->defaultSkin = skin; + + for (attachmentsMap = slotMap->child; attachmentsMap; attachmentsMap = attachmentsMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, attachmentsMap->name); + Json *attachmentMap; + + for (attachmentMap = attachmentsMap->child; attachmentMap; attachmentMap = attachmentMap->next) { + spAttachment* attachment; + const char* skinAttachmentName = attachmentMap->name; + const char* attachmentName = Json_getString(attachmentMap, "name", skinAttachmentName); + const char* path = Json_getString(attachmentMap, "path", attachmentName); + const char* color; + int i; + Json* entry; + + const char* typeString = Json_getString(attachmentMap, "type", "region"); + spAttachmentType type; + if (strcmp(typeString, "region") == 0) + type = SP_ATTACHMENT_REGION; + else if (strcmp(typeString, "mesh") == 0) + type = SP_ATTACHMENT_MESH; + else if (strcmp(typeString, "skinnedmesh") == 0) + type = SP_ATTACHMENT_SKINNED_MESH; + else if (strcmp(typeString, "boundingbox") == 0) + type = SP_ATTACHMENT_BOUNDING_BOX; + else { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Unknown attachment type: ", typeString); + return 0; + } + + attachment = spAttachmentLoader_newAttachment(self->attachmentLoader, skin, type, attachmentName, path); + if (!attachment) { + if (self->attachmentLoader->error1) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, self->attachmentLoader->error1, self->attachmentLoader->error2); + return 0; + } + continue; + } + + switch (attachment->type) { + case SP_ATTACHMENT_REGION: { + spRegionAttachment* region = SUB_CAST(spRegionAttachment, attachment); + if (path) MALLOC_STR(region->path, path); + region->x = Json_getFloat(attachmentMap, "x", 0) * self->scale; + region->y = Json_getFloat(attachmentMap, "y", 0) * self->scale; + region->scaleX = Json_getFloat(attachmentMap, "scaleX", 1); + region->scaleY = Json_getFloat(attachmentMap, "scaleY", 1); + region->rotation = Json_getFloat(attachmentMap, "rotation", 0); + region->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + region->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + region->r = toColor(color, 0); + region->g = toColor(color, 1); + region->b = toColor(color, 2); + region->a = toColor(color, 3); + } + + spRegionAttachment_updateOffset(region); + break; + } + case SP_ATTACHMENT_MESH: { + spMeshAttachment* mesh = SUB_CAST(spMeshAttachment, attachment); + + MALLOC_STR(mesh->path, path); + + entry = Json_getItem(attachmentMap, "vertices"); + mesh->verticesCount = entry->size; + mesh->vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->vertices[i] = entry->valueFloat * self->scale; + + entry = Json_getItem(attachmentMap, "triangles"); + mesh->trianglesCount = entry->size; + mesh->triangles = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->triangles[i] = entry->valueInt; + + entry = Json_getItem(attachmentMap, "uvs"); + mesh->regionUVs = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->regionUVs[i] = entry->valueFloat; + + spMeshAttachment_updateUVs(mesh); + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + mesh->r = toColor(color, 0); + mesh->g = toColor(color, 1); + mesh->b = toColor(color, 2); + mesh->a = toColor(color, 3); + } + + mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); + + entry = Json_getItem(attachmentMap, "edges"); + if (entry) { + mesh->edgesCount = entry->size; + mesh->edges = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->edges[i] = entry->valueInt; + } + + mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + break; + } + case SP_ATTACHMENT_SKINNED_MESH: { + spSkinnedMeshAttachment* mesh = SUB_CAST(spSkinnedMeshAttachment, attachment); + int verticesCount, b, w, nn; + float* vertices; + + MALLOC_STR(mesh->path, path); + + entry = Json_getItem(attachmentMap, "uvs"); + mesh->uvsCount = entry->size; + mesh->regionUVs = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->regionUVs[i] = entry->valueFloat; + + entry = Json_getItem(attachmentMap, "vertices"); + verticesCount = entry->size; + vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + vertices[i] = entry->valueFloat; + + for (i = 0; i < verticesCount;) { + int bonesCount = (int)vertices[i]; + mesh->bonesCount += bonesCount + 1; + mesh->weightsCount += bonesCount * 3; + i += 1 + bonesCount * 4; + } + mesh->bones = MALLOC(int, mesh->bonesCount); + mesh->weights = MALLOC(float, mesh->weightsCount); + + for (i = 0, b = 0, w = 0; i < verticesCount;) { + int bonesCount = (int)vertices[i++]; + mesh->bones[b++] = bonesCount; + for (nn = i + bonesCount * 4; i < nn; i += 4, ++b, w += 3) { + mesh->bones[b] = (int)vertices[i]; + mesh->weights[w] = vertices[i + 1] * self->scale; + mesh->weights[w + 1] = vertices[i + 2] * self->scale; + mesh->weights[w + 2] = vertices[i + 3]; + } + } + + FREE(vertices); + + entry = Json_getItem(attachmentMap, "triangles"); + mesh->trianglesCount = entry->size; + mesh->triangles = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->triangles[i] = entry->valueInt; + + spSkinnedMeshAttachment_updateUVs(mesh); + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + mesh->r = toColor(color, 0); + mesh->g = toColor(color, 1); + mesh->b = toColor(color, 2); + mesh->a = toColor(color, 3); + } + + mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); + + entry = Json_getItem(attachmentMap, "edges"); + if (entry) { + mesh->edgesCount = entry->size; + mesh->edges = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->edges[i] = entry->valueInt; + } + + mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + break; + } + case SP_ATTACHMENT_BOUNDING_BOX: { + spBoundingBoxAttachment* box = SUB_CAST(spBoundingBoxAttachment, attachment); + entry = Json_getItem(attachmentMap, "vertices"); + box->verticesCount = entry->size; + box->vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + box->vertices[i] = entry->valueFloat * self->scale; + break; + } + } + + spSkin_addAttachment(skin, slotIndex, skinAttachmentName, attachment); + } + } + } + } + + /* Events. */ + events = Json_getItem(root, "events"); + if (events) { + Json *eventMap; + const char* stringValue; + skeletonData->eventsCount = events->size; + skeletonData->events = MALLOC(spEventData*, events->size); + for (eventMap = events->child, i = 0; eventMap; eventMap = eventMap->next, ++i) { + spEventData* eventData = spEventData_create(eventMap->name); + eventData->intValue = Json_getInt(eventMap, "int", 0); + eventData->floatValue = Json_getFloat(eventMap, "float", 0); + stringValue = Json_getString(eventMap, "string", 0); + if (stringValue) MALLOC_STR(eventData->stringValue, stringValue); + skeletonData->events[i] = eventData; + } + } + + /* Animations. */ + animations = Json_getItem(root, "animations"); + if (animations) { + Json *animationMap; + skeletonData->animations = MALLOC(spAnimation*, animations->size); + for (animationMap = animations->child; animationMap; animationMap = animationMap->next) + _spSkeletonJson_readAnimation(self, animationMap, skeletonData); + } + + Json_dispose(root); + return skeletonData; +} From b7868c0f739af4088d84cb2b7a423d59adfd0803 Mon Sep 17 00:00:00 2001 From: jpoag Date: Sun, 26 Oct 2014 12:58:48 -0400 Subject: [PATCH 53/91] [Spine-C] retain hash and version strings --- spine-c/src/spine/SkeletonData.c | 251 +++-- spine-c/src/spine/SkeletonJson.c | 1572 +++++++++++++++--------------- 2 files changed, 911 insertions(+), 912 deletions(-) diff --git a/spine-c/src/spine/SkeletonData.c b/spine-c/src/spine/SkeletonData.c index eeea05c5c..fc80ac411 100644 --- a/spine-c/src/spine/SkeletonData.c +++ b/spine-c/src/spine/SkeletonData.c @@ -1,126 +1,125 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable and - * non-transferable license to install, execute and perform the Spine Runtimes - * Software (the "Software") solely for internal use. Without the written - * permission of Esoteric Software (typically granted by licensing Spine), you - * may not (a) modify, translate, adapt or otherwise create derivative works, - * improvements of the Software or develop new applications using the Software - * or (b) remove, delete, alter or obscure any trademarks or any copyright, - * trademark, patent or other intellectual property or proprietary rights - * notices on or in the Software, including any copy thereof. Redistributions - * in binary or source form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include -#include -#include - -spSkeletonData* spSkeletonData_create () { - return NEW(spSkeletonData); -} - -void spSkeletonData_dispose (spSkeletonData* self) { - int i; - - for (i = 0; i < self->bonesCount; ++i) - spBoneData_dispose(self->bones[i]); - FREE(self->bones); - - for (i = 0; i < self->slotsCount; ++i) - spSlotData_dispose(self->slots[i]); - FREE(self->slots); - - for (i = 0; i < self->skinsCount; ++i) - spSkin_dispose(self->skins[i]); - FREE(self->skins); - - for (i = 0; i < self->eventsCount; ++i) - spEventData_dispose(self->events[i]); - FREE(self->events); - - for (i = 0; i < self->animationsCount; ++i) - spAnimation_dispose(self->animations[i]); - FREE(self->animations); - - for (i = 0; i < self->ikConstraintsCount; ++i) - spIkConstraintData_dispose(self->ikConstraints[i]); - FREE(self->ikConstraints); - - FREE(self->hash); - FREE(self->version); - - FREE(self); -} - -spBoneData* spSkeletonData_findBone (const spSkeletonData* self, const char* boneName) { - int i; - for (i = 0; i < self->bonesCount; ++i) - if (strcmp(self->bones[i]->name, boneName) == 0) return self->bones[i]; - return 0; -} - -int spSkeletonData_findBoneIndex (const spSkeletonData* self, const char* boneName) { - int i; - for (i = 0; i < self->bonesCount; ++i) - if (strcmp(self->bones[i]->name, boneName) == 0) return i; - return -1; -} - -spSlotData* spSkeletonData_findSlot (const spSkeletonData* self, const char* slotName) { - int i; - for (i = 0; i < self->slotsCount; ++i) - if (strcmp(self->slots[i]->name, slotName) == 0) return self->slots[i]; - return 0; -} - -int spSkeletonData_findSlotIndex (const spSkeletonData* self, const char* slotName) { - int i; - for (i = 0; i < self->slotsCount; ++i) - if (strcmp(self->slots[i]->name, slotName) == 0) return i; - return -1; -} - -spSkin* spSkeletonData_findSkin (const spSkeletonData* self, const char* skinName) { - int i; - for (i = 0; i < self->skinsCount; ++i) - if (strcmp(self->skins[i]->name, skinName) == 0) return self->skins[i]; - return 0; -} - -spEventData* spSkeletonData_findEvent (const spSkeletonData* self, const char* eventName) { - int i; - for (i = 0; i < self->eventsCount; ++i) - if (strcmp(self->events[i]->name, eventName) == 0) return self->events[i]; - return 0; -} - -spAnimation* spSkeletonData_findAnimation (const spSkeletonData* self, const char* animationName) { - int i; - for (i = 0; i < self->animationsCount; ++i) - if (strcmp(self->animations[i]->name, animationName) == 0) return self->animations[i]; - return 0; -} - -spIkConstraintData* spSkeletonData_findIkConstraint (const spSkeletonData* self, const char* ikConstraintName) { - int i; - for (i = 0; i < self->ikConstraintsCount; ++i) - if (strcmp(self->ikConstraints[i]->name, ikConstraintName) == 0) return self->ikConstraints[i]; - return 0; -} +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#include +#include +#include + +spSkeletonData* spSkeletonData_create () { + return NEW(spSkeletonData); +} + +void spSkeletonData_dispose (spSkeletonData* self) { + int i; + for (i = 0; i < self->bonesCount; ++i) + spBoneData_dispose(self->bones[i]); + FREE(self->bones); + + for (i = 0; i < self->slotsCount; ++i) + spSlotData_dispose(self->slots[i]); + FREE(self->slots); + + for (i = 0; i < self->skinsCount; ++i) + spSkin_dispose(self->skins[i]); + FREE(self->skins); + + for (i = 0; i < self->eventsCount; ++i) + spEventData_dispose(self->events[i]); + FREE(self->events); + + for (i = 0; i < self->animationsCount; ++i) + spAnimation_dispose(self->animations[i]); + FREE(self->animations); + + for (i = 0; i < self->ikConstraintsCount; ++i) + spIkConstraintData_dispose(self->ikConstraints[i]); + FREE(self->ikConstraints); + + FREE(self->hash); + FREE(self->version); + + FREE(self); +} + +spBoneData* spSkeletonData_findBone (const spSkeletonData* self, const char* boneName) { + int i; + for (i = 0; i < self->bonesCount; ++i) + if (strcmp(self->bones[i]->name, boneName) == 0) return self->bones[i]; + return 0; +} + +int spSkeletonData_findBoneIndex (const spSkeletonData* self, const char* boneName) { + int i; + for (i = 0; i < self->bonesCount; ++i) + if (strcmp(self->bones[i]->name, boneName) == 0) return i; + return -1; +} + +spSlotData* spSkeletonData_findSlot (const spSkeletonData* self, const char* slotName) { + int i; + for (i = 0; i < self->slotsCount; ++i) + if (strcmp(self->slots[i]->name, slotName) == 0) return self->slots[i]; + return 0; +} + +int spSkeletonData_findSlotIndex (const spSkeletonData* self, const char* slotName) { + int i; + for (i = 0; i < self->slotsCount; ++i) + if (strcmp(self->slots[i]->name, slotName) == 0) return i; + return -1; +} + +spSkin* spSkeletonData_findSkin (const spSkeletonData* self, const char* skinName) { + int i; + for (i = 0; i < self->skinsCount; ++i) + if (strcmp(self->skins[i]->name, skinName) == 0) return self->skins[i]; + return 0; +} + +spEventData* spSkeletonData_findEvent (const spSkeletonData* self, const char* eventName) { + int i; + for (i = 0; i < self->eventsCount; ++i) + if (strcmp(self->events[i]->name, eventName) == 0) return self->events[i]; + return 0; +} + +spAnimation* spSkeletonData_findAnimation (const spSkeletonData* self, const char* animationName) { + int i; + for (i = 0; i < self->animationsCount; ++i) + if (strcmp(self->animations[i]->name, animationName) == 0) return self->animations[i]; + return 0; +} + +spIkConstraintData* spSkeletonData_findIkConstraint (const spSkeletonData* self, const char* ikConstraintName) { + int i; + for (i = 0; i < self->ikConstraintsCount; ++i) + if (strcmp(self->ikConstraints[i]->name, ikConstraintName) == 0) return self->ikConstraints[i]; + return 0; +} diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index bc4418368..e660a6355 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -1,786 +1,786 @@ -/****************************************************************************** - * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software - * All rights reserved. - * - * You are granted a perpetual, non-exclusive, non-sublicensable and - * non-transferable license to install, execute and perform the Spine Runtimes - * Software (the "Software") solely for internal use. Without the written - * permission of Esoteric Software (typically granted by licensing Spine), you - * may not (a) modify, translate, adapt or otherwise create derivative works, - * improvements of the Software or develop new applications using the Software - * or (b) remove, delete, alter or obscure any trademarks or any copyright, - * trademark, patent or other intellectual property or proprietary rights - * notices on or in the Software, including any copy thereof. Redistributions - * in binary or source form must include this license and terms. - * - * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *****************************************************************************/ - -#include -#include -#include "Json.h" -#include -#include - -typedef struct { - spSkeletonJson super; - int ownsLoader; -} _spSkeletonJson; - -spSkeletonJson* spSkeletonJson_createWithLoader (spAttachmentLoader* attachmentLoader) { - spSkeletonJson* self = SUPER(NEW(_spSkeletonJson)); - self->scale = 1; - self->attachmentLoader = attachmentLoader; - return self; -} - -spSkeletonJson* spSkeletonJson_create (spAtlas* atlas) { - spAtlasAttachmentLoader* attachmentLoader = spAtlasAttachmentLoader_create(atlas); - spSkeletonJson* self = spSkeletonJson_createWithLoader(SUPER(attachmentLoader)); - SUB_CAST(_spSkeletonJson, self)->ownsLoader = 1; - return self; -} - -void spSkeletonJson_dispose (spSkeletonJson* self) { - if (SUB_CAST(_spSkeletonJson, self)->ownsLoader) spAttachmentLoader_dispose(self->attachmentLoader); - FREE(self->error); - FREE(self); -} - -void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* value1, const char* value2) { - char message[256]; - int length; - FREE(self->error); - strcpy(message, value1); - length = (int)strlen(value1); - if (value2) strncat(message + length, value2, 256 - length); - MALLOC_STR(self->error, message); - if (root) Json_dispose(root); -} - -static float toColor (const char* value, int index) { - char digits[3]; - char *error; - int color; - - if (strlen(value) != 8) return -1; - value += index * 2; - - digits[0] = *value; - digits[1] = *(value + 1); - digits[2] = '\0'; - color = (int)strtoul(digits, &error, 16); - if (*error != 0) return -1; - return color / (float)255; -} - -static void readCurve (spCurveTimeline* timeline, int frameIndex, Json* frame) { - Json* curve = Json_getItem(frame, "curve"); - if (!curve) return; - if (curve->type == Json_String && strcmp(curve->valueString, "stepped") == 0) - spCurveTimeline_setStepped(timeline, frameIndex); - else if (curve->type == Json_Array) { - Json* child0 = curve->child; - Json* child1 = child0->next; - Json* child2 = child1->next; - Json* child3 = child2->next; - spCurveTimeline_setCurve(timeline, frameIndex, child0->valueFloat, child1->valueFloat, child2->valueFloat, - child3->valueFloat); - } -} - -static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* root, spSkeletonData *skeletonData) { - int i; - spAnimation* animation; - Json* frame; - float duration; - int timelinesCount = 0; - - Json* bones = Json_getItem(root, "bones"); - Json* slots = Json_getItem(root, "slots"); - Json* ik = Json_getItem(root, "ik"); - Json* ffd = Json_getItem(root, "ffd"); - Json* drawOrder = Json_getItem(root, "drawOrder"); - Json* events = Json_getItem(root, "events"); - Json* flipX = Json_getItem(root, "flipx"); - Json* flipY = Json_getItem(root, "flipy"); - Json *boneMap, *slotMap, *ikMap, *ffdMap; - if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); - - for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) - timelinesCount += boneMap->size; - for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) - timelinesCount += slotMap->size; - timelinesCount += ik ? ik->size : 0; - for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) - for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) - timelinesCount += slotMap->size; - if (drawOrder) ++timelinesCount; - if (events) ++timelinesCount; - if (flipX) ++timelinesCount; - if (flipY) ++timelinesCount; - - animation = spAnimation_create(root->name, timelinesCount); - animation->timelinesCount = 0; - skeletonData->animations[skeletonData->animationsCount++] = animation; - - /* Slot timelines. */ - for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) { - Json *timelineArray; - - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); - if (slotIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, root, "Slot not found: ", slotMap->name); - return 0; - } - - for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { - if (strcmp(timelineArray->name, "color") == 0) { - spColorTimeline *timeline = spColorTimeline_create(timelineArray->size); - timeline->slotIndex = slotIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - const char* s = Json_getString(frame, "color", 0); - spColorTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), toColor(s, 0), toColor(s, 1), toColor(s, 2), - toColor(s, 3)); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 5 - 5]; - if (duration > animation->duration) animation->duration = duration; - - } else if (strcmp(timelineArray->name, "attachment") == 0) { - spAttachmentTimeline *timeline = spAttachmentTimeline_create(timelineArray->size); - timeline->slotIndex = slotIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - Json* name = Json_getItem(frame, "name"); - spAttachmentTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), - name->type == Json_NULL ? 0 : name->valueString); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size - 1]; - if (duration > animation->duration) animation->duration = duration; - - } else { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Invalid timeline type for a slot: ", timelineArray->name); - return 0; - } - } - } - - /* Bone timelines. */ - for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) { - Json *timelineArray; - - int boneIndex = spSkeletonData_findBoneIndex(skeletonData, boneMap->name); - if (boneIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, root, "Bone not found: ", boneMap->name); - return 0; - } - - for (timelineArray = boneMap->child; timelineArray; timelineArray = timelineArray->next) { - if (strcmp(timelineArray->name, "rotate") == 0) { - spRotateTimeline *timeline = spRotateTimeline_create(timelineArray->size); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - spRotateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "angle", 0)); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - - } else { - int isScale = strcmp(timelineArray->name, "scale") == 0; - if (isScale || strcmp(timelineArray->name, "translate") == 0) { - float scale = isScale ? 1 : self->scale; - spTranslateTimeline *timeline = - isScale ? spScaleTimeline_create(timelineArray->size) : spTranslateTimeline_create(timelineArray->size); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - spTranslateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "x", 0) * scale, - Json_getFloat(frame, "y", 0) * scale); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 3 - 3]; - if (duration > animation->duration) animation->duration = duration; - } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { - int x = strcmp(timelineArray->name, "flipX") == 0; - char* field = x ? "x" : "y"; - spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); - timeline->boneIndex = boneIndex; - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) - spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0)); - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size * 2 - 2]; - if (duration > animation->duration) animation->duration = duration; - - } else { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name); - return 0; - } - } - } - } - - /* IK timelines. */ - for (ikMap = ik ? ik->child : 0; ikMap; ikMap = ikMap->next) { - spIkConstraintData* ikConstraint = spSkeletonData_findIkConstraint(skeletonData, ikMap->name); - spIkConstraintTimeline* timeline = spIkConstraintTimeline_create(ikMap->size); - for (i = 0; i < skeletonData->ikConstraintsCount; ++i) { - if (ikConstraint == skeletonData->ikConstraints[i]) { - timeline->ikConstraintIndex = i; - break; - } - } - for (frame = ikMap->child, i = 0; frame; frame = frame->next, ++i) { - spIkConstraintTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "mix", 0), - Json_getInt(frame, "bendPositive", 1) ? 1 : -1); - readCurve(SUPER(timeline), i, frame); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[ikMap->size * 3 - 3]; - if (duration > animation->duration) animation->duration = duration; - } - - /* FFD timelines. */ - for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) { - spSkin* skin = spSkeletonData_findSkin(skeletonData, ffdMap->name); - for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); - Json* timelineArray; - for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { - Json* frame; - int verticesCount = 0; - float* tempVertices; - spFFDTimeline *timeline; - - spAttachment* attachment = spSkin_getAttachment(skin, slotIndex, timelineArray->name); - if (!attachment) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Attachment not found: ", timelineArray->name); - return 0; - } - if (attachment->type == SP_ATTACHMENT_MESH) - verticesCount = SUB_CAST(spMeshAttachment, attachment)->verticesCount; - else if (attachment->type == SP_ATTACHMENT_SKINNED_MESH) - verticesCount = SUB_CAST(spSkinnedMeshAttachment, attachment)->weightsCount / 3 * 2; - - timeline = spFFDTimeline_create(timelineArray->size, verticesCount); - timeline->slotIndex = slotIndex; - timeline->attachment = attachment; - - tempVertices = MALLOC(float, verticesCount); - for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { - Json* vertices = Json_getItem(frame, "vertices"); - float* frameVertices; - if (!vertices) { - if (attachment->type == SP_ATTACHMENT_MESH) - frameVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; - else { - frameVertices = tempVertices; - memset(frameVertices, 0, sizeof(float) * verticesCount); - } - } else { - int v, start = Json_getInt(frame, "offset", 0); - Json* vertex; - frameVertices = tempVertices; - memset(frameVertices, 0, sizeof(float) * start); - if (self->scale == 1) { - for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) - frameVertices[v] = vertex->valueFloat; - } else { - for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) - frameVertices[v] = vertex->valueFloat * self->scale; - } - memset(frameVertices + v, 0, sizeof(float) * (verticesCount - v)); - if (attachment->type == SP_ATTACHMENT_MESH) { - float* meshVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; - for (v = 0; v < verticesCount; ++v) - frameVertices[v] += meshVertices[v]; - } - } - spFFDTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), frameVertices); - readCurve(SUPER(timeline), i, frame); - } - FREE(tempVertices); - - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[timelineArray->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - } - } - - /* Draw order timeline. */ - if (drawOrder) { - spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); - for (frame = drawOrder->child, i = 0; frame; frame = frame->next, ++i) { - int ii; - int* drawOrder = 0; - Json* offsets = Json_getItem(frame, "offsets"); - if (offsets) { - Json* offsetMap; - int* unchanged = MALLOC(int, skeletonData->slotsCount - offsets->size); - int originalIndex = 0, unchangedIndex = 0; - - drawOrder = MALLOC(int, skeletonData->slotsCount); - for (ii = skeletonData->slotsCount - 1; ii >= 0; --ii) - drawOrder[ii] = -1; - - for (offsetMap = offsets->child; offsetMap; offsetMap = offsetMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, Json_getString(offsetMap, "slot", 0)); - if (slotIndex == -1) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Slot not found: ", Json_getString(offsetMap, "slot", 0)); - return 0; - } - /* Collect unchanged items. */ - while (originalIndex != slotIndex) - unchanged[unchangedIndex++] = originalIndex++; - /* Set changed items. */ - drawOrder[originalIndex + Json_getInt(offsetMap, "offset", 0)] = originalIndex; - originalIndex++; - } - /* Collect remaining unchanged items. */ - while (originalIndex < skeletonData->slotsCount) - unchanged[unchangedIndex++] = originalIndex++; - /* Fill in unchanged items. */ - for (ii = skeletonData->slotsCount - 1; ii >= 0; ii--) - if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; - FREE(unchanged); - } - spDrawOrderTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), drawOrder); - FREE(drawOrder); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[drawOrder->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - - /* Event timeline. */ - if (events) { - Json* frame; - - spEventTimeline* timeline = spEventTimeline_create(events->size); - for (frame = events->child, i = 0; frame; frame = frame->next, ++i) { - spEvent* event; - const char* stringValue; - spEventData* eventData = spSkeletonData_findEvent(skeletonData, Json_getString(frame, "name", 0)); - if (!eventData) { - spAnimation_dispose(animation); - _spSkeletonJson_setError(self, 0, "Event not found: ", Json_getString(frame, "name", 0)); - return 0; - } - event = spEvent_create(eventData); - event->intValue = Json_getInt(frame, "int", eventData->intValue); - event->floatValue = Json_getFloat(frame, "float", eventData->floatValue); - stringValue = Json_getString(frame, "string", eventData->stringValue); - if (stringValue) MALLOC_STR(event->stringValue, stringValue); - spEventTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), event); - } - animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); - duration = timeline->frames[events->size - 1]; - if (duration > animation->duration) animation->duration = duration; - } - - return animation; -} - -spSkeletonData* spSkeletonJson_readSkeletonDataFile (spSkeletonJson* self, const char* path) { - int length; - spSkeletonData* skeletonData; - const char* json = _spUtil_readFile(path, &length); - if (!json) { - _spSkeletonJson_setError(self, 0, "Unable to read skeleton file: ", path); - return 0; - } - skeletonData = spSkeletonJson_readSkeletonData(self, json); - FREE(json); - return skeletonData; -} - -spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const char* json) { - int i, ii; - spSkeletonData* skeletonData; - Json *root, *skeleton, *bones, *boneMap, *ik, *slots, *skins, *animations, *events; - - FREE(self->error); - CONST_CAST(char*, self->error) = 0; - - root = Json_create(json); - if (!root) { - _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); - return 0; - } - - skeletonData = spSkeletonData_create(); - - skeleton = Json_getItem(root, "skeleton"); - if (skeleton) { - MALLOC_STR(skeletonData->hash, Json_getString(skeleton, "hash", 0)); - MALLOC_STR(skeletonData->version, Json_getString(skeleton, "spine", 0)); - skeletonData->width = Json_getFloat(skeleton, "width", 0); - skeletonData->height = Json_getFloat(skeleton, "height", 0); - } - - /* Bones. */ - bones = Json_getItem(root, "bones"); - skeletonData->bones = MALLOC(spBoneData*, bones->size); - for (boneMap = bones->child, i = 0; boneMap; boneMap = boneMap->next, ++i) { - spBoneData* boneData; - - spBoneData* parent = 0; - const char* parentName = Json_getString(boneMap, "parent", 0); - if (parentName) { - parent = spSkeletonData_findBone(skeletonData, parentName); - if (!parent) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Parent bone not found: ", parentName); - return 0; - } - } - - boneData = spBoneData_create(Json_getString(boneMap, "name", 0), parent); - boneData->length = Json_getFloat(boneMap, "length", 0) * self->scale; - boneData->x = Json_getFloat(boneMap, "x", 0) * self->scale; - boneData->y = Json_getFloat(boneMap, "y", 0) * self->scale; - boneData->rotation = Json_getFloat(boneMap, "rotation", 0); - boneData->scaleX = Json_getFloat(boneMap, "scaleX", 1); - boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1); - boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1); - boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1); - - skeletonData->bones[i] = boneData; - skeletonData->bonesCount++; - } - - /* IK constraints. */ - ik = Json_getItem(root, "ik"); - if (ik) { - Json *ikMap; - skeletonData->ikConstraintsCount = ik->size; - skeletonData->ikConstraints = MALLOC(spIkConstraintData*, ik->size); - for (ikMap = ik->child, i = 0; ikMap; ikMap = ikMap->next, ++i) { - const char* targetName; - - spIkConstraintData* ikConstraintData = spIkConstraintData_create(Json_getString(ikMap, "name", 0)); - boneMap = Json_getItem(ikMap, "bones"); - ikConstraintData->bonesCount = boneMap->size; - ikConstraintData->bones = MALLOC(spBoneData*, boneMap->size); - for (boneMap = boneMap->child, ii = 0; boneMap; boneMap = boneMap->next, ++ii) { - ikConstraintData->bones[ii] = spSkeletonData_findBone(skeletonData, boneMap->valueString); - if (!ikConstraintData->bones[ii]) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "IK bone not found: ", boneMap->valueString); - return 0; - } - } - - targetName = Json_getString(ikMap, "target", 0); - ikConstraintData->target = spSkeletonData_findBone(skeletonData, targetName); - if (!ikConstraintData->target) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Target bone not found: ", boneMap->name); - return 0; - } - - ikConstraintData->bendDirection = Json_getInt(ikMap, "bendPositive", 1) ? 1 : -1; - ikConstraintData->mix = Json_getFloat(ikMap, "mix", 1); - - skeletonData->ikConstraints[i] = ikConstraintData; - } - } - - /* Slots. */ - slots = Json_getItem(root, "slots"); - if (slots) { - Json *slotMap; - skeletonData->slotsCount = slots->size; - skeletonData->slots = MALLOC(spSlotData*, slots->size); - for (slotMap = slots->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { - spSlotData* slotData; - const char* color; - Json *attachmentItem; - - const char* boneName = Json_getString(slotMap, "bone", 0); - spBoneData* boneData = spSkeletonData_findBone(skeletonData, boneName); - if (!boneData) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Slot bone not found: ", boneName); - return 0; - } - - slotData = spSlotData_create(Json_getString(slotMap, "name", 0), boneData); - - color = Json_getString(slotMap, "color", 0); - if (color) { - slotData->r = toColor(color, 0); - slotData->g = toColor(color, 1); - slotData->b = toColor(color, 2); - slotData->a = toColor(color, 3); - } - - attachmentItem = Json_getItem(slotMap, "attachment"); - if (attachmentItem) spSlotData_setAttachmentName(slotData, attachmentItem->valueString); - - slotData->additiveBlending = Json_getInt(slotMap, "additive", 0); - - skeletonData->slots[i] = slotData; - } - } - - /* Skins. */ - skins = Json_getItem(root, "skins"); - if (skins) { - Json *slotMap; - skeletonData->skinsCount = skins->size; - skeletonData->skins = MALLOC(spSkin*, skins->size); - for (slotMap = skins->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { - Json *attachmentsMap; - spSkin *skin = spSkin_create(slotMap->name); - - skeletonData->skins[i] = skin; - if (strcmp(slotMap->name, "default") == 0) skeletonData->defaultSkin = skin; - - for (attachmentsMap = slotMap->child; attachmentsMap; attachmentsMap = attachmentsMap->next) { - int slotIndex = spSkeletonData_findSlotIndex(skeletonData, attachmentsMap->name); - Json *attachmentMap; - - for (attachmentMap = attachmentsMap->child; attachmentMap; attachmentMap = attachmentMap->next) { - spAttachment* attachment; - const char* skinAttachmentName = attachmentMap->name; - const char* attachmentName = Json_getString(attachmentMap, "name", skinAttachmentName); - const char* path = Json_getString(attachmentMap, "path", attachmentName); - const char* color; - int i; - Json* entry; - - const char* typeString = Json_getString(attachmentMap, "type", "region"); - spAttachmentType type; - if (strcmp(typeString, "region") == 0) - type = SP_ATTACHMENT_REGION; - else if (strcmp(typeString, "mesh") == 0) - type = SP_ATTACHMENT_MESH; - else if (strcmp(typeString, "skinnedmesh") == 0) - type = SP_ATTACHMENT_SKINNED_MESH; - else if (strcmp(typeString, "boundingbox") == 0) - type = SP_ATTACHMENT_BOUNDING_BOX; - else { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, "Unknown attachment type: ", typeString); - return 0; - } - - attachment = spAttachmentLoader_newAttachment(self->attachmentLoader, skin, type, attachmentName, path); - if (!attachment) { - if (self->attachmentLoader->error1) { - spSkeletonData_dispose(skeletonData); - _spSkeletonJson_setError(self, root, self->attachmentLoader->error1, self->attachmentLoader->error2); - return 0; - } - continue; - } - - switch (attachment->type) { - case SP_ATTACHMENT_REGION: { - spRegionAttachment* region = SUB_CAST(spRegionAttachment, attachment); - if (path) MALLOC_STR(region->path, path); - region->x = Json_getFloat(attachmentMap, "x", 0) * self->scale; - region->y = Json_getFloat(attachmentMap, "y", 0) * self->scale; - region->scaleX = Json_getFloat(attachmentMap, "scaleX", 1); - region->scaleY = Json_getFloat(attachmentMap, "scaleY", 1); - region->rotation = Json_getFloat(attachmentMap, "rotation", 0); - region->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - region->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - region->r = toColor(color, 0); - region->g = toColor(color, 1); - region->b = toColor(color, 2); - region->a = toColor(color, 3); - } - - spRegionAttachment_updateOffset(region); - break; - } - case SP_ATTACHMENT_MESH: { - spMeshAttachment* mesh = SUB_CAST(spMeshAttachment, attachment); - - MALLOC_STR(mesh->path, path); - - entry = Json_getItem(attachmentMap, "vertices"); - mesh->verticesCount = entry->size; - mesh->vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->vertices[i] = entry->valueFloat * self->scale; - - entry = Json_getItem(attachmentMap, "triangles"); - mesh->trianglesCount = entry->size; - mesh->triangles = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->triangles[i] = entry->valueInt; - - entry = Json_getItem(attachmentMap, "uvs"); - mesh->regionUVs = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->regionUVs[i] = entry->valueFloat; - - spMeshAttachment_updateUVs(mesh); - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - mesh->r = toColor(color, 0); - mesh->g = toColor(color, 1); - mesh->b = toColor(color, 2); - mesh->a = toColor(color, 3); - } - - mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); - - entry = Json_getItem(attachmentMap, "edges"); - if (entry) { - mesh->edgesCount = entry->size; - mesh->edges = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->edges[i] = entry->valueInt; - } - - mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - break; - } - case SP_ATTACHMENT_SKINNED_MESH: { - spSkinnedMeshAttachment* mesh = SUB_CAST(spSkinnedMeshAttachment, attachment); - int verticesCount, b, w, nn; - float* vertices; - - MALLOC_STR(mesh->path, path); - - entry = Json_getItem(attachmentMap, "uvs"); - mesh->uvsCount = entry->size; - mesh->regionUVs = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->regionUVs[i] = entry->valueFloat; - - entry = Json_getItem(attachmentMap, "vertices"); - verticesCount = entry->size; - vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - vertices[i] = entry->valueFloat; - - for (i = 0; i < verticesCount;) { - int bonesCount = (int)vertices[i]; - mesh->bonesCount += bonesCount + 1; - mesh->weightsCount += bonesCount * 3; - i += 1 + bonesCount * 4; - } - mesh->bones = MALLOC(int, mesh->bonesCount); - mesh->weights = MALLOC(float, mesh->weightsCount); - - for (i = 0, b = 0, w = 0; i < verticesCount;) { - int bonesCount = (int)vertices[i++]; - mesh->bones[b++] = bonesCount; - for (nn = i + bonesCount * 4; i < nn; i += 4, ++b, w += 3) { - mesh->bones[b] = (int)vertices[i]; - mesh->weights[w] = vertices[i + 1] * self->scale; - mesh->weights[w + 1] = vertices[i + 2] * self->scale; - mesh->weights[w + 2] = vertices[i + 3]; - } - } - - FREE(vertices); - - entry = Json_getItem(attachmentMap, "triangles"); - mesh->trianglesCount = entry->size; - mesh->triangles = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->triangles[i] = entry->valueInt; - - spSkinnedMeshAttachment_updateUVs(mesh); - - color = Json_getString(attachmentMap, "color", 0); - if (color) { - mesh->r = toColor(color, 0); - mesh->g = toColor(color, 1); - mesh->b = toColor(color, 2); - mesh->a = toColor(color, 3); - } - - mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); - - entry = Json_getItem(attachmentMap, "edges"); - if (entry) { - mesh->edgesCount = entry->size; - mesh->edges = MALLOC(int, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - mesh->edges[i] = entry->valueInt; - } - - mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; - mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; - break; - } - case SP_ATTACHMENT_BOUNDING_BOX: { - spBoundingBoxAttachment* box = SUB_CAST(spBoundingBoxAttachment, attachment); - entry = Json_getItem(attachmentMap, "vertices"); - box->verticesCount = entry->size; - box->vertices = MALLOC(float, entry->size); - for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) - box->vertices[i] = entry->valueFloat * self->scale; - break; - } - } - - spSkin_addAttachment(skin, slotIndex, skinAttachmentName, attachment); - } - } - } - } - - /* Events. */ - events = Json_getItem(root, "events"); - if (events) { - Json *eventMap; - const char* stringValue; - skeletonData->eventsCount = events->size; - skeletonData->events = MALLOC(spEventData*, events->size); - for (eventMap = events->child, i = 0; eventMap; eventMap = eventMap->next, ++i) { - spEventData* eventData = spEventData_create(eventMap->name); - eventData->intValue = Json_getInt(eventMap, "int", 0); - eventData->floatValue = Json_getFloat(eventMap, "float", 0); - stringValue = Json_getString(eventMap, "string", 0); - if (stringValue) MALLOC_STR(eventData->stringValue, stringValue); - skeletonData->events[i] = eventData; - } - } - - /* Animations. */ - animations = Json_getItem(root, "animations"); - if (animations) { - Json *animationMap; - skeletonData->animations = MALLOC(spAnimation*, animations->size); - for (animationMap = animations->child; animationMap; animationMap = animationMap->next) - _spSkeletonJson_readAnimation(self, animationMap, skeletonData); - } - - Json_dispose(root); - return skeletonData; -} +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#include +#include +#include "Json.h" +#include +#include + +typedef struct { + spSkeletonJson super; + int ownsLoader; +} _spSkeletonJson; + +spSkeletonJson* spSkeletonJson_createWithLoader (spAttachmentLoader* attachmentLoader) { + spSkeletonJson* self = SUPER(NEW(_spSkeletonJson)); + self->scale = 1; + self->attachmentLoader = attachmentLoader; + return self; +} + +spSkeletonJson* spSkeletonJson_create (spAtlas* atlas) { + spAtlasAttachmentLoader* attachmentLoader = spAtlasAttachmentLoader_create(atlas); + spSkeletonJson* self = spSkeletonJson_createWithLoader(SUPER(attachmentLoader)); + SUB_CAST(_spSkeletonJson, self)->ownsLoader = 1; + return self; +} + +void spSkeletonJson_dispose (spSkeletonJson* self) { + if (SUB_CAST(_spSkeletonJson, self)->ownsLoader) spAttachmentLoader_dispose(self->attachmentLoader); + FREE(self->error); + FREE(self); +} + +void _spSkeletonJson_setError (spSkeletonJson* self, Json* root, const char* value1, const char* value2) { + char message[256]; + int length; + FREE(self->error); + strcpy(message, value1); + length = (int)strlen(value1); + if (value2) strncat(message + length, value2, 256 - length); + MALLOC_STR(self->error, message); + if (root) Json_dispose(root); +} + +static float toColor (const char* value, int index) { + char digits[3]; + char *error; + int color; + + if (strlen(value) != 8) return -1; + value += index * 2; + + digits[0] = *value; + digits[1] = *(value + 1); + digits[2] = '\0'; + color = (int)strtoul(digits, &error, 16); + if (*error != 0) return -1; + return color / (float)255; +} + +static void readCurve (spCurveTimeline* timeline, int frameIndex, Json* frame) { + Json* curve = Json_getItem(frame, "curve"); + if (!curve) return; + if (curve->type == Json_String && strcmp(curve->valueString, "stepped") == 0) + spCurveTimeline_setStepped(timeline, frameIndex); + else if (curve->type == Json_Array) { + Json* child0 = curve->child; + Json* child1 = child0->next; + Json* child2 = child1->next; + Json* child3 = child2->next; + spCurveTimeline_setCurve(timeline, frameIndex, child0->valueFloat, child1->valueFloat, child2->valueFloat, + child3->valueFloat); + } +} + +static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* root, spSkeletonData *skeletonData) { + int i; + spAnimation* animation; + Json* frame; + float duration; + int timelinesCount = 0; + + Json* bones = Json_getItem(root, "bones"); + Json* slots = Json_getItem(root, "slots"); + Json* ik = Json_getItem(root, "ik"); + Json* ffd = Json_getItem(root, "ffd"); + Json* drawOrder = Json_getItem(root, "drawOrder"); + Json* events = Json_getItem(root, "events"); + Json* flipX = Json_getItem(root, "flipx"); + Json* flipY = Json_getItem(root, "flipy"); + Json *boneMap, *slotMap, *ikMap, *ffdMap; + if (!drawOrder) drawOrder = Json_getItem(root, "draworder"); + + for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) + timelinesCount += boneMap->size; + for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) + timelinesCount += slotMap->size; + timelinesCount += ik ? ik->size : 0; + for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) + for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) + timelinesCount += slotMap->size; + if (drawOrder) ++timelinesCount; + if (events) ++timelinesCount; + if (flipX) ++timelinesCount; + if (flipY) ++timelinesCount; + + animation = spAnimation_create(root->name, timelinesCount); + animation->timelinesCount = 0; + skeletonData->animations[skeletonData->animationsCount++] = animation; + + /* Slot timelines. */ + for (slotMap = slots ? slots->child : 0; slotMap; slotMap = slotMap->next) { + Json *timelineArray; + + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); + if (slotIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, root, "Slot not found: ", slotMap->name); + return 0; + } + + for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { + if (strcmp(timelineArray->name, "color") == 0) { + spColorTimeline *timeline = spColorTimeline_create(timelineArray->size); + timeline->slotIndex = slotIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + const char* s = Json_getString(frame, "color", 0); + spColorTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), toColor(s, 0), toColor(s, 1), toColor(s, 2), + toColor(s, 3)); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 5 - 5]; + if (duration > animation->duration) animation->duration = duration; + + } else if (strcmp(timelineArray->name, "attachment") == 0) { + spAttachmentTimeline *timeline = spAttachmentTimeline_create(timelineArray->size); + timeline->slotIndex = slotIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + Json* name = Json_getItem(frame, "name"); + spAttachmentTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), + name->type == Json_NULL ? 0 : name->valueString); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size - 1]; + if (duration > animation->duration) animation->duration = duration; + + } else { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Invalid timeline type for a slot: ", timelineArray->name); + return 0; + } + } + } + + /* Bone timelines. */ + for (boneMap = bones ? bones->child : 0; boneMap; boneMap = boneMap->next) { + Json *timelineArray; + + int boneIndex = spSkeletonData_findBoneIndex(skeletonData, boneMap->name); + if (boneIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, root, "Bone not found: ", boneMap->name); + return 0; + } + + for (timelineArray = boneMap->child; timelineArray; timelineArray = timelineArray->next) { + if (strcmp(timelineArray->name, "rotate") == 0) { + spRotateTimeline *timeline = spRotateTimeline_create(timelineArray->size); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + spRotateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "angle", 0)); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + + } else { + int isScale = strcmp(timelineArray->name, "scale") == 0; + if (isScale || strcmp(timelineArray->name, "translate") == 0) { + float scale = isScale ? 1 : self->scale; + spTranslateTimeline *timeline = + isScale ? spScaleTimeline_create(timelineArray->size) : spTranslateTimeline_create(timelineArray->size); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + spTranslateTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "x", 0) * scale, + Json_getFloat(frame, "y", 0) * scale); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 3 - 3]; + if (duration > animation->duration) animation->duration = duration; + } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { + int x = strcmp(timelineArray->name, "flipX") == 0; + char* field = x ? "x" : "y"; + spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); + timeline->boneIndex = boneIndex; + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) + spFlipTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getInt(frame, field, 0)); + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size * 2 - 2]; + if (duration > animation->duration) animation->duration = duration; + + } else { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Invalid timeline type for a bone: ", timelineArray->name); + return 0; + } + } + } + } + + /* IK timelines. */ + for (ikMap = ik ? ik->child : 0; ikMap; ikMap = ikMap->next) { + spIkConstraintData* ikConstraint = spSkeletonData_findIkConstraint(skeletonData, ikMap->name); + spIkConstraintTimeline* timeline = spIkConstraintTimeline_create(ikMap->size); + for (i = 0; i < skeletonData->ikConstraintsCount; ++i) { + if (ikConstraint == skeletonData->ikConstraints[i]) { + timeline->ikConstraintIndex = i; + break; + } + } + for (frame = ikMap->child, i = 0; frame; frame = frame->next, ++i) { + spIkConstraintTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), Json_getFloat(frame, "mix", 0), + Json_getInt(frame, "bendPositive", 1) ? 1 : -1); + readCurve(SUPER(timeline), i, frame); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[ikMap->size * 3 - 3]; + if (duration > animation->duration) animation->duration = duration; + } + + /* FFD timelines. */ + for (ffdMap = ffd ? ffd->child : 0; ffdMap; ffdMap = ffdMap->next) { + spSkin* skin = spSkeletonData_findSkin(skeletonData, ffdMap->name); + for (slotMap = ffdMap->child; slotMap; slotMap = slotMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, slotMap->name); + Json* timelineArray; + for (timelineArray = slotMap->child; timelineArray; timelineArray = timelineArray->next) { + Json* frame; + int verticesCount = 0; + float* tempVertices; + spFFDTimeline *timeline; + + spAttachment* attachment = spSkin_getAttachment(skin, slotIndex, timelineArray->name); + if (!attachment) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Attachment not found: ", timelineArray->name); + return 0; + } + if (attachment->type == SP_ATTACHMENT_MESH) + verticesCount = SUB_CAST(spMeshAttachment, attachment)->verticesCount; + else if (attachment->type == SP_ATTACHMENT_SKINNED_MESH) + verticesCount = SUB_CAST(spSkinnedMeshAttachment, attachment)->weightsCount / 3 * 2; + + timeline = spFFDTimeline_create(timelineArray->size, verticesCount); + timeline->slotIndex = slotIndex; + timeline->attachment = attachment; + + tempVertices = MALLOC(float, verticesCount); + for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) { + Json* vertices = Json_getItem(frame, "vertices"); + float* frameVertices; + if (!vertices) { + if (attachment->type == SP_ATTACHMENT_MESH) + frameVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; + else { + frameVertices = tempVertices; + memset(frameVertices, 0, sizeof(float) * verticesCount); + } + } else { + int v, start = Json_getInt(frame, "offset", 0); + Json* vertex; + frameVertices = tempVertices; + memset(frameVertices, 0, sizeof(float) * start); + if (self->scale == 1) { + for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) + frameVertices[v] = vertex->valueFloat; + } else { + for (vertex = vertices->child, v = start; vertex; vertex = vertex->next, ++v) + frameVertices[v] = vertex->valueFloat * self->scale; + } + memset(frameVertices + v, 0, sizeof(float) * (verticesCount - v)); + if (attachment->type == SP_ATTACHMENT_MESH) { + float* meshVertices = SUB_CAST(spMeshAttachment, attachment)->vertices; + for (v = 0; v < verticesCount; ++v) + frameVertices[v] += meshVertices[v]; + } + } + spFFDTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), frameVertices); + readCurve(SUPER(timeline), i, frame); + } + FREE(tempVertices); + + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[timelineArray->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + } + } + + /* Draw order timeline. */ + if (drawOrder) { + spDrawOrderTimeline* timeline = spDrawOrderTimeline_create(drawOrder->size, skeletonData->slotsCount); + for (frame = drawOrder->child, i = 0; frame; frame = frame->next, ++i) { + int ii; + int* drawOrder = 0; + Json* offsets = Json_getItem(frame, "offsets"); + if (offsets) { + Json* offsetMap; + int* unchanged = MALLOC(int, skeletonData->slotsCount - offsets->size); + int originalIndex = 0, unchangedIndex = 0; + + drawOrder = MALLOC(int, skeletonData->slotsCount); + for (ii = skeletonData->slotsCount - 1; ii >= 0; --ii) + drawOrder[ii] = -1; + + for (offsetMap = offsets->child; offsetMap; offsetMap = offsetMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, Json_getString(offsetMap, "slot", 0)); + if (slotIndex == -1) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Slot not found: ", Json_getString(offsetMap, "slot", 0)); + return 0; + } + /* Collect unchanged items. */ + while (originalIndex != slotIndex) + unchanged[unchangedIndex++] = originalIndex++; + /* Set changed items. */ + drawOrder[originalIndex + Json_getInt(offsetMap, "offset", 0)] = originalIndex; + originalIndex++; + } + /* Collect remaining unchanged items. */ + while (originalIndex < skeletonData->slotsCount) + unchanged[unchangedIndex++] = originalIndex++; + /* Fill in unchanged items. */ + for (ii = skeletonData->slotsCount - 1; ii >= 0; ii--) + if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; + FREE(unchanged); + } + spDrawOrderTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), drawOrder); + FREE(drawOrder); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[drawOrder->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + + /* Event timeline. */ + if (events) { + Json* frame; + + spEventTimeline* timeline = spEventTimeline_create(events->size); + for (frame = events->child, i = 0; frame; frame = frame->next, ++i) { + spEvent* event; + const char* stringValue; + spEventData* eventData = spSkeletonData_findEvent(skeletonData, Json_getString(frame, "name", 0)); + if (!eventData) { + spAnimation_dispose(animation); + _spSkeletonJson_setError(self, 0, "Event not found: ", Json_getString(frame, "name", 0)); + return 0; + } + event = spEvent_create(eventData); + event->intValue = Json_getInt(frame, "int", eventData->intValue); + event->floatValue = Json_getFloat(frame, "float", eventData->floatValue); + stringValue = Json_getString(frame, "string", eventData->stringValue); + if (stringValue) MALLOC_STR(event->stringValue, stringValue); + spEventTimeline_setFrame(timeline, i, Json_getFloat(frame, "time", 0), event); + } + animation->timelines[animation->timelinesCount++] = SUPER_CAST(spTimeline, timeline); + duration = timeline->frames[events->size - 1]; + if (duration > animation->duration) animation->duration = duration; + } + + return animation; +} + +spSkeletonData* spSkeletonJson_readSkeletonDataFile (spSkeletonJson* self, const char* path) { + int length; + spSkeletonData* skeletonData; + const char* json = _spUtil_readFile(path, &length); + if (!json) { + _spSkeletonJson_setError(self, 0, "Unable to read skeleton file: ", path); + return 0; + } + skeletonData = spSkeletonJson_readSkeletonData(self, json); + FREE(json); + return skeletonData; +} + +spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const char* json) { + int i, ii; + spSkeletonData* skeletonData; + Json *root, *skeleton, *bones, *boneMap, *ik, *slots, *skins, *animations, *events; + + FREE(self->error); + CONST_CAST(char*, self->error) = 0; + + root = Json_create(json); + if (!root) { + _spSkeletonJson_setError(self, 0, "Invalid skeleton JSON: ", Json_getError()); + return 0; + } + + skeletonData = spSkeletonData_create(); + + skeleton = Json_getItem(root, "skeleton"); + if (skeleton) { + MALLOC_STR(skeletonData->hash, Json_getString(skeleton, "hash", 0)); + MALLOC_STR(skeletonData->version, Json_getString(skeleton, "spine", 0)); + skeletonData->width = Json_getFloat(skeleton, "width", 0); + skeletonData->height = Json_getFloat(skeleton, "height", 0); + } + + /* Bones. */ + bones = Json_getItem(root, "bones"); + skeletonData->bones = MALLOC(spBoneData*, bones->size); + for (boneMap = bones->child, i = 0; boneMap; boneMap = boneMap->next, ++i) { + spBoneData* boneData; + + spBoneData* parent = 0; + const char* parentName = Json_getString(boneMap, "parent", 0); + if (parentName) { + parent = spSkeletonData_findBone(skeletonData, parentName); + if (!parent) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Parent bone not found: ", parentName); + return 0; + } + } + + boneData = spBoneData_create(Json_getString(boneMap, "name", 0), parent); + boneData->length = Json_getFloat(boneMap, "length", 0) * self->scale; + boneData->x = Json_getFloat(boneMap, "x", 0) * self->scale; + boneData->y = Json_getFloat(boneMap, "y", 0) * self->scale; + boneData->rotation = Json_getFloat(boneMap, "rotation", 0); + boneData->scaleX = Json_getFloat(boneMap, "scaleX", 1); + boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1); + boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1); + boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1); + + skeletonData->bones[i] = boneData; + skeletonData->bonesCount++; + } + + /* IK constraints. */ + ik = Json_getItem(root, "ik"); + if (ik) { + Json *ikMap; + skeletonData->ikConstraintsCount = ik->size; + skeletonData->ikConstraints = MALLOC(spIkConstraintData*, ik->size); + for (ikMap = ik->child, i = 0; ikMap; ikMap = ikMap->next, ++i) { + const char* targetName; + + spIkConstraintData* ikConstraintData = spIkConstraintData_create(Json_getString(ikMap, "name", 0)); + boneMap = Json_getItem(ikMap, "bones"); + ikConstraintData->bonesCount = boneMap->size; + ikConstraintData->bones = MALLOC(spBoneData*, boneMap->size); + for (boneMap = boneMap->child, ii = 0; boneMap; boneMap = boneMap->next, ++ii) { + ikConstraintData->bones[ii] = spSkeletonData_findBone(skeletonData, boneMap->valueString); + if (!ikConstraintData->bones[ii]) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "IK bone not found: ", boneMap->valueString); + return 0; + } + } + + targetName = Json_getString(ikMap, "target", 0); + ikConstraintData->target = spSkeletonData_findBone(skeletonData, targetName); + if (!ikConstraintData->target) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Target bone not found: ", boneMap->name); + return 0; + } + + ikConstraintData->bendDirection = Json_getInt(ikMap, "bendPositive", 1) ? 1 : -1; + ikConstraintData->mix = Json_getFloat(ikMap, "mix", 1); + + skeletonData->ikConstraints[i] = ikConstraintData; + } + } + + /* Slots. */ + slots = Json_getItem(root, "slots"); + if (slots) { + Json *slotMap; + skeletonData->slotsCount = slots->size; + skeletonData->slots = MALLOC(spSlotData*, slots->size); + for (slotMap = slots->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { + spSlotData* slotData; + const char* color; + Json *attachmentItem; + + const char* boneName = Json_getString(slotMap, "bone", 0); + spBoneData* boneData = spSkeletonData_findBone(skeletonData, boneName); + if (!boneData) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Slot bone not found: ", boneName); + return 0; + } + + slotData = spSlotData_create(Json_getString(slotMap, "name", 0), boneData); + + color = Json_getString(slotMap, "color", 0); + if (color) { + slotData->r = toColor(color, 0); + slotData->g = toColor(color, 1); + slotData->b = toColor(color, 2); + slotData->a = toColor(color, 3); + } + + attachmentItem = Json_getItem(slotMap, "attachment"); + if (attachmentItem) spSlotData_setAttachmentName(slotData, attachmentItem->valueString); + + slotData->additiveBlending = Json_getInt(slotMap, "additive", 0); + + skeletonData->slots[i] = slotData; + } + } + + /* Skins. */ + skins = Json_getItem(root, "skins"); + if (skins) { + Json *slotMap; + skeletonData->skinsCount = skins->size; + skeletonData->skins = MALLOC(spSkin*, skins->size); + for (slotMap = skins->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { + Json *attachmentsMap; + spSkin *skin = spSkin_create(slotMap->name); + + skeletonData->skins[i] = skin; + if (strcmp(slotMap->name, "default") == 0) skeletonData->defaultSkin = skin; + + for (attachmentsMap = slotMap->child; attachmentsMap; attachmentsMap = attachmentsMap->next) { + int slotIndex = spSkeletonData_findSlotIndex(skeletonData, attachmentsMap->name); + Json *attachmentMap; + + for (attachmentMap = attachmentsMap->child; attachmentMap; attachmentMap = attachmentMap->next) { + spAttachment* attachment; + const char* skinAttachmentName = attachmentMap->name; + const char* attachmentName = Json_getString(attachmentMap, "name", skinAttachmentName); + const char* path = Json_getString(attachmentMap, "path", attachmentName); + const char* color; + int i; + Json* entry; + + const char* typeString = Json_getString(attachmentMap, "type", "region"); + spAttachmentType type; + if (strcmp(typeString, "region") == 0) + type = SP_ATTACHMENT_REGION; + else if (strcmp(typeString, "mesh") == 0) + type = SP_ATTACHMENT_MESH; + else if (strcmp(typeString, "skinnedmesh") == 0) + type = SP_ATTACHMENT_SKINNED_MESH; + else if (strcmp(typeString, "boundingbox") == 0) + type = SP_ATTACHMENT_BOUNDING_BOX; + else { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, "Unknown attachment type: ", typeString); + return 0; + } + + attachment = spAttachmentLoader_newAttachment(self->attachmentLoader, skin, type, attachmentName, path); + if (!attachment) { + if (self->attachmentLoader->error1) { + spSkeletonData_dispose(skeletonData); + _spSkeletonJson_setError(self, root, self->attachmentLoader->error1, self->attachmentLoader->error2); + return 0; + } + continue; + } + + switch (attachment->type) { + case SP_ATTACHMENT_REGION: { + spRegionAttachment* region = SUB_CAST(spRegionAttachment, attachment); + if (path) MALLOC_STR(region->path, path); + region->x = Json_getFloat(attachmentMap, "x", 0) * self->scale; + region->y = Json_getFloat(attachmentMap, "y", 0) * self->scale; + region->scaleX = Json_getFloat(attachmentMap, "scaleX", 1); + region->scaleY = Json_getFloat(attachmentMap, "scaleY", 1); + region->rotation = Json_getFloat(attachmentMap, "rotation", 0); + region->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + region->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + region->r = toColor(color, 0); + region->g = toColor(color, 1); + region->b = toColor(color, 2); + region->a = toColor(color, 3); + } + + spRegionAttachment_updateOffset(region); + break; + } + case SP_ATTACHMENT_MESH: { + spMeshAttachment* mesh = SUB_CAST(spMeshAttachment, attachment); + + MALLOC_STR(mesh->path, path); + + entry = Json_getItem(attachmentMap, "vertices"); + mesh->verticesCount = entry->size; + mesh->vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->vertices[i] = entry->valueFloat * self->scale; + + entry = Json_getItem(attachmentMap, "triangles"); + mesh->trianglesCount = entry->size; + mesh->triangles = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->triangles[i] = entry->valueInt; + + entry = Json_getItem(attachmentMap, "uvs"); + mesh->regionUVs = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->regionUVs[i] = entry->valueFloat; + + spMeshAttachment_updateUVs(mesh); + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + mesh->r = toColor(color, 0); + mesh->g = toColor(color, 1); + mesh->b = toColor(color, 2); + mesh->a = toColor(color, 3); + } + + mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); + + entry = Json_getItem(attachmentMap, "edges"); + if (entry) { + mesh->edgesCount = entry->size; + mesh->edges = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->edges[i] = entry->valueInt; + } + + mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + break; + } + case SP_ATTACHMENT_SKINNED_MESH: { + spSkinnedMeshAttachment* mesh = SUB_CAST(spSkinnedMeshAttachment, attachment); + int verticesCount, b, w, nn; + float* vertices; + + MALLOC_STR(mesh->path, path); + + entry = Json_getItem(attachmentMap, "uvs"); + mesh->uvsCount = entry->size; + mesh->regionUVs = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->regionUVs[i] = entry->valueFloat; + + entry = Json_getItem(attachmentMap, "vertices"); + verticesCount = entry->size; + vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + vertices[i] = entry->valueFloat; + + for (i = 0; i < verticesCount;) { + int bonesCount = (int)vertices[i]; + mesh->bonesCount += bonesCount + 1; + mesh->weightsCount += bonesCount * 3; + i += 1 + bonesCount * 4; + } + mesh->bones = MALLOC(int, mesh->bonesCount); + mesh->weights = MALLOC(float, mesh->weightsCount); + + for (i = 0, b = 0, w = 0; i < verticesCount;) { + int bonesCount = (int)vertices[i++]; + mesh->bones[b++] = bonesCount; + for (nn = i + bonesCount * 4; i < nn; i += 4, ++b, w += 3) { + mesh->bones[b] = (int)vertices[i]; + mesh->weights[w] = vertices[i + 1] * self->scale; + mesh->weights[w + 1] = vertices[i + 2] * self->scale; + mesh->weights[w + 2] = vertices[i + 3]; + } + } + + FREE(vertices); + + entry = Json_getItem(attachmentMap, "triangles"); + mesh->trianglesCount = entry->size; + mesh->triangles = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->triangles[i] = entry->valueInt; + + spSkinnedMeshAttachment_updateUVs(mesh); + + color = Json_getString(attachmentMap, "color", 0); + if (color) { + mesh->r = toColor(color, 0); + mesh->g = toColor(color, 1); + mesh->b = toColor(color, 2); + mesh->a = toColor(color, 3); + } + + mesh->hullLength = Json_getInt(attachmentMap, "hull", 0); + + entry = Json_getItem(attachmentMap, "edges"); + if (entry) { + mesh->edgesCount = entry->size; + mesh->edges = MALLOC(int, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + mesh->edges[i] = entry->valueInt; + } + + mesh->width = Json_getFloat(attachmentMap, "width", 32) * self->scale; + mesh->height = Json_getFloat(attachmentMap, "height", 32) * self->scale; + break; + } + case SP_ATTACHMENT_BOUNDING_BOX: { + spBoundingBoxAttachment* box = SUB_CAST(spBoundingBoxAttachment, attachment); + entry = Json_getItem(attachmentMap, "vertices"); + box->verticesCount = entry->size; + box->vertices = MALLOC(float, entry->size); + for (entry = entry->child, i = 0; entry; entry = entry->next, ++i) + box->vertices[i] = entry->valueFloat * self->scale; + break; + } + } + + spSkin_addAttachment(skin, slotIndex, skinAttachmentName, attachment); + } + } + } + } + + /* Events. */ + events = Json_getItem(root, "events"); + if (events) { + Json *eventMap; + const char* stringValue; + skeletonData->eventsCount = events->size; + skeletonData->events = MALLOC(spEventData*, events->size); + for (eventMap = events->child, i = 0; eventMap; eventMap = eventMap->next, ++i) { + spEventData* eventData = spEventData_create(eventMap->name); + eventData->intValue = Json_getInt(eventMap, "int", 0); + eventData->floatValue = Json_getFloat(eventMap, "float", 0); + stringValue = Json_getString(eventMap, "string", 0); + if (stringValue) MALLOC_STR(eventData->stringValue, stringValue); + skeletonData->events[i] = eventData; + } + } + + /* Animations. */ + animations = Json_getItem(root, "animations"); + if (animations) { + Json *animationMap; + skeletonData->animations = MALLOC(spAnimation*, animations->size); + for (animationMap = animations->child; animationMap; animationMap = animationMap->next) + _spSkeletonJson_readAnimation(self, animationMap, skeletonData); + } + + Json_dispose(root); + return skeletonData; +} From df792f3d59a77c41f8a732a9e05019cf8ac2fd9b Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Mon, 27 Oct 2014 19:00:52 +0100 Subject: [PATCH 54/91] Update README.md --- spine-libgdx/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-libgdx/README.md b/spine-libgdx/README.md index fe1d64e6a..9435d5fcf 100644 --- a/spine-libgdx/README.md +++ b/spine-libgdx/README.md @@ -21,4 +21,4 @@ Alternatively, the contents of the `spine-libgdx/src` directory can be copied in * [Box2D Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/Box2DExample.java#L56) (written before bounding boxes were available) * [Mix Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/MixTest.java#L39) * [Skeleton Example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-libgdx/test/com/esotericsoftware/spine/SkeletonTest.java#L47) -* [Super Spinboy](https://github.com/EsotericSoftware/spine-superspineboy) Full game example done with Spine Essential. +* [Super Spineboy](https://github.com/EsotericSoftware/spine-superspineboy) Full game example done with Spine Essential. From 0dc21d23c08add31ccbba6b598829a1cea812d16 Mon Sep 17 00:00:00 2001 From: Daniel Sperl Date: Mon, 3 Nov 2014 12:19:49 +0100 Subject: [PATCH 55/91] added support for textures without premultiplied alpha --- .../src/spine/starling/PolygonBatch.as | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as index eba94728f..9085f03b9 100644 --- a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as +++ b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as @@ -63,6 +63,7 @@ internal class PolygonBatch { private var _programBits:uint; private var _blendMode:String; private var _additive:Boolean; + private var _alpha:Number; private var _verticesCount:int; private var _vertices:Vector. = new []; @@ -85,18 +86,15 @@ internal class PolygonBatch { public function begin (support:RenderSupport, alpha:Number, blendMode:String) : void { _support = support; - _renderAlpha[3] = alpha; + _alpha = alpha; _programBits = 0xffffffff; - - support.finishQuadBatch(); - - support.blendMode = blendMode; - support.applyBlendMode(true); - _blendMode = support.blendMode; _additive = false; + support.finishQuadBatch(); + support.blendMode = blendMode; + _blendMode = support.blendMode; + var context:Context3D = Starling.context; - context.setProgramConstantsFromVector(Context3DProgramType.VERTEX, 0, _renderAlpha, 1); context.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 1, support.mvpMatrix3D, true); var verticesBuffer:VertexBuffer3D = _verticesBuffer; @@ -217,6 +215,13 @@ internal class PolygonBatch { _trianglesBuffer.uploadFromVector(_triangles, 0, _trianglesCount); } + var pma:Boolean = _texture ? _texture.premultipliedAlpha : true; + _renderAlpha[0] = _renderAlpha[1] = _renderAlpha[2] = pma ? _alpha : 1.0; + _renderAlpha[3] = _alpha; + + _support.applyBlendMode(pma); + context.setProgramConstantsFromVector(Context3DProgramType.VERTEX, 0, _renderAlpha, 1); + setProgram(context); context.setTextureAt(0, _texture.base); context.drawTriangles(_trianglesBuffer, 0, _trianglesCount / 3); From 879ae91c25dd0b17f24865e2019a5ab1c99df4c8 Mon Sep 17 00:00:00 2001 From: ubiyf Date: Fri, 7 Nov 2014 15:39:54 +0800 Subject: [PATCH 56/91] Fix Bug : Can not build android apk, if not set char* as const Can not build android apk, if not set char* as const --- spine-c/src/spine/SkeletonJson.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index e660a6355..2d04df6e9 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -221,7 +221,7 @@ static spAnimation* _spSkeletonJson_readAnimation (spSkeletonJson* self, Json* r if (duration > animation->duration) animation->duration = duration; } else if (strcmp(timelineArray->name, "flipX") == 0 || strcmp(timelineArray->name, "flipY") == 0) { int x = strcmp(timelineArray->name, "flipX") == 0; - char* field = x ? "x" : "y"; + const char* field = x ? "x" : "y"; spFlipTimeline *timeline = spFlipTimeline_create(timelineArray->size, x); timeline->boneIndex = boneIndex; for (frame = timelineArray->child, i = 0; frame; frame = frame->next, ++i) From 69fe56b3298c4a65266ccbfee32466200bf4552b Mon Sep 17 00:00:00 2001 From: beik Date: Mon, 10 Nov 2014 11:52:57 +0800 Subject: [PATCH 57/91] load flipX flipY from json --- spine-c/src/spine/SkeletonJson.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index e660a6355..a3ff08605 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -466,6 +466,8 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha boneData->scaleY = Json_getFloat(boneMap, "scaleY", 1); boneData->inheritScale = Json_getInt(boneMap, "inheritScale", 1); boneData->inheritRotation = Json_getInt(boneMap, "inheritRotation", 1); + boneData->flipX = Json_getInt(boneMap, "flipX", 0); + boneData->flipY = Json_getInt(boneMap, "flipY", 0); skeletonData->bones[i] = boneData; skeletonData->bonesCount++; From 47c520e6ce4b0b34b615b9b7109394b831491cc2 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 11 Nov 2014 17:39:37 +0100 Subject: [PATCH 58/91] Added timeline position indicator. --- .../esotericsoftware/spine/SkeletonViewer.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java index 9c87ed72d..1591dae70 100644 --- a/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/test/com/esotericsoftware/spine/SkeletonViewer.java @@ -53,6 +53,8 @@ import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.graphics.g2d.TextureAtlas.AtlasRegion; import com.badlogic.gdx.graphics.g2d.TextureAtlas.TextureAtlasData; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputListener; @@ -71,6 +73,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.viewport.ScreenViewport; +import com.esotericsoftware.spine.AnimationState.TrackEntry; public class SkeletonViewer extends ApplicationAdapter { static final float checkModifiedInterval = 0.250f; @@ -227,6 +230,19 @@ public class SkeletonViewer extends ApplicationAdapter { ui.stage.act(); ui.stage.draw(); + + // Draw indicator for timeline position. + ShapeRenderer shapes = debugRenderer.getShapeRenderer(); + TrackEntry entry = state.getCurrent(0); + if (entry != null) { + float percent = entry.getTime() / entry.getEndTime(); + if (entry.getLoop()) percent %= 1; + float x = ui.window.getRight() + (Gdx.graphics.getWidth() - ui.window.getRight()) * percent; + shapes.setColor(Color.CYAN); + shapes.begin(ShapeType.Line); + shapes.line(x, 0, x, 20); + shapes.end(); + } } public void resize (int width, int height) { From 14bd9e494a555a498c62ef1682b1ab1b5e3f0eb7 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 11 Nov 2014 17:41:29 +0100 Subject: [PATCH 59/91] Avoid allocation when bone cache size goes down then back up later. --- spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java b/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java index 1961d7e9b..4309c3c36 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java @@ -117,16 +117,16 @@ public class Skeleton { /** Caches information about bones and IK constraints. Must be called if bones or IK constraints are added or removed. */ public void updateCache () { + Array bones = this.bones; Array> boneCache = this.boneCache; Array ikConstraints = this.ikConstraints; int ikConstraintsCount = ikConstraints.size; int arrayCount = ikConstraintsCount + 1; - boneCache.truncate(arrayCount); - for (int i = 0, n = boneCache.size; i < n; i++) - boneCache.get(i).clear(); while (boneCache.size < arrayCount) boneCache.add(new Array()); + for (int i = 0; i < arrayCount; i++) + boneCache.get(i).clear(); Array nonIkBones = boneCache.first(); @@ -164,7 +164,7 @@ public class Skeleton { } Array> boneCache = this.boneCache; Array ikConstraints = this.ikConstraints; - int i = 0, last = boneCache.size - 1; + int i = 0, last = ikConstraints.size; while (true) { Array updateBones = boneCache.get(i); for (int ii = 0, nn = updateBones.size; ii < nn; ii++) From d04c80adb4d570527e0d4bfc7b476e22948ac181 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 11 Nov 2014 17:41:48 +0100 Subject: [PATCH 60/91] Pool skin keys to avoid allocation. --- .../src/com/esotericsoftware/spine/Skin.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Skin.java b/spine-libgdx/src/com/esotericsoftware/spine/Skin.java index 296575251..3fdc10980 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Skin.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Skin.java @@ -30,11 +30,11 @@ package com.esotericsoftware.spine; -import com.esotericsoftware.spine.attachments.Attachment; - import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap.Entry; +import com.badlogic.gdx.utils.Pool; +import com.esotericsoftware.spine.attachments.Attachment; /** Stores attachments by slot index and attachment name. */ public class Skin { @@ -42,6 +42,11 @@ public class Skin { final String name; final ObjectMap attachments = new ObjectMap(); + final Pool keyPool = new Pool(64) { + protected Object newObject () { + return new Key(); + } + }; public Skin (String name) { if (name == null) throw new IllegalArgumentException("name cannot be null."); @@ -51,7 +56,7 @@ public class Skin { public void addAttachment (int slotIndex, String name, Attachment attachment) { if (attachment == null) throw new IllegalArgumentException("attachment cannot be null."); if (slotIndex < 0) throw new IllegalArgumentException("slotIndex must be >= 0."); - Key key = new Key(); + Key key = keyPool.obtain(); key.set(slotIndex, name); attachments.put(key, attachment); } @@ -78,6 +83,8 @@ public class Skin { } public void clear () { + for (Key key : attachments.keys()) + keyPool.free(key); attachments.clear(); } From 322d8ed0abb680e60189394fad7c70c36e3600c2 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Tue, 11 Nov 2014 17:42:19 +0100 Subject: [PATCH 61/91] Fixed first flip key not being applied. --- spine-c/src/spine/Animation.c | 2 +- spine-csharp/src/Animation.cs | 2 +- spine-libgdx/src/com/esotericsoftware/spine/Animation.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index af34f904c..6d7732863 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -805,7 +805,7 @@ void _spFlipTimeline_apply (const spTimeline* timeline, spSkeleton* skeleton, fl frameIndex = (time >= self->frames[self->framesCount - 2] ? self->framesCount : binarySearch(self->frames, self->framesCount, time, 2)) - 2; - if (self->frames[frameIndex] <= lastTime) return; + if (self->frames[frameIndex] < lastTime) return; if (self->x) skeleton->bones[self->boneIndex]->flipX = self->frames[frameIndex + 1]; diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index b3843cfd3..278b5d99d 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -698,7 +698,7 @@ namespace Spine { lastTime = -1; int frameIndex = (time >= frames[frames.Length - 2] ? frames.Length : Animation.binarySearch(frames, time, 2)) - 2; - if (frames[frameIndex] <= lastTime) return; + if (frames[frameIndex] < lastTime) return; SetFlip(skeleton.bones[boneIndex], frames[frameIndex + 1] != 0); } diff --git a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index 161102e89..0a0571dac 100644 --- a/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -816,7 +816,7 @@ public class Animation { } else if (lastTime > time) // lastTime = -1; int frameIndex = (time >= frames[frames.length - 2] ? frames.length : binarySearch(frames, time, 2)) - 2; - if (frames[frameIndex] <= lastTime) return; + if (frames[frameIndex] < lastTime) return; setFlip(skeleton.bones.get(boneIndex), frames[frameIndex + 1] != 0); } From efae035f18a6c1a866e99883a1d83be4e5905a31 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 12 Nov 2014 19:38:43 +0100 Subject: [PATCH 62/91] Flip timelines for spine-as3 and spine-starling. --- spine-as3/spine-as3/src/spine/Bone.as | 29 ++++++-- spine-as3/spine-as3/src/spine/BoneData.as | 2 + spine-as3/spine-as3/src/spine/SkeletonJson.as | 36 ++++++--- .../src/spine/animation/FlipXTimeline.as | 73 +++++++++++++++++++ .../src/spine/animation/FlipYTimeline.as | 44 +++++++++++ .../src/spine/flash/SkeletonSprite.as | 5 +- 6 files changed, 171 insertions(+), 18 deletions(-) create mode 100644 spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as create mode 100644 spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as diff --git a/spine-as3/spine-as3/src/spine/Bone.as b/spine-as3/spine-as3/src/spine/Bone.as index b2442091b..c548b36e0 100644 --- a/spine-as3/spine-as3/src/spine/Bone.as +++ b/spine-as3/spine-as3/src/spine/Bone.as @@ -42,6 +42,8 @@ public class Bone { public var rotationIK:Number; public var scaleX:Number public var scaleY:Number; + public var flipX:Boolean; + public var flipY:Boolean; internal var _m00:Number; internal var _m01:Number; @@ -52,6 +54,8 @@ public class Bone { internal var _worldRotation:Number; internal var _worldScaleX:Number; internal var _worldScaleY:Number; + internal var _worldFlipX:Boolean; + internal var _worldFlipY:Boolean; /** @param parent May be null. */ public function Bone (data:BoneData, skeleton:Skeleton, parent:Bone) { @@ -77,24 +81,29 @@ public class Bone { _worldScaleY = scaleY; } _worldRotation = _data.inheritRotation ? parent._worldRotation + rotationIK : rotationIK; + _worldFlipX = parent._worldFlipX != flipX; + _worldFlipY = parent._worldFlipY != flipY; } else { - _worldX = _skeleton.flipX ? -x : x; - _worldY = _skeleton.flipY != yDown ? -y : y; + var skeletonFlipX:Boolean = _skeleton.flipX, skeletonFlipY:Boolean = _skeleton.flipY; + _worldX = skeletonFlipX ? -x : x; + _worldY = skeletonFlipY != yDown ? -y : y; _worldScaleX = scaleX; _worldScaleY = scaleY; _worldRotation = rotationIK; + _worldFlipX = skeletonFlipX != flipX; + _worldFlipY = skeletonFlipY != flipY; } var radians:Number = _worldRotation * (Math.PI / 180); var cos:Number = Math.cos(radians); var sin:Number = Math.sin(radians); - if (skeleton.flipX) { + if (_worldFlipX) { _m00 = -cos * _worldScaleX; _m01 = sin * _worldScaleY; } else { _m00 = cos * _worldScaleX; _m01 = -sin * _worldScaleY; } - if (_skeleton.flipY != yDown) { + if (_worldFlipY != yDown) { _m10 = -sin * _worldScaleX; _m11 = -cos * _worldScaleY; } else { @@ -110,6 +119,8 @@ public class Bone { rotationIK = rotation; scaleX = _data.scaleX; scaleY = _data.scaleY; + flipX = _data.flipX; + flipY = _data.flipY; } public function get data () : BoneData { @@ -159,11 +170,19 @@ public class Bone { public function get worldScaleY () : Number { return _worldScaleY; } + + public function get worldFlipX () : Boolean { + return _worldFlipX; + } + + public function get worldFlipY () : Boolean { + return _worldFlipY; + } public function worldToLocal (world:Vector.) : void { var dx:Number = world[0] - _worldX, dy:Number = world[1] - _worldY; var m00:Number = _m00, m10:Number = _m10, m01:Number = _m01, m11:Number = _m11; - if (_skeleton.flipX != (_skeleton.flipY != yDown)) { + if (_worldFlipX != (_worldFlipY != yDown)) { m00 = -m00; m11 = -m11; } diff --git a/spine-as3/spine-as3/src/spine/BoneData.as b/spine-as3/spine-as3/src/spine/BoneData.as index 57b02450e..a5cc2546e 100644 --- a/spine-as3/spine-as3/src/spine/BoneData.as +++ b/spine-as3/spine-as3/src/spine/BoneData.as @@ -41,6 +41,8 @@ public class BoneData { public var scaleY:Number = 1; public var inheritScale:Boolean = true; public var inheritRotation:Boolean = true; + public var flipX:Boolean; + public var flipY:Boolean; /** @param parent May be null. */ public function BoneData (name:String, parent:BoneData) { diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index e51ac89b5..cfed98b0b 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -38,6 +38,8 @@ import spine.animation.CurveTimeline; import spine.animation.DrawOrderTimeline; import spine.animation.EventTimeline; import spine.animation.FfdTimeline; +import spine.animation.FlipXTimeline; +import spine.animation.FlipYTimeline; import spine.animation.IkConstraintTimeline; import spine.animation.RotateTimeline; import spine.animation.ScaleTimeline; @@ -52,12 +54,6 @@ import spine.attachments.RegionAttachment; import spine.attachments.SkinnedMeshAttachment; public class SkeletonJson { - static public const TIMELINE_SCALE:String = "scale"; - static public const TIMELINE_ROTATE:String = "rotate"; - static public const TIMELINE_TRANSLATE:String = "translate"; - static public const TIMELINE_ATTACHMENT:String = "attachment"; - static public const TIMELINE_COLOR:String = "color"; - public var attachmentLoader:AttachmentLoader; public var scale:Number = 1; @@ -107,6 +103,8 @@ public class SkeletonJson { boneData.rotation = (boneMap["rotation"] || 0); boneData.scaleX = boneMap.hasOwnProperty("scaleX") ? boneMap["scaleX"] : 1; boneData.scaleY = boneMap.hasOwnProperty("scaleY") ? boneMap["scaleY"] : 1; + boneData.flipX = boneMap.hasOwnProperty("flipX") ? boneMap["flipX"] : false; + boneData.flipY = boneMap.hasOwnProperty("flipY") ? boneMap["flipY"] : false; boneData.inheritScale = boneMap.hasOwnProperty("inheritScale") ? boneMap["inheritScale"] : true; boneData.inheritRotation = boneMap.hasOwnProperty("inheritRotation") ? boneMap["inheritRotation"] : true; skeletonData.bones[skeletonData.bones.length] = boneData; @@ -312,7 +310,7 @@ public class SkeletonJson { for (timelineName in slotMap) { values = slotMap[timelineName]; - if (timelineName == TIMELINE_COLOR) { + if (timelineName == "color") { var colorTimeline:ColorTimeline = new ColorTimeline(values.length); colorTimeline.slotIndex = slotIndex; @@ -330,7 +328,7 @@ public class SkeletonJson { timelines[timelines.length] = colorTimeline; duration = Math.max(duration, colorTimeline.frames[colorTimeline.frameCount * 5 - 5]); - } else if (timelineName == TIMELINE_ATTACHMENT) { + } else if (timelineName == "attachment") { var attachmentTimeline:AttachmentTimeline = new AttachmentTimeline(values.length); attachmentTimeline.slotIndex = slotIndex; @@ -339,7 +337,7 @@ public class SkeletonJson { attachmentTimeline.setFrame(frameIndex++, valueMap["time"], valueMap["name"]); timelines[timelines.length] = attachmentTimeline; duration = Math.max(duration, attachmentTimeline.frames[attachmentTimeline.frameCount - 1]); - + } else throw new Error("Invalid timeline type for a slot: " + timelineName + " (" + slotName + ")"); } @@ -353,7 +351,7 @@ public class SkeletonJson { for (timelineName in boneMap) { values = boneMap[timelineName]; - if (timelineName == TIMELINE_ROTATE) { + if (timelineName == "rotate") { var rotateTimeline:RotateTimeline = new RotateTimeline(values.length); rotateTimeline.boneIndex = boneIndex; @@ -366,10 +364,10 @@ public class SkeletonJson { timelines[timelines.length] = rotateTimeline; duration = Math.max(duration, rotateTimeline.frames[rotateTimeline.frameCount * 2 - 2]); - } else if (timelineName == TIMELINE_TRANSLATE || timelineName == TIMELINE_SCALE) { + } else if (timelineName == "translate" || timelineName == "scale") { var timeline:TranslateTimeline; var timelineScale:Number = 1; - if (timelineName == TIMELINE_SCALE) + if (timelineName == "scale") timeline = new ScaleTimeline(values.length); else { timeline = new TranslateTimeline(values.length); @@ -388,6 +386,20 @@ public class SkeletonJson { timelines[timelines.length] = timeline; duration = Math.max(duration, timeline.frames[timeline.frameCount * 3 - 3]); + } else if (timelineName == "flipX" || timelineName == "flipY") { + var flipX:Boolean = timelineName == "flipX"; + var flipTimeline:FlipXTimeline = flipX ? new FlipXTimeline(values.length) : new FlipYTimeline(values.length); + flipTimeline.boneIndex = boneIndex; + + var field:String = flipX ? "x" : "y"; + frameIndex = 0; + for each (valueMap in values) { + flipTimeline.setFrame(frameIndex, valueMap["time"], valueMap.hasOwnProperty(field) ? valueMap[field] : false); + frameIndex++; + } + timelines[timelines.length] = flipTimeline; + duration = Math.max(duration, flipTimeline.frames[flipTimeline.frameCount * 3 - 3]); + } else throw new Error("Invalid timeline type for a bone: " + timelineName + " (" + boneName + ")"); } diff --git a/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as b/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as new file mode 100644 index 000000000..c69180d0d --- /dev/null +++ b/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as @@ -0,0 +1,73 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine.animation { +import spine.Bone; +import spine.Event; +import spine.Skeleton; + +public class FlipXTimeline implements Timeline { + public var boneIndex:int; + public var frames:Vector.; // time, flip, ... + + public function FlipXTimeline (frameCount:int) { + frames = new Vector.(frameCount * 2, true); + } + + public function get frameCount () : int { + return frames.length / 2; + } + + /** Sets the time and angle of the specified keyframe. */ + public function setFrame (frameIndex:int, time:Number, flip:Boolean) : void { + frameIndex *= 2; + frames[frameIndex] = time; + frames[int(frameIndex + 1)] = flip ? 1 : 0; + } + + public function apply (skeleton:Skeleton, lastTime:Number, time:Number, firedEvents:Vector., alpha:Number) : void { + if (time < frames[0]) { + if (lastTime > time) apply(skeleton, lastTime, int.MAX_VALUE, null, 0); + return; + } else if (lastTime > time) // + lastTime = -1; + + var frameIndex:int = (time >= frames[frames.length - 2] ? frames.length : Animation.binarySearch(frames, time, 2)) - 2; + if (frames[frameIndex] < lastTime) return; + + setFlip(skeleton.bones[boneIndex], frames[frameIndex + 1] != 0); + } + + protected function setFlip (bone:Bone, flip:Boolean) : void { + bone.flipX = flip; + } +} + +} diff --git a/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as b/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as new file mode 100644 index 000000000..827ae0ed6 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as @@ -0,0 +1,44 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +package spine.animation { +import spine.Bone; + +public class FlipYTimeline extends FlipXTimeline { + public function FlipYTimeline (frameCount:int) { + super(frameCount); + } + + override protected function setFlip (bone:Bone, flip:Boolean) : void { + bone.flipY = flip; + } +} + +} \ No newline at end of file diff --git a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as index cfef97a80..656892827 100644 --- a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as +++ b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as @@ -97,6 +97,7 @@ public class SkeletonSprite extends Sprite { bitmap.rotation = -regionAttachment.rotation; bitmap.scaleX = regionAttachment.scaleX * (regionAttachment.width / region.width); bitmap.scaleY = regionAttachment.scaleY * (regionAttachment.height / region.height); + // Position using attachment translation, shifted as if scale and rotation were at image center. var radians:Number = -regionAttachment.rotation * Math.PI / 180; @@ -127,10 +128,12 @@ public class SkeletonSprite extends Sprite { colorTransform.alphaMultiplier = skeleton.a * slot.a * regionAttachment.a; wrapper.transform.colorTransform = colorTransform; + var bone:Bone = slot.bone; var flipX:int = skeleton.flipX ? -1 : 1; var flipY:int = skeleton.flipY ? -1 : 1; + if (bone.worldFlipX) flipX = -flipX; + if (bone.worldFlipY) flipY = -flipY; - var bone:Bone = slot.bone; wrapper.x = bone.worldX; wrapper.y = bone.worldY; wrapper.rotation = -bone.worldRotation * flipX * flipY; From 11633a0b22d1819ce215ab0f81ec03ea3965fbb4 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 12 Nov 2014 21:22:51 +0100 Subject: [PATCH 63/91] IK and flip timelines for spine-js. --- spine-js/spine.js | 510 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 397 insertions(+), 113 deletions(-) diff --git a/spine-js/spine.js b/spine-js/spine.js index 9a30c5504..34c235367 100644 --- a/spine-js/spine.js +++ b/spine-js/spine.js @@ -40,7 +40,8 @@ spine.BoneData.prototype = { rotation: 0, scaleX: 1, scaleY: 1, inheritScale: true, - inheritRotation: true + inheritRotation: true, + flipX: false, flipY: false }; spine.SlotData = function (name, boneData) { @@ -53,21 +54,34 @@ spine.SlotData.prototype = { additiveBlending: false }; -spine.Bone = function (boneData, parent) { +spine.IkConstraintData = function (name) { + this.name = name; + this.bones = []; +}; +spine.IkConstraintData.prototype = { + target: null, + bendDirection: 1, + mix: 1 +}; + +spine.Bone = function (boneData, skeleton, parent) { this.data = boneData; + this.skeleton = skeleton; this.parent = parent; this.setToSetupPose(); }; spine.Bone.yDown = false; spine.Bone.prototype = { x: 0, y: 0, - rotation: 0, + rotation: 0, rotationIK: 0, scaleX: 1, scaleY: 1, + flipX: false, flipY: false, m00: 0, m01: 0, worldX: 0, // a b x m10: 0, m11: 0, worldY: 0, // c d y worldRotation: 0, worldScaleX: 1, worldScaleY: 1, - updateWorldTransform: function (flipX, flipY) { + worldFlipX: false, worldFlipY: false, + updateWorldTransform: function () { var parent = this.parent; if (parent != null) { this.worldX = this.x * parent.m00 + this.y * parent.m01 + parent.worldX; @@ -79,28 +93,35 @@ spine.Bone.prototype = { this.worldScaleX = this.scaleX; this.worldScaleY = this.scaleY; } - this.worldRotation = this.data.inheritRotation ? parent.worldRotation + this.rotation : this.rotation; + this.worldRotation = this.data.inheritRotation ? parent.worldRotation + this.rotationIK : this.rotationIK; + this.worldFlipX = parent.worldFlipX != this.flipX; + this.worldFlipY = parent.worldFlipY != this.flipY; } else { - this.worldX = flipX ? -this.x : this.x; - this.worldY = flipY != spine.Bone.yDown ? -this.y : this.y; + var skeletonFlipX = skeleton.flipX, skeletonFlipY = skeleton.flipY; + this.worldX = skeletonFlipX ? -this.x : this.x; + this.worldY = skeletonFlipY != spine.Bone.yDown ? -this.y : this.y; this.worldScaleX = this.scaleX; this.worldScaleY = this.scaleY; - this.worldRotation = this.rotation; + this.worldRotation = this.rotationIK; + this.worldFlipX = skeletonFlipX != this.flipX; + this.worldFlipY = skeletonFlipY != this.flipY; } var radians = this.worldRotation * Math.PI / 180; var cos = Math.cos(radians); var sin = Math.sin(radians); - this.m00 = cos * this.worldScaleX; - this.m10 = sin * this.worldScaleX; - this.m01 = -sin * this.worldScaleY; - this.m11 = cos * this.worldScaleY; - if (flipX) { - this.m00 = -this.m00; - this.m01 = -this.m01; + if (this.worldFlipX) { + this.m00 = -cos * this.worldScaleX; + this.m10 = sin * this.worldScaleX; + } else { + this.m00 = cos * this.worldScaleX; + this.m10 = -sin * this.worldScaleX; } - if (flipY != spine.Bone.yDown) { - this.m10 = -this.m10; - this.m11 = -this.m11; + if (this.worldFlipY != spine.Bone.yDown) { + this.m01 = -sin * this.worldScaleY; + this.m11 = -cos * this.worldScaleY; + } else { + this.m01 = sin * this.worldScaleY; + this.m11 = cos * this.worldScaleY; } }, setToSetupPose: function () { @@ -108,14 +129,32 @@ spine.Bone.prototype = { this.x = data.x; this.y = data.y; this.rotation = data.rotation; + this.rotationIK = this.rotation; this.scaleX = data.scaleX; this.scaleY = data.scaleY; + this.flipX = data.flipX; + this.flipY = data.flipY; + }, + worldToLocal: function (world) void { + var dx = world[0] - this.worldX, dy = world[1] - this.worldY; + var m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; + if (this.worldFlipX != (this.worldFlipY != spine.Bone.yDown)) { + m00 = -m00; + m11 = -m11; + } + var invDet = 1 / (m00 * m11 - m01 * m10); + world[0] = (dx * m00 * invDet - dy * m01 * invDet); + world[1] = (dy * m11 * invDet - dx * m10 * invDet); + }, + localToWorld: function (local) { + var localX = local[0], localY = local[1]; + local[0] = localX * this.m00 + localY * this.m01 + this.worldX; + local[1] = localX * this.m10 + localY * this.m11 + this.worldY; } }; -spine.Slot = function (slotData, skeleton, bone) { +spine.Slot = function (slotData, bone) { this.data = slotData; - this.skeleton = skeleton; this.bone = bone; this.setToSetupPose(); }; @@ -126,14 +165,14 @@ spine.Slot.prototype = { attachmentVertices: [], setAttachment: function (attachment) { this.attachment = attachment; - this._attachmentTime = this.skeleton.time; + this._attachmentTime = this.bone.skeleton.time; this.attachmentVertices.length = 0; }, setAttachmentTime: function (time) { - this._attachmentTime = this.skeleton.time - time; + this._attachmentTime = this.bone.skeleton.time - time; }, getAttachmentTime: function () { - return this.skeleton.time - this._attachmentTime; + return this.bone.skeleton.time - this._attachmentTime; }, setToSetupPose: function () { var data = this.data; @@ -142,16 +181,28 @@ spine.Slot.prototype = { this.b = data.b; this.a = data.a; - var slotDatas = this.skeleton.data.slots; + var slotDatas = this.bone.skeleton.data.slots; for (var i = 0, n = slotDatas.length; i < n; i++) { if (slotDatas[i] == data) { - this.setAttachment(!data.attachmentName ? null : this.skeleton.getAttachmentBySlotIndex(i, data.attachmentName)); + this.setAttachment(!data.attachmentName ? null : this.bone.skeleton.getAttachmentBySlotIndex(i, data.attachmentName)); break; } } } }; +spine.IkConstraint = function (data, skeleton) { + this.data = data; + this.mix = data.mix; + this.bendDirection = data.bendDirection; + + this.bones = []; + for (var i = 0, n = data.bones.length; i < n; i++) + this.bones.push(skeleton.findBone(data.bones[i].name)); + this.target = skeleton.findBone(data.target.name); +}; +spine.IkConstraint.prototype = {}; + spine.Skin = function (name) { this.name = name; this.attachments = {}; @@ -217,6 +268,20 @@ spine.binarySearch = function (values, target, step) { current = (low + high) >>> 1; } }; +spine.binarySearch1 = function (values, target) { + var low = 0; + var high = values.length - 2; + if (high == 0) return step; + var current = high >>> 1; + while (true) { + if (values[current + 1] <= target) + low = current + 1; + else + high = current; + if (low == high) return low + 1; + current = (low + high) >>> 1; + } +}; spine.linearSearch = function (values, target, step) { for (var i = 0, last = values.length - step; i <= last; i += step) if (values[i] > target) return i; @@ -224,62 +289,35 @@ spine.linearSearch = function (values, target, step) { }; spine.Curves = function (frameCount) { - this.curves = []; // dfx, dfy, ddfx, ddfy, dddfx, dddfy, ... - this.curves.length = (frameCount - 1) * 6; + this.curves = []; // type, x, y, ... + this.curves.length = (frameCount - 1) * 19/*BEZIER_SIZE*/; }; spine.Curves.prototype = { setLinear: function (frameIndex) { - this.curves[frameIndex * 6] = 0/*LINEAR*/; + this.curves[frameIndex * 19/*BEZIER_SIZE*/] = 0/*LINEAR*/; }, setStepped: function (frameIndex) { - this.curves[frameIndex * 6] = -1/*STEPPED*/; + this.curves[frameIndex * 19/*BEZIER_SIZE*/] = 1/*STEPPED*/; }, /** Sets the control handle positions for an interpolation bezier curve used to transition from this keyframe to the next. * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of * the difference between the keyframe's values. */ setCurve: function (frameIndex, cx1, cy1, cx2, cy2) { - var subdiv_step = 1 / 10/*BEZIER_SEGMENTS*/; - var subdiv_step2 = subdiv_step * subdiv_step; - var subdiv_step3 = subdiv_step2 * subdiv_step; - var pre1 = 3 * subdiv_step; - var pre2 = 3 * subdiv_step2; - var pre4 = 6 * subdiv_step2; - var pre5 = 6 * subdiv_step3; - var tmp1x = -cx1 * 2 + cx2; - var tmp1y = -cy1 * 2 + cy2; - var tmp2x = (cx1 - cx2) * 3 + 1; - var tmp2y = (cy1 - cy2) * 3 + 1; - var i = frameIndex * 6; + var subdiv1 = 1f / 10/*BEZIER_SEGMENTS*/, subdiv2 = subdiv1 * subdiv1, subdiv3 = subdiv2 * subdiv1; + var pre1 = 3 * subdiv1, pre2 = 3 * subdiv2, pre4 = 6 * subdiv2, pre5 = 6 * subdiv3; + var tmp1x = -cx1 * 2 + cx2, tmp1y = -cy1 * 2 + cy2, tmp2x = (cx1 - cx2) * 3 + 1, tmp2y = (cy1 - cy2) * 3 + 1; + var dfx = cx1 * pre1 + tmp1x * pre2 + tmp2x * subdiv3, dfy = cy1 * pre1 + tmp1y * pre2 + tmp2y * subdiv3; + var ddfx = tmp1x * pre4 + tmp2x * pre5, ddfy = tmp1y * pre4 + tmp2y * pre5; + var dddfx = tmp2x * pre5, dddfy = tmp2y * pre5; + + var i = frameIndex * 19/*BEZIER_SIZE*/; var curves = this.curves; - curves[i] = cx1 * pre1 + tmp1x * pre2 + tmp2x * subdiv_step3; - curves[i + 1] = cy1 * pre1 + tmp1y * pre2 + tmp2y * subdiv_step3; - curves[i + 2] = tmp1x * pre4 + tmp2x * pre5; - curves[i + 3] = tmp1y * pre4 + tmp2y * pre5; - curves[i + 4] = tmp2x * pre5; - curves[i + 5] = tmp2y * pre5; - }, - getCurvePercent: function (frameIndex, percent) { - percent = percent < 0 ? 0 : (percent > 1 ? 1 : percent); - var curveIndex = frameIndex * 6; - var curves = this.curves; - var dfx = curves[curveIndex]; - if (!dfx/*LINEAR*/) return percent; - if (dfx == -1/*STEPPED*/) return 0; - var dfy = curves[curveIndex + 1]; - var ddfx = curves[curveIndex + 2]; - var ddfy = curves[curveIndex + 3]; - var dddfx = curves[curveIndex + 4]; - var dddfy = curves[curveIndex + 5]; + curves[i++] = 2/*BEZIER*/; + var x = dfx, y = dfy; - var i = 10/*BEZIER_SEGMENTS*/ - 2; - while (true) { - if (x >= percent) { - var lastX = x - dfx; - var lastY = y - dfy; - return lastY + (y - lastY) * (percent - lastX) / (x - lastX); - } - if (i == 0) break; - i--; + for (var n = i + 19/*BEZIER_SIZE*/ - 1; i < n; i += 2) { + curves[i] = x; + curves[i + 1] = y; dfx += ddfx; dfy += ddfy; ddfx += dddfx; @@ -287,6 +325,31 @@ spine.Curves.prototype = { x += dfx; y += dfy; } + }, + getCurvePercent: function (frameIndex, percent) { + percent = percent < 0 ? 0 : (percent > 1 ? 1 : percent); + var curves = this.curves; + var i = frameIndex * 10/*BEZIER_SIZE*/; + var type = curves[i]; + if (type == 0/*LINEAR*/) return percent; + if (type == 1/*STEPPED*/) return 0; + i++; + var x = 0; + for (var start = i, n = i + 10/*BEZIER_SIZE*/ - 1; i < n; i += 2) { + x = curves[i]; + if (x >= percent) { + var prevX, prevY; + if (i == start) { + prevX = 0; + prevY = 0; + } else { + prevX = curves[i - 2]; + prevY = curves[i - 1]; + } + return prevY + (curves[i + 1] - prevY) * (percent - prevX) / (x - prevX); + } + } + var y = curves[i - 1]; return y + (1 - y) * (percent - x) / (1 - x); // Last point is 1,1. } }; @@ -322,19 +385,19 @@ spine.RotateTimeline.prototype = { return; } - // Interpolate between the last frame and the current frame. + // Interpolate between the previous frame and the current frame. var frameIndex = spine.binarySearch(frames, time, 2); - var lastFrameValue = frames[frameIndex - 1]; + var prevFrameValue = frames[frameIndex - 1]; var frameTime = frames[frameIndex]; - var percent = 1 - (time - frameTime) / (frames[frameIndex - 2/*LAST_FRAME_TIME*/] - frameTime); + var percent = 1 - (time - frameTime) / (frames[frameIndex - 2/*PREV_FRAME_TIME*/] - frameTime); percent = this.curves.getCurvePercent(frameIndex / 2 - 1, percent); - var amount = frames[frameIndex + 1/*FRAME_VALUE*/] - lastFrameValue; + var amount = frames[frameIndex + 1/*FRAME_VALUE*/] - prevFrameValue; while (amount > 180) amount -= 360; while (amount < -180) amount += 360; - amount = bone.data.rotation + (lastFrameValue + amount * percent) - bone.rotation; + amount = bone.data.rotation + (prevFrameValue + amount * percent) - bone.rotation; while (amount > 180) amount -= 360; while (amount < -180) @@ -371,16 +434,16 @@ spine.TranslateTimeline.prototype = { return; } - // Interpolate between the last frame and the current frame. + // Interpolate between the previous frame and the current frame. var frameIndex = spine.binarySearch(frames, time, 3); - var lastFrameX = frames[frameIndex - 2]; - var lastFrameY = frames[frameIndex - 1]; + var prevFrameX = frames[frameIndex - 2]; + var prevFrameY = frames[frameIndex - 1]; var frameTime = frames[frameIndex]; - var percent = 1 - (time - frameTime) / (frames[frameIndex + -3/*LAST_FRAME_TIME*/] - frameTime); + var percent = 1 - (time - frameTime) / (frames[frameIndex + -3/*PREV_FRAME_TIME*/] - frameTime); percent = this.curves.getCurvePercent(frameIndex / 3 - 1, percent); - bone.x += (bone.data.x + lastFrameX + (frames[frameIndex + 1/*FRAME_X*/] - lastFrameX) * percent - bone.x) * alpha; - bone.y += (bone.data.y + lastFrameY + (frames[frameIndex + 2/*FRAME_Y*/] - lastFrameY) * percent - bone.y) * alpha; + bone.x += (bone.data.x + prevFrameX + (frames[frameIndex + 1/*FRAME_X*/] - prevFrameX) * percent - bone.x) * alpha; + bone.y += (bone.data.y + prevFrameY + (frames[frameIndex + 2/*FRAME_Y*/] - prevFrameY) * percent - bone.y) * alpha; } }; @@ -412,16 +475,16 @@ spine.ScaleTimeline.prototype = { return; } - // Interpolate between the last frame and the current frame. + // Interpolate between the previous frame and the current frame. var frameIndex = spine.binarySearch(frames, time, 3); - var lastFrameX = frames[frameIndex - 2]; - var lastFrameY = frames[frameIndex - 1]; + var prevFrameX = frames[frameIndex - 2]; + var prevFrameY = frames[frameIndex - 1]; var frameTime = frames[frameIndex]; - var percent = 1 - (time - frameTime) / (frames[frameIndex + -3/*LAST_FRAME_TIME*/] - frameTime); + var percent = 1 - (time - frameTime) / (frames[frameIndex + -3/*PREV_FRAME_TIME*/] - frameTime); percent = this.curves.getCurvePercent(frameIndex / 3 - 1, percent); - bone.scaleX += (bone.data.scaleX * (lastFrameX + (frames[frameIndex + 1/*FRAME_X*/] - lastFrameX) * percent) - bone.scaleX) * alpha; - bone.scaleY += (bone.data.scaleY * (lastFrameY + (frames[frameIndex + 2/*FRAME_Y*/] - lastFrameY) * percent) - bone.scaleY) * alpha; + bone.scaleX += (bone.data.scaleX * (prevFrameX + (frames[frameIndex + 1/*FRAME_X*/] - prevFrameX) * percent) - bone.scaleX) * alpha; + bone.scaleY += (bone.data.scaleY * (prevFrameY + (frames[frameIndex + 2/*FRAME_Y*/] - prevFrameY) * percent) - bone.scaleY) * alpha; } }; @@ -456,20 +519,20 @@ spine.ColorTimeline.prototype = { b = frames[i - 1]; a = frames[i]; } else { - // Interpolate between the last frame and the current frame. + // Interpolate between the previous frame and the current frame. var frameIndex = spine.binarySearch(frames, time, 5); - var lastFrameR = frames[frameIndex - 4]; - var lastFrameG = frames[frameIndex - 3]; - var lastFrameB = frames[frameIndex - 2]; - var lastFrameA = frames[frameIndex - 1]; + var prevFrameR = frames[frameIndex - 4]; + var prevFrameG = frames[frameIndex - 3]; + var prevFrameB = frames[frameIndex - 2]; + var prevFrameA = frames[frameIndex - 1]; var frameTime = frames[frameIndex]; - var percent = 1 - (time - frameTime) / (frames[frameIndex - 5/*LAST_FRAME_TIME*/] - frameTime); + var percent = 1 - (time - frameTime) / (frames[frameIndex - 5/*PREV_FRAME_TIME*/] - frameTime); percent = this.curves.getCurvePercent(frameIndex / 5 - 1, percent); - r = lastFrameR + (frames[frameIndex + 1/*FRAME_R*/] - lastFrameR) * percent; - g = lastFrameG + (frames[frameIndex + 2/*FRAME_G*/] - lastFrameG) * percent; - b = lastFrameB + (frames[frameIndex + 3/*FRAME_B*/] - lastFrameB) * percent; - a = lastFrameA + (frames[frameIndex + 4/*FRAME_A*/] - lastFrameA) * percent; + r = prevFrameR + (frames[frameIndex + 1/*FRAME_R*/] - prevFrameR) * percent; + g = prevFrameG + (frames[frameIndex + 2/*FRAME_G*/] - prevFrameG) * percent; + b = prevFrameB + (frames[frameIndex + 3/*FRAME_B*/] - prevFrameB) * percent; + a = prevFrameA + (frames[frameIndex + 4/*FRAME_A*/] - prevFrameA) * percent; } var slot = skeleton.slots[this.slotIndex]; if (alpha < 1) { @@ -504,16 +567,18 @@ spine.AttachmentTimeline.prototype = { }, apply: function (skeleton, lastTime, time, firedEvents, alpha) { var frames = this.frames; - if (time < frames[0]) return; // Time is before first frame. + if (time < frames[0]) { + if (lastTime > time) this.apply(skeleton, lastTime, Number.MAX_VALUE, null, 0); + return; + } else if (lastTime > time) // + lastTime = -1; - var frameIndex; - if (time >= frames[frames.length - 1]) // Time is after last frame. - frameIndex = frames.length - 1; - else - frameIndex = spine.binarySearch(frames, time, 1) - 1; + var frameIndex = time >= frames[frames.length - 1] ? frames.length - 1 : spine.binarySearch1(frames, time) - 1; + if (frames[frameIndex] < lastTime) return; var attachmentName = this.attachmentNames[frameIndex]; - skeleton.slots[this.slotIndex].setAttachment(!attachmentName ? null : skeleton.getAttachmentBySlotIndex(this.slotIndex, attachmentName)); + skeleton.slots[this.slotIndex].setAttachment( + !attachmentName ? null : skeleton.getAttachmentBySlotIndex(this.slotIndex, attachmentName)); } }; @@ -549,7 +614,7 @@ spine.EventTimeline.prototype = { if (lastTime < frames[0]) frameIndex = 0; else { - frameIndex = spine.binarySearch(frames, lastTime, 1); + frameIndex = spine.binarySearch1(frames, lastTime); var frame = frames[frameIndex]; while (frameIndex > 0) { // Fire multiple events with the same frame. if (frames[frameIndex - 1] != frame) break; @@ -584,7 +649,7 @@ spine.DrawOrderTimeline.prototype = { if (time >= frames[frames.length - 1]) // Time is after last frame. frameIndex = frames.length - 1; else - frameIndex = spine.binarySearch(frames, time, 1) - 1; + frameIndex = spine.binarySearch1(frames, time) - 1; var drawOrder = skeleton.drawOrder; var slots = skeleton.slots; @@ -647,7 +712,7 @@ spine.FfdTimeline.prototype = { } // Interpolate between the previous frame and the current frame. - var frameIndex = spine.binarySearch(frames, time, 1); + var frameIndex = spine.binarySearch1(frames, time); var frameTime = frames[frameIndex]; var percent = 1 - (time - frameTime) / (frames[frameIndex - 1] - frameTime); percent = this.curves.getCurvePercent(frameIndex - 1, percent < 0 ? 0 : (percent > 1 ? 1 : percent)); @@ -669,15 +734,115 @@ spine.FfdTimeline.prototype = { } }; +spine.IkConstraintTimeline = function (frameCount) { + this.curves = new spine.Curves(frameCount); + this.frames = []; // time, mix, bendDirection, ... + this.frames.length = frameCount * 3; +}; +spine.IkConstraintTimeline.prototype = { + ikConstraintIndex: 0, + getFrameCount: function () { + return this.frames.length / 3; + }, + setFrame: function (frameIndex, time, mix, bendDirection) { + frameIndex *= 3; + this.frames[frameIndex] = time; + this.frames[frameIndex + 1] = mix; + this.frames[frameIndex + 2] = bendDirection; + }, + apply: function (skeleton, lastTime, time, firedEvents, alpha) { + var frames = this.frames; + if (time < frames[0]) return; // Time is before first frame. + + var ikConstraint = skeleton.ikConstraints[this.ikConstraintIndex]; + + if (time >= frames[frames.length - 3]) { // Time is after last frame. + ikConstraint.mix += (frames[frames.length - 2] - ikConstraint.mix) * alpha; + ikConstraint.bendDirection = frames[frames.length - 1]; + return; + } + + // Interpolate between the previous frame and the current frame. + var frameIndex = spine.binarySearch(frames, time, 3); + var prevFrameMix = frames[frameIndex + -2/*PREV_FRAME_MIX*/]; + var frameTime = frames[frameIndex]; + var percent = 1 - (time - frameTime) / (frames[frameIndex + -3/*PREV_FRAME_TIME*/] - frameTime); + percent = this.curves.getCurvePercent(frameIndex / 3 - 1, percent); + + var mix = prevFrameMix + (frames[frameIndex + 1/*FRAME_MIX*/] - prevFrameMix) * percent; + ikConstraint.mix += (mix - ikConstraint.mix) * alpha; + ikConstraint.bendDirection = frames[frameIndex + -1/*PREV_FRAME_BEND_DIRECTION*/]; + } +}; + +spine.FlipXTimeline = function (frameCount) { + this.curves = new spine.Curves(frameCount); + this.frames = []; // time, flip, ... + this.frames.length = frameCount * 2; +}; +spine.FlipXTimeline.prototype = { + boneIndex: 0, + getFrameCount: function () { + return this.frames.length / 2; + }, + setFrame: function (frameIndex, time, flip) { + frameIndex *= 2; + this.frames[frameIndex] = time; + this.frames[frameIndex + 1] = flip ? 1 : 0; + }, + apply: function (skeleton, lastTime, time, firedEvents, alpha) { + var frames = this.frames; + if (time < frames[0]) { + if (lastTime > time) this.apply(skeleton, lastTime, Number.MAX_VALUE, null, 0); + return; + } else if (lastTime > time) // + lastTime = -1; + var frameIndex = (time >= frames[frames.length - 2] ? frames.length : spine.binarySearch(frames, time, 2)) - 2; + if (frames[frameIndex] < lastTime) return; + bone.flipX = skeleton.bones.get(boneIndex), frames[frameIndex + 1] != 0; + } +}; + +spine.FlipYTimeline = function (frameCount) { + this.curves = new spine.Curves(frameCount); + this.frames = []; // time, flip, ... + this.frames.length = frameCount * 2; +}; +spine.FlipYTimeline.prototype = { + boneIndex: 0, + getFrameCount: function () { + return this.frames.length / 2; + }, + setFrame: function (frameIndex, time, flip) { + frameIndex *= 2; + this.frames[frameIndex] = time; + this.frames[frameIndex + 1] = flip ? 1 : 0; + }, + apply: function (skeleton, lastTime, time, firedEvents, alpha) { + var frames = this.frames; + if (time < frames[0]) { + if (lastTime > time) this.apply(skeleton, lastTime, Number.MAX_VALUE, null, 0); + return; + } else if (lastTime > time) // + lastTime = -1; + var frameIndex = (time >= frames[frames.length - 2] ? frames.length : spine.binarySearch(frames, time, 2)) - 2; + if (frames[frameIndex] < lastTime) return; + bone.flipY = skeleton.bones.get(boneIndex), frames[frameIndex + 1] != 0; + } +}; + spine.SkeletonData = function () { this.bones = []; this.slots = []; this.skins = []; this.events = []; this.animations = []; + this.ikConstraints = []; }; spine.SkeletonData.prototype = { defaultSkin: null, + width: 0, height: 0, + version: null, hash: null, /** @return May be null. */ findBone: function (boneName) { var bones = this.bones; @@ -727,6 +892,13 @@ spine.SkeletonData.prototype = { for (var i = 0, n = animations.length; i < n; i++) if (animations[i].name == animationName) return animations[i]; return null; + }, + /** @return May be null. */ + findIkConstraint: function (ikConstraintName) { + var ikConstraints = this.ikConstraints; + for (var i = 0, n = ikConstraints.length; i < n; i++) + if (ikConstraints[i].name == ikConstraintName) return ikConstraints[i]; + return null; } }; @@ -737,7 +909,7 @@ spine.Skeleton = function (skeletonData) { for (var i = 0, n = skeletonData.bones.length; i < n; i++) { var boneData = skeletonData.bones[i]; var parent = !boneData.parent ? null : this.bones[skeletonData.bones.indexOf(boneData.parent)]; - this.bones.push(new spine.Bone(boneData, parent)); + this.bones.push(new spine.Bone(boneData, this, parent)); } this.slots = []; @@ -745,10 +917,17 @@ spine.Skeleton = function (skeletonData) { for (var i = 0, n = skeletonData.slots.length; i < n; i++) { var slotData = skeletonData.slots[i]; var bone = this.bones[skeletonData.bones.indexOf(slotData.boneData)]; - var slot = new spine.Slot(slotData, this, bone); + var slot = new spine.Slot(slotData, bone); this.slots.push(slot); this.drawOrder.push(slot); } + + this.ikConstraints = []; + for (var i = 0, n = skeletonData.ikConstraints.length; i < n; i++) + this.ikConstraints.push(new spine.IkConstraint(skeletonData.ikConstraints[i], this)); + + this.boneCache = []; + this.updateCache(); }; spine.Skeleton.prototype = { x: 0, y: 0, @@ -756,13 +935,63 @@ spine.Skeleton.prototype = { r: 1, g: 1, b: 1, a: 1, time: 0, flipX: false, flipY: false, + updateCache: function () { + var ikConstraints = this.ikConstraints; + var ikConstraintsCount = ikConstraints.length; + + var arrayCount = ikConstraintsCount + 1; + var boneCache = this.boneCache; + if (boneCache.length > arrayCount) boneCache.splice(arrayCount, boneCache.length - arrayCount); + + for (var i = 0, n = boneCache.length; i < n; i++) + boneCache[i].length = 0; + while (boneCache.length < arrayCount) + boneCache[boneCache.length] = []; + + var nonIkBones = boneCache[0]; + var bones = this.bones; + + outer: + for (var i = 0, n = bones.length; i < n; i++) { + var bone = bones[i]; + var current = bone; + do { + for (var ii = 0, nn = bones.length; ii < nn; ii++) { + var ikConstraint = ikConstraints[ii]; + var parent = ikConstraint.bones[0]; + var child= ikConstraint.bones[ikConstraint.bones.length - 1]; + while (true) { + if (current == child) { + boneCache[ii].push(bone); + boneCache[ii + 1].push(bone); + continue outer; + } + if (child == parent) break; + child = child.parent; + } + ii++; + } + current = current.parent; + } while (current != null); + nonIkBones[nonIkBones.length] = bone; + } + }, /** Updates the world transform for each bone. */ updateWorldTransform: function () { - var flipX = this.flipX; - var flipY = this.flipY; var bones = this.bones; - for (var i = 0, n = bones.length; i < n; i++) - bones[i].updateWorldTransform(flipX, flipY); + for (var i = 0, n = bones.length; i < n; i++) { + var bone = bones[i]; + bone.rotationIK = bone.rotation; + } + var i = 0, last = this.boneCache.length - 1; + while (true) { + var cacheBones = this.boneCache[i]; + for (var ii = 0, nn = cacheBones.length; ii < nn; ii++) + cacheBones[ii].updateWorldTransform(); + if (i == last) break; + this.ikConstraints[i].apply(); + i++; + } }, /** Sets the bones and slots to their setup pose values. */ setToSetupPose: function () { @@ -773,6 +1002,13 @@ spine.Skeleton.prototype = { var bones = this.bones; for (var i = 0, n = bones.length; i < n; i++) bones[i].setToSetupPose(); + + var ikConstraints = this.ikConstraints; + for (var i = 0, n = ikConstraints.length; i < n; i++) { + var ikConstraint = ikConstraints[i]; + ikConstraint.bendDirection = ikConstraint.data.bendDirection; + ikConstraint.mix = ikConstraint.data.mix; + } }, setSlotsToSetupPose: function () { var slots = this.slots; @@ -871,6 +1107,12 @@ spine.Skeleton.prototype = { } throw "Slot not found: " + slotName; }, + findIkConstraint: function (ikConstraintName) { + var ikConstraints = this.ikConstraints; + for (var i = 0, n = ikConstraints.length; i < n; i++) + if (ikConstraints[i].data.name == ikConstraintName) return ikConstraints[i]; + return null; + }, update: function (delta) { this.time += delta; } @@ -1081,7 +1323,7 @@ spine.SkinnedMeshAttachment.prototype = { } }, computeWorldVertices: function (x, y, slot, worldVertices) { - var skeletonBones = slot.skeleton.bones; + var skeletonBones = slot.bone.skeleton.bones; var weights = this.weights; var bones = this.bones; @@ -1386,6 +1628,28 @@ spine.SkeletonJson.prototype = { skeletonData.bones.push(boneData); } + // IK constraints. + var ik = root["ik"]; + for (var i = 0, n = ik.length; i < n; i++) { + var ikMap = ik[i]; + var ikConstraintData = new spine.IkConstraintData(ikMap["name"]); + + var bones = ikMap["bones"]; + for (var ii = 0, nn = bones.length; ii < nn; ii++) { + var bone = skeletonData.findBone(bones[ii]); + if (!bone) throw "IK bone not found: " + bones[ii]; + ikConstraintData.bones.push(bone); + } + + ikConstraintData.target = skeletonData.findBone(ikMap["target"]); + if (!ikConstraintData.target) throw "Target bone not found: " + ikMap["target"]; + + ikConstraintData.bendDirection = (!ikMap.hasOwnProperty("bendPositive") || ikMap["bendPositive"]) ? 1 : -1; + ikConstraintData.mix = ikMap.hasOwnProperty("mix") ? ikMap["mix"] : 1; + + skeletonData.ikConstraints.push(ikConstraintData); + } + // Slots. var slots = root["slots"]; for (var i = 0, n = slots.length; i < n; i++) { @@ -1649,6 +1913,26 @@ spine.SkeletonJson.prototype = { } } + var ikMap = map["ik"]; + for (var ikConstraintName in ikMap) { + if (!ikMap.hasOwnProperty(ikConstraintName)) continue; + var ikConstraint = skeletonData.findIkConstraint(ikConstraintName); + var values = ikMap[ikConstraintName]; + var timeline = new spine.IkConstraintTimeline(values.length); + timeline.ikConstraintIndex = skeletonData.ikConstraints.indexOf(ikConstraint); + var frameIndex = 0; + for (var i = 0, n = values.length; i < n; i++) { + var valueMap = values[i]; + var mix = valueMap.hasOwnProperty("mix") ? valueMap["mix"] : 1; + var bendDirection = (!valueMap.hasOwnProperty("bendPositive") || valueMap["bendPositive"]) ? 1 : -1; + timeline.setFrame(frameIndex, valueMap["time"], mix, bendDirection); + this.readCurve(timeline, frameIndex, valueMap); + frameIndex++; + } + timelines.push(timeline); + duration = Math.max(duration, timeline.frames[timeline.frameCount * 3 - 3]); + } + var ffd = map["ffd"]; for (var skinName in ffd) { var skin = skeletonData.findSkin(skinName); From cb011c84002094602962776324c0df621e53cdf9 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Wed, 12 Nov 2014 23:59:25 +0100 Subject: [PATCH 64/91] Bug fixes. --- spine-js/spine.js | 57 +++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/spine-js/spine.js b/spine-js/spine.js index 34c235367..f92695909 100644 --- a/spine-js/spine.js +++ b/spine-js/spine.js @@ -97,7 +97,7 @@ spine.Bone.prototype = { this.worldFlipX = parent.worldFlipX != this.flipX; this.worldFlipY = parent.worldFlipY != this.flipY; } else { - var skeletonFlipX = skeleton.flipX, skeletonFlipY = skeleton.flipY; + var skeletonFlipX = this.skeleton.flipX, skeletonFlipY = this.skeleton.flipY; this.worldX = skeletonFlipX ? -this.x : this.x; this.worldY = skeletonFlipY != spine.Bone.yDown ? -this.y : this.y; this.worldScaleX = this.scaleX; @@ -135,7 +135,7 @@ spine.Bone.prototype = { this.flipX = data.flipX; this.flipY = data.flipY; }, - worldToLocal: function (world) void { + worldToLocal: function (world) { var dx = world[0] - this.worldX, dy = world[1] - this.worldY; var m00 = this.m00, m10 = this.m10, m01 = this.m01, m11 = this.m11; if (this.worldFlipX != (this.worldFlipY != spine.Bone.yDown)) { @@ -271,7 +271,7 @@ spine.binarySearch = function (values, target, step) { spine.binarySearch1 = function (values, target) { var low = 0; var high = values.length - 2; - if (high == 0) return step; + if (high == 0) return 1; var current = high >>> 1; while (true) { if (values[current + 1] <= target) @@ -290,7 +290,7 @@ spine.linearSearch = function (values, target, step) { spine.Curves = function (frameCount) { this.curves = []; // type, x, y, ... - this.curves.length = (frameCount - 1) * 19/*BEZIER_SIZE*/; + //this.curves.length = (frameCount - 1) * 19/*BEZIER_SIZE*/; }; spine.Curves.prototype = { setLinear: function (frameIndex) { @@ -303,7 +303,7 @@ spine.Curves.prototype = { * cx1 and cx2 are from 0 to 1, representing the percent of time between the two keyframes. cy1 and cy2 are the percent of * the difference between the keyframe's values. */ setCurve: function (frameIndex, cx1, cy1, cx2, cy2) { - var subdiv1 = 1f / 10/*BEZIER_SEGMENTS*/, subdiv2 = subdiv1 * subdiv1, subdiv3 = subdiv2 * subdiv1; + var subdiv1 = 1 / 10/*BEZIER_SEGMENTS*/, subdiv2 = subdiv1 * subdiv1, subdiv3 = subdiv2 * subdiv1; var pre1 = 3 * subdiv1, pre2 = 3 * subdiv2, pre4 = 6 * subdiv2, pre5 = 6 * subdiv3; var tmp1x = -cx1 * 2 + cx2, tmp1y = -cy1 * 2 + cy2, tmp2x = (cx1 - cx2) * 3 + 1, tmp2y = (cy1 - cy2) * 3 + 1; var dfx = cx1 * pre1 + tmp1x * pre2 + tmp2x * subdiv3, dfy = cy1 * pre1 + tmp1y * pre2 + tmp2y * subdiv3; @@ -313,7 +313,7 @@ spine.Curves.prototype = { var i = frameIndex * 19/*BEZIER_SIZE*/; var curves = this.curves; curves[i++] = 2/*BEZIER*/; - + var x = dfx, y = dfy; for (var n = i + 19/*BEZIER_SIZE*/ - 1; i < n; i += 2) { curves[i] = x; @@ -329,13 +329,13 @@ spine.Curves.prototype = { getCurvePercent: function (frameIndex, percent) { percent = percent < 0 ? 0 : (percent > 1 ? 1 : percent); var curves = this.curves; - var i = frameIndex * 10/*BEZIER_SIZE*/; + var i = frameIndex * 19/*BEZIER_SIZE*/; var type = curves[i]; if (type == 0/*LINEAR*/) return percent; if (type == 1/*STEPPED*/) return 0; i++; var x = 0; - for (var start = i, n = i + 10/*BEZIER_SIZE*/ - 1; i < n; i += 2) { + for (var start = i, n = i + 19/*BEZIER_SIZE*/ - 1; i < n; i += 2) { x = curves[i]; if (x >= percent) { var prevX, prevY; @@ -956,7 +956,7 @@ spine.Skeleton.prototype = { var bone = bones[i]; var current = bone; do { - for (var ii = 0, nn = bones.length; ii < nn; ii++) { + for (var ii = 0, nn = ikConstraints.length; ii < nn; ii++) { var ikConstraint = ikConstraints[ii]; var parent = ikConstraint.bones[0]; var child= ikConstraint.bones[ikConstraint.bones.length - 1]; @@ -1630,24 +1630,26 @@ spine.SkeletonJson.prototype = { // IK constraints. var ik = root["ik"]; - for (var i = 0, n = ik.length; i < n; i++) { - var ikMap = ik[i]; - var ikConstraintData = new spine.IkConstraintData(ikMap["name"]); + if (ik) { + for (var i = 0, n = ik.length; i < n; i++) { + var ikMap = ik[i]; + var ikConstraintData = new spine.IkConstraintData(ikMap["name"]); - var bones = ikMap["bones"]; - for (var ii = 0, nn = bones.length; ii < nn; ii++) { - var bone = skeletonData.findBone(bones[ii]); - if (!bone) throw "IK bone not found: " + bones[ii]; - ikConstraintData.bones.push(bone); + var bones = ikMap["bones"]; + for (var ii = 0, nn = bones.length; ii < nn; ii++) { + var bone = skeletonData.findBone(bones[ii]); + if (!bone) throw "IK bone not found: " + bones[ii]; + ikConstraintData.bones.push(bone); + } + + ikConstraintData.target = skeletonData.findBone(ikMap["target"]); + if (!ikConstraintData.target) throw "Target bone not found: " + ikMap["target"]; + + ikConstraintData.bendDirection = (!ikMap.hasOwnProperty("bendPositive") || ikMap["bendPositive"]) ? 1 : -1; + ikConstraintData.mix = ikMap.hasOwnProperty("mix") ? ikMap["mix"] : 1; + + skeletonData.ikConstraints.push(ikConstraintData); } - - ikConstraintData.target = skeletonData.findBone(ikMap["target"]); - if (!ikConstraintData.target) throw "Target bone not found: " + ikMap["target"]; - - ikConstraintData.bendDirection = (!ikMap.hasOwnProperty("bendPositive") || ikMap["bendPositive"]) ? 1 : -1; - ikConstraintData.mix = ikMap.hasOwnProperty("mix") ? ikMap["mix"] : 1; - - skeletonData.ikConstraints.push(ikConstraintData); } // Slots. @@ -2059,8 +2061,9 @@ spine.SkeletonJson.prototype = { }, readCurve: function (timeline, frameIndex, valueMap) { var curve = valueMap["curve"]; - if (!curve) return; - if (curve == "stepped") + if (!curve) + timeline.curves.setLinear(frameIndex); + else if (curve == "stepped") timeline.curves.setStepped(frameIndex); else if (curve instanceof Array) timeline.curves.setCurve(frameIndex, curve[0], curve[1], curve[2], curve[3]); From 634a3b92c4b11b138e07c3f10d3e385164035941 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Thu, 13 Nov 2014 00:47:33 +0100 Subject: [PATCH 65/91] Update README.md --- spine-sfml/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spine-sfml/README.md b/spine-sfml/README.md index 5958b2a29..6876c56f7 100644 --- a/spine-sfml/README.md +++ b/spine-sfml/README.md @@ -13,3 +13,7 @@ Alternatively, the contents of the `spine-c/src`, `spine-c/include` and `spine-s ## Examples - [Simple example](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-sfml/example/main.cpp#L61) + +## Notes + +- Atlas images should not use premultiplied alpha. From 9a27f11816dd9f793ba872942dceafb6a0c630e6 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Thu, 13 Nov 2014 00:47:52 +0100 Subject: [PATCH 66/91] Update README.md --- spine-as3/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spine-as3/README.md b/spine-as3/README.md index 9669ecadd..2de67af4e 100644 --- a/spine-as3/README.md +++ b/spine-as3/README.md @@ -13,3 +13,7 @@ Alternatively, the contents of the `spine-as3/src` directory can be copied into * [Flash Demo](http://esotericsoftware.com/spine/files/demos/as3/spineboy/index.html) * [Flash Demo source](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-as3/spine-as3-example/src/Main.as#L55) + +## Notes + +- Atlas images should not use premultiplied alpha. From 8e024e96233d8aec9a3d1d53ef2e7cf44a03aa4a Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Thu, 13 Nov 2014 00:48:09 +0100 Subject: [PATCH 67/91] Update README.md --- spine-turbulenz/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spine-turbulenz/README.md b/spine-turbulenz/README.md index 9501634ea..de2fde28f 100644 --- a/spine-turbulenz/README.md +++ b/spine-turbulenz/README.md @@ -14,3 +14,7 @@ To run the example: - [spine-turbulenz Demo](http://esotericsoftware.com/spine/files/demos/turbulenz/example/index.html) [spine-turbulenz Demo source](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-turbulenz/example/index.html#L21) + +## Notes + +- Atlas images should not use premultiplied alpha or rotation. From 378a413863f8e8e432a1ed9bedcef260cbbac9a5 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 13 Nov 2014 00:50:33 +0100 Subject: [PATCH 68/91] Updated spine-turbulenz example. --- spine-turbulenz/example/data/spineboy.atlas | 263 ++--- spine-turbulenz/example/data/spineboy.json | 1003 +------------------ spine-turbulenz/example/data/spineboy.png | Bin 66315 -> 235548 bytes spine-turbulenz/example/index.html | 8 +- 4 files changed, 152 insertions(+), 1122 deletions(-) diff --git a/spine-turbulenz/example/data/spineboy.atlas b/spine-turbulenz/example/data/spineboy.atlas index 1f482c0a1..15b598a2e 100644 --- a/spine-turbulenz/example/data/spineboy.atlas +++ b/spine-turbulenz/example/data/spineboy.atlas @@ -1,166 +1,195 @@ spineboy.png +size: 1024,256 format: RGBA8888 filter: Linear,Linear repeat: none +eye_indifferent + rotate: false + xy: 890, 146 + size: 56, 53 + orig: 56, 53 + offset: 0, 0 + index: -1 +eye_surprised + rotate: false + xy: 444, 5 + size: 56, 53 + orig: 56, 53 + offset: 0, 0 + index: -1 +front_bracer + rotate: false + xy: 966, 103 + size: 35, 48 + orig: 35, 48 + offset: 0, 0 + index: -1 +front_fist_closed + rotate: false + xy: 847, 84 + size: 45, 49 + orig: 45, 49 + offset: 0, 0 + index: -1 +front_fist_open + rotate: false + xy: 968, 190 + size: 52, 52 + orig: 52, 52 + offset: 0, 0 + index: -1 +front_foot + rotate: false + xy: 890, 201 + size: 76, 41 + orig: 76, 41 + offset: 0, 0 + index: -1 +front_foot_bend1 + rotate: false + xy: 444, 98 + size: 77, 42 + orig: 77, 42 + offset: 0, 0 + index: -1 +front_foot_bend2 + rotate: false + xy: 279, 5 + size: 65, 56 + orig: 65, 56 + offset: 0, 0 + index: -1 +front_shin + rotate: false + xy: 792, 132 + size: 49, 110 + orig: 49, 110 + offset: 0, 0 + index: -1 +front_thigh + rotate: false + xy: 935, 77 + size: 29, 67 + orig: 29, 67 + offset: 0, 0 + index: -1 +front_upper_arm + rotate: false + xy: 410, 3 + size: 32, 58 + orig: 32, 58 + offset: 0, 0 + index: -1 +goggles + rotate: false + xy: 444, 142 + size: 157, 100 + orig: 157, 100 + offset: 0, 0 + index: -1 +gun + rotate: false + xy: 603, 120 + size: 126, 122 + orig: 126, 122 + offset: 0, 0 + index: -1 head rotate: false - xy: 1, 122 - size: 121, 132 - orig: 121, 132 + xy: 279, 63 + size: 163, 179 + orig: 163, 179 offset: 0, 0 index: -1 -torso +mouth_grind rotate: false - xy: 1, 28 - size: 68, 92 - orig: 68, 92 + xy: 948, 153 + size: 56, 35 + orig: 56, 35 offset: 0, 0 index: -1 -left-pant-bottom +mouth_oooo rotate: false - xy: 1, 4 - size: 44, 22 - orig: 44, 22 + xy: 731, 97 + size: 56, 35 + orig: 56, 35 offset: 0, 0 index: -1 -right-pant-bottom +mouth_smile rotate: false - xy: 47, 8 - size: 46, 18 - orig: 46, 18 + xy: 789, 95 + size: 56, 35 + orig: 56, 35 offset: 0, 0 index: -1 -right-upper-leg +muzzle rotate: false - xy: 71, 50 - size: 44, 70 - orig: 44, 70 - offset: 0, 0 - index: -1 -pelvis - rotate: false - xy: 95, 1 - size: 63, 47 - orig: 63, 47 - offset: 0, 0 - index: -1 -left-upper-leg - rotate: false - xy: 117, 53 - size: 33, 67 - orig: 33, 67 - offset: 0, 0 - index: -1 -right-foot - rotate: false - xy: 160, 224 - size: 67, 30 - orig: 67, 30 - offset: 0, 0 - index: -1 -left-shoulder - rotate: false - xy: 124, 201 - size: 34, 53 - orig: 34, 53 - offset: 0, 0 - index: -1 -left-ankle - rotate: false - xy: 229, 222 - size: 25, 32 - orig: 25, 32 - offset: 0, 0 - index: -1 -left-foot - rotate: false - xy: 160, 192 - size: 65, 30 - orig: 65, 30 + xy: 2, 2 + size: 275, 240 + orig: 277, 240 offset: 0, 0 index: -1 neck rotate: false - xy: 124, 171 - size: 34, 28 - orig: 34, 28 + xy: 595, 93 + size: 22, 25 + orig: 22, 25 offset: 0, 0 index: -1 -right-arm +rear_bracer rotate: false - xy: 124, 124 - size: 21, 45 - orig: 21, 45 + xy: 966, 58 + size: 34, 43 + orig: 34, 43 offset: 0, 0 index: -1 -right-ankle +rear_foot rotate: false - xy: 227, 190 - size: 25, 30 - orig: 25, 30 + xy: 444, 60 + size: 68, 36 + orig: 68, 36 offset: 0, 0 index: -1 -left-hand +rear_foot_bend1 rotate: false - xy: 147, 131 - size: 35, 38 - orig: 35, 38 + xy: 523, 100 + size: 70, 40 + orig: 70, 40 offset: 0, 0 index: -1 -left-arm +rear_foot_bend2 rotate: false - xy: 184, 161 - size: 35, 29 - orig: 35, 29 + xy: 346, 11 + size: 62, 50 + orig: 62, 50 offset: 0, 0 index: -1 -eyes-closed +rear_shin rotate: false - xy: 221, 161 - size: 34, 27 - orig: 34, 27 + xy: 843, 135 + size: 45, 107 + orig: 45, 107 offset: 0, 0 index: -1 -right-lower-leg +rear_thigh rotate: false - xy: 152, 65 - size: 51, 64 - orig: 51, 64 + xy: 894, 82 + size: 39, 62 + orig: 39, 62 offset: 0, 0 index: -1 -right-foot-idle +rear_upper_arm rotate: false - xy: 184, 131 - size: 53, 28 - orig: 53, 28 + xy: 502, 6 + size: 28, 52 + orig: 28, 52 offset: 0, 0 index: -1 -left-lower-leg +torso rotate: false - xy: 205, 65 - size: 49, 64 - orig: 49, 64 - offset: 0, 0 - index: -1 -right-shoulder - rotate: false - xy: 160, 12 - size: 52, 51 - orig: 52, 51 - offset: 0, 0 - index: -1 -eyes - rotate: false - xy: 214, 36 - size: 34, 27 - orig: 34, 27 - offset: 0, 0 - index: -1 -right-hand - rotate: false - xy: 214, 2 - size: 32, 32 - orig: 32, 32 + xy: 731, 134 + size: 59, 108 + orig: 59, 108 offset: 0, 0 index: -1 diff --git a/spine-turbulenz/example/data/spineboy.json b/spine-turbulenz/example/data/spineboy.json index 113e72c33..8a0230a5a 100644 --- a/spine-turbulenz/example/data/spineboy.json +++ b/spine-turbulenz/example/data/spineboy.json @@ -1,1002 +1 @@ -{ -"bones": [ - { "name": "root" }, - { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, - { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, - { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, - { "name": "right upper leg", "parent": "hip", "length": 45.76, "x": -18.27, "rotation": -101.13 }, - { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 94.95 }, - { "name": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 }, - { "name": "left shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 }, - { "name": "neck", "parent": "torso", "length": 18.38, "x": 83.64, "y": -1.78, "rotation": 0.9 }, - { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 50.21, "y": 0.6, "rotation": -10.7 }, - { "name": "right shoulder", "parent": "torso", "length": 49.95, "x": 81.9, "y": 6.79, "rotation": 130.6 }, - { "name": "head", "parent": "neck", "length": 68.28, "x": 19.09, "y": 6.97, "rotation": -8.94 }, - { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 }, - { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 }, - { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 }, - { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, - { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, - { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 } -], -"slots": [ - { "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" }, - { "name": "left arm", "bone": "left arm", "attachment": "left-arm" }, - { "name": "left hand", "bone": "left hand", "attachment": "left-hand" }, - { "name": "left foot", "bone": "left foot", "attachment": "left-foot" }, - { "name": "left lower leg", "bone": "left lower leg", "attachment": "left-lower-leg" }, - { "name": "left upper leg", "bone": "left upper leg", "attachment": "left-upper-leg" }, - { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, - { "name": "right foot", "bone": "right foot", "attachment": "right-foot" }, - { "name": "right lower leg", "bone": "right lower leg", "attachment": "right-lower-leg" }, - { "name": "right upper leg", "bone": "right upper leg", "attachment": "right-upper-leg" }, - { "name": "torso", "bone": "torso", "attachment": "torso" }, - { "name": "neck", "bone": "neck", "attachment": "neck" }, - { "name": "head", "bone": "head", "attachment": "head" }, - { "name": "eyes", "bone": "head", "attachment": "eyes" }, - { "name": "right shoulder", "bone": "right shoulder", "attachment": "right-shoulder", "additive": true }, - { "name": "right arm", "bone": "right arm", "attachment": "right-arm" }, - { "name": "right hand", "bone": "right hand", "attachment": "right-hand" }, - { "name": "bb-head", "bone": "head", "attachment": "bb-head" } -], -"skins": { - "default": { - "bb-head": { - "bb-head": { - "type": "boundingbox", - "vertices": [ - 55.69696, - -44.60648, - 8.2226715, - -47.609646, - -11.244263, - -32.942703, - -0.05206299, - 35.835804, - 61.018433, - 43.227512, - 90.35846, - -16.054127, - 115.41275, - -32.817406, - 78.29431, - -56.05409 - ] - } - }, - "eyes": { - "eyes": { "x": 28.94, "y": -32.92, "rotation": -86.9, "width": 34, "height": 27 }, - "eyes-closed": { "x": 28.77, "y": -32.86, "rotation": -86.9, "width": 34, "height": 27 } - }, - "head": { - "head": { "x": 53.94, "y": -5.75, "rotation": -86.9, "width": 121, "height": 132 } - }, - "left arm": { - "left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 } - }, - "left foot": { - "left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 } - }, - "left hand": { - "left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 } - }, - "left lower leg": { - "left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 } - }, - "left shoulder": { - "left-shoulder": { "x": 23.74, "y": 0.11, "rotation": 62.01, "width": 34, "height": 53 } - }, - "left upper leg": { - "left-upper-leg": { "x": 26.12, "y": -1.85, "rotation": 89.09, "width": 33, "height": 67 } - }, - "neck": { - "neck": { "x": 9.42, "y": -3.66, "rotation": -100.15, "width": 34, "height": 28 } - }, - "pelvis": { - "pelvis": { "x": -4.83, "y": 10.62, "width": 63, "height": 47 } - }, - "right arm": { - "right-arm": { "x": 18.34, "y": -2.64, "rotation": 94.32, "width": 21, "height": 45 } - }, - "right foot": { - "right-foot": { "x": 19.02, "y": 8.47, "rotation": 1.52, "width": 67, "height": 30 } - }, - "right hand": { - "right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 } - }, - "right lower leg": { - "right-lower-leg": { "x": 23.28, "y": -2.59, "rotation": 111.83, "width": 51, "height": 64 } - }, - "right shoulder": { - "right-shoulder": { "x": 25.86, "y": 0.03, "rotation": 134.44, "width": 52, "height": 51 } - }, - "right upper leg": { - "right-upper-leg": { "x": 23.03, "y": 0.25, "rotation": 101.13, "width": 44, "height": 70 } - }, - "torso": { - "torso": { "x": 44.57, "y": -7.08, "rotation": -94.95, "width": 68, "height": 92 } - } - } -}, -"events": { - "behind": {}, - "headAttach": {}, - "headPop": {} -}, -"animations": { - "drawOrder": { - "bones": { - "head": { - "rotate": [ - { "time": 0, "angle": 0 }, - { "time": 0.4827, "angle": -23.11 }, - { "time": 0.8965, "angle": -56.45 }, - { "time": 1.3103, "angle": 1.38 }, - { "time": 1.7931, "angle": 36.12 }, - { "time": 2.1379, "angle": 1.24 }, - { "time": 2.6206, "angle": -37.12 }, - { "time": 2.9666, "angle": 2.07 }, - { "time": 3.4666, "angle": 34.72 }, - { "time": 3.9, "angle": 359.99 } - ], - "translate": [ - { - "time": 0, - "x": 0, - "y": 0, - "curve": [ 0.19, 0.4, 0.586, 0.75 ] - }, - { - "time": 0.2758, - "x": 57.88, - "y": -35.72, - "curve": [ 0.39, 0.54, 0.632, 0.72 ] - }, - { - "time": 0.4827, - "x": 87.26, - "y": -87.89, - "curve": [ 0.325, 0.23, 0.587, 0.36 ] - }, - { - "time": 0.6896, - "x": 28.89, - "y": -114.62, - "curve": [ 0.383, 0.23, 0.736, 0.55 ] - }, - { - "time": 0.8965, - "x": -76.58, - "y": -124.98, - "curve": [ 0.129, 0.21, 0.547, 0.64 ] - }, - { - "time": 1.1034, - "x": -154.37, - "y": -77.13, - "curve": [ 0.354, 0.48, 0.729, 0.9 ] - }, - { - "time": 1.3103, - "x": -181.02, - "y": 18.56, - "curve": [ 0.063, 0.15, 0.52, 0.62 ] - }, - { - "time": 1.5862, - "x": -150.38, - "y": 128.67, - "curve": [ 0.381, 0.54, 0.778, 1 ] - }, - { - "time": 1.7931, - "x": -112.08, - "y": 146.28, - "curve": [ 0.242, 0, 0.626, 0.45 ] - }, - { - "time": 1.931, - "x": -63.7, - "y": 111.22, - "curve": [ 0.398, 0.35, 0.786, 0.76 ] - }, - { - "time": 2.1379, - "x": -48.94, - "y": -1.55, - "curve": [ 0.188, 0.21, 0.575, 0.61 ] - }, - { - "time": 2.3448, - "x": -91.69, - "y": -91.93, - "curve": [ 0.362, 0.51, 0.766, 1 ] - }, - { - "time": 2.6206, - "x": -142.79, - "y": -126.83, - "curve": [ 0.227, 0.34, 0.593, 0.75 ] - }, - { - "time": 2.7586, - "x": -176.7, - "y": -98.32, - "curve": [ 0.26, 0.4, 0.612, 0.71 ] - }, - { - "time": 2.8965, - "x": -163.95, - "y": -24.04, - "curve": [ 0.338, 0.37, 0.676, 0.71 ] - }, - { - "time": 2.9655, - "x": -150.17, - "y": 10.71, - "curve": [ 0.387, 0.61, 0.741, 1 ] - }, - { - "time": 3.1034, - "x": -102.44, - "y": 45.92, - "curve": [ 0.31, 0.24, 0.648, 0.58 ] - }, - { - "time": 3.2413, - "x": -53.99, - "y": 70.39, - "curve": [ 0.325, 0.29, 0.663, 0.63 ] - }, - { - "time": 3.3793, - "x": 1.88, - "y": 55.54, - "curve": [ 0.387, 0.33, 0.769, 0.73 ] - }, - { - "time": 3.5862, - "x": 34.26, - "y": 36.13, - "curve": [ 0.206, 0.28, 0.596, 0.67 ] - }, - { - "time": 3.7931, - "x": 23.94, - "y": 1.01, - "curve": [ 0.373, 0.56, 0.759, 1 ] - }, - { "time": 4, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0.8275, "x": 1, "y": 1 }, - { "time": 1.3103, "x": 0.742, "y": 0.742 }, - { "time": 1.7931, "x": 1, "y": 1 }, - { "time": 2.1379, "x": 1.502, "y": 1.502 }, - { "time": 2.6206, "x": 1, "y": 1 }, - { "time": 2.9655, "x": 0.707, "y": 0.707 }, - { "time": 3.3793, "x": 1, "y": 1 } - ] - } - }, - "events": [ - { "time": 0, "name": "headPop", "string": "pop.wav" }, - { "time": 1.3103, "name": "behind" }, - { "time": 2.9655, "name": "behind" }, - { "time": 4, "name": "headAttach", "string": "attach.wav" } - ], - "draworder": [ - { - "time": 0.6206, - "offsets": [ - { "slot": "head", "offset": -12 }, - { "slot": "eyes", "offset": -12 } - ] - }, - { - "time": 1.7931, - "offsets": [ - { "slot": "head", "offset": 3 }, - { "slot": "eyes", "offset": 3 } - ] - }, - { - "time": 2.6206, - "offsets": [ - { "slot": "head", "offset": -12 }, - { "slot": "eyes", "offset": -12 } - ] - }, - { "time": 3.5862 } - ] - }, - "jump": { - "bones": { - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 0.9333, "angle": 0, "curve": "stepped" }, - { "time": 1.3666, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": -11.57, "y": -3 }, - { "time": 0.2333, "x": -16.2, "y": -19.43 }, - { - "time": 0.3333, - "x": 7.66, - "y": -8.48, - "curve": [ 0.057, 0.06, 0.712, 1 ] - }, - { "time": 0.3666, "x": 15.38, "y": 5.01 }, - { "time": 0.4666, "x": -7.84, "y": 57.22 }, - { - "time": 0.6, - "x": -10.81, - "y": 96.34, - "curve": [ 0.241, 0, 1, 1 ] - }, - { "time": 0.7333, "x": -7.01, "y": 54.7 }, - { "time": 0.8, "x": -10.58, "y": 32.2 }, - { "time": 0.9333, "x": -31.99, "y": 0.45 }, - { "time": 1.0666, "x": -12.48, "y": -29.47 }, - { "time": 1.3666, "x": -11.57, "y": -3 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left upper leg": { - "rotate": [ - { "time": 0, "angle": 17.13 }, - { "time": 0.2333, "angle": 44.35 }, - { "time": 0.3333, "angle": 16.46 }, - { "time": 0.4, "angle": -9.88 }, - { "time": 0.4666, "angle": -11.42 }, - { "time": 0.5666, "angle": 23.46 }, - { "time": 0.7666, "angle": 71.82 }, - { "time": 0.9333, "angle": 65.53 }, - { "time": 1.0666, "angle": 51.01 }, - { "time": 1.3666, "angle": 17.13 } - ], - "translate": [ - { "time": 0, "x": -3, "y": -2.25, "curve": "stepped" }, - { "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" }, - { "time": 1.3666, "x": -3, "y": -2.25 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -16.25 }, - { "time": 0.2333, "angle": -52.21 }, - { "time": 0.4, "angle": 15.04 }, - { "time": 0.4666, "angle": -8.95 }, - { "time": 0.5666, "angle": -39.53 }, - { "time": 0.7666, "angle": -27.27 }, - { "time": 0.9333, "angle": -3.52 }, - { "time": 1.0666, "angle": -61.92 }, - { "time": 1.3666, "angle": -16.25 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": 0.33 }, - { "time": 0.2333, "angle": 6.2 }, - { "time": 0.3333, "angle": 14.73 }, - { "time": 0.4, "angle": -15.54 }, - { "time": 0.4333, "angle": -21.2 }, - { "time": 0.5666, "angle": -7.55 }, - { "time": 0.7666, "angle": -0.67 }, - { "time": 0.9333, "angle": -0.58 }, - { "time": 1.0666, "angle": 14.64 }, - { "time": 1.3666, "angle": 0.33 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 25.97 }, - { "time": 0.2333, "angle": 46.43 }, - { "time": 0.3333, "angle": 22.61 }, - { "time": 0.4, "angle": 2.13 }, - { - "time": 0.4666, - "angle": 0.04, - "curve": [ 0, 0, 0.637, 0.98 ] - }, - { "time": 0.6, "angle": 65.55 }, - { "time": 0.7666, "angle": 64.93 }, - { "time": 0.9333, "angle": 41.08 }, - { "time": 1.0666, "angle": 66.25 }, - { "time": 1.3666, "angle": 25.97 } - ], - "translate": [ - { "time": 0, "x": 5.74, "y": 0.61 }, - { "time": 0.2333, "x": 4.79, "y": 1.79 }, - { "time": 0.3333, "x": 6.05, "y": -4.55 }, - { "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" }, - { "time": 1.0666, "x": 4.79, "y": 1.79 }, - { "time": 1.3666, "x": 5.74, "y": 0.61 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right lower leg": { - "rotate": [ - { "time": 0, "angle": -27.46 }, - { "time": 0.2333, "angle": -64.03 }, - { "time": 0.4, "angle": -48.36 }, - { "time": 0.5666, "angle": -76.86 }, - { "time": 0.7666, "angle": -26.89 }, - { "time": 0.9, "angle": -18.97 }, - { "time": 0.9333, "angle": -14.18 }, - { "time": 1.0666, "angle": -80.45 }, - { "time": 1.3666, "angle": -27.46 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": 1.08 }, - { "time": 0.2333, "angle": 16.02 }, - { "time": 0.3, "angle": 12.94 }, - { "time": 0.3333, "angle": 15.16 }, - { "time": 0.4, "angle": -14.7 }, - { "time": 0.4333, "angle": -12.85 }, - { "time": 0.4666, "angle": -19.18 }, - { "time": 0.5666, "angle": -15.82 }, - { "time": 0.6, "angle": -3.59 }, - { "time": 0.7666, "angle": -3.56 }, - { "time": 0.9333, "angle": 1.86 }, - { "time": 1.0666, "angle": 16.02 }, - { "time": 1.3666, "angle": 1.08 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -13.35 }, - { "time": 0.2333, "angle": -48.95 }, - { "time": 0.4333, "angle": -35.77 }, - { "time": 0.6, "angle": -4.59 }, - { "time": 0.7666, "angle": 14.61 }, - { "time": 0.9333, "angle": 15.74 }, - { "time": 1.0666, "angle": -32.44 }, - { "time": 1.3666, "angle": -13.35 } - ], - "translate": [ - { "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" }, - { "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" }, - { "time": 1.3666, "x": -3.67, "y": 1.68 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 12.78 }, - { "time": 0.2333, "angle": 16.46 }, - { "time": 0.4, "angle": 26.49 }, - { "time": 0.6, "angle": 15.51 }, - { "time": 0.7666, "angle": 1.34 }, - { "time": 0.9333, "angle": 2.35 }, - { "time": 1.0666, "angle": 6.08 }, - { "time": 1.3, "angle": 21.23 }, - { "time": 1.3666, "angle": 12.78 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "head": { - "rotate": [ - { "time": 0, "angle": 5.19 }, - { "time": 0.2333, "angle": 20.27 }, - { "time": 0.4, "angle": 15.27 }, - { "time": 0.6, "angle": -24.69 }, - { "time": 0.7666, "angle": -11.02 }, - { "time": 0.9333, "angle": -24.38 }, - { "time": 1.0666, "angle": 11.99 }, - { "time": 1.3, "angle": 4.86 }, - { "time": 1.3666, "angle": 5.19 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left shoulder": { - "rotate": [ - { - "time": 0, - "angle": 0.05, - "curve": [ 0, 0, 0.62, 1 ] - }, - { - "time": 0.2333, - "angle": 279.66, - "curve": [ 0.218, 0.67, 0.66, 0.99 ] - }, - { - "time": 0.5, - "angle": 62.27, - "curve": [ 0.462, 0, 0.764, 0.58 ] - }, - { "time": 0.9333, "angle": 28.91 }, - { "time": 1.0666, "angle": -8.62 }, - { "time": 1.1666, "angle": -18.43 }, - { "time": 1.3666, "angle": 0.05 } - ], - "translate": [ - { "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" }, - { "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" }, - { "time": 1.3666, "x": -1.76, "y": 0.56 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left hand": { - "rotate": [ - { "time": 0, "angle": 11.58, "curve": "stepped" }, - { "time": 0.9333, "angle": 11.58, "curve": "stepped" }, - { "time": 1.3666, "angle": 11.58 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "left arm": { - "rotate": [ - { "time": 0, "angle": 0.51 }, - { "time": 0.4333, "angle": 12.82 }, - { "time": 0.6, "angle": 47.55 }, - { "time": 0.9333, "angle": 12.82 }, - { "time": 1.1666, "angle": -6.5 }, - { "time": 1.3666, "angle": 0.51 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 43.82, - "curve": [ 0, 0, 0.62, 1 ] - }, - { - "time": 0.2333, - "angle": -8.74, - "curve": [ 0.304, 0.58, 0.709, 0.97 ] - }, - { - "time": 0.5333, - "angle": -208.02, - "curve": [ 0.462, 0, 0.764, 0.58 ] - }, - { "time": 0.9333, "angle": -246.72 }, - { "time": 1.0666, "angle": -307.13 }, - { "time": 1.1666, "angle": 37.15 }, - { "time": 1.3666, "angle": 43.82 } - ], - "translate": [ - { "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" }, - { "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" }, - { "time": 1.3666, "x": -7.84, "y": 7.19 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right arm": { - "rotate": [ - { "time": 0, "angle": -4.02 }, - { "time": 0.6, "angle": 17.5 }, - { "time": 0.9333, "angle": -4.02 }, - { "time": 1.1666, "angle": -16.72 }, - { "time": 1.3666, "angle": -4.02 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 22.92, "curve": "stepped" }, - { "time": 0.9333, "angle": 22.92, "curve": "stepped" }, - { "time": 1.3666, "angle": 22.92 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1.3666, "x": 0, "y": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - }, - "root": { - "rotate": [ - { "time": 0, "angle": 0 }, - { "time": 0.4333, "angle": -14.52 }, - { "time": 0.8, "angle": 9.86 }, - { "time": 1.3666, "angle": 0 } - ], - "scale": [ - { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, - { "time": 1.3666, "x": 1, "y": 1 } - ] - } - } - }, - "walk": { - "bones": { - "left upper leg": { - "rotate": [ - { "time": 0, "angle": -26.55 }, - { "time": 0.1333, "angle": -8.78 }, - { "time": 0.2666, "angle": 9.51 }, - { "time": 0.4, "angle": 30.74 }, - { "time": 0.5333, "angle": 25.33 }, - { "time": 0.6666, "angle": 26.11 }, - { "time": 0.8, "angle": -7.7 }, - { "time": 0.9333, "angle": -21.19 }, - { "time": 1.0666, "angle": -26.55 } - ], - "translate": [ - { "time": 0, "x": -3, "y": -2.25 }, - { "time": 0.4, "x": -2.18, "y": -2.25 }, - { "time": 1.0666, "x": -3, "y": -2.25 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 42.45 }, - { "time": 0.1333, "angle": 52.1 }, - { "time": 0.2666, "angle": 5.96 }, - { "time": 0.5333, "angle": -16.93 }, - { "time": 0.6666, "angle": 1.89 }, - { - "time": 0.8, - "angle": 28.06, - "curve": [ 0.462, 0.11, 1, 1 ] - }, - { - "time": 0.9333, - "angle": 58.68, - "curve": [ 0.5, 0.02, 1, 1 ] - }, - { "time": 1.0666, "angle": 42.45 } - ], - "translate": [ - { "time": 0, "x": 8.11, "y": -2.36 }, - { "time": 0.1333, "x": 10.03, "y": -2.56 }, - { "time": 0.4, "x": 2.76, "y": -2.97 }, - { "time": 0.5333, "x": 2.76, "y": -2.81 }, - { "time": 0.9333, "x": 8.67, "y": -2.54 }, - { "time": 1.0666, "x": 8.11, "y": -2.36 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -10.21 }, - { "time": 0.1333, "angle": -55.64 }, - { "time": 0.2666, "angle": -68.12 }, - { "time": 0.5333, "angle": 5.11 }, - { "time": 0.6666, "angle": -28.29 }, - { "time": 0.8, "angle": 4.08 }, - { "time": 0.9333, "angle": 3.53 }, - { "time": 1.0666, "angle": -10.21 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": -3.69 }, - { "time": 0.1333, "angle": -10.42 }, - { "time": 0.2666, "angle": -17.14 }, - { "time": 0.4, "angle": -2.83 }, - { "time": 0.5333, "angle": -3.87 }, - { "time": 0.6666, "angle": 2.78 }, - { "time": 0.8, "angle": 1.68 }, - { "time": 0.9333, "angle": -8.54 }, - { "time": 1.0666, "angle": -3.69 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 20.89, - "curve": [ 0.264, 0, 0.75, 1 ] - }, - { - "time": 0.1333, - "angle": 3.72, - "curve": [ 0.272, 0, 0.841, 1 ] - }, - { "time": 0.6666, "angle": -278.28 }, - { "time": 1.0666, "angle": 20.89 } - ], - "translate": [ - { "time": 0, "x": -7.84, "y": 7.19 }, - { "time": 0.1333, "x": -6.36, "y": 6.42 }, - { "time": 0.6666, "x": -11.07, "y": 5.25 }, - { "time": 1.0666, "x": -7.84, "y": 7.19 } - ] - }, - "right arm": { - "rotate": [ - { - "time": 0, - "angle": -4.02, - "curve": [ 0.267, 0, 0.804, 0.99 ] - }, - { - "time": 0.1333, - "angle": -13.99, - "curve": [ 0.341, 0, 1, 1 ] - }, - { - "time": 0.6666, - "angle": 36.54, - "curve": [ 0.307, 0, 0.787, 0.99 ] - }, - { "time": 1.0666, "angle": -4.02 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 22.92 }, - { "time": 0.4, "angle": -8.97 }, - { "time": 0.6666, "angle": 0.51 }, - { "time": 1.0666, "angle": 22.92 } - ] - }, - "left shoulder": { - "rotate": [ - { "time": 0, "angle": -1.47 }, - { "time": 0.1333, "angle": 13.6 }, - { "time": 0.6666, "angle": 280.74 }, - { "time": 1.0666, "angle": -1.47 } - ], - "translate": [ - { "time": 0, "x": -1.76, "y": 0.56 }, - { "time": 0.6666, "x": -2.47, "y": 8.14 }, - { "time": 1.0666, "x": -1.76, "y": 0.56 } - ] - }, - "left hand": { - "rotate": [ - { - "time": 0, - "angle": 11.58, - "curve": [ 0.169, 0.37, 0.632, 1.55 ] - }, - { - "time": 0.1333, - "angle": 28.13, - "curve": [ 0.692, 0, 0.692, 0.99 ] - }, - { - "time": 0.6666, - "angle": -27.42, - "curve": [ 0.117, 0.41, 0.738, 1.76 ] - }, - { "time": 0.8, "angle": -36.32 }, - { "time": 1.0666, "angle": 11.58 } - ] - }, - "left arm": { - "rotate": [ - { "time": 0, "angle": -8.27 }, - { "time": 0.1333, "angle": 18.43 }, - { "time": 0.6666, "angle": 0.88 }, - { "time": 1.0666, "angle": -8.27 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -10.28 }, - { - "time": 0.1333, - "angle": -15.38, - "curve": [ 0.545, 0, 1, 1 ] - }, - { - "time": 0.4, - "angle": -9.78, - "curve": [ 0.58, 0.17, 1, 1 ] - }, - { "time": 0.6666, "angle": -15.75 }, - { "time": 0.9333, "angle": -7.06 }, - { "time": 1.0666, "angle": -10.28 } - ], - "translate": [ - { "time": 0, "x": -3.67, "y": 1.68 }, - { "time": 0.1333, "x": -3.67, "y": 0.68 }, - { "time": 0.4, "x": -3.67, "y": 1.97 }, - { "time": 0.6666, "x": -3.67, "y": -0.14 }, - { "time": 1.0666, "x": -3.67, "y": 1.68 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": -5.25 }, - { "time": 0.2666, "angle": -4.08 }, - { "time": 0.4, "angle": -6.45 }, - { "time": 0.5333, "angle": -5.39 }, - { "time": 0.8, "angle": -11.68 }, - { "time": 0.9333, "angle": 0.46 }, - { "time": 1.0666, "angle": -5.25 } - ] - }, - "right lower leg": { - "rotate": [ - { "time": 0, "angle": -3.39 }, - { "time": 0.1333, "angle": -45.53 }, - { "time": 0.2666, "angle": -2.59 }, - { "time": 0.5333, "angle": -19.53 }, - { "time": 0.6666, "angle": -64.8 }, - { - "time": 0.8, - "angle": -82.56, - "curve": [ 0.557, 0.18, 1, 1 ] - }, - { "time": 1.0666, "angle": -3.39 } - ] - }, - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 1.0666, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { - "time": 0.1333, - "x": 0, - "y": -7.61, - "curve": [ 0.272, 0.86, 1, 1 ] - }, - { "time": 0.4, "x": 0, "y": 8.7 }, - { "time": 0.5333, "x": 0, "y": -0.41 }, - { - "time": 0.6666, - "x": 0, - "y": -7.05, - "curve": [ 0.235, 0.89, 1, 1 ] - }, - { "time": 0.8, "x": 0, "y": 2.92 }, - { "time": 0.9333, "x": 0, "y": 6.78 }, - { "time": 1.0666, "x": 0, "y": 0 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 3.6 }, - { "time": 0.1333, "angle": 17.49 }, - { "time": 0.2666, "angle": 6.1 }, - { "time": 0.4, "angle": 3.45 }, - { "time": 0.5333, "angle": 5.17 }, - { "time": 0.6666, "angle": 18.36 }, - { "time": 0.8, "angle": 6.09 }, - { "time": 0.9333, "angle": 2.28 }, - { "time": 1.0666, "angle": 3.6 } - ] - }, - "head": { - "rotate": [ - { - "time": 0, - "angle": 3.6, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.1666, "angle": -0.2 }, - { "time": 0.2666, "angle": 6.1 }, - { "time": 0.4, "angle": 3.45 }, - { - "time": 0.5333, - "angle": 5.17, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.7, "angle": 1.1 }, - { "time": 0.8, "angle": 6.09 }, - { "time": 0.9333, "angle": 2.28 }, - { "time": 1.0666, "angle": 3.6 } - ] - } - } - } -} -} \ No newline at end of file +{"skeleton":{"hash":"lJsAlqDM/k/QFOECFqgH7sfcOrk","spine":"Dev","width":470.64,"height":731.52},"bones":[{"name":"hip","y":247.47},{"name":"front_thigh","parent":"hip","length":74.8,"x":-17.45,"y":-11.64,"rotation":-95.51},{"name":"rear_thigh","parent":"hip","length":85.71,"x":8.91,"y":-5.62,"rotation":-72.54},{"name":"torso","parent":"hip","length":127.55,"x":-1.61,"y":4.9,"rotation":103.82},{"name":"front_shin","parent":"front_thigh","length":128.76,"x":78.69,"y":1.6,"rotation":-2.21,"inheritScale":false},{"name":"front_upper_arm","parent":"torso","length":69.45,"x":103.75,"y":19.32,"rotation":168.37},{"name":"neck","parent":"torso","length":25.45,"x":127.49,"y":-0.3,"rotation":-31.53},{"name":"rear_shin","parent":"rear_thigh","length":121.87,"x":86.1,"y":-1.32,"rotation":-19.83},{"name":"rear_upper_arm","parent":"torso","length":51.93,"x":92.35,"y":-19.22,"rotation":-169.55},{"name":"front_bracer","parent":"front_upper_arm","length":40.57,"x":68.8,"y":-0.68,"rotation":18.29},{"name":"front_foot","parent":"front_shin","length":91.34,"x":128.75,"y":-0.33,"rotation":77.9},{"name":"head","parent":"neck","length":263.57,"x":27.66,"y":-0.25,"rotation":23.18},{"name":"rear_bracer","parent":"rear_upper_arm","length":34.55,"x":51.35,"rotation":23.15},{"name":"rear_foot","parent":"rear_shin","length":82.57,"x":121.45,"y":-0.75,"rotation":69.3},{"name":"front_fist","parent":"front_bracer","length":65.38,"x":40.56,"y":0.19,"rotation":12.43},{"name":"gun","parent":"rear_bracer","length":43.1,"x":34.42,"y":-0.45,"rotation":5.34},{"name":"gunTip","parent":"gun","x":201.04,"y":52.13,"rotation":6.83}],"slots":[{"name":"rear_upper_arm","bone":"rear_upper_arm","attachment":"rear_upper_arm"},{"name":"rear_bracer","bone":"rear_bracer","attachment":"rear_bracer"},{"name":"gun","bone":"gun","attachment":"gun"},{"name":"rear_foot","bone":"rear_foot","attachment":"rear_foot"},{"name":"rear_thigh","bone":"rear_thigh","attachment":"rear_thigh"},{"name":"rear_shin","bone":"rear_shin","attachment":"rear_shin"},{"name":"neck","bone":"neck","attachment":"neck"},{"name":"torso","bone":"torso","attachment":"torso"},{"name":"front_upper_arm","bone":"front_upper_arm","attachment":"front_upper_arm"},{"name":"head","bone":"head","attachment":"head"},{"name":"eye","bone":"head","attachment":"eye_indifferent"},{"name":"front_thigh","bone":"front_thigh","attachment":"front_thigh"},{"name":"front_foot","bone":"front_foot","attachment":"front_foot"},{"name":"front_shin","bone":"front_shin","attachment":"front_shin"},{"name":"mouth","bone":"head","attachment":"mouth_smile"},{"name":"goggles","bone":"head","attachment":"goggles"},{"name":"front_bracer","bone":"front_bracer","attachment":"front_bracer"},{"name":"front_fist","bone":"front_fist","attachment":"front_fist_closed"},{"name":"muzzle","bone":"gunTip","additive":true},{"name":"head-bb","bone":"head"}],"skins":{"default":{"eye":{"eye_indifferent":{"x":85.72,"y":-28.18,"rotation":-70.63,"width":93,"height":89},"eye_surprised":{"x":85.72,"y":-28.18,"rotation":-70.63,"width":93,"height":89}},"front_bracer":{"front_bracer":{"x":12.03,"y":-1.67,"rotation":79.59,"width":58,"height":80}},"front_fist":{"front_fist_closed":{"x":35.49,"y":6,"rotation":67.16,"width":75,"height":82},"front_fist_open":{"x":39.56,"y":7.76,"rotation":67.16,"width":86,"height":87}},"front_foot":{"front_foot":{"x":29.51,"y":7.83,"rotation":18.68,"width":126,"height":69},"front_foot_bend1":{"x":29.51,"y":7.83,"rotation":18.68,"width":128,"height":70},"front_foot_bend2":{"x":16.07,"y":13.83,"rotation":18.68,"width":108,"height":93}},"front_shin":{"front_shin":{"x":55.11,"y":-3.54,"rotation":96.59,"width":82,"height":184}},"front_thigh":{"front_thigh":{"x":42.47,"y":4.44,"rotation":84.86,"width":48,"height":112}},"front_upper_arm":{"front_upper_arm":{"x":28.3,"y":7.37,"rotation":97.89,"width":54,"height":97}},"goggles":{"goggles":{"x":97.07,"y":6.54,"rotation":-70.63,"width":261,"height":166}},"gun":{"gun":{"x":77.3,"y":16.4,"rotation":60.82,"width":210,"height":203}},"head":{"head":{"x":128.95,"y":0.29,"rotation":-70.63,"width":271,"height":298}},"head-bb":{"head":{"type":"boundingbox","vertices":[-19.143097,-70.30209,40.80313,-118.074234,257.77155,-115.61827,285.16193,57.18005,120.77191,164.95125,-5.067627,76.94907]}},"mouth":{"mouth_grind":{"x":23.68,"y":-32.23,"rotation":-70.63,"width":93,"height":59},"mouth_oooo":{"x":23.68,"y":-32.23,"rotation":-70.63,"width":93,"height":59},"mouth_smile":{"x":23.68,"y":-32.23,"rotation":-70.63,"width":93,"height":59}},"muzzle":{"muzzle":{"x":18.25,"y":5.44,"rotation":0.15,"width":462,"height":400}},"neck":{"neck":{"x":9.76,"y":-3.01,"rotation":-55.22,"width":36,"height":41}},"rear_bracer":{"rear_bracer":{"x":11.15,"y":-2.2,"rotation":66.17,"width":56,"height":72}},"rear_foot":{"rear_foot":{"x":31.51,"y":3.57,"rotation":23.07,"width":113,"height":60},"rear_foot_bend1":{"x":34.39,"y":4.8,"rotation":23.07,"width":117,"height":66},"rear_foot_bend2":{"x":30.38,"y":12.62,"rotation":23.07,"width":103,"height":83}},"rear_shin":{"rear_shin":{"x":58.29,"y":-2.75,"rotation":92.37,"width":75,"height":178}},"rear_thigh":{"rear_thigh":{"x":33.1,"y":-4.11,"rotation":72.54,"width":65,"height":104}},"rear_upper_arm":{"rear_upper_arm":{"x":21.12,"y":4.08,"rotation":89.32,"width":47,"height":87}},"torso":{"torso":{"x":63.61,"y":7.12,"rotation":-94.53,"width":98,"height":180}}}},"events":{"footstep":{},"headAttach":{"int":3,"float":4},"headBehind":{"int":5,"float":6,"string":"setup"},"headPop":{"int":1,"float":2}},"animations":{"death":{"slots":{"eye":{"attachment":[{"time":0,"name":"eye_surprised"},{"time":0.4666,"name":"eye_indifferent"},{"time":2.2333,"name":"eye_surprised"},{"time":4.5333,"name":"eye_indifferent"}]},"front_fist":{"attachment":[{"time":0,"name":"front_fist_open"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_oooo"},{"time":2.2333,"name":"mouth_grind"},{"time":4.5333,"name":"mouth_oooo"}]}},"bones":{"head":{"rotate":[{"time":0,"angle":-2.82},{"time":0.1333,"angle":-28.74},{"time":0.2333,"angle":11.42},{"time":0.3333,"angle":-50.24},{"time":0.4,"angle":-72.66,"curve":"stepped"},{"time":0.4333,"angle":-72.66},{"time":0.5,"angle":-20.24},{"time":0.5666,"angle":-85.28,"curve":"stepped"},{"time":0.9333,"angle":-85.28,"curve":"stepped"},{"time":2.2333,"angle":-85.28},{"time":2.5,"angle":-51.96,"curve":"stepped"},{"time":4.5333,"angle":-51.96},{"time":4.6666,"angle":-85.28}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"neck":{"rotate":[{"time":0,"angle":-2.82},{"time":0.1333,"angle":12.35},{"time":0.2333,"angle":29.89},{"time":0.3,"angle":70.36},{"time":0.4,"angle":-10.22,"curve":"stepped"},{"time":0.4333,"angle":-10.22},{"time":0.5,"angle":2.92},{"time":0.5666,"angle":47.94,"curve":"stepped"},{"time":2.2333,"angle":47.94},{"time":2.5,"angle":18.5,"curve":"stepped"},{"time":4.5333,"angle":18.5},{"time":4.6666,"angle":47.94}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"torso":{"rotate":[{"time":0,"angle":-8.61},{"time":0.1333,"angle":28.19},{"time":0.2666,"angle":-280.19},{"time":0.4,"angle":-237.22,"curve":"stepped"},{"time":0.4333,"angle":-237.22},{"time":0.5,"angle":76.03,"curve":"stepped"},{"time":0.8,"angle":76.03,"curve":"stepped"},{"time":0.9333,"angle":76.03,"curve":"stepped"},{"time":2.2333,"angle":76.03}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.9333,"x":0,"y":0,"curve":"stepped"},{"time":2.2333,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-38.85},{"time":0.1333,"angle":-299.58},{"time":0.2666,"angle":-244.74},{"time":0.4,"angle":-292.35},{"time":0.4333,"angle":-315.84},{"time":0.5,"angle":-347.94},{"time":0.7,"angle":-347.33,"curve":"stepped"},{"time":2.2333,"angle":-347.33},{"time":2.7,"angle":-290.68},{"time":2.7666,"angle":-285.1},{"time":4.6666,"angle":-290.68},{"time":4.8,"angle":8.61},{"time":4.8666,"angle":10.94}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":-44.69},{"time":0.1333,"angle":112.26},{"time":0.2666,"angle":129.07},{"time":0.4,"angle":134.94,"curve":"stepped"},{"time":0.4333,"angle":134.94},{"time":0.5666,"angle":172.6,"curve":"stepped"},{"time":0.9333,"angle":172.6,"curve":"stepped"},{"time":2.2333,"angle":172.6}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_bracer":{"rotate":[{"time":0,"angle":21.88},{"time":0.1333,"angle":11.48},{"time":0.2666,"angle":-18.81},{"time":0.4,"angle":-18.92},{"time":0.4333,"angle":-18.28},{"time":0.5,"angle":60.61},{"time":0.7,"angle":-18.87,"curve":"stepped"},{"time":2.2333,"angle":-18.87},{"time":2.7,"angle":-1.95,"curve":"stepped"},{"time":4.6666,"angle":-1.95},{"time":4.8,"angle":34.55},{"time":4.9333,"angle":-18.74}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_fist":{"rotate":[{"time":0,"angle":-2.33},{"time":0.2666,"angle":26.34},{"time":0.7,"angle":-6.07,"curve":"stepped"},{"time":2.2333,"angle":-6.07},{"time":2.7,"angle":5.72,"curve":"stepped"},{"time":4.6666,"angle":5.72},{"time":4.8666,"angle":-6.52}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_bracer":{"rotate":[{"time":0,"angle":10.36},{"time":0.1333,"angle":-23.12},{"time":0.2666,"angle":-23.11},{"time":0.4,"angle":-23.16,"curve":"stepped"},{"time":0.4333,"angle":-23.16},{"time":0.5666,"angle":-23.2,"curve":"stepped"},{"time":0.9333,"angle":-23.2,"curve":"stepped"},{"time":2.2333,"angle":-23.2}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"gun":{"rotate":[{"time":0,"angle":-2.78},{"time":0.1333,"angle":-24.58}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":0.9333,"angle":0,"curve":"stepped"},{"time":2.2333,"angle":0}],"translate":[{"time":0,"x":0,"y":0},{"time":0.2,"x":50.34,"y":151.73},{"time":0.4,"x":5.16,"y":-119.64,"curve":"stepped"},{"time":0.4333,"x":5.16,"y":-119.64},{"time":0.5,"x":50.34,"y":-205.18,"curve":"stepped"},{"time":0.8,"x":50.34,"y":-205.18,"curve":"stepped"},{"time":0.9333,"x":50.34,"y":-205.18,"curve":"stepped"},{"time":2.2333,"x":50.34,"y":-205.18}],"scale":[{"time":0,"x":1,"y":1}]},"front_thigh":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":8.47},{"time":0.2666,"angle":115.95},{"time":0.4,"angle":180.66,"curve":"stepped"},{"time":0.4333,"angle":180.66},{"time":0.5,"angle":155.22},{"time":0.6,"angle":97.73}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_shin":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":-27.37},{"time":0.2666,"angle":-35.1},{"time":0.4,"angle":-37.72,"curve":"stepped"},{"time":0.4333,"angle":-37.72},{"time":0.5,"angle":-40.06},{"time":0.6,"angle":2.76}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_thigh":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":70.45},{"time":0.2666,"angle":155.34},{"time":0.4,"angle":214.31,"curve":"stepped"},{"time":0.4333,"angle":214.31},{"time":0.5,"angle":169.67},{"time":0.8,"angle":83.27}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_shin":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":18.93},{"time":0.2666,"angle":-21.04},{"time":0.4,"angle":-29.93,"curve":"stepped"},{"time":0.4333,"angle":-29.93},{"time":0.5,"angle":-16.79},{"time":0.8,"angle":7.77}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":-11.62},{"time":0.4,"angle":-45.59,"curve":"stepped"},{"time":0.4333,"angle":-45.59}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":0},{"time":0.4,"angle":-48.75,"curve":"stepped"},{"time":0.4333,"angle":-48.75}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"gunTip":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]}}},"hit":{"slots":{"front_fist":{"attachment":[{"time":0.1666,"name":"front_fist_open"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_grind"},{"time":0.3333,"name":"mouth_smile"}]}},"bones":{"torso":{"rotate":[{"time":0,"angle":56.42},{"time":0.3333,"angle":8.89}]},"neck":{"rotate":[{"time":0,"angle":35.38},{"time":0.2333,"angle":24.94}]},"head":{"rotate":[{"time":0,"angle":10.21},{"time":0.3333,"angle":-41.3}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-310.92,"curve":[0.38,0.53,0.744,1]},{"time":0.3333,"angle":-112.59}],"translate":[{"time":0,"x":7.23,"y":-13.13}]},"front_bracer":{"rotate":[{"time":0,"angle":36.99},{"time":0.3333,"angle":-28.64}]},"front_fist":{"rotate":[{"time":0,"angle":13.59},{"time":0.3333,"angle":7.55}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":271.02,"curve":[0.342,0.36,0.68,0.71]},{"time":0.3333,"angle":-15.84}],"translate":[{"time":0.3333,"x":-0.09,"y":-0.46}]},"rear_bracer":{"rotate":[{"time":0,"angle":0},{"time":0.3333,"angle":40.03}]},"gun":{"rotate":[{"time":0,"angle":14.98},{"time":0.3333,"angle":39.75}]},"hip":{"translate":[{"time":0,"x":-75.54,"y":-78.03},{"time":0.2333,"x":-36.48,"y":12.42},{"time":0.3333,"x":-36.48,"y":-2.99}]},"front_thigh":{"rotate":[{"time":0,"angle":90.94,"curve":[0.227,0.26,0.432,1]},{"time":0.3333,"angle":32.02}],"translate":[{"time":0,"x":7.21,"y":-4}]},"rear_thigh":{"rotate":[{"time":0,"angle":40.51,"curve":[0.295,0.3,0.59,0.99]},{"time":0.3333,"angle":90.76}],"translate":[{"time":0,"x":-1.96,"y":-0.32}]},"front_shin":{"rotate":[{"time":0,"angle":-96.62},{"time":0.3333,"angle":-15.13}]},"rear_shin":{"rotate":[{"time":0,"angle":7.99},{"time":0.3333,"angle":-67.54}],"scale":[{"time":0,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":5.4},{"time":0.3333,"angle":-16.26}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":2.67},{"time":0.3333,"angle":-10.31}]}}},"idle":{"slots":{"front_fist":{"attachment":[{"time":0,"name":"front_fist_open"},{"time":1.6666,"name":"front_fist_open"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_smile"},{"time":1.6666,"name":"mouth_smile"}]}},"bones":{"torso":{"rotate":[{"time":0,"angle":-5.61,"curve":[0.25,0,0.75,1]},{"time":0.8333,"angle":-9.65,"curve":[0.25,0,0.75,1]},{"time":1.6666,"angle":-5.61}],"translate":[{"time":0,"x":-6.49,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-59.85,"curve":[0.492,0,0.75,1]},{"time":0.6666,"angle":-54.31,"curve":[0.324,0.11,0.75,1]},{"time":1.6666,"angle":-59.85}],"translate":[{"time":0,"x":-7.12,"y":-8.23},{"time":0.6666,"x":-6.32,"y":-8.3},{"time":1.6666,"x":-7.12,"y":-8.23}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":62.41,"curve":[0.504,0.02,0.75,1]},{"time":0.7333,"angle":43.83,"curve":[0.25,0,0.75,1]},{"time":1.6666,"angle":62.41}],"translate":[{"time":0,"x":-1.83,"y":-16.78},{"time":0.6666,"x":0.34,"y":-15.23},{"time":1.6666,"x":-1.83,"y":-16.78}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"neck":{"rotate":[{"time":0,"angle":0},{"time":0.6666,"angle":2.39},{"time":1.6666,"angle":0}],"translate":[{"time":0,"x":-1.88,"y":-4.76,"curve":"stepped"},{"time":1.6666,"x":-1.88,"y":-4.76}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"front_thigh":{"rotate":[{"time":0,"angle":0.64,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"angle":-4.34,"curve":[0.594,0,0.653,1]},{"time":1.6666,"angle":0.64}],"translate":[{"time":0,"x":-13.39,"y":6.69,"curve":"stepped"},{"time":1.6666,"x":-13.39,"y":6.69}],"scale":[{"time":0,"x":0.896,"y":1,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"x":0.825,"y":1,"curve":[0.594,0,0.653,1]},{"time":1.6666,"x":0.896,"y":1}]},"front_shin":{"rotate":[{"time":0,"angle":-19.28,"curve":"stepped"},{"time":1.6666,"angle":-19.28}],"scale":[{"time":0,"x":1,"y":1,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"x":0.994,"y":1,"curve":[0.594,0,0.653,1]},{"time":1.6666,"x":1,"y":1}]},"rear_thigh":{"rotate":[{"time":0,"angle":30.5,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"angle":40.15,"curve":[0.594,0,0.653,1]},{"time":1.6666,"angle":30.5}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"rear_shin":{"rotate":[{"time":0,"angle":-23.83,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"angle":-43.77,"curve":[0.594,0,0.653,1]},{"time":1.6666,"angle":-23.83}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":5.13,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"angle":10.04,"curve":[0.594,0,0.653,1]},{"time":1.6666,"angle":5.13}],"scale":[{"time":0,"x":0.755,"y":1.309,"curve":"stepped"},{"time":1.6666,"x":0.755,"y":1.309}]},"hip":{"translate":[{"time":0,"x":-6.63,"y":-23.01,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"x":6.27,"y":-35,"curve":[0.594,0,0.653,1]},{"time":1.6666,"x":-6.63,"y":-23.01}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":-7.34,"curve":[0.235,0,0.558,0.99]},{"time":0.6666,"angle":3.85,"curve":[0.594,0,0.653,1]},{"time":1.6666,"angle":-7.34}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"rear_bracer":{"rotate":[{"time":0,"angle":-17.16,"curve":[0.25,0,0.75,1]},{"time":0.6666,"angle":12.52,"curve":[0.25,0,0.75,1]},{"time":1.6666,"angle":-17.16}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"head":{"rotate":[{"time":0,"angle":-5.51,"curve":[0.25,0,0.75,1]},{"time":0.6666,"angle":-3.12,"curve":[0.25,0,0.75,1]},{"time":1.6666,"angle":-5.51}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"front_bracer":{"rotate":[{"time":0,"angle":45.46,"curve":[0.492,0,0.75,1]},{"time":0.6666,"angle":41.33,"curve":[0.32,0.1,0.736,0.91]},{"time":1.6666,"angle":45.46}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"gun":{"rotate":[{"time":0,"angle":0,"curve":[0.25,0,0.75,1]},{"time":0.6666,"angle":-15.59,"curve":[0.732,0,0.769,0.99]},{"time":1.6666,"angle":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":1.6666,"x":1,"y":1}]},"front_fist":{"rotate":[{"time":0,"angle":-6.84,"curve":[0.492,0,0.75,1]},{"time":0.6666,"angle":-14.63,"curve":[0.324,0.11,0.75,1]},{"time":1.6666,"angle":-6.84}],"scale":[{"time":0,"x":1,"y":1,"curve":[0.25,0,0.75,1]},{"time":0.6666,"x":0.689,"y":1.1,"curve":[0.25,0,0.75,1]},{"time":1.6666,"x":1,"y":1}]}}},"jump":{"slots":{"front_fist":{"attachment":[{"time":0,"name":"front_fist_open"},{"time":0.2,"name":"front_fist_closed"},{"time":0.6666,"name":"front_fist_open"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_grind"}]},"torso":{"attachment":[{"time":0,"name":"torso"}]}},"bones":{"front_thigh":{"rotate":[{"time":0,"angle":91.53,"curve":[0.278,0.46,0.763,1]},{"time":0.2,"angle":-35.83,"curve":[0.761,0,0.75,1]},{"time":0.4333,"angle":127.74},{"time":0.7333,"angle":48.18,"curve":[0.227,0.26,0.432,1]},{"time":0.8333,"angle":25.35},{"time":0.9333,"angle":45.37},{"time":1.0333,"angle":38.12},{"time":1.1333,"angle":25.35},{"time":1.3333,"angle":91.53}],"translate":[{"time":0,"x":-2.56,"y":5.77},{"time":0.4333,"x":8.3,"y":7.98},{"time":0.7333,"x":7.21,"y":-4},{"time":1.3333,"x":-2.56,"y":5.77}],"scale":[{"time":0,"x":1,"y":1}]},"torso":{"rotate":[{"time":0,"angle":-42.63},{"time":0.2,"angle":-5.74},{"time":0.4333,"angle":-50.76},{"time":0.7333,"angle":1.89},{"time":0.8333,"angle":11.58},{"time":0.9666,"angle":-1.89},{"time":1.1333,"angle":11.58},{"time":1.3333,"angle":-42.63}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_thigh":{"rotate":[{"time":0,"angle":-26.32},{"time":0.2,"angle":121.44},{"time":0.4333,"angle":70.54},{"time":0.7333,"angle":79.89,"curve":[0.295,0.3,0.59,0.99]},{"time":0.8333,"angle":99.12},{"time":0.9333,"angle":74.05},{"time":1.0333,"angle":98.04},{"time":1.1333,"angle":99.12},{"time":1.3333,"angle":-26.32}],"translate":[{"time":0,"x":-0.56,"y":-0.32},{"time":0.4333,"x":-8.5,"y":10.58},{"time":0.7333,"x":-1.96,"y":-0.32},{"time":1.3333,"x":-0.56,"y":-0.32}],"scale":[{"time":0,"x":1,"y":1}]},"rear_shin":{"rotate":[{"time":0,"angle":-78.69},{"time":0.4333,"angle":-55.56},{"time":0.7333,"angle":-62.84},{"time":0.8333,"angle":-80.74},{"time":0.9333,"angle":-41.12},{"time":1.0333,"angle":-77.4},{"time":1.1333,"angle":-80.74},{"time":1.3333,"angle":-78.69}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.7333,"x":1,"y":1}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-22.61},{"time":0.2,"angle":-246.68},{"time":0.6,"angle":11.28,"curve":[0.246,0,0.633,0.53]},{"time":0.7333,"angle":-57.45,"curve":[0.38,0.53,0.744,1]},{"time":0.8666,"angle":-112.59},{"time":0.9333,"angle":-102.17},{"time":1.0333,"angle":-108.61},{"time":1.1333,"angle":-112.59},{"time":1.3333,"angle":-22.61}],"translate":[{"time":0,"x":6.08,"y":7.15},{"time":0.2,"x":7.23,"y":-13.13,"curve":"stepped"},{"time":0.7333,"x":7.23,"y":-13.13},{"time":1.3333,"x":6.08,"y":7.15}],"scale":[{"time":0,"x":1,"y":1}]},"front_bracer":{"rotate":[{"time":0,"angle":66.46},{"time":0.2,"angle":42.39},{"time":0.4333,"angle":26.06},{"time":0.7333,"angle":13.28},{"time":0.8666,"angle":-28.64},{"time":0.9333,"angle":-22.31},{"time":1.0333,"angle":-35.39},{"time":1.1333,"angle":-28.64},{"time":1.3333,"angle":66.46}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_fist":{"rotate":[{"time":0,"angle":-28.43},{"time":0.4333,"angle":-45.6},{"time":0.7333,"angle":-53.66},{"time":0.8666,"angle":7.55},{"time":0.9333,"angle":31.15},{"time":1.0333,"angle":-32.58},{"time":1.1333,"angle":7.55},{"time":1.3333,"angle":-28.43}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":39.68},{"time":0.2,"angle":276.57},{"time":0.3,"angle":17.73},{"time":0.4333,"angle":83.38},{"time":0.6,"angle":-4.71,"curve":[0.246,0,0.633,0.53]},{"time":0.7333,"angle":-69.63,"curve":[0.342,0.36,0.68,0.71]},{"time":0.7666,"angle":321.47,"curve":[0.333,0.33,0.667,0.66]},{"time":0.8,"angle":33.7,"curve":[0.358,0.64,0.693,1]},{"time":0.8666,"angle":34.56},{"time":1.0333,"angle":71.96},{"time":1.1333,"angle":34.56},{"time":1.3333,"angle":39.68}],"translate":[{"time":0,"x":-3.1,"y":-4.86},{"time":0.2,"x":23.33,"y":49.07},{"time":0.4333,"x":20.78,"y":40.21},{"time":1.3333,"x":-3.1,"y":-4.86}],"scale":[{"time":0,"x":1,"y":1}]},"rear_bracer":{"rotate":[{"time":0,"angle":29.66},{"time":0.2,"angle":45.06},{"time":0.4333,"angle":-4.34},{"time":0.7666,"angle":61.68},{"time":0.8,"angle":82.59},{"time":0.8666,"angle":80.06},{"time":1.0333,"angle":57.56},{"time":1.1333,"angle":80.06},{"time":1.3333,"angle":29.66}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"neck":{"rotate":[{"time":0,"angle":24.9},{"time":0.2,"angle":16.31},{"time":0.4333,"angle":7.44},{"time":0.7333,"angle":-20.35},{"time":0.8333,"angle":-0.69,"curve":"stepped"},{"time":1.1333,"angle":-0.69},{"time":1.3333,"angle":24.9}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"head":{"rotate":[{"time":0,"angle":24.92},{"time":0.2,"angle":10.36},{"time":0.4333,"angle":28.65},{"time":0.7333,"angle":-2.65},{"time":0.8333,"angle":-28.94,"curve":"stepped"},{"time":1.1333,"angle":-28.94},{"time":1.3333,"angle":24.92}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"hip":{"rotate":[{"time":0,"angle":0}],"translate":[{"time":0,"x":-34.51,"y":-78.62,"curve":[0.232,1,0.75,1]},{"time":0.2,"x":-34.51,"y":182.5,"curve":[0.232,0.48,0.598,0.79]},{"time":0.7666,"x":-34.51,"y":596.22,"curve":[0.329,0.17,0.66,0.21]},{"time":1.1333,"x":-34.51,"y":2.49},{"time":1.3333,"x":-34.51,"y":-78.62}],"scale":[{"time":0,"x":1,"y":1}]},"front_shin":{"rotate":[{"time":0,"angle":-90.62,"curve":[0.416,0.54,0.743,1]},{"time":0.2,"angle":-10.52,"curve":[0.644,0,0.75,1]},{"time":0.4333,"angle":-127.72},{"time":0.7333,"angle":-19.91},{"time":0.8333,"angle":-5.16},{"time":0.9333,"angle":-35.06},{"time":1.0333,"angle":-43.97},{"time":1.1333,"angle":-5.16},{"time":1.3333,"angle":-90.62}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":-0.79},{"time":0.0333,"angle":16.27},{"time":0.0666,"angle":23.52},{"time":0.1,"angle":21.02},{"time":0.1333,"angle":10.92},{"time":0.2,"angle":-38.45},{"time":0.4333,"angle":6.62},{"time":0.7333,"angle":-11.51},{"time":1.0333,"angle":-22.91},{"time":1.3333,"angle":-0.79}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":-12.77},{"time":0.2,"angle":17.05},{"time":0.4333,"angle":19.45},{"time":0.7333,"angle":2.67},{"time":1.0333,"angle":-28.49},{"time":1.3333,"angle":-12.77}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]},"gun":{"rotate":[{"time":0,"angle":6.18},{"time":0.2,"angle":30.81},{"time":0.4333,"angle":13.25},{"time":0.7333,"angle":14.98},{"time":0.7666,"angle":25.64},{"time":0.8,"angle":20.62},{"time":0.8666,"angle":64.52},{"time":1.0333,"angle":8.59},{"time":1.1333,"angle":64.52},{"time":1.3333,"angle":6.18}],"translate":[{"time":0,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1}]}}},"run":{"slots":{"front_fist":{"attachment":[{"time":0,"name":"front_fist_closed"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_grind"}]},"torso":{"attachment":[{"time":0,"name":"torso"}]}},"bones":{"front_thigh":{"rotate":[{"time":0,"angle":42.05,"curve":[0.195,0.86,0.75,1]},{"time":0.0666,"angle":46.07},{"time":0.1333,"angle":-20.28},{"time":0.2,"angle":-27.23},{"time":0.2666,"angle":-47.16},{"time":0.3333,"angle":-39.79},{"time":0.4,"angle":-25.86},{"time":0.4666,"angle":14.35},{"time":0.5333,"angle":55.62},{"time":0.6,"angle":69.65},{"time":0.6666,"angle":86.4},{"time":0.7333,"angle":65.87},{"time":0.8,"angle":42.05}],"translate":[{"time":0,"x":0,"y":0},{"time":0.0333,"x":-5.79,"y":11.15},{"time":0.0666,"x":-5.13,"y":11.55},{"time":0.1333,"x":-7.7,"y":8.98},{"time":0.5333,"x":-1.26,"y":3.83},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"torso":{"rotate":[{"time":0,"angle":-39.7},{"time":0.2,"angle":-57.29},{"time":0.4,"angle":-39.7},{"time":0.6,"angle":-57.29},{"time":0.8,"angle":-39.7}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.4,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_thigh":{"rotate":[{"time":0,"angle":-56.59},{"time":0.0666,"angle":-21.57},{"time":0.1333,"angle":27.95},{"time":0.2,"angle":42.42},{"time":0.2666,"angle":62.37},{"time":0.3333,"angle":45.42},{"time":0.4,"angle":15.67},{"time":0.4666,"angle":28.22},{"time":0.5333,"angle":-38.62},{"time":0.6,"angle":-53.26},{"time":0.6666,"angle":-79.31},{"time":0.7333,"angle":-86.47},{"time":0.8,"angle":-56.59}],"translate":[{"time":0,"x":0,"y":0},{"time":0.4,"x":-6.76,"y":-3.86},{"time":0.4333,"x":-15.85,"y":7.28},{"time":0.4666,"x":-13.04,"y":4.04},{"time":0.5,"x":-10.24,"y":7.11},{"time":0.5333,"x":-9.01,"y":-5.15},{"time":0.6666,"x":-23.18,"y":-2.57},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_shin":{"rotate":[{"time":0,"angle":-74},{"time":0.0666,"angle":-83.38},{"time":0.1333,"angle":-106.69},{"time":0.2,"angle":-66.01},{"time":0.2666,"angle":-55.22},{"time":0.3333,"angle":-24.8},{"time":0.4,"angle":18.44,"curve":[0.25,0,0.75,1]},{"time":0.4666,"angle":-56.65},{"time":0.5333,"angle":-11.94,"curve":[0.25,0,0.75,1]},{"time":0.6666,"angle":-41.26},{"time":0.7333,"angle":-43.6},{"time":0.8,"angle":-74}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-89.36},{"time":0.0666,"angle":-95.67},{"time":0.1333,"angle":-22},{"time":0.2,"angle":-316.04},{"time":0.2666,"angle":-274.94},{"time":0.3333,"angle":-273.74},{"time":0.4,"angle":-272.09},{"time":0.4666,"angle":-264.89},{"time":0.5333,"angle":-320.09},{"time":0.6,"angle":-50.83},{"time":0.6666,"angle":-81.72},{"time":0.7333,"angle":-83.92},{"time":0.8,"angle":-89.36}],"translate":[{"time":0,"x":6.24,"y":10.05},{"time":0.2666,"x":4.95,"y":-13.13},{"time":0.6,"x":-2.43,"y":1.94},{"time":0.8,"x":6.24,"y":10.05}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_bracer":{"rotate":[{"time":0,"angle":33.43},{"time":0.0666,"angle":20.53},{"time":0.1333,"angle":15.26},{"time":0.2,"angle":19.28},{"time":0.2666,"angle":22.62},{"time":0.3333,"angle":37.29},{"time":0.4,"angle":41.53},{"time":0.4666,"angle":31.73},{"time":0.5333,"angle":67.45},{"time":0.6666,"angle":39.77},{"time":0.7333,"angle":30.95},{"time":0.8,"angle":33.43}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_fist":{"rotate":[{"time":0,"angle":-19.75},{"time":0.0666,"angle":-37.11},{"time":0.1333,"angle":-50.79},{"time":0.2666,"angle":-12.69},{"time":0.3333,"angle":3.01},{"time":0.4333,"angle":12.05},{"time":0.5333,"angle":13.25},{"time":0.8,"angle":-19.75}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":68.68},{"time":0.0666,"angle":73.89},{"time":0.1333,"angle":-9.64},{"time":0.2,"angle":284.27},{"time":0.2666,"angle":283.29},{"time":0.3333,"angle":278.28},{"time":0.4,"angle":271.02},{"time":0.4666,"angle":263.2},{"time":0.5333,"angle":314.25},{"time":0.6,"angle":16.83},{"time":0.6666,"angle":70.35},{"time":0.7333,"angle":73.53},{"time":0.8,"angle":68.68}],"translate":[{"time":0,"x":-2.57,"y":-8.89},{"time":0.1333,"x":-4.68,"y":7.2},{"time":0.2,"x":21.73,"y":51.17},{"time":0.6,"x":4.33,"y":2.05},{"time":0.8,"x":-2.57,"y":-8.89}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_bracer":{"rotate":[{"time":0,"angle":31.04},{"time":0.0666,"angle":28.28},{"time":0.1333,"angle":49.36},{"time":0.2,"angle":59.37},{"time":0.2666,"angle":8.56},{"time":0.3333,"angle":9.38},{"time":0.4,"angle":11.51},{"time":0.4666,"angle":7.22},{"time":0.5333,"angle":-18.44},{"time":0.6,"angle":11.44},{"time":0.6666,"angle":9.99},{"time":0.7333,"angle":8.28},{"time":0.8,"angle":31.04}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"neck":{"rotate":[{"time":0,"angle":11.03},{"time":0.2,"angle":13.58},{"time":0.4,"angle":11.03},{"time":0.6,"angle":13.58},{"time":0.8,"angle":11.03}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.4,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"head":{"rotate":[{"time":0,"angle":11.03},{"time":0.1,"angle":12.34},{"time":0.2,"angle":25.55},{"time":0.4,"angle":11.03},{"time":0.5,"angle":12.34},{"time":0.6,"angle":25.55},{"time":0.8,"angle":11.03}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.4,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":-62.47,"y":-23.1},{"time":0.0666,"x":-62.47,"y":-38.51,"curve":[0.244,0.04,0.75,1]},{"time":0.2666,"x":-62.47,"y":22.28,"curve":[0.17,0.52,0.75,1]},{"time":0.4,"x":-62.47,"y":-23.1},{"time":0.4333,"x":-62.47,"y":-24.59},{"time":0.4666,"x":-62.47,"y":-43.29,"curve":[0.25,0,0.75,1]},{"time":0.6666,"x":-62.47,"y":22.28},{"time":0.8,"x":-62.47,"y":-23.1}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_shin":{"rotate":[{"time":0,"angle":0,"curve":[0.481,0.01,0.75,1]},{"time":0.0666,"angle":-64.42},{"time":0.1333,"angle":-20.59,"curve":[0.25,0,0.75,1]},{"time":0.2666,"angle":-62.51},{"time":0.3333,"angle":-79.74},{"time":0.4,"angle":-78.28},{"time":0.4666,"angle":-118.96,"curve":[0.93,0,0.952,0.95]},{"time":0.6,"angle":-88.95},{"time":0.6666,"angle":-79.09},{"time":0.7333,"angle":-47.77},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":0},{"time":0.0333,"angle":-21.13,"curve":[0.121,0.23,0.75,1]},{"time":0.0666,"angle":17.64},{"time":0.1,"angle":29.92},{"time":0.1333,"angle":16.44},{"time":0.2,"angle":-29.22},{"time":0.2666,"angle":-1.61},{"time":0.3333,"angle":-10.22},{"time":0.4666,"angle":-15.99},{"time":0.6,"angle":9.03},{"time":0.7333,"angle":17.32},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":0},{"time":0.0666,"angle":-12.04},{"time":0.1333,"angle":-0.87},{"time":0.2,"angle":25.81},{"time":0.2666,"angle":4.71},{"time":0.4,"angle":18.09,"curve":[0.281,0.73,0.75,1]},{"time":0.4333,"angle":-1.7},{"time":0.4666,"angle":27.12},{"time":0.5,"angle":38.83},{"time":0.5333,"angle":30.76},{"time":0.5666,"angle":-20.49},{"time":0.6,"angle":-30.8},{"time":0.6666,"angle":-1.31},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"gun":{"rotate":[{"time":0,"angle":0},{"time":0.1333,"angle":24.72},{"time":0.5,"angle":-11.87},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]}},"events":[{"time":0,"name":"footstep"},{"time":0.4,"name":"footstep","int":1}]},"shoot":{"slots":{"front_fist":{"attachment":[{"time":0.1333,"name":"front_fist_closed"},{"time":0.4,"name":"front_fist_open"}]},"mouth":{"attachment":[{"time":0.1333,"name":"mouth_grind"}]},"muzzle":{"attachment":[{"time":0.1333,"name":"muzzle"},{"time":0.2666,"name":null}],"color":[{"time":0.1333,"color":"ffffff00","curve":[0.118,0.99,0.75,1]},{"time":0.1666,"color":"ffffffff","curve":[0.821,0,0.909,0.89]},{"time":0.2666,"color":"ffffff00"}]}},"bones":{"front_fist":{"scale":[{"time":0.1333,"x":1,"y":1,"curve":"stepped"},{"time":0.4,"x":1,"y":1}]},"gunTip":{"translate":[{"time":0.1333,"x":0,"y":0},{"time":0.2,"x":20.93,"y":1.57}],"scale":[{"time":0.1333,"x":1,"y":1},{"time":0.2,"x":1.247,"y":1.516}]},"gun":{"rotate":[{"time":0,"angle":1.9}],"translate":[{"time":0,"x":7.95,"y":5.84,"curve":[0,0.3,0.678,1]},{"time":0.3,"x":-9.3,"y":-1.41},{"time":0.4,"x":0,"y":0}]},"rear_bracer":{"rotate":[{"time":0,"angle":-30.47}],"translate":[{"time":0,"x":0,"y":0,"curve":[0,0.3,0.678,1]},{"time":0.3,"x":-5.99,"y":-3.71},{"time":0.4,"x":0,"y":0}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":62.3}],"translate":[{"time":0,"x":0,"y":0,"curve":[0,0.3,0.678,1]},{"time":0.3,"x":2.81,"y":11.41},{"time":0.4,"x":0,"y":0}]}}},"test":{"slots":{"front_foot":{"color":[{"time":0.6666,"color":"ffffffff"},{"time":1.3333,"color":"ff0700ff"}]},"gun":{"color":[{"time":0,"color":"ffffffff","curve":"stepped"},{"time":0.6666,"color":"ffffffff"},{"time":1.3333,"color":"32ff00ff"}]},"rear_foot":{"color":[{"time":0.6666,"color":"ffffffff"},{"time":1.3333,"color":"ff0700ff"}]}},"bones":{"head":{"rotate":[{"time":0,"angle":0},{"time":0.3333,"angle":-20.72},{"time":0.6666,"angle":-32.41},{"time":1,"angle":-5.3},{"time":1.3333,"angle":24.96},{"time":1.6666,"angle":15.61},{"time":2,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":[0.172,0.37,0.574,0.73]},{"time":0.1666,"x":144.19,"y":-77.59,"curve":[0.372,0.61,0.765,1]},{"time":0.3333,"x":217.61,"y":-192.63,"curve":[0.282,0,0.624,0.31]},{"time":0.5,"x":181.21,"y":-365.66,"curve":[0.313,0.21,0.654,0.54]},{"time":0.6666,"x":20.09,"y":-500.4,"curve":[0.147,0.27,0.75,1]},{"time":0.8333,"x":-194.24,"y":-341.84},{"time":1,"x":-307.93,"y":-114},{"time":1.1666,"x":-330.38,"y":121.42,"curve":[0.25,0,0.764,0.48]},{"time":1.3333,"x":-240.42,"y":335.66,"curve":[0.229,0.37,0.58,0.73]},{"time":1.5,"x":-56.12,"y":288.06,"curve":[0.296,0.6,0.641,1]},{"time":1.6666,"x":87.63,"y":191.33,"curve":[0.238,0,0.626,0.39]},{"time":1.8333,"x":60.62,"y":95.14,"curve":[0.41,0.26,0.803,0.62]},{"time":2,"x":0,"y":0}]}},"drawOrder":[{"time":0.6666,"offsets":[{"slot":"head","offset":-9},{"slot":"eye","offset":-9},{"slot":"mouth","offset":-12},{"slot":"goggles","offset":-12}]},{"time":1.3333}],"events":[{"time":0,"name":"headPop","int":0,"float":0,"string":"pop.wav"},{"time":1,"name":"headBehind","int":7,"float":8,"string":"animate"},{"time":2,"name":"headAttach","int":0,"float":0,"string":"attach.wav"}]},"walk":{"slots":{"front_fist":{"attachment":[{"time":0,"name":"front_fist_closed"}]},"mouth":{"attachment":[{"time":0,"name":"mouth_smile"}]},"torso":{"attachment":[{"time":0,"name":"torso"}]}},"bones":{"front_thigh":{"rotate":[{"time":0,"angle":15.79},{"time":0.1,"angle":27.39},{"time":0.2,"angle":-7.94},{"time":0.3,"angle":-16.94},{"time":0.4,"angle":-28.62},{"time":0.5,"angle":-19.3},{"time":0.6,"angle":-3.08},{"time":0.7,"angle":29.51},{"time":0.8,"angle":15.79}],"translate":[{"time":0,"x":0,"y":0},{"time":0.4,"x":-1.18,"y":0.54},{"time":0.5,"x":0.11,"y":0.41},{"time":0.6,"x":9.48,"y":0.27},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.4,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_shin":{"rotate":[{"time":0,"angle":5.12},{"time":0.1,"angle":-20.87},{"time":0.2,"angle":13.37},{"time":0.3,"angle":15.98},{"time":0.4,"angle":5.94},{"time":0.5,"angle":-26.76},{"time":0.7,"angle":-55.44},{"time":0.8,"angle":5.12}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_thigh":{"rotate":[{"time":0,"angle":-34.38},{"time":0.1,"angle":-30.32},{"time":0.2,"angle":-37.22},{"time":0.3,"angle":20.73},{"time":0.4,"angle":8.69},{"time":0.5,"angle":12.16},{"time":0.6,"angle":-24.62},{"time":0.7,"angle":-27.26},{"time":0.8,"angle":-34.38}],"translate":[{"time":0,"x":0,"y":0},{"time":0.4,"x":4.08,"y":-9.53},{"time":0.5,"x":0,"y":0},{"time":0.7,"x":-21.14,"y":-9.6},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_shin":{"rotate":[{"time":0,"angle":14.26},{"time":0.1,"angle":-17.3},{"time":0.2,"angle":-12.67},{"time":0.3,"angle":-58.89},{"time":0.4,"angle":15.95},{"time":0.5,"angle":-9},{"time":0.6,"angle":26.06},{"time":0.7,"angle":21.85},{"time":0.8,"angle":14.26}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1},{"time":0.1,"x":0.951,"y":1},{"time":0.5,"x":0.975,"y":1},{"time":0.8,"x":1,"y":1}]},"rear_foot":{"rotate":[{"time":0,"angle":10.13},{"time":0.1,"angle":12.27},{"time":0.2,"angle":-2.94},{"time":0.3,"angle":6.29},{"time":0.4,"angle":13.45},{"time":0.5,"angle":-3.57},{"time":0.6,"angle":-0.97},{"time":0.7,"angle":2.97},{"time":0.8,"angle":10.13}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_upper_arm":{"rotate":[{"time":0,"angle":-23.74},{"time":0.4,"angle":-320.57},{"time":0.8,"angle":-23.74}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_upper_arm":{"rotate":[{"time":0,"angle":11.62},{"time":0.1,"angle":19.36},{"time":0.4,"angle":345.26},{"time":0.5,"angle":343.44},{"time":0.8,"angle":11.62}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"torso":{"rotate":[{"time":0,"angle":-12.11},{"time":0.1666,"angle":-17.16},{"time":0.4,"angle":-12.11},{"time":0.5666,"angle":-15.81},{"time":0.8,"angle":-12.11}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"neck":{"rotate":[{"time":0,"angle":1.41},{"time":0.2333,"angle":-3.04},{"time":0.4,"angle":1.41},{"time":0.6333,"angle":-3.04},{"time":0.8,"angle":1.41}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.4,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"head":{"rotate":[{"time":0,"angle":6.97},{"time":0.1666,"angle":8.02},{"time":0.2666,"angle":12.65},{"time":0.4,"angle":6.97},{"time":0.5666,"angle":8.02},{"time":0.6666,"angle":12.65},{"time":0.8,"angle":6.97}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.4,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"hip":{"rotate":[{"time":0,"angle":0,"curve":"stepped"},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":-23.93,"y":3.22,"curve":[0.518,0.03,0.807,0.61]},{"time":0.1,"x":-23.93,"y":-9.24,"curve":[0.135,0.33,0.601,0.99]},{"time":0.2,"x":-23.93,"y":4.35,"curve":[0.204,0.68,0.75,1]},{"time":0.3,"x":-23.93,"y":2.38,"curve":[0.25,0,0.75,1]},{"time":0.4,"x":-23.93,"y":-2.5,"curve":[0.692,0.01,0.75,1]},{"time":0.5,"x":-23.93,"y":-10.32,"curve":[0.235,0.77,0.75,1]},{"time":0.6,"x":-23.93,"y":4.35,"curve":[0.287,0.37,0.718,0.76]},{"time":0.7,"x":-23.93,"y":10.34,"curve":[0.615,0,0.75,1]},{"time":0.8,"x":-23.93,"y":3.22}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_bracer":{"rotate":[{"time":0,"angle":0},{"time":0.4,"angle":20.59},{"time":0.8,"angle":0}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_foot":{"rotate":[{"time":0,"angle":12.49},{"time":0.1,"angle":-8.34},{"time":0.2,"angle":-6.17},{"time":0.3,"angle":-0.75},{"time":0.3333,"angle":3.89},{"time":0.4,"angle":10.22},{"time":0.5,"angle":11.44},{"time":0.6,"angle":-0.33},{"time":0.7,"angle":0.15},{"time":0.8,"angle":12.49}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"rear_bracer":{"rotate":[{"time":0,"angle":3.58},{"time":0.1,"angle":5.51},{"time":0.4,"angle":-22.77},{"time":0.5,"angle":-9.65},{"time":0.8,"angle":3.58}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"front_fist":{"rotate":[{"time":0,"angle":-15.22},{"time":0.1,"angle":-51.4},{"time":0.4,"angle":-39.4},{"time":0.5,"angle":19.26},{"time":0.8,"angle":-15.22}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]},"gun":{"rotate":[{"time":0,"angle":-24.06,"curve":[0.25,0,0.75,1]},{"time":0.1,"angle":-10.94,"curve":[0.381,0.54,0.742,1]},{"time":0.4,"angle":25.34,"curve":[0.25,0,0.75,1]},{"time":0.6666,"angle":-27.47,"curve":[0.25,0,0.75,1]},{"time":0.8,"angle":-24.06}],"translate":[{"time":0,"x":0,"y":0,"curve":"stepped"},{"time":0.8,"x":0,"y":0}],"scale":[{"time":0,"x":1,"y":1,"curve":"stepped"},{"time":0.8,"x":1,"y":1}]}}}}} \ No newline at end of file diff --git a/spine-turbulenz/example/data/spineboy.png b/spine-turbulenz/example/data/spineboy.png index b8b493dfd171fea37d29596ef6a67725d8a2f36f..5606a0ce5561acd24ed0c8fe48f0130ace12a984 100644 GIT binary patch literal 235548 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

- - + +       Click above to change the animation (Spineboy) or skin (Goblins).

kv9cy~ZV6_C$+x5D2MUNKE@$lRM zavt|hCqPp5g2$(3a5cLOcQZaG0GM;6pS3;^_>q0|xB61q|B*fW%qd{YwE@JE^VJv^ zHc6nA+?VcQiYWWn2(WkpPt*JGGP#dn%cn?jd5(4(gUR<65<$8S9<1OQQ(evX8rR{|b9dW`Ne!wC65M{pi5O#H~>qnK;J$u|Wb zEIe@Z%AE9Y3)y2irYKLueiIdJz5#@+i* z@c#WfOqw*&;Rid6=y(6^wynFA_mr+m#(Q-i#99G3GOk(?4oG|RM~$4!2>Cc=P0Y|- zjMFFY!^*-fdc+9DzTdIlg{_)*DC#LaNTL9sR3QMUa%~7q0GNo;BQ=-{fjSWAWP)iL z^Ra0DChXpR2CrY(B04&Xy5eSiWxdmT^^hyyu=^%9PPp#oC>5yV*pz zbQyc~ZP0f3@e0FwIu#jF2~M3#-e(gM&zAOH~L zwn1KAd*r8eL}Fk!mc$-rFU#5hd|xTU>!}7@?&-qy=3=+V~zk% z03dW4v*BV=tAVjY$s(PKU#V{?%fI0vaAvymD$3mK8R$cUMR ztayS%LjIFxA~$&svJ>Ys0U#@G1$fcxkQTWO>7j;54L*U?fb&T4H$r;AZDa&KB6ta2 z;2T2TO~4EOh|Ca6WQTl4c91h6?4INsED#AckqCa81ov~f;XUUF zi2uN~5YQX~+Co5G2Pp)}_T;g&{eX%9X5R54V%KaQ`D4ZhvMHq{HoOD%>w5!Q)Cie6Gj9 z??EI&UWOt3Lm*UtKXE@x2ecnXE~N0DoD2wB#9kY%|885UcR zVYvzEAJ-uD<5HxXEJU*D9K@Mw6KD}=Am$?{2E>|;sSpIH7(m+u;%w!aAP{CL!yExr z2w-gj<{c64(3Z6aM7TFYuzeFI0#F20WC95OzpNz*0X3@&1{D8a|3w)9b(^;9^sLwD zNstp%|EZOqk~c~YDT$<^bX5rY-zEP-;=g`#DZ~}b?7prS^F;G zO1i7qYtpF$Y*GOs{*w*AfTud2#rBvA3B((&q#6hi*#NW>$uGuWs<;rm2;{^xcZ3$j1d z_P?*j|N6M5-0pOdJ@lO?%arpmB5*%!cRIiU1tvCQ<+O%fmeqAp@^ksTr6~W4C zu)bGMjBeEm2FvG?b2;~aEC8_m_4(Kcp5}WAqPhJNA^rhYzdpE-3Io(JK*a&-IAE~l zZu_bTVe?dM*Cw~`*eg$6V=WuwN0-t)2C)jff#F?N&Hrd0RYd^!U=xAhs4Sc~aSDTn zOv9Q@m#}5mP397ykEa3vCG{QwDF~0tMPgbW(lU!sTvCp~gmBJXv>z+hoyX(1o+1K3 z5(2{05gwC?oV*g4n3$9{YSd`!Px$z%G^pP=MN$p`3+3xKT&yCmR#B0s)%fu$GoYop z7{?Fagq=-5_OWBfz9$FZP}^2rD#j2Ba|qb_`VOl`0GPxC0J=`v3c&IQrY*#hg%{+0F4Rc$$_+^E+o+@J)$-V9dBUtD)2-b(i*zboW4z4u^TZl#C8 z{YGQSs*^1IaqZ^Ixb?)5z1Pu>e5v41k6b1c0U@<`*zc1cA#5nO}m`(8X-zUwY&M z@M7kJ7dH>tae6ESFf)D;vJ#ddD|QVsV>W>owF7Bk2ap$5$g}(d*&mM})9fI4CVP-(vJI&p^pRq`7Rkm-kz~9Gi60gq!E_Gi z5cn`12`1B!V5W*Vb7jO^j6j^#FvMC9K_vOC(kTMe9S~~Kg9!nF0!Kg)Z40n&jxgt@ z2(WI<+yGJ5^_e4p3Igu#br{(Ho3&_rfRuz_K&h{V|NRUhpmFmyV>|R6oJPq%*V8|r zRgtIfzbfb4g8&|cLC;&XAL5@#EiF@nTt(!FO*ws=_eJ0Be zpbilx;*fRG_jU62Gfa%A>`u6YK4Ygu)oapPH1LjA!9AMRX~>B3kL>^dUIBpOq}+5i z9pHhSI_%^}BSLm?MMeKxp#A=7vU0GL9gUN+nw9$f>FBy`{iZ{%c~?H!Pd|bYKjD;s zp0Gi#Sy$|rntrn}~q0G(^Q`AtgN@LBYZ3CN0OR%QQ2<#5NojPBHlG76*6#WCVt%BQ%=FgaX68 z`%-FfV_tuF(MC$D*2A`~x>m^o5JGXViU=v^L;&H4J~|bEwgBwibsn#u+2QW(heyA) z!dkWJJnht8M&bklDmYZEYX~O*P{+X-M*gQlg^+(LI?$1XvvgKs-RiwKu=fhgJ~+d{ z!JhWsPxy+1>(HXQiu~IRbz#&{hgI*X0I;t9Xq<1Xj%UrZ@VMCwTyCNR-3iOEcFPs4 z+He6U&b=k?ODq#~UYiGDyy|@HCuILl!`ax{NfWwi%b_`E3q~l6heD%Hm{Vsk4mD9j z2dSpC@X_hNhVXx*;xARrZBpOpJ(dz{1E~9z8~{-lKz)(wzoZbr=9R|)3fcgGcF51~ zz;Xbn2*BpCJNHMBl_CP(kA~+t3dWCb$9 zmLolCFgArO8)a=$TAwp2`9up z>yWU`8p%Z(-E2O_TagEMy87mG94|EY5xg4Ycm29@IJi<@8cU}n7u%T=~JW| zKLGFjU1YqyhSWEgkpB7{(%$|_t{+9xyMsu6Ye<$mkn(mb65nn_;)m5pG@p+o>zPQl zn~Ef-$w+WkN1UAsq8&%Fae|R{1DS&*#IY~J9Apq+-xWU2oe^x`5uTshAi%LDgRgH3 zLj0S-*|{lvd>U1N3Ijq=fq*WbJ*&ljoawTfc7dPuUDKkI^pl<=)giS157Ak{NVzT{ zbJPK#L5N*-J>=gc{)@I?!rB9Z8S!_;g5vJ73h}=Y7yeIy<|eRI{+rcW{pkb%Iu4Mw zP6&_Z_%-`0#voE>g)lsD=8604agvVjD8Z<~NS;4UUnef%8tV!5gR*Q$3FR4Sk-ePx;AWG zT(f4)4`e_4*7*8(qknRt*7ciof`U%x;W#KiyFvgE?w6!C0G0(H2m`!N@M`cRm@BBk zW2g!ehK>5V05ED)weA2K49Kq2mI*Q9FBD5+WC!87>;$%LyF^Ac9wg*nPg)rbYt_rE z!Odm-9^EUs0oL}Efm*wE(3~(DncuY?RVw3O-|rx6X#`rW zMF2T>3bfAs9}xij$@YqmYg-{LqX3QR8(9@!Zs2$f9j<}RJ8$BxMX*Hj&sqR%BaxPo zi&d-FV}`B)A@i4U_n9-Z{|g^u?HmIapG5cz1c2!9c}{Y+ZYgJcgA^JU%%^ zGXcOOfD-^B;s|U`IA1nnhokV$&rz+Dga1#mSxHON{Ztvk#d>?FhNBN zQzz>|S9=9E>mR|@zh2}1ou~HSYNe`Mr+#3!&iy1h4&?ifsN?`(A%G*fDFk#BA?^L2 zM94pN9jsio1N-(|#QD=t;b<3t4EGW#9S7>E;dXsp93Hm=D-F2uk2fDVu+|SM=-hthf{_DMalYO(oNYS?6DBXlD)RoV z-f$5Mmmb2zNxGOZV=fSmII)k1SdeFue1O( zmyiR{mVpWY1sPqCnIw&rFc~EH^g+0T9D=Qfz~5vPd|r)*=kv+%c%}u9N3-Ddcpf4C zixK#G83NxdC**%M;;i%uiQNL8mjQADb|F955cy#TQ4o9rxqj!6>wgwGK}V4tasa%* zJp?tNB+7Djj5oCn_310XG zWQ1J ze~#o=kC62G9#Y?2XW~H0`_o7@If`_fUC4CRN0!%evJH#K=VvZb{bnKAM-y>g8i?^y zLzJg7B0a_+%wsr$J%=E`YY>9m<>BYi4?b>v;O){Ie(o~x@{)$Tdsn!+c7dm7N3v`W z7nfGBvui=_YtCSA-vl2&eh~<0O0m#6@I@4ms;*7oUseBGwv=txM?POxO@~?kX#n7` zx$77)X9V;3-6|D&dVSpLy=;bj_2i$k`cK($PK3PPsoZZ)Zd2cUveIOM|F5h6)KX7L z^ojfIc(L((tf!tM`kMQ$lHob^sH=crw_H^hKviKthmv^yX<1D^4F@!n z9g9#|1tiPLBVATb#OmLl5&vA-eh8LT#2wj*?D;|)J9RP~8K{T3-NvAC?FO`>ak0ja zN&1&`=|bSsyiOx#|KCT}Z73oD2m=rIOK<@kmD9rI0n^w>K5vsirf69-?_*U(i2tdg{>;LcC6|&tr!_}C!W!itcG9F~T_#bf$ zDu4vq_9CxA&az;+ zvC4e40>I};B&K9w&b)=tTYMOswqM6PF~Pu+5PN6u1o(xfAvz%o**STbJ9iFd=x$?< zfvb0IVBr`;5CuE;ICutf0zfLS0Jfj)(OpL7`cM4WwyIgP=Eu(MdqL7zKq?Fjp)LT$ z@f8BVm{F54QB4=qr!Hawz)JFae)P~aym)3(C?MO_{^m5O-?*TO{RVJ0R|oQd->$`WvW?kO9G3-4JR?u zPgDGFH=2#j^~RuggAUNvn1`iX_F|yIP%NuE1lL;YVbl7*u$qwj>-X*O(ky`4|8-|= z!P5FlxZ7YhG~11U?vevozvT+nZN3b>wl3h>}KXcuypG_D7`i0EB&3 zK(P5J_?fD}@2wjA-%mr}do2Wfn1wL&1&FdZ@=fL%3F?=tTBl0Dm_1V)ZJ|+J7@dU9zZWQMNU?M<>1PCktUm^cIA^G>M zDgubQ0;&iBo?n~*X)Xj#1dakYh_nqjaBTt%4qrg`Cz<99(DnfvE<=E33(!Ep1PgBD zVS+gy2_HGci^80?M3j@qm6PX`A<4EBDfT5~9mPm-Dkj@fL{Lb!s{rY)c}RE9MY>xK zxh)$h)|p5!;UVsII^tdsJWC@;B}hT+(`14qf<%IN#5|2d%#&EeK8YcSB-g{qZNZ3r z=1(5)jrf=Dh=1XXgqQY6d}WP<*XBrm{~oF4&yjBZ06e>E$n`pl{J^)76@&(kg`eL@1o{kz zzyDA|>=oecJ(%1!fDrq>OdxP~mw}5*cQ`wD7N8xutu;9rY0jJjR2Xn~Z%F>GUm*sF zvZWpwh2t6;eU&&cURB=N9HyVB=}Q1Kg)eMejn->^ILT4u}kE0H;y2^LxUD9^?lDz zApcAN5F!0Svd=+yn~s3QbN3&YoxvsqypkQy66(EVl~{j26$Bz>2b1gMBtdqZAi4fa zC7XuVEt64&LW>@#BUPJPJ{Q!eew@*dxX|O5E7Q0gv-=y0*#CD|aRF2n0glOWc>q)d zcsNJ{?-VA&Qc;z)1JKC;bUYyMThjr=z$*U|@)2lT#REeA_lO)XA^D%yX(;N|s*@$C z{Qs_Oi&p)u57ZvCOmALK4b`AAdp6^AOeF4>^KsbUi{E>inhAMGuYdFU^=j8vYf!6} zuFO!m-(rHq%DBxML1jGWNA$XfIK9P?UOiz({_kuQX5h2ZOoZxeLI@%M6!EhRa8_sj^@5`@LnOCHhc~!0jV3YBZ6t*G5FXxpk0C>b zsC;ET+AW&3Ef;S$pdy39fUy`VSO>HI4^wA7|ElA3*w{b1F74?{Fk5#u6C4igy~JDx zx37OhL|8H|T)033a@$q2-j4NZ*7iK#XgU)BC}z|n>+U`PJ<0F$JL_QBxF_S~TNkK} zQHOH9?$|$IIrP__$BOl*v26JfXb+o>MU9nkyTL5%XgC3b2dO}R+jXqnc!`At4p*Ir z<1#YHnl&4)7w+T16FV$jzpuPa+m5fu`g{CG3BM$wFX8s@$pMfw60o+I2q3BdUs4W$ zxC21E`rk}I{#%QX|F%p3fKUKP?1rr9?nn*ng`|M~h;$jq?A2k`!x8dnG=eS1BgAqt z!mOqv)?p5koCxvqSdSe49mtP7grfMfC``GA65d0UX1_s6nk9+|LoG?R1V8-^%2OYs zJmEIVqAsH#^c;A;Cz0lT5UIX9I1wOn9V7o7)*&-)BQj&Rf)}$3nKAppi#m>sh%@Pli_|L2X229!|yUD0Hg>70D%L5 z3IKT`0zd^MRQ`D)dy z-atuzyg3kO2E=|KFy0h}A)hl~fTTeoii=AC-PGxD#l%ccL5ABAaqE>&2&CmWop zAo`R{QoH#V;=WbP?!Ofi)*WJ*0iwj8RkO)+D50fk^uoS#HlA+r@7{mm@uLEO@+vND zaV$B$R6v=w_cFVk%Le!Z)P7G%_lyJASj#{q@-L|VQ*nh0R^0YghX!*DoZ#9#Gz~AY z9)5b?l%41K?PDz`kl) z0jLw;$^b4D@X?^jOa!n{RD;vd@d#2Hi`ZeKku-c1QiqR3+K7=zAHj(Nyb;5z3IIcg zRw4h?_8%xa1lMIJRSHL>!pwfT*-&mP2dSD;G_-8SZ}MO1#IL5>`NO>wRxUIiynKGi zq)X)g==>2(x_As*9BnZBt`YibX=Ha-89DQxe(m>e+;RWLe%gFX`7!(}YgZ@jIdbH; z2=L9yxXnwljQ*#U@%&(0%v4v#VQD2e4$*f3)%k;779n8~P*%|(WZnn|Pd={_7D&hYIe5jxH#8LqDS6~{ zE)2c<$Yb4>t1#Gen+pqch-LzSy+<6pgHjL_nSs3g5^UMBt+00O+T(umN3~rusNK&KG&kx_smA=SeLZ#*y!`ZmlLKkvvdSiwDDQw&@ms))*@?`Uec(kM;{~0N}65BLbZ%SX`7as*r>Fe*d9^)mR~D24x>QUu;FM$nTYguW_7_=f^STjn9&E*DA8 zIb=QA1X)OR&qS&R4{4qmNcTx6+mlMJCn3!(5h;%GNckLx6kCGNF-UiaLYi|VGF&2% z;TlR1LJ))uw?MM=BTFB$^ajt>13Y(U@I392>19jy(~=N zb{Bm|2q@IWaK z0B65cmKV{=?^Y%VP-3bh-sex}&>LQ6cJpC#*0Rj) zE*;01gWJ$+np&aKrq$bZpB+y3p!c!UFt@0@{r^EP-VuK@=|Z8!{{g%B-$gwNcJh?!dusl5q0?R!9N z4>>W!ru-KWe?Gw{1Y7m_#%8u@(zJC@ z`wl%ZX54ISG`N8WFWqqViYcx?_*})>Z)_9Jg8EENO)z%c9IV-Rg*?`*N?_n8a++!H z84ur(RHSC)!^z1BGQ9>tf7=ZvFwm6wS7!dKRltEf&L=npAyGUO7L`F;duBX!C;a4( zX3d&4YnilfD_u1VunR}fhYE54m;f+R18Ng=7%|tLu@rM>ufZa{P1wET4?MX4_)!hX z87!S^OV#nAf`TNGfdvi@QfB0T=w2G^Z?p_VlID)me#obJk(i@?F@w z`#jG5`3Odr-XJ+C9s2s4-M_Mb1A5nL!+X+rJ~ZpfqHC{#Si9o}j?FlNiw!g|L{ zKKWOSd9-p*#^d+yP*$CaUX9vgZrwrHT5mKK)K`RbtFD;4csKSOdQ3ha*RWyhHH=W1 zg@awYAWuyd*|TROf8Rb7UA~OcKTje0{7u+CwJcK@t-Aj|YWe?`^1Lpr8{$7ZhenBP*o`A>X}_9@Q7gzVe9k z8-Q4^p-Au=iFogEtnWI_cOH1bYY1`Ph0MtF$RMmUBkD7Go)_{`LQ$9zi;~P_lx3x& zJSzz$Suq45C{FiBL991&ecX}p*%gWA=16uhLR!E+qy%k4YUoDrqSt;A0Ae`-AcN)r zgdHQq|1{D9FC#VZCQ|$#A=UpC()>OUd_t;^9g;oVkl?^M05}048*ZnH;B&DI;ZOL? zCQt49IT2g{ps4*nTg3LCDc zFr<2flItNzb`L_TCn5R1{^Yp%ATQbz`SGqONN`3$k|PQd9mvuSg(a}*|- z5g4N&`8A4?UXaH=B}D!K@}qAN+(2Q(RTRZuL`m!!lqQ@aME?j`?nimtPLwAYpd>~g zMbYb#AGI2pp-af;Vm?xXXCX0A3-Liy5$mUp@PP3M^&N{~|542HAL6Y<2)`n$^!xh{ zWR-qj-@b(S_kx>S4|sZZV}#$wr!&h0@bPI&hc6b|ObpUo2&Gx8SuZ#vd9>0`NF43a7gqi$d8cFMgv6EheN&f!knC3q ztRqB}l2&1bSV3#amxOxq7+TpL{jKzWx}F7_8QGk;`2<^ErFMg_Ja_oK^%y*TF%vbE z$PXPIZ8&oNCIM+RVAX4eB?iBi@Y9}svQKp1#tQ-xX~mwoDwc4fh0qy6_n96mdjCkW zzcgr%3Nds)sH1{A-ghgF1gx$-qjHABzAx`Fc^}5D+FQ};F+y)6#){@UknN%G6%`w} zsSwwgpd;z{)7PG6_!rv`dY!o#c3(t?-UH1=K74fKPhOjPKPLm=Ya)PnTY#iYfIR}T zZ^+2Mb``OJZu74GGclmKG^A?Qq=7+~2%7w&Q-fCIpWKTOXl!I76m_fJ&)ovIgHXUY zAVCB;B(H^Y1E%BFpeYqj05b(O))L@2WIVivsvvNvG7|&Bl*S-x*cc=aABl|Ng!m61 zj?7`hH~~OTj^!pK$_{{^>`+`5j71bB|Ayp!9?-lS`I4$hCnJpgO)INjls2xII_}7> zvdM(-Pds;o;4r3KKMis_nsx1r(YrVOrEC4H@jre2KF!*7pV@Ux*lqc#$nDh=CHwbd zk%7UVzlE58RT<}f51B2AaK!2Tn<3Y%H4aG+#ixPO;Gm=nhw+PWRdF&jyY|NFdDFq8 zqwvD)ene&b=j?wNJuk76CHuaatlyI?^M3;Ir%sDRf+GmD?Dn0THmXtMW^B|boMpUH#o04TtUJ-Wg+>1F2_G8uh^UMM8!6uB6Np1{a6h7I1 z5dbo>3i0mUJM@zq&B)`e#||*I4#PXkU?u?2Rso;jR5k*zq>PUVs;YDO*}snxhS1liq2p99{m1P{lEi?&k^C>70U%oauU$<5pwIyz zdi`q|0HSRG;-diDuu*`>Yma;;0CXngzZ>TONa=yJ_})kl?Z;dI$wA~SB2WP-z9R_v zpMYfF>4dQB5z?%Wtk5G!34K6_yEQVx{E!_Tg}kIhLijRJ%F6*iI}iMvJd|fct>NGlZp!V&l|5gr$^;CiAEUT0|%KA-i( zQ&LR{Kdb!H0KhO2tG^iWuSEKNMMC|&L=yhR;UQ+-7m|D7NI)k+55K^=&wBR-pnuc* z=;MTfKtD4dUQ+^_b;YpRSP0u4`LNrc1E)W-;C?9`-gi zO;Ma@jMAL9D9wFEmd{bldyEp^Jrt+jL`jMfijuCNB<=zs{HIYIaT3MhM^H@O@6t#^ zlt%1CY19rBg>FPq$XetFtwK(~Qt}=x0?&UgSvMj5UQ-a~F$qzw$_RHGg;4il2y{~5 z0sx)306-7Np73$$&H@01;eSGFKPCIr-cS4csl`7yxCyKB3kkol(*LF3U;O|0hfD)# z(7eT8Jx5LAR|o(TXECx&iJq=-lp7(3G{{d#7Ag7D*m;g4umsfZEgS<^Ijx>c_ow$W zB1#A(CEqk$aHgQ&oRZ#eRjBFxlxR-bd7hD6dYy*N(fjFjTIK#ac{d=B--Llv=hKmP z=r0I5q>cyq$#dE5gQqWI;=m|D_4>z&0W{Hn2MbE1#F~mGv?@*sKXpD(7X@`%&|Cys zA?KVFTPnyl6;4EtEhXQhL#tr|VWR@c@uxWgbUpNM(ft-5$w&pD zapZW@_kbh!2Gx#j9JADb?dJ$`Qb9q53+gmz-+RD4k&hp>FXy+Y+X(vzG5nQd0KcbA zKqv$l3d8`>d;vPOU{1Hu=-jXsYSyfoLH2|8csBl3=K^(W)R3!HQ!2J)y(R)jgKo9t zf47*6VZWSY5rE>j{0#gxP?O~X(CGm06(-_?f;vnU)$vh54c3Yi;4ox7%LxcjQbx=$ z>IN8rtYO2DqA&!Za*FUF#NS+Y3@*q{sTlLOn@vWTjqUxl(63qNazg&y$Zqtfm8;)W zvg)Phq;Z<6r}map@=ry8$(K)}pUzaYSCGdDgS8mGam5+MmAcJ(PgCzZ`ND?39hxXz zL%O~~iyl``$I<9o-lXh!~!Y+I0*%S*esOu0aaCXTG{US zD|Ey9^%^D$tMQ`f)qN1N?bBp_I+kxV69BX@W%4{0$~T)3^9AJGY>w_ayn6W||Jbop zW5iy&e#81rKJ@5X`L(GNKw+RV>-iUwe;WL!JbEg|t4wEY22&>MVTR@+=*(C~UVk+U z09;1S5jL$q48vX21@Hg?0m0-k+D6swSp6Ec7LBjn6VgpOVb(%JY}$DfS34}gwFcU_ z(^LyjnrUK2!(Px`uo||miRAr=VecDl{dn@;2RENM zAwFOblKh7v(Ps=H-|7U~NDo?!OhVSvLe3yLn2_*LJ7h-rBRe)0d5NhgN+pCps{s7G zBJlHz!Otlq3_G8&=p2-%lKZ10kssiWJnwhN@izj`?-+SaLi9tnG65hxasx7=HX$Q& zE7GX|5OM%%fv1oha30A%*O26W4@sWSk>v4?kWh0Zd)Oe^)d@*Xo=EuYk0`Tn1U*cI z=lLwS9xH_BA7u!>#bK2faE)hK|uJ~xIYUn$)Bb6)3p9~1aGLi*S7;k3FOPAkh{zq}lumlE>7xD3{dN@2CA1XfFmVYR#n zR_pR%V~`E|0~tf0tB?QyfB;EEK~!-0GX$Si@u_I==I$&CW^qh#N{Bm4wm zesmNdP5GxpKOo>sWuJno=yd$wm%e^UA)P<#B)MB_={}jV>YVkThW`ziqK84#7O;vl z?F$zM0MaTmOQRQ9%!Q<$_K&lWKM6DBDe0qg;=fd(4WOX4v?A1w5?6I<|CdA}D=hJQ zxCsIR*8%M*rxkL#)ZBN4Rk`UpzH77|!H}6N1WpIt3daM@JfM&zKUVUS=0IV_64s_L z`Ui*sl=M&8eF4)C7(rVwTCd_*3DWavxF0PL`3`JWRm}!i52vxG`{Q#iW1-18Iu@ zH!;9eK^?Y=s_+@Aj7X)?h#oo;ZUaZdT6Q#E$d1P;S<|WE~EWRh{ z|DRUIfBwGH^OyjO{$!s|l5O)72o!&l_}jQ3$Yw6w-xGdu;NLh>q-xcwwM@FZe9+R> zhuAo{%eQQB{@N!zeB}<$z*I!Xr}O76SW~uS)hVpj{|g6>KZCVvJgfdwOaBA%xF_$t zVEQ?nrTbHBKehFrIB^2wCoaHt!@Eo0 z1&6K$vGJpT^+k3GSTeRpACcn51X zUPSM1{cyiqHxvyWg3PgFku_xsa+fbhv8gHeSy?E&Z~;Z+Z|@s7&{bCU?teyI{Qfb3 z;_U!ZUzrFXO8l#H0*HqIHjoei*sz)qz-D40fNdD^@&pqA1mr)9kpHxZ-bi5NUlwt` z@2ZBkU~FqMm>kXNIgKXJjXa5+or%H47!# zg(%A}0l%Oa<+(*D&&o$RFAK%#i6|tGD-3f&QSfWz2VDiv|0GiV4cSzHw6IM~1fT*y zS|n`?FeLXKMw0JoLOd^%ZMua7*T+b3d4oh}6C^rWA<5Ye$&N0BFnb}%; zj-)3G6Zr+H{EX<^a!9ci{4HwTHzq{>4G{Ajh<*%25ken%k0bU`kI3!MxcliyKl*su z<4?!@QK5j|NA3P0e-ZM30`T3(ho=D_uKIjN`t6pK!*(Gd{R;@`Ur-9``2>0d^XRe! zHuH;Nxu6i1OY>m0J`=XvQ{iwp9_|+-;CD9|A+LN9@zDb@6>PspnP{xf8PQPRPFN3go#gLbj70vK{9l!)X@M?X{6+Hw~%w z8svCSB*$|+d4ItIt2T`AhB@tKFcHL2u=$d|5&7KMViUS&o4k^SJSH z6_w@NB82rWyN_1XnMlAY`Bi7tQ<6AV&>~P#K_<^p)LIHHnk_(|$D9Q_t5m6JrI`|c zVV`-$Bm(kyZtUHCMvlj?-Ou{pzb6xb64qgJ)yNQ=@rN7@J-A(V8o6k?UkpfWalThPu+8oi5Rp;e~R$9 zh>0%TM1@<-#{YHlzm+)>=sKvY;(N$H6>8{q(ZIhdJ^$5A78p8nC3=sZ%#I;-lhDsg z+g|c}MLvV02~wNYZN%ThD%iR|tjhmmM1aZxf&1m>U{%kFT-CouO#n#VtEE%L;w*d02Krn1Q`KxTKH3b1}?}?XITL^2ToyG0dEIS z#3uz+SP*;|q=v`x>iA1`3VWWA{O=MZ{jcpk8MM`dZ2HSzWQYBqzDQ3PJxO83g3N(S z<~(VyAisXd>O~P#Z=8XW{&Fa;T8Ji{+GF^pl{lLigMIEU=sQz0vQfL%XWJ;qUXq(W z^~2beD_ln|To5v1(L#%Eg9pUH-C~-Gs;{tzHW&D@6N6;w>0oJR@_Sz7nR}}-8LxM*h=Sr^M zM4;6*a{UkZTmQ)KR2szEzfq$W$CO5lkC?Y`L$>CO#bsM|{E72MZ?ade+x3@%(ztum zv{v)iZn}h>2kzs}GbctIKhd#%PBC0xIc)*(h(}~>Cir|{ZEJ1{ z0C}9XODuB$ghpqgpr{lsu5RepPxjg`64z?glB#vPU8^nH3#-usS{?7scbyi}|>@`eiSiE2}RxaC#Rm*qd<#SWm**Ro4 zZQ687wT`#ib$1L_n1J=WZsF)8LtL+~1*1kYnE-IBi53$99yFVd*DW=%yUAdT?%EHl zwj9J0V=ufg@xzUW4mf@30}h>hjy;DSVfnh#7~E$Fj5>8h-hcrtz&1-o1=-W5BX`Xj zlsGtmpO=Tiix*M2d^wzN-$q+$>8t;7+kbWUiT4Fdm=|8FnhXF*L4e`{Ks^xwprHf@ zfOrl-Gcf_66_DEoxw&mQ>wkJD@FKb*iH-pD?}L&m3g?P?}fBP?D2} z;;bx`WTvAyJqd*g(Z~<>LP5Y=6b2Z9=X(NazI%}pXut#jCIW*C#2ZB6Qb>lMC%|X0E9eAfcHfnTn-n&J!)moa{n_@{bu6@J!p?<64kB4j_w{>#`sn!GO&f>C@FNdhE_ zRQ(x|e<`r>6Ve}X3kWBiIs7`oO#&6D zZ{;fgc1tPoFM%Z``tyqz*|(yYPoPJL|GWZN=;h(lqAXY}PlM&U1lVqmfYXrxcwO{F z;C&~AzqUcFnK?P0#^AZXL6#?Zf4v?d&-WpD&nWJp(Em2_{cfSq?>dTnuc9RI3d%w* z5~5ED|DPxiB7{HS7)pH(pwxRWS?(r8e;W$iHW92xuFGoVI4(t|-9qr}2;u)c6X|wZ zNVC;Msx2Y>Hfl(=9FHU`Wh7XQLY&nwL|ZB#%6t$aEe0UQqCX-mdL#N{cZ7fJ!fbyb z?^`3zu_YotHDjbdkq~|w78EAv-4_BCc7E~y#qSdIe(hLT2~~ZeBVg*Ti&d=WLXtk?;0?|pAVLyp&;AhdBSWuK0#BbyrwoYpsMG6IG@zB@ zipsa3RX|5DPhQyD&cgf_eFyOuB;?boKCAMJ?CbYoCTkm@VgP*&ZqEHba0Cc)5-5S! zG`w6XB$1}+Q({etJ+1Onn?JSW3y&{7rjxh*SNKY3rO>&dS)WndXMW{?}* z_mxmZfeVASDd?Vjz#Vr9tpSn+mmTPhQ`|C+7qh;O3s8v&{uu+}*cN)}a@SjXgry~aQ6 zf<5_MHSgYa!?>fn&})h+`e;qY^g9sh~(VmQMV^lC;(HyAk+lIaFt~eeUj?;0`xKmb!>m{Z5E0c%qpFWkVtX&=3US4)b z4X$0~x846gQW>{Cfgl?{eyAP4#N`8WO&%iG_yLNY-h)qj{)4_s{+$Wtu&D(9t}^~> z_nmHU5ILV>ZUt*&L3kpareKHws|g6O{#C70(gN4njz$fdoNn2s{j3^X+m^OW_x|~7 z^v|;vfZc~4;OOa>IC<_Z3lDr@>|HA*@QzrSngQ3hU3; zVF7*9r!B%vt>rA8pAvIgnSb@tBw^Y#Z3W?rwrbh#aF-6f`QqvS6mtDXFlPaE6;NSe zobq(2lGmQ7s>@moD*FFv03cb%f_eJP0kC4}b}Z7{0%s>L+`4(21|?P(o-3o&ca+oW z&6luq*;!m`J{v|2bt(ja8w59-Xyb0v8F<)S6UMEk;YFKqSkXZigA_(!*6Q6j@aGGh zzG9C3$6sRl{5|N?Nd~tF`7e@}XQOK~m6VV*emt_ZwUM`ZGm0KRCbS}i%K})j0v6Y= zqj9@-7yj#70K`QAvHQN31yEap6F@ZmUs4dDupOYG2pUUh0T7=6(29_MP5{VDZI6ub zE=UTJMjRpkQI35PVJnX?Lb8HPM~xXnp$DGNTI7Uo zLr&B&WT#v~Zq`HOXB!jPp)kuA1zFK3%1J|Mel|)datZOzNkVZ}JPOm|kRKg|9B*Ib zd%s6+z!jwX9!IjTAyNXiAvJg-Cjx|QMrz;=B>C+}g4apJyIe-R;~ga0Jtw5!n2>M_ zLi#@=<+C$V?c9<2*$2rs{)Bu7BhEAeVb9{>{Z|H@59Pthums*G%Mo^mBjU7ApAvs6 z0%XzZzkvLwklT}8IpUvWM;=R4_H8O7fm-n`I6HnEt;(ASto-D9JSF&_IMBR-1amQ% zaaH};w?NDbj@*ZnZ3-jgKlB>GRW8Ucgpm7?OXT_`j_A|d!svZQ0$iqHf8bbE#tvzNhY~10~U+YV6ij_R;yxR zwJsbsTm9j<&kb%T?csar6N2s;Bl`I(B$+)S#QYBO+-@M>{W6MtE~CWvB1-(vk>zQ! zJdI+%Qz-U5NeDhA`$tghMF_voeiVD|MS;h5@7Xj$@~0q~`~XoTeNrLs(HL@!MwqZh_N?L`W88v}{iaBK&k=uW0Yrdkpk^(R|G8>Oe|7)o-y;V8T~|PZ#?5ASQyg0= zO#Y`BpfQgHzfqe!9pNU4{EHIKs^tF`BcZGUEfzjUtLK9?7h&SoQxznZ2HCM30Rf?; zf78miFgTEn4J3baw{zr|ji{rKmq0>=cKtDer2jF3%mI0gxs1gBeez$`86Y=tHiqi1 zBHJvOEbyHI0L@RJA&Hc9Q_DRi_^Rs<3qtpHej(foxu8Slk~msX<*Ii8e2w^vCfyr~SoZf+x<2!}CJcx^@BguP7I0Ce?fXYcLQD{( zyF)ruL{S72m9V=NQLq!cyJO8=SJzlq*IE-rx{;FZ5~M?5uK)8q!?4JLy8G^b*Wdd( zpU>@?IWu$S%$Z?4-|N2a`)&=fqvS0hDj-bZzp}HSn2)Kftk}PNUOk8WvDa8iYW`^f zU~MY_fF}ZM_(%Zw_&QGn*vbW-1;4`JZ;HPCQ!gvvlW4BG31A;))N*y(+k^wR|l zCD%utIe=vWzBrJdha<)BuqreFhcnaQedl(Kpoqv*vRSz=afuD;#@9tkK)|i*H{s^* z&x|MdzQEg;??`aK;Quq3@iTnt z)uTs`iR#v^$6B)OZvXK6n%$+dB&W3iV5HxNH2`D{`kJ!ztp$Mb1kR^UT0-F58xQV1 zuk`WRGN$sX6BC79_udRxY{h7Zp!}CI8ET6D*}wcc~%NA z3fH;~#~mq01oj#PKh^%&)k_Owda1(6)E>5EA7^*#jzmojRO#!Zm`<%RGGbF~N(XT# z093ACjhYiDSOdVyl`B!RU;(b5KHb14D7fz5{{i{)BLUkI0|Z)yP#YpZO9y~(D;Gdp zeE>SQ-2>Y zMO{@MK2)WXh(ldv6l&f@qaq;&?*oES7I+))BaY%-#8%`-twF&XFXU4JAYloL;>q=x zHOM9RWd|QbcECC0_+LYw-yH(}Px0>6YXXxYDDjKHd%qZzyo^QB^LP|IOCoTdhLr2s zh(7TSftxDezp4(Qn;VgEio;<2T?p|0O_K-^%kADzGynNP1oHiwApbEJ=qcngxTnBR zAU=!M;ol_ye~UYEkHrn{?F<6;S@)Xk`aE&qUW>T@y8w`Ojllm!0{R5(;|>u{JwTTG zxe-g3^!7dyd&%v+9M07*977M@CQ4IWpHoZp3&L@c6{{U}}-bTXN zt4RIfBC>uyi~L82@&3g=R0r)sRmfIUg>OPl#75Lau0u`OT2zItA&|d{#4?nHEG4l7 zWx<{(30a5||G6j*n1y!%(@^9;0r`IJD0np*`L9Nh7*4?60ogAGFyPPmtq%i!YVA)a z(4XZ?fd83ZGxXEQc%q7QUlk-hmq+GrvPgX*&Fuc!PkJEZRX1k$&yNyshX0Q;{vT!i zzclmD-`?N$mx=+OyL9cPd{A$YOA{D#>;H{LOo7$-g$yET#`jYKKx+u407`>S323YH zJY8q*I){NgH|u?#J4JwH{a3N9xNB3-0ScV7F&)h~TTk+YqxWuhn>quymjAY)(~NAN zYuR7G9!IVFdc6969>}v=|Nl@3Ajgb~CG>UJG=eV?0-78P+{TGZxiR%)pyri6u=0Q= z*yoN)yu?ZXoOz`a&ES8Tb>gS}1L*tzyzPGl6Bbwl$7$Z5gnydBr{xw@)S>+bY`$VdgR`SFDGOd5fhX8BEVmP|MoKc z>%I{DTX+6%78O{tKR1~7P^Yu%spY>wMzo9TS8@WokVLIzkH01W{65`aY`bDWYi9uM z8?Zrt3|p?(Z)zy0H-=3}So0D5yTV7`9YcB<(>@91WIvbiv9j}Tm%no9sjux|I&Vse z-R6}rm^cQOOXfgI*Brg4&BVy_hhe&7HLRA+hpG2`m~ZlCO#>YcY{tOd>)~`{2i8Z2 zV`JhQIBZ)7m#tgjvTbXMtbu{{XI_@Sw}_yfQm39jkL;#aV=36t;oB$ik7dT!BKGOP ze=sxtKYtMy7dI5`*y)ynqE@Dv<sxe%uS1;N?PoD1|?h8XN0s=zQB)iKsw(Qi;n*zYC z(RX55`hoqOF@&7|4P^qr6u1yTAMZAwz_}-;PFjk~7jMF6{q|QpTiSN^q( ze_JR0pJ)Ww)(F53?ZAKQCV+yU7y~HU!T})CY7&4%8x8;xW!+I;E{V!iX=De=Bl#C~ zyt!|bT0zep$7eD}=z<(xz{0#EA^xGt8$9)R-v}XSf7xL2x^rwCgq+H}$ z_1W?g*Pc%^`xNjq?=(Ho?(YIX(sx|&kK6);ttUY{_;27KViO0E1oEQ@ z>_^ksNn$$}`lB{d%YP%nS2ZGZMFT=u)FXKL2LyW7z;9tCd>6cjuV+49uE>Pnx@5fC zkbu`4HcEINe02GpYkDSUNoz8)8-CXWdLBXGbJ#7fs=GeLE%NQ(E(C20U zX$b)ZUi(E`7-aH#2~emVweci-Uh{LdU*e9mYbWbZ*Y_s>iRm`MJ+I6E-x)OX-?Bdd znS`|0P&N(4U9>A$`1|5~=gpgmv|3w4{p+-8I1bJgtU6v+2+ zr+oUI{gM1rzeIaPBX2%@OZZ>&4@Fze{%FT~gRV+6>(3G37f9;Xv9l8&x2E)KxKOD6 z(7T&5HXBa()9-WLMwoMBq(F_}z8!yJ+IZj-5ph4G8fIWs-fQHe2Cui1F7i zy^Qo725ehhXSQG(^xVgym+=4$*t!vpr}v=Wf~h#ArVanu%aC^EDmL!f3F{RL;dpE( zh8)@o$D=zi_`qgpI}e5Cn4uVZ;TTp2ynyyF$Nhq$qF!Y4tsBS*%L)qi=_9H3V4}*v z>eCv7QMzIc7EYXajoc^n?bG;n`J(K)h=_{1nb}AgDdp*%6cpz32@BIksePJUUteYO zPdz<7`a4DYDh%i6=btYsD!xKgRANQv&Yc%_>)d%fS#RIuocU`14#;ord}&EVj+#>I zW_>2;ZO|8ndNwf9?+bI&fy}bc1OR5ypNVm9^P24W-dOInt#QOKmzBKjcJJDAuZp5x z^ETyV)S)b|%eF1wOM{64in7|Q*MOF~X|w%*bW3IOdlaP`Vv zJbwHX`no1QpL}0JLUV`o=#9%_<3ECb<^pIE0jL0QzB9KMz)#(VXM9u2e*njvi6|zVD ztC|1yoB*G42edKzkG~a=2z;Uk054iL0u*VZ8DOUtB>-JM5&+7}dmul#Cjne}#NX0H zT1JLTNQ=6%3#!&KLe-m zE*jEqqVCOglm=cwq5o0j2W>-M_)6qQFGYT=2MQAxG68@J0$CwG1o{pTDEtn&zBf_u z@-a&N{0Zzwp*koTwZS>44J$%j*gJB&5alm&@a}OYa_?p$^;!;MnE+6RSKhS>Qlbw!hPx$ZlqjpvhAPXTJ;l- za)VmllBugQm>NbRc`%069<~a09wMDXfH zg!nWdd}{+DcGM$kS3RP)ljW9rL~f`@*y;}i`s)zrU4y`7)g&qqu)GujE8f9>buI!o zr6OoY0)lr(BX~~)f_8_J>;4Eo=!@u+j}UwA4&Hu$9Vu6TKMc<74P&+N#)27A0y?y``RB3H{yI@JX?~k3y9a%@~ z{|Us>tTh*SFMbqsJ*^qHrcll5&-Y{4>O*bTs#Ex<_HsJ8K=%u>`n24kt>896bZh^) zNf(m>&f5q zsa>#Nxd=y94Y5Vn1wI-hkglqY$_p2;bqD#|-M*TY0@$qdfZ7l{STA45CJHzn+kxKm zXF#rRp9)QP_iCX|oz66ga)L@?VkTDIRZdS<9+1CFe>8#!FjQ!3p?ca>+`V!oTT)ES z^xLQS?eaF3oXmYZPts+kI9d&zCUDa?U}iA$`>zKP-x!2e{_!?Jq|U& zbhmGZ?C*8}bR6DOQnBI>O#qvl0dhly2?GW&((A))`n(K1ZO})v^Ydn}X|S;9zk;`2 z$?mcn<$9^3tsVe$9TftkB^9C2OB2fSdN48Uhv7pfGIzlk=jm`AGn+XK=%_*3XJ8gN zcbhqNIl{xBIfNY4LcsPu@beji z*P9n3aQhyF@B0B!#~vf@yC@`H$wunWWypS1i`?h+$bHs;^gACAcdh~QxcSH` z5wWKcX*W6CNdS>t5r8%Tq@(@{f`ObD1kCReek8!3NB}?abW@z<*5xPA+Wb@8di{iB zO?Lg=)Rqs#Y$LIq+}_81Jgx1gt^jKDr`LJ6dEx*S0H})~o@_I6GY3K59K4?2h?lgH z-@*p?d4E8_x;g}Jtws3W8pIr`M(mL)ZXB#c%-#w_?kGdp))ItmD?&K=Y$Eq&BKk-Q z-kgdffFFVQ^TFhEdyVK*zKA;hl*B{4IeQxk-(SPq8yApz=M2&xkk9YYeq{W%3z<*1 zAm{l;2K`xntC0QL8@c|T$O&9Ppq_j#VRMilJ_C8t1p4EqpdfZ4^4}2Pk90#`lnZiW zMk6O`1o9(?BRgUkvcjE^9ZtYM#EwmoNDsG0c9a#eqAZaSX38QhqBk-k^^hK>gOngm zWQD1-NC{O$a`f1Q+e-!?kGyc2?6>250wHD!8 z3Ui;E-tV^l_Mo4DD0Mn$+mC^~ z0>0izh`>pPBXAqupt{~rt5Fp+{kElZ$qPHXpB2>{ES zFa1-Qa_(e+RSdML3xf3lXzBsbvM&PNKF#*iV>gIGc~h4D&%6e8W_+%BABF$Hi?=he zg_RRb`Ez0ho3h|OA1dZ{(0AY-M`cr6^dbM*)A9{+%xbzSXxRSYgprSL9EtkT3RbMk z{%Q)D1R^O+@_GVLVSwJZLEpV;44>;~GTeWCngAVFw@7m+>sT+)f&W7{A+aN}eE)jA ze_NL+Bx=4gm#a`-z5Tk9{ydKXhNqFko}4$Ve;*CoOiJkR8Y|Er!22?P(e;3 zNUoP!nw*SUK8bXNUK&B_s=Y6(tDD)GnwqwmSrio&Rp_d$9Ia$K8vT9N!Rgp`3?v{w zp?@D7*L1>4a{Qz9%~7tehjJ?`B;3D`K_0W9>*fsY(L>>|&j-U!?}g)$?NA@?2sv9@ z^!D(8#i~_Mc5MHzmkxX#!ua|4Y4b0$Z%&p^UW5sKPSH0o3!A6!UU#{N8{WuTp;&`_kF>N=X<>=l zNt2L$`!=pzxq`9I&Sl~vB6Nz1BVQY1D!*O+;)ftCtlOijOh(IbeOyR4g1n46gLE3y zwogHwhPIk1>jOXmoeBW7Ip3sl3+t3*RTlBKt0<@9CM~5{*_Hs%GJ2A2D>XR-Xqf>W z|2Kv;0G!Qw4DbX1>Ht`_bSrXl^5HsmVs*cM!!17Z)@XmbnT|qQjpxMO+jIf^UIs84 zKXe(1o85=uK~D$f0ti#;gG4oRWNY%Az8If$Cf6R3N40UzF7#)sUC zXh=DW+L#llj68(W;JtVkyd8M~KFAGTMWAvCfyem-BxfTxb`J6)79gE~XWEkuNW6Ol z2|ry$;tx-dd?g$iKP4mc=N#nTFF}ECHHt#&3A{I;D7+B`{td{!Ux)O|6$I4ZlYK2g z$o3MvT3v=`9@TiU^aHuwh@>kV)}{YlFn1aN&HfjKa~uEB?0*UY^LPUAZw|Dm#otSA z@8kkL&Dh5s4_gJp<4^&au(O7QmLJ0x8!!rSxtNc=7r z31_kp|6M8)FC>!p_6Dgp!jbk%0MhThK*q06$n}Rvy8a6iuiZl2m1{`4b`i<9Pa^g1 zA*BAc7wONoA>+9ZGGDDl&g&J(4p@qu01pD%^NpfyJ z%e+&l|EvH&K%UN_AN&RIPw%HA0C_e3ErYHbFn=R^ZEE@FS?MXPan#$ z+9NSp#g2{J^CH(*>5jn+wLusqZ;5eA{V-K!02XREk@aJlNU(uT4?fO7# z`~;XUUk(#5FX(%EK;3C5>=aBJ*65CDd|)sLxq61E($oIPCR?nmj2d!Md}_yzy#J-F zt*~&%J%WNl9C0y;#*Q6DbNKoBFOk)>zFY1aw0?9k>aM8p(0!0Q&MMEvZ(SY9_eK{b zy1IC0YJvAdoKQN}1!d#Mqs-YE^`}lDBOw9Lu3f{pAr1|l#l`Q^ZTw&O%>da)9|EKJ zO82!>C+VKuyGg&MVBcH zI)*rmjU$_Do^m5AD=XHyQ}-vlrhjdRA$u(uvRxJO8akThT>HOsQv*Qvg{=OcP5_uP zaVbupyn=-IL|B;G{p#vE=Sv#IN=WldqfRc`QB4dvrg?@-rwM2%dF$#1H zP^`=Selh{T(h{Zi_9z=Ynp^WvNB^BXiOTisQ9gMxD#-VBppz4AQYiCP0Do%`_(c8i zmpTB1+877OTZ*)B0f@8`0$Ps(?A)RWU>B5U_dxhBviNPC2JU-U;qJ^4xIb$?9?ad2 zC-bi3#o{2mUXzKa{S^eX>ybl%zbK458t+{MckCU_oX4GPK-ks_1gyz{-|`svdOyR< zRX@Rh>j{LP-igFpn~?Kj6UrlZpgM6cYH7ULjq;FfC?QegzX=6_>yhif8rgx~$O`g6 zZsc6#$IL{2>r;Y%6J^l!{R3Pz0Q>j2xS;1S@3xII75((@l64-w`7+Fbn$cY<-?1X{HP9A{Fw*>YR z`ywZy4*_;-WG7i8>#Zd+6U+$6n;c%X)OS>CBU`r)$!TB0DtE9 zp}k8-@h%Q(R)aWH0MH?T+)@BA8a^2|la_Fs&3y*`M{PLqyG@)|i$8fOtjY5!to{y& z%UQ;p*0EFj|Hs|yFSDk1M#CnO*Y*4zqCWww^f9JmX0~hjr`daYpF9D73w;yp8$JRr zXU|50=VGLIdm+_pDbh%!E?vT|r;tb@5$oxR;Drltcj{EEcNzvOT|-DKYeC7vo|Omi zdH}SZ3P6{}qnd<(rv3Y?y#PLChFlp2y(K7OCB!r~lh(Qc3y=?4A|9UvkgjIKiB=tb61$faNN4rIMx z2LVV3i9%MiJJdSKKvO~%DxIWB^n|>aBzwGBcXce$9zmdVG=o&?9@uO+o>}Ev2Cbc^ z4fN=UKf0WzI*^U|Bd=d6#3wNQD?iDnGu^`l`1u)p(~kR8z}VPE_^>6{L9v0kDd_uk zC&yr1({UJ&O*F`3=yo=>3bt+Xyw$p6S(bmX)^N(Pn`_AHT59#{zh2pLV3mgBBn;fU366)iF#(`ISxz)GzyNPkgQd&+Y64e>E`Z zc27ao?3SEdkFRAXX_--v9@0DHducKtr=9v02<*$rsDWD+!0p^mGx_vBc^M5R2q?+v z!rI&ceXJbeFmPb^MeKxSb|p{GSm6+7kc-TV?(QTG{`FT9p8Zv>FL0+DZW6l>l^Q z0zheLH`Y8Y;Dj`VseBgYjf~7J^q-63DJ6Ak9Hx5H~x{ z1OQ*!2#F{a0U%({LE^baMDA%o@Wwj$udKz3#Wi?5 zw-!(4f56LC4Tw0z!CL~|nGb;cS77gxW&a-&hWwGh{eB>XKz$$qd9wQmqnZ5`1nddi z2h8I_eki#ewuU@z8CmbiT^Fzbcs&R3BN6DyZR$te0`X1#0cfZHH?(A6ABVwy!Z8k# zzT+U}dlEm8eInQ29B4%NrUnG9uEXn9HF&+g0)gA!BlutuBF^L@=7&rq-cCjGy+ouv zdV};Qkw|+=!2ekw`Fvj@{rMAe?C&G<)lCBRR|wpnC&%+7vR)lR*2_I){Z?f8Z9s_j7EB^V+r-hcqSE;5ox5csE{pO&bNlsF9} zC8;s!r%MX{@$t$?j!{5Tlspn6<&c^x&0GL!X4Zc?W05at&|S7C9;h;)Opcu#0|mSYxmEwZG-0d4SSBc+XDa%OOrw?s#NAv&+V zWRSFxhbuYB`#*33?k&_ofTP+;8X6M4K+6F%nnII>EDQR+O}eXLptK@3T+rATh~6zPI4LSnp8h)ul_M3@NESxA&a zZu^l?`G)>nFj7*`-6t=rQLUqGg^5!)Vv*NL2K#i*_*{>}n7!~IW-mC1d5e!=!IER- z{!=W5k6Hi)B^@X#=~QUT8C0qD)ZyqU8DO?WKe!#<3i~5m2Y};=-LQ5Ujx(}`@HU)+ zd-?-VtEGXWm8&pi#xx8f;NNfEQYa7T2b~GyVY+NN43?Adm`hId`(dK;Anew0Mwq@0 z%lMZyIS5MH3feJSOAGbBzSuHh!lVBI7XU5A*d;Hk#xXJK4|P>Th>1x+SH~P?#sgqv zU<27+$`BF~Dj<)ejnZWQN5AK0DmwbP>z3}qs-6Sk#czWrvS!HFF(P4z0=?dNH()SI zhL1w2`#6+Mn}Ld@UZ^BsRkdOTs?MFmp6%OldgpF($`ylQ!-iD}2?)?~i?3~5DE)t` zgAbn%KZXBOe5OLPq}8qN_wI8qNXz(rpzDOEHAO`O==t2&u(J{p5}MLImCBp@05sM7 zw*~C94*+!l@R|i$nGJ@%p6Ok(70EU>-KDccw_ntngoRI)0?0|Lvxb1wSwQ;>jAP{m z+y;P6JqB?1&SOlOH2YDLko2V&1sVQM;oHTA;*7X!8>IkT7XTFjE_HEkb^$z=vBwM9 zfq14o5-;?}BcRVrymVNC7sFN{V3H5wR~M7;zeDu_?gW4e7Z>>5xdWZv zy|@0W8UN3?0X`)Fe2M+PE!%%vB>=4(0JatYI(_5-c>lgD@{*(wbyFU%_GvN~z>V>4 zxITOxZaV&mJHvzU+qew)FR369T95Rb6t21O|1J#3eF~&pCE$9b9uZq=5wfNNK`RR3 z?-h@iOCRCY>XY!_vl@|?2)y5&j-R52v|X&-?I)+=aX3Y0k2jzAZ%|V;?HxC_A^*1 z02L1M=yM+sSU*R=eKUdhg}}?%fd70Tcqs`2^!^0wUrr`5g@8V}FJKW_w~+go*EHsl z=glJbPj3Qh}gr8NIczu-FXE-%^60J%tE8k%Oqq8HoS+Es`F_BK2t`GJHb`=m#L<^-BWvPm$tx z9~pkP$?dBI@Gp?h;3SFte(GQr*~tTuolc-X&5mXMDfm+XAS0zO(vxkFmSn}?KaE6s zx(U*gObECevB*f$Be1Sbwxflt6b)`9t0N;rmE5m{loUl|Wyuk^C%~U5$AV`5c|qYn zF;S8^08&!AF!;~U7w47$(C>dz#}l+u|0m+J_5W=F|6eTu=+d*NS`Q_y3?B5i zB>-4a3s}1Xz(tnPwfETk5&Tntr`_Z|MM_jq^sVJI2lWZ|Baer}g`^*yq}kW$eme?(hbC75JpmB?%!vT+F#`3l@qB2$hm3CfBn?1UeRp2?&=Fz^^1xMIKkv zkzc4rT(D!MgpgO(4VvD5Ed^xiM3mPz@DSO;^=oz;JN%XyN^C*)R@IkQ#Xd4j2R|M z+G0fydnD>x;+2sR=Bw!7wzV~8ZCQmuhquA;&{hmSxf^{4+u^XZ8h(`5!X+6Q3?1fx z{##bSV3G@z9R|U8@nV>e-$9cF3ow3w1H3fsa7=pyLiGEfTu+Bv=ieUqw+sypR85_V zSHJ#R;b>&k_rLsO)Dafyn5nO0#X6=_5kOnR7+pGdhn7ZfSX&N(wFUW&Gq8bVcbPgN zL19|L~Pr80Vma`VTXV{*7Ntn+z#g0E^dl6O(PU&8=$C9e-w{! z#(TH%D4jeN)hAAXQ(B7J>(^05;J^CzZFrOK=Xp<0RAyyi{l<+PaZ%ByWcxk8F8Jr; zHznZTkxyW#eMh-p&&im5h&QrBvTrT=p^ z`z;&!X{h$DRae)){K@aJh={UeHgf@{_J}b;^X&p5YocsPUG8j0W?npkQmLT0#GsFVyAJqC_VuPL`K6)&<-;N zEHGQZ5=#X8V4JW5P6&_2L3vl4bzF>`OONp3>J?PXor~HTGjRRNl}0&b<*8rAxA7BQ z|M}Y~0cdLyKwGu{{H?P8f-Qsq;Z{=sI<_GINVJHiNdTqYP@XG^r2F#lJFbOa7u(?G zICuOsVij%-J&(I1pW*TN1OzNCLCpR-0@sbq_FoiAA_&NN#6i+U0;hZGm`lLlvly=y z<>KYSSiJOj0Kb)o5wLGDqOVUx@^fbb`lFB;>P$e>1-VgUkrU>Q>@YWEN4O#{+Lbko z%S&)U!P~KTmp%sXvqqyd!v!U2>!ke4x5p?1R{I=bO@5&&&T$~EO#l;9- zS%a9p4M@4dLC#aIeV$FiH9ic}cdi4hcc-7(6;##~|NMcDHUax6D*q%nj zo#i0)26_GyAm0zj^##)I5LiDB1g!>M%mAKEA}~Lb3;KZz2-Hs_>s)~+W65$H;5(Jv zKZ6VXujg__06((yCC~AlO>Qp)Le>CL+nX}~`w95(Yh?Q#d!Qb1$3EcgcXb5($?^WN z4yiwUK+<>hOn?dBT8E$wRS5JcL%=rjp7-S=^h6e-E~OyuRsxbA#UR}`jKF;mGK2k) z72=D`kl&CIa*x3NEu;rtK}OIS5{Ho$v=dpun~)Q-0$JgUksCdmIW6+z#^GJ^XcWC2 zj*?_2yvrCw!X8E015lFN4>kbV&l3PB{Bs2W-rs^y8{Pf|+OYqB(G-AIf8+dr*KbEBDOvZP z>iQgmp%YmBd}{%KX5%f~7qAR}o7w*zm*BW;56k+twEmlpnZ-upnG>l0qX4js+2iS0 zIcoW*&Hl_?X0wKWzdzQSl?l)Wc%SPfpf|*|P57s^`=hOG5#q5J=>**WD)_e*)D4i~ z?FIiiv$1x-0BC$91h}^;1kmG2o8i$Z0rdD-j$hO)ZnShfeAV%ZeWafq6@94nzvcVa zA>RWPi-D}PW8B_rbc|zRH+iL@pE<$$yHD6?vo3lfrpU*wEv2^f0esx9^rK18I&0e0 z%aVi@39Y8A-~Y9`UTR6CjfrSKfWEDQj@+^#VNKto5H~DIm<#a}by5XS(wk}}sX5D}yV{(=y^JPLP_i9r(L-yXv`CLZG9q0E zNQ-o_mlWx0*G*8O?*M5{dkH>?9(?~}7izUtS6A<>E~74`re@evUS6-ew6vkPl7h}! zn)&C#|AA)sU*vTh`;R}s?Z@$W_$n38g0gYw)Fb8yppS8zumTz?MsV$6gR|n~L{!WT z$9oROIX!*s(J{mUz24ZSV~oiz?ihS*2b_-YLcjH1P#!)QCNn2ufV(^Tu37@C4NIXi z#2#91ZZP%oV({O4=@OXgm|(4jGfrysL#e(l1ONA50{%KW4F2D1Y2m%5Cd%&I!3kU2 zL;uZU4?jQurk+v?4E~MuY+!6?i@w%Q(ATqsxL9ZCXqhkpz}nJ*%~sdZGDRoxE;Zzt z-&0ZUf8gscBmnV14!_a0+ojn{H#VNN^}=bv;W#7Y%woTwBNlY9z=)C;hLB z08&yiuF_IU6<;C%(1wBXy)<&Wb&*=rm0UizZ4nW1`ySn7Vm>VbaD$c>n41h_&Htv7 zb37^l%$>a&(Wvak|T z#CTz2EElx{ef}}AF*r#c%X{7g31g^slET?TM^SP996lU4fQ`F%=L-o58GRMt|2ezx zCu)h?>jxmvs%E)$BS7Ic$^b-K^#Euo0{rd(pdtWmpqB8PES~Sx#@&V1_<5Q$uDj30 zt+88iXWV5xo#lt%RXK<~T#d9FjmY!mmH`yd(Rg>MMZF%;d#Vwe4&?nc0_d5FF~3Mm1DkR5A}g1EsbNOB;sIkY+QzZaz`GK!y(-}6O=4vY0?GRDJp{ndaFFs7hc*49LPyRsAms*u z^#cUly$IwJ_TzgdYt$ z&TlyfVLo74e<}dP9&AM1;ReJVuS4Rw8l?PCg^cSJ$hcLGbh1poRE4->HHg|*h47ta z2;EbJutT{BKbe8Z3rTo$H6HQ5L?QV}DAHaAA~Vnr+2Jpc7x@IaF%QZ0I|TBtBP--G zvO>=wBlIvimfMgWu@>3UOOYKlpLOpqOmxS)^wI42mu5PU<311-g|;X!>5J-OYgCt6 zpsLgqRaM4hX@bg1BNB$FEHOkyi9SlmvZTZSB?aVvmI5OJ>G~uL2#g!H2rlp^C+id7 zH)KnCJ1I#QZ{O-5AwdiA@l*uRU_q__)CrKBtiXf-n)Ro)e+vIJ^PiQ~{SN{FbpYh% zinVaY2!BESe|uv9KN14k%JBb9;{f@)%PZehFtUce(>Mm~+D)DBTTTJ6aGTrI1n`g6 ze_HoX8}qenFh{2bP|G)kU24y7tGhf6+6kVHxHB6&i#?7D!A%YQM$ce?+_Ltcx&f$_ zzGb$VP7-L@xR94|RSPYd^ z(1ZNvPlbTCN&}k30J6_a5Fp2zX3S~N0P2dMg2&hD4q#Ij*gkr-Y5O-EIvzR$oj-zq z`dO%03}8YM{jSjOjhdDHp+9Ny`*!(u`C2am3JUsa$_m=k27@Y~Wqru18KalHHhPmVAM3_y`}M{-Lvw@!?02olh_eSU{QLp*p5YF; zz64t5FKB{)PZ*NxdebJt(s>x>C=bR4oe?P4)&4B}7ZcboQBXjYsVQn#uVyu|u`5?r zKXPz*c1=TLp4~rH5Btww)H-$)P14o2WHZwZ$!AGtrc>DOW92KCpj;fL?eW4Ws<>LVlZ zp|%!tr%!JX78In8u7Ar`&ocj-d=irUeEbLW_#_LbcQC>hK|8Dzv%=%Sa}lXzjTBu= zB;ECl}AgP2BFo$M>&Jj?vT8>)ySa^fg+K-yWpX^_r?C^t&7*Dk^IE zXO1-iV)M?Ox(6uB>vGhUd$%h9(6R!3Z7Vnqa)YsfEhf4z!sH2y8&nlF4mOGOe@&y~ zL6Bx&WOQ-r|HB?#J5fsk#rh@ctxQ;kTv%0U)+e(rN__y6RpK*S#4l_&7qBn}>qIc9{&+6<-*W;U3?q*j13VoEyqH4np9=&m(+A+ zv5kY6edHJ(X+XlM4@kaPgS4wv$h=j7+Q%krVa^xl#9!7yS$JqHZE5;s<1hokwQq z31o-wLvG|2kivYZ0KOD?qRv0ieUD z8~|V10PqVZ19a>nBOgLDwiHAuyfJ|LXbQj-X3HN*?fM^00idJ%&awIP+^+ImAh&Rv z-`p9WW`o0v`xp>APlruQ(44*u7ULF@bxS|W{?pF; ztsDNS^&18&17jq5eFFYl!v10pB#~vy_$xv{Ix8{o#9k*Sn5$}_r-l(5CD?9hK&vtV z-UI{c5MZFq#1HT0i30taj!|3Jd1D8;t_iQd9sKE%ex}N%{kZ$p^qRcaX5Sxs=Vtc^ zuk*iF{}Iq0FcO12wzBNMx$B%aU8JSI)rEh%{9nFwP*&EHQIgl0sjR5`kVKiXqFydp zK2?<0-l(jsZ>OxRtxUW9E6QsXYipTf+U%Xb!~deg*njc?9{Z=`kzX2%$Nm{O^ZhH# zT5ymx0vzk^2|Xzt91$ObRb7WbMNSL4Mz(NvSwbGOA9EHS#MD{aVW8g!it74M8Q2e2 z-t$;@e;R$)ctXLp57b>;U`9LqdwRln$r2dMmia<+w zE9*b4|9{U$|LLJhTMMOb?wt682Wy^Oy_&dd?b=Ht)zxQcOG;|a;W}mhn+3fEl09VW zj1Bs+?0;{vq>xVq0BZg3Ycmw4#cj zZ*m$5{g)jd5sA)S?yp~c5T})m=Pmrxz?P2<4ub4@hJ%N@vraB zCz>;sPX}InR#@D@9LxEwu|m)SKa5y_Skqxh(lkMuo+*-5^^l^Xi_)_fP!b-&x!iBS zwy!`WlNJ+|xJgR^XqKP$1fapYu0(#Xq@@+s@o~%Q{?cI*5fR%WBc+^AZU5Zu8ZzrY zi{@SdhS1ZrgrkEy`u7`}E+r+s_-}9!b&=)ooU~hP*hjqp==EddcXW)f0o3?=U~Wfi zoFwZnh>zm}ej9FqmT^+l1y>~}W1gusY%I)i{>&Men3$ZV-}|oy{#$1OKQRH|&rAYn zJ+@4!9Vb9r4FKCJ1L({g0JITca#T;m{HOr`z1q0vX^9)thT_(w>9{w~2QOCqh|ryH zkZ|Tb(r?ux_bG>o09mxL-l=*-ZYEH@st|!IQsM6vikFM;;rYUoc)n;WUU+%o<@#v^ z)<+`Y;Q#`meNdcjh4KPx5`9pSYm17!{v-yV;@v=$66maaN1}8PYD*nZSvCZUrz%61pFUNBYIvZ2A^my{a_&?h??D*~o)n|tMIj2F=OO2} zTx9-|gVgI;NV$=UXo$RDXsULxh`6QsXPGob=N zd9e)>0II6YxKV0~%F5oTt289wuZy}0Jp%q(Bs73pb+S|=p^BOs<)%;~p~#}TT7iT- zN=g(_TrA%d3dqiuM^26ci`-mAmho>H)CCX~#q9$S87bE+1SBNL61bNk_w_`0I9CXW zjqQ$zh_1{LKpO)_MTs}}1)$9VsTjbE_D2DBXh#U(|B_~af58pVsjIAV1nc}yVa;yj zAEp3M0f1)Nhp#!p>h)V%|A(&F$2$4*fRNeo9o)DuJ7_G-TxPdv8K;m>pGRQuBlxFf z0Tk$|6M;SVqwfFSFmay#arWP3&L3+3>1{17BRrfjgLU?A4gEB5t%H0(>L} z{0Si-bD1}y7B0Y6hapf?P=$<+DYWgIN&_4|BLuXVBtRc;IBWuXkDLmV(KFdGF?XHE zN-`|QEnqzp=sM$3)0k*LM-bBc`u<%L0_f*Lv;O3DXiY!0@tcs>;t2xuGozvd1$<50 z;UB|4wf@_Wfx68Q_Sn&zzr&~vC+nqDwWj}z8JvIm!Y?K!DJw26F}-6)(Ys=zVy{I- z#lwY#Mf?Q>1b-&?pKi(w(w+sh9D$BM?7{b~ZvLwQeLX$9PF7}v`y5-aIyFF#0E@03%30_lLq`XXG&SI3q>mvZ zhLt}6WAa52LXU90&rab zO9f34tzw8mU9JdFWMqu@?&DFuXfY~Ru0qw;t*AbDkd*;6+<$7BZ`e+8eHl!Qe0b3G*$a%82|-jjGI zC!?0$y_?L{P9mM?|3kw6sURdMC~DnFy!!#E?((V1iaMp5YR0u1sz!Cn^18KhG8*OD znkIQ>rnd2FD%yv;cI|5PcZp)1_&P2aAf#SP>-%{bd>V!VvKSeX6gKWs$KV-C`8 zG$3YQ75u$(@nT*Kd>6dHtED&LxBMtxty>BI?K2Uwe;h)OJ0s@uV8q|=PoUHW`AJqN z%eQ1e$!z82)~F$nS@XU>YAQ&)A3&BQD(#sFP+R7Rs*+($1SrjRV^;O#7aoYevjOq9 z_8|Voc_e=S0P&}z5Ks2;?YU~ClYPs&$05Mn$ZYiy+ukF5dlsS(B_i>{8@&CA#O-(_ z-blxr3q^=JT8XHGb%;G(kK}7y0f1)z(|_SM01VwmV1FqGk7hOE!Hh;cBJpH82T!RO zFouKsLpiuRgo9t5ICwY;c;X6npDz^vR?;2`4M@INPxh-GY1ck5As~E51A=`T5W1xS z(Ff|0c)ku9x2ll)upEWY-=p|dF-ijRP!g1d;=oiC`6r{uF9Er}(a81T!*Zv<;Z!n z2w8EnklU2~f0yZuvcjP#EgsCW|L>a|04&OFP)0s8Zdjm{l>qc6VStJXeG=p>rCghd z0Nmh-09^P76iCRD=tV-Nd0A1>vnixlR8~qiU(d^vLT;`k3woVq`gs|DS_VL&pWdcR z8Zj}_2o04)e0-1Qh>q^YA~duM0s}iY3j#F!{kehw&mj;RD%74B&=%1D)n9RlEC&h=ds8p z5dKjEzn0KX!Je+;L4M2iyxaeQ2*7I?n6rEtB0W5?)NUYTdMPp?fC?kj;lSHx&HlrG zKkh@^{s7S}-2tp@fCR0nr*N%3a5P&_KO?J&9)DZu0NsY|%vG!>gBIC8RV#b8pLD-@ z+o$)_QV&&&fzWQ6Aklii)%y%#;(^oheXQJrth@8y4!5qZKEeb7%*8~+Huse5^}W81 zSxjGR$BMo-j}kYmgt%;Ce|rRSh(X2 z0tws5=4g{4Iw_&&-*8g)?eZrsdU|@DR1|exkOZAXN_pZ{A?WG1q0`&y` zAup=|X(>g}+He}ul1c>rXehG#=;JiijWKQJR#;k%z|fKNuz(6I7M;;Vn53MoNaTcbZPX|1=hO9>akX5Ah@*6VF3(@YMe; zbhM1oZ-pmDoI41+O)H>i*AJ?roME<%oAozc>IK~?Q(-u5A_ni?0Hf>3p2;e{0^o zwwRbiodIqBN8rD=eqRFj17K;!6##6S1OOU+ZH8f>oil3+*tLr!^mNRcTmpkR)Cr)i zWdb=_?Pt9XpEdp5n0zCyf^1w6HTy365%01UM=*i~zF*9`@>uVqF6^ zd%aLg4@G*0D4jS7mE=2HwRSD4ckV>>(W9upco9E+e;pg9&j2ST8fa)h{f7_OL>@za zAASBmiYPqz=M&`Y8h=ttcT_pp|6DOjF zmDO{OA>gon0B^07i{pgFR_%?ZggC1l((a{JD=TurTJ#M}+MwMbP#Pgdd1N?1exi-G6};uh&TS2}0bx7)1P*h0sGK2-#nO z$P*tC|9dr3$ooru$e9QbaSRC9REuXzYw&n}4Ia&}#$#84Y2^GEO85!!@5>PYZadfF z{-9bs8eWSh&mOHAlHJemXP|%93wo`sz^ey=e*Ijtfa4w?Ylsms}Q z#>1x7e{7#oOeo;*_wU|+986qh)(HUA>P{``{MLUB`ynvUF+!x98zbQLs{ZqN#9x5) z3km}Z`AGaXiU4(vfF+CZX5Kuw_UH*E<_IuhBwm->zChb9Xd4D4%(RkDFMo12d`_%s zU?a^8pq~f({K@CY!V|xd{Bv3gI2C`I1)*Z;KwisGCQi`TL|qv4xoBPky-wM@cb(N= z@HJA$0L^xwPLEN$F2ZV}Td0hztmco-7L=4UMzoM_nX9a*Q8{Gbq?+MFreQ$ev2b=8 zg?@d;pg%c3zFC-L`GVC9PY@MYm|trmCe(TeNT21)Vx7GeWP} zRf~~-3PlBNa#@E!yAItHc;MWpYZncen$YcO2_s`i)&jr-XY}8G<_>UQa|Vl7oMhpD zgNDwBhPnxyoW`NMfjvx2`jGqWg`4|voVyypTmw`D_~X$VsH*D0Zq*VPOdAV%TU&IW zJC~6DMKB_uz5be`Twt@(4bF$RqYokcJo4X%5c<9cx5DYrc34kz!Coa3xEmOukDVoy zhB-rF>S*XKoehgMZm?dv7(KVG#N<0yFks!<5)m=6$)Ek#&{^mmJGLJqE#2YA*&~d_ z2)W(SUbb^BCI6i8zaFf*Pi_7j0lOmI$N|tru9N(m?W+&tmzKkDOmbMG0szJ0X4W{>)({0c907od09v}p zQ`bac{{eVUM*-4SfSo(>ao=9}+`Ny4KJKT1F`M^~am@7ojO6{PTaAi1r^nnM+HKw-Z;a`Bi!h ztN8a3)8O{@*SGs0<>E8K&+GqhK`Z}cf0i1G&@mo}m@^Zz^z^E_$jW;BV~D<>3!n+& z-&6)bLjiyyO@sh8WdCnW0N@`5_(=euq$-P6Qm=J^&we#LT(1l7ZKim-t{;3?xxsJs zdA!*cf~XVuNWS?IDSuQW?p!(EZcWCsB~Rh$b_`EedBAV)bOan9fv_7+i1)K$guf`s zh#{9QGmHq4Ct$tg1RqTZ%4MO<-EJPkHN6cwjX)i;_Pk9L19fznh0Z6&$gUpv+ z$bRdK)Hkom<024wAswNI3J|)#43Q@*k#MyNsaydd;rCiX)N5JazTfg1_$;r6&&n!z zEvtg(>}ot5Q-k}1IhFrExB|evLA7`|tQL<)a|M8v)d(kKKl%Cx|0rLH_Q52Yl(vSp{gh%0hcqmH415pz80!5+T zC=7mtg5WzS2)luTcb8BQeipg!P9Qh@2y)&XKvw8pWQOfRM#xsAg>50Ee?5{zRv;yG zF;c_kBRPB~(jq4zJ!TBDlZKIB^8U>FPi_BHgefP)pSm;3%gs39e`I@=6`K-LZ%XzT z<2n=;8q|RX|7B;>AV6If0GOAjiJTlN0w|N)6$v;ZKv`L523qas2mtN40zg|n5ul|2 zWCYq-IJSNYO5Ev^1_0*f%CPga!cVLHl;BgMPtWsQ06fs^>2-d793g;$3IP=SZ30vb zxN?PG3~2UOejC1UGU=pgn87O2)B(`LxgHVcIRI!vzmwZmM*OJ=FmUAo*2B*q&ZpOp zzZyS+5ma8Hf4%X5Q{7o094GY8omt!YpOZe8iVk%G03o&1DL`+tU?cRFamENT!J)nY z&{4w>2S<(jl=x4HJHN%BEaT?QC7AOG^U37}Si&mkn559N6n?tet`O{nIH2 zbiH(XM9-P4GP-D+IRD_s9kil1vr`9!Vh8&n)#_^ckZa!=YO1>EVbzBa{_%wHPegwv z0*t``=dl>jZyW}a>j(Cqz!3xnOvI3ZlQ3-X6u6MjZ`ANvY+f=I4=m|tuBKPpp+lGI zmNISfMMOj%kmuV#K&L4v2>ti8Rs3zIjvc%8Bcwm7Rm*lCX=R_1_xj{s>n}r7!kK&24nKO$Hx1)ErRCgQP3Sf61{hQpg302UWW6(CvScQl_HM+=fEUp2>l8;mu1-2aLgGVP zw2<2%uVTMTNpItRRWtt`oz!<9GdBJqdfZ#IXwhC&RLoDgn+_xY-L)-Y)ZLZ^0Gb*1 zCdA&6i2&A?eV711vjA+Z`@`0TI(-Ji-fjq#6gAO7PJy)o(EAt}^njFP7aOPU;-Yx4;J;wV0lwo9 zC=FA@sp=!!Z5gVHiZMa2dq!){B%1%7{)UsjPzUMG!ZN3qO7^VX-+V9ziff~xV88|^ z1yIsYK$ph}`G4HW5gEG1sMxR(2kh;k)v6U8U)=s5^JW`L1OJN<90@2W0*E)z0?<$f zfK&rn0Q@ZgE$b?+B_*=RjBSq;zs?A|sequXYIwfK4Bo3;;Oo8<0h^y9;z$}2FITYY zf5eeuyj&XzuccS<#A6+v?VE_ebNvzd$PS5bERYdvgu)zdpEwJQqy6Iggz$GKFaSOp zlBF?Onv$hCfd#6ntO#rfdT<2*d#(uJh|1Ews4N(W^1PvVpW}k!v>=Wk?I$ ziuk*y@a~tV2-+1#h;=@~kCY(nXdXfiCLsLy8zkL)ip=NtkQ02L5M@tf20cfTR~RBM zB_ZT6x!?Zxh&)-2_^Tg~@}L^2_iGV%sg@9PLgLrduu*|8HhsjaogeU=5O#03Dm@a4OS1(&AoWfK^8CtC99W9{=cP!!U53cx z<#@BL60g=(B4BF;LJyT9`dl#*Z{{K6Nfz>6B%|O>EQ&+lp)?{0rQt8}KHLYzVUJN1 zdJl!6H<2HDnM?kU6XJgeIpO<}8?h5Pkz0@%u@Tvk>yQz#3h5E;zzJH4Ha(S)*z-a;CkpFh|D*qg`6cDajaQ9*UeOr>R<>k}<&$IUPTl{Gt zAP=n=&C;mO6$=cVAXl{r^Px3Ff#W&UH2ibIJL+a}ZC+ zfBeGvh<96ngvD-1Shg7P?n@cs2w9IM2h{vxKny?rq7Xns2{XxSd^}?&Mw(clja(PV z8(6dVKwBCpv8DuEn@jp>1)h>|CInDtK<{Df^VR0&EYQ3J)*it9{HZWNvlOU1g9mEY zuLJk84GUa!V>W&|GLgDJ==P_r1(f(x&`b#Wy!10S95j(R0%%Wvqpb=An!N_ItOmM` z`nm6c-Ha6(vYnM3gnn%6zqGKh@Y1dds>QUDKXUjCM&Jh$l5cI{2sITQbdgtrJ=wNn zTwF1H$W%h~Co=L+g@A$m#$zy_05F8>3>Y?O3WkyUQW3yqIN4ta=y@t8*ph9fr)yRt z-&wJ!g>=gZadF8DiAwy3V+XFeblO zl>F<@nuV^td%Ah}1OO8USeQDp>b{K?M*!%-6#(pd3_?%aL2&3b90vN9 zXw#-047=Nq+xx-Hq!(JWXkA9uzxChl<`EMUn>T3O^x9*_^9lJU#EA+3jpP8F5FdgS z!acCHxltYYuM+?W@^y4kpiU0moSabV;em=ZtKoUq2MdOcK<(+%sNkaN(k0xza|d$m z+yDN(e&?33>c3fzO|!0$5E6lQvv!!)%n(ax&>xrN^Ti5l;`-hCg{!6XqFO z9sD@qW8j12O8?t&B@eHJ6ka?1D*N=Ihbaekok`rj*&}}4x_I7o33C+J$&^dI%yO+9Dy? z3^|DgD9GaUhSPw!4@3g~muoxqR_jtBrj5rDY>>^K5IMQ>EGR)BseD;$LP`NQ!( zYcvYeCL=F#0W#jLMxytAgrB{E;Jtwe*_(v$W9f)I8;_{-K}fjig-q{1kRNm%c@eh> zQKkv`&&Xqf5p_8Mp+~Y2a-awir%Dljtr95@s*rNG2C)}w5wg1$FIU&##p)^q{#1$J zLlp?zQwcwh5Ad8;h5I9_al3yF{&22g%X@=r@Njqy9*wPm*X(NYxqU>$39`f0~4xm(eJA8;bm} z02GG#5#sNOqL6zi2)T*8kSoXyK8vj26UYoZOy1XCxuM)Y)K#!W<4{8;29k3e3=5ENwgLw>dsit>7K?f*91zJCis)=deF z*!aIXLFa=GOa7-50B8Upum7Lg{yEA2oMlmwQe6%Jt^U)%KaK;S6PNtA7a;$w1RMY@ z1omA)@-NlExIfEx+5&{X#`^zfodP1wn>#C+ z^(takbV49iZTfyj#=8?jLkT&xa=Yv}kG@NGvFblB_>Wof1%mi=`nYh?`loQJ_;eZo ze{XsZcD-AJ)^SQ?Em$?%4K}Qry^N9Cx^?g#%WsJ%#JQuYE>4dcU040575~qOKS4Yp z|MBGd1Va21m$)I3kp3j{QXTzZJUl9yT8KM zRQ)yi?Ebu^COgkregeI(W1n$Yu|xCgVEc57^qTxBf=9 zZYOuvb>Uk4+F=q4S352}tkEDqIu3BPupM>^H~=^zfG+X~s0fg+u7N^R6MS5`8XI=* z!#EQY)EqjD@}Cc&{Lmp(?Ae2as3_>@=tK#9r#|u}!sZKS3L96cHM~bEqD)ez~Ugcwg{ zJlkgu@8vV#zx*`btPjDvefbFcxd5*>$K%O@hj=jeCp_Ia6>qOOApWfhvJ>cBcsd?V zn@jw)$$BYtxZnu@6h>SDz=XhzgDT4goB-4X;DpLDXH=F9Kv~`pyw4wr;_UG#NSlqk zICtg(h`seI-ktVD_=&fOJ|B+wTW^s3_$e}cZzA{2WfVnRL}ASD$cemzj8HEmJqtwC zl{kbQ%S71W0z{rEM*OvMq}=;}Qsv0lXenjy83WT33L&)KBR<-w< z{SgnwRN?O6YW&f^8n*{jvIwQ)~I4wMXGN zfAgnm{*shDnQg)UuHAg^!9Z2ufPeqTn`Df#DB{u$Y~8^{C#6-y^5n%JS6aSwDe zvSCm%?a8iJ@6n%G__evAfgB8F%ev2xZtn(2y^4h+b0Sc&fZkX4E5;boHV`_MK+kzh zt*VvNi&pJA8~xy%Q9@Wqc(=N$?uU`XW)iYLgAw!*gsk&KfZ>BVBz_nn^g{*`Qa^Yq zBkv=JO^5rkt$6tG86MpC#*ss3Fwb=bMvj=toB)FdOsaDL2nqm91mFq*BbhT`7Dl_c zV*KcN7&~eXYcVi2vaRjhscV(AbcQ;YAZ&On-gr>SNA%3RhvOZK*3@~E!GR#|i z?6Xz?egUBWAXoNW<0fsu>P;8$gs=Kf@qi#YxtQ!zE>LxFh7tMwFKG-22;l{D}UdE+v?>3(2M|OM?2VVTn1B*xiE5fh3?#mP#f3> zdd608RI!GuvLp7ZIl)V-2QqXGQKGAjQXMT6>u9sFfqC-ssJMO|i`?93W%fsC16U^4 zt_$?EETOAmf$q9C%mH9($Z-JFZv*Jd8~`*3&`v-Au(ulwhhD>AVb&Y1TDFCnsvc_< zpw0n0HjsQbpG$~J^!XQlKFvETtG?MhewalQ4zgy8EE+$1RF5&p(Ng@Br{C#Vj7gpaT9q1^ihif{jhybHe|?P%dTe!Nn(aem{)3&PPtnDx|*Lhs1{$ zk$C43QXl#v>)9hhmam~O{5KRwpFwf#uPBJUgxttm$Ow6i zR)F{$?~#135=nnlA?92)-tMfyixpG=_<-O8Wr#fgp4|UE0=AdK$L#|iPx**@qpEOc zXf?zA;njFFrW%hYRl{pe6<)6YfOn@Wko@F5@s9Y4k%SQI=OeEaPLh$ii z_-`+O&-w!RZpp)oy;*pDEDa&QB_i@>6cRk&BK4U+GGBNi^VMBs23$kNs|!dEJdKPu z$B_Q!ATr+mMBdXDq=l|QX4o=hyjw(w|6F85&O}c96h``UWo7zB3Jdj|3C{MVkoXP7Wv+Y=-^pHB1bkWSm<2`H46`8Kj~C zr#)aQyAQ9QpJ(a+%=*uL9Gwn8?_)WB0TT+$$#b)jg2QLjjh{2%n>IkL>K$~=vCW}3 zQYkU#k$+y*pO5?}kn0oO<|A$03S{rwhQjklQSNyKAIa`r{q`Y4)td*X3b>CCFYlo8 z*)5cLUS)rt`Ik;0^TYw9?A?jPEgKNG(gQJsxPLDpfI0%QmM_C=@>)IY?4Yiog!bg1 zL9N$N_8w_CAaey+JG1J)j-v~wvhO^Gi_vwU+ml1szdUlVF|c)TTSLC;{I(qe=lUc7 z5R90`bp^O$+~|22KW0A0j+}!*1IEMByfX2>Q2?|{_SO6d;?)th`Ff!owf71kb^FG|*H)l5MosN2=;H17g zvGdjzoNzc=@ujddbA&2cmokCNnB}Y$fR6Q>O9(#|1L{Dox3VJNaUE+G{?-07_o5P5Zf9e9z95n(xH!VlMBRd$m@BhnBuv|6=s{MMiDu4f@ zJL~5GaMADZ4wx>S0c~d|7~1!So}L+cceBJYB}bglbcUBMt@Il*!e6GNi6SoP=SRMp z8p@U|!HrwDlEpdGEB>t~+H%)cOho*YQde#0XqbVv0T}4nz^J<&ObmO%jOzfP0swE+ zAFmC7l6yNg@q;G-3_&jf2m4{{x^}W1(N#f>i3Zdyprv61I%z;cLTZ28e^Qn4%O@o@ z-R>D%rf!6jNH+`;*Txa)p*SwyxB%cGY>Q*94N%yK0Fc9=hdfm^RGc`8Npt7ou7w3E z$$nL~VFSuGZba#-Rj3UJ!1PIzipXpDF2aeMuzBbrDgX#`$p5@L@^9KG`JY>t0bqs& zBBpSV?1)4SD^A5qUCXBHU{mBD{;gMEvU^ z+zYkuo}wni6V*Wv@$vP2RQlXR@wH!(bYu?_f7*uRt(y?LdKDD`K*&Eu4LKhY<>9eB zV&zI*xVZcXZDitdqEc2prCXkHm+KgNNwHh8kDAKI01dU;5KVQECH&P@aZg3L=15nC zqPcQ%iIy!}-dB;9UfR5Qb6UWV{>QzerpAJOArnCOPmBW;5pV>E37i*eg#0&@10W~> zwBoZ}^Agx)nG+y2S{?!CH1KfQ0Nk6g7M`JC386Y8|CAg8np|k{xd3#zA^@KgfVlun>s$b+a{<_LMSxx$0id)GDp?>P zbpeb*NzP;xXU;)>%2MP+Z$VbTF=YDxjx7J%$Pd1XlE`22KJgesQQUD9#GWJfyN1k= z`;1h_-V8(d*?2^rNkz=%EF|78M9PCQB>nLb(PyjiW?MDDwgIlSgq;?a~3xHsk_?vDJ32cxUtIpHHbr+kE$>qk6aU5U_N%8>Z57`bor@jfO8 z6>%9Ti%mmOL<+KAB_sNJI$j^lhVRB4_-rK09U1WdIR&qONkGtV5s0`Mg!o5(Nbz}u zH2+&jdvzJ9FV7<7#R;UnK8%!ry+{q*&QkusDNyxqNCc4LBmVqjFvS|E@Hcc>@O#+Mce393hQ9mX!x11U(`uTU zjdKMhdYUYW-ubgiFTIUc-?e)Wg~Pl}byj|A@o$tMI*wpH`t-h3K%fMk_N6moKW=`5 zm4ALaKTWqc9y*mzEEvJ&+tc+?@jm9?R0;Rr1!js>4n{qM^h z05mgzQ{^AdM1jUq`TsU>iN8kALA4#!bc3W?wRI8t56lQRRyJ-$NZC3$Ii>%v)bWY! z+I1)#UPu0?)uBNFfPfNu+6pjp`f{AT{1BIJdg0=Yr(Ag9!u2OOec>(+pZp!`H}A)6 z*JXt4Pi8&;LkCUyRQ;#V#|2LSpyYp)%WRCHU~LAjOaP#+fJx)sFmdbxmOEf#WQz`R z^0kr@&0|GG#14pwNtypo2&j_)Tsn17Dx(#ADXA7r1TfIIfvHI^*1xTEWnI=C7cFmc)z zOr5m@lV@zjmMgejh01g}hfaU;L3J3r_27VF%dU8P90qAu!6QpxzC9ZJL4<^Pv zA=h5MN>Wnl6(Jr&goL{M8(Mcv&8>UqO&>4~?&8)MDc&82TM(izF{sfg0B%B-IN#0` zU3FAbeFMH5qq|!=q!FZHqf$rI8w_xv~@v|E$9uv7-DbZ~wwx zAV)HOhnEOFBUx=Upf&nzt}TlIAPmDEM5kc``wZz^AHwpVWG5EiGy`P)s%@2zlUg!2 zAAa)txZMye{1B7zLwWvl%?AK_i(1PrI%Y+k>c!-0DB4`{z8L53IuTn ziXbY8RN^`?8M`t2a3rQ`f+uX*uq!m>Uy~T7qj*#r)H$tp;@8h{eJq1Lb{Ktnfpl$a zp2yN$|Ae^~377|ZgiPQoGU|CC*pmoTbS}Av@xA$aDPuk zk;|eyF&wJlSD$G?n1nUUe)ApoxiSs=!!lEmx{k8fUn!fP@rt_O#(lj>l>2P~?_w|) z3QlleYhg`qFS4mlGyZ-6%m@t_--Mt8*Gy0tOJRH5J=V~hv(;F_ptIHge%y}fp|F$D zrsszd_tS8C1rSWj!hGk)y`<3ttpoDk*fE&Q85uZf;~bG!b!F%Oz$p8lW_@~z)t`%C zTVVX#llqtgiMcdrmheIL1QrQwLlZ_ERP_m*w*5cokOrx>g6I-0I34-LqNP{E|7@{wsihxSPHOb;KfoEL&jfd;r{tXXBdzt2-;K|dsm6Tx8AXyxK>SnVkzptFCtm{<8aDgJrrZVJXH7O8NU;z z#k%!OI56g%?I0}5Yzzrdr}jAbrl`>-#J1HpJ}nVy;LW%L5s}y*^u)Tb;#lPs7-8CH z0_0xlr+?HakiPO-P}V(sAUNCC!P7UGv9m^d)CuI3I1u+7$>&v+Vi67pJ3c{1dD@+B zea!T)7aYYuN*PAmYvtI7;4E4NQGvA?me7MigkwNJnY%}@>kh2>?c4?8302r z08@h<+iPLS1TrFrS&|!!oAURBWdX2!e6}rHxIfM&aCzdRXV!yssYDTGFt~n0@4Q*; z)RZ4_(gNPw5_ntk>rl=9TxwWOD6*d~#bPzpmbU~_9#os@j# z2TI`dhi*Z}vfldLov7m*DdND2XZcHCDT}^x{;n_)!?~sE?(QDnXOCA-?&t9Br{Vl= z&d&=zNzh^jRr4Fy^~Yy#pC7ZGn{VQ*@z8<6h?AFFfcO*vD_)m9kn}7D>oW}*==F3a zjy?~V%t~z$=zeJFc8JG65@Ns~`|5BKut*PiBp3U#zX5rbHh3bt8|j@>JfJh9hF^}N zR2tC8=X(j!cY#63JOH|rX28c6pjnatGH=;2%4r;){u0Y}xbkU-g*btGF~xIPT5OX? zyc$b!OCm}at66G_y}~}Z9sn0TG+)Y|lwgCD9eOKO(_?>p|E%c7kHQK?@tZb;+@FhL zu+cj4Rs`EV$9F5>F}vQ2jmuB*C!XbD=%^=Qj|5e^4+A(A29!tY!C~2aO5uQ~Uy%)W~M@y7k9s%b@~mE2>HMD{6bT!d3D zMrHgzsp~_HkgH;wYezi<8b#M8M-zt-b0PQpgI(b4mvpzRl5~a5DK8t|yQ_}(j}7&c zgtKiaENs>xfo?5sD=%CF|D&qkwNX)j4A&N%6Jv2KWDR7E61&Y4k5@+7=R&#AEW^K~ zw{p2rwfMv~nPeOBq%8pju{5gplhfz2C1;{21o)6 z(FT$0)FsjY>uRq72s6e7CH1RAeCXUE3uev*L~1tinO>ms4&=UE`Wb@fEq*j|*j2D- zUzGR)l(dp2KX*;e?V(a=agf$Z=Y3OR%>8){;A8A@@LzN~0%i*0J+;aA+Vb;F&PjKC zkFfbNHO6wSJ_sd#$P{D5Ki_44xBY|)N~mZ*uOT{r8J6h_hQvYxkklro0|a zg%JC3miC;G$z$k7D>=O7?Vo?Y-RM45;>>Id%6drakr)exqfnt(THHD|Hm`H*t6lkO z>i1dXOUHbsk2C%|eOl7sB+IX%q0wGn`{$*YU$3JxSCC8(-lH2A7(gfUo}xL3FD|Po zO1qJP2OW}!VdPC$q~Obx5pm{SXDPBGK}$@=zjm8R)i7f9GeW>UgAvhyqeIt<;DG47 z3Bli_u>j`1i7o^`*u0bF*3!~?OGQpj4^z*>f1tA-LX8YQZ*VI4`>*Eg{iGI&lc{%D zP8?VH-t&;Y>bt9(kt4KSS0=uTMkFUCSySG$jqV+Sa>}TsXKpSr7B{PNi}%rW-z*`h zsOcaXalfJUrp1SuAk2bJ(2OV>-};qmr!euAY*R}97)nrJFMb`#Q}q!sMepi^ONr}f z+}ss}#<@5uia&gfl~D3*fM#q(FKt1FcZxgW4P@KcxRmZG0n2Qq@_L5(>CuMjb(Wlo z-{kbu_3k?R4y>uE%IAe~~!jWH0IjO>lsI>~X91{}F7=9@5FH01jMtJ>5J*wK8oX%n4zt!kwa`Vak!y?tFsccAKv zLhZdBAtDWwP*@ss_U>rT>sn-{(INh-CD+-SEtue~e&7z#j^Jw}9W!OLix&|2>aqk3 z9B$M8J$6aLG}0lSS$WY3|NZ`K~+kv{{Xu7eI@q-H2cFV=i zMlR`{$eVrZLy6_X4uqFR;#FWc z2=8^dBA1oOxfFf|3J`BW;qo%icnkt9dI~R@7 zk!{|033vZ^3D`*}HaZ!(%4GFFpHZG|{$qpg(AD&ev7i5XQRE{J`}+*4k_(T$UJXrf zlcb{05!HYv#ceIBV!Vfa-KaKNBP9IBKkO0P7TS#Dd3!Cnw=k{2%X6}iqAZqn1msOW z=zL3PI7txv`hRj|bxA~_Hr6n>Eg zifp3^nT=pyZxy6jF||H*)PtBY6Lw{qW03{?CSBhe5c`LE#wp)CKn`GHKc_d3dZDXo zK|YvGkDniU+uhWy)|5CqvSX*J>@{MUqDSV)2eg=CvZjJ~hrBAv?_cVJV0mX_Z0Osi z!@}WZ`vi?Ez1?gei{bzEjc-ibA+%u__bQJVn5#Tj?aS=~%G?Ax=| z1>G;7$^;iYWrX;+tj}|+?g*zvbsXFJ5|o)Z6VogF{WUY59&@xQO0Y4@)d z#8!WYdd8zk|Hqg|eCmSk_oG2BlqVe@FIeY0CFm1TdgOOmcvs3|hxs!UBL!CF{d)9j z5Il_8U)N&B(VK|z34Tw6j^!3wn*<}qA*?ow^Q1PpmL)!Ylu|HDobyy1GV>h_~dN za29bUcJ08izNAZpgwyNGt$XfB!iPI`gQy|AXdx#dF2nM#&fvhe4jv_7#3OY;MD%_N z$6^pOakZn|IR-)Ku>%qJ=WA2`kUD(PB6dV#z91zC??c&~%?C$P`M1$pFWxO%aB=+# zjan9G_pH-lT{UUedGlriv%Gw5amHZ!0Bz6|$dp>B-!Hf~ib)gc^D0A0u^on3ZxAn{ zX(eiV%Or4ep8;e0U2x}`z4R2==WW5or_jU9~D7>uMa6a zQjCPBcU=#{Pe&K2$X5opUKKVBZYF5BO!eKeiS4nC{(T+Z(Xg|}x`@NPP#@f4MSJl? zvbVwjtGdTp$eC$5?!@0Nk?sHOxkx`8$Db--)+;RwRK6d0X_?5H^6^Qh16*C<-M zU*splu3=f89KGK31;@`+>Ren@+MgixLd}i?_?YiI zDMJgRMjIgrP{s&_3gWfEw~R=gEjs}#C&1T0Hi1@cAm~DmS93*e0ByX*<*e*{@4VH= zq-H$#*rua7jB`vjvUxweln@o!`VU-2YR29phDWcrndl*lOWv=2;^rycwwu!BVj|id zx5a*A$vyG#B=LlkP}IAY++CLOccUBmnS+Aap=2T$-|C0USf&(+kgx0e>S)l^0GUxmFZV`u! zwZrzP&BIoGbaKu~d;Q%Y2u^g5#>r~zt4^oL^VOL2GzT)YmGs>PH}_E~+V7+u@|{M<|K9|IFnsti>@dF3B01H(XqeLKu&Tl z#SQE1fV;w0nSK zro77VqJc>Va z(5`*7T#c;IN9CQ$XS}WONA>wRt7@p5WUn$ZvYr3-$tuZC?j^KX&~e?2o$Tj(W^s%b z+insHRXLcyBqk(@I=hBRY$J3@Sr0T!TIlk(0?ji-$dB5Y*Ng0c7w?EYjD9QP$`f+q zjeCKdc!d5t?jhB^g?`@>OBzFZ%Tl_i)g0zIuIrauSeWpYd`n(#i9UNFsw*`L|E4#p z@%+tx^MCnHzasO+UMVRs`<7IGd%4_f*r+w%;5Im<#V{5_Brr-|vA?qHh_D`G!?Cq( ze~11=(BQr(ad^J3guaf1k}{o*(SxKyWU&!(Xww?UbIC-wqW(+3iBjrjk>yp#2id+j z_jedCA#UC#=s*Qfz(qtyx*SD@4a&G2JC5oY&?tJ zkIt{s&+q|bj1pt_f7}EjdRG9n|J8_uQUgqQw^B{Wyw<0$8ytrhR4WAUW)cGPKJnv- zq-Xy7loLlkOpqspC8)${s?o?tOHMBPyFit&867|N$>Q?!$MbSY??+J?6f{!0gYffp zVq-L%;t!!DxwT5!{!;7-xpjc9>u!-77Y$P*1^%^`!#&f+<0=U-jtz_a8N&?Mz=S zhsX*oyCDc7LsPj`f4pTI*{pB(T*(a%z4!P z^1Fp#Y^)TB_lb3?a4vO?#~(>FOO@u!>ajz-vd)OG*?A2=)7UKwRxXHR#s!TA9HXXmT7Br7m*QV*)z zasa(o*9esToazNrQjrXUjw{Y_@r0Rw2`Mc%B){_!*$AmfpmK;D(P5UjdT<9JaGweV zZ()Pa;&G_5@GJ&AK_@BzhzEv^@%GnDk-z)-p#NNo>SuG71R^BMH*Bkg1NxDfV51>V z#GaBMSu#(=Q=WiAf~qgc{I|q zi0OZo`5ZgzUvnB@NMh#vi+h%fZ9|K0Bez3o-_+bj{f<>~kkMCDFCo{1r8yDKy1C7) zk~n+1p9gK5!R_|%F+DrDh^m-Pn@3x-EGaJ~n{Ewz;Xm%M!_c{S8@b1--RIenr>ilq zI_tLx+rZU7XxLDfOq`Hs>d*J2io#o2`MpHklClgwPcw$=099(fqGPu%BbbHZeLl2b zz+yz>uPI0cI%LZ{AOCDM*z|_h1E^bfkhSMp(@Laq{jL$H2qAM|CCtmufhTg`qQg7? z$=(Wjq1ANTsai~T4y5C^FXAQHfT{AWE0((#Dfceb8IwBT6$t3dt==74kVn9#=(8=M z{_l{5#dnL|-QPv6Uwwtfje*FZX>oU%@pZA~1_7tEMz||z=PmSkbF0VJsPznk{*gcB zPw&y%MA<*MUL2MjH-0`%@Yw)B5d&^*1Wbn(AncgJtL*=l2S ziTaZ8LK2acgDu0bke95fH;^ftSJ=Vz|J>pnjH}jc@56gy-?xSyQ{z8U4vSM4w9HP; zq9qO`wKW?5F1A>!|3p^_E-9%Md*-EtbFfWLns8-*T8rI?YcFi@er
@G5*b7(*C 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%0D`V)%Sy7d0!C7Id(mk5B9R)PR_ltup;fj?u$ zjEAR8nKD~XPw!RQf(QVUCr@73)BpFik;teYE(aHVq7pqz{>C#M_Y!h+@yD1Q#-vH1a% z`Q3Vc7Yz^lopDvmdL$q1WU`3_y3@Fv+0vxn>cae9c&$sTOyI% zV`XA8>AA&OJMcy$zTH30qYQk0?USc+@$srO9Bz!o zru^_T@&3-`=0-;Pe-iBfA9?xhB>Q1yWd#=(7dSXLz{JEvn5n6$Fd~I{7aan3bGvu8 zulu)0HW!jqr}MI_>JN~2SwB(SZaXd#D$x5aJ1cN}cMXm=m*A~c^RTrzS%d;7n+q_@ z!yZ9O9KL5O6e7t2S?Y+3+hF z`G$suBS`Ll#Nbz{RPgcffvcw`s(|Ow0h?6g_Ma!N# ztrF1Rt&7Vbi!fSr`B zUngQ_M9`RUU$5LSAI~4zGt}Pg{_O3*1yvc-YGnJvmlKg~CjuQd}{>cOcpC zOtN2TV=X*CgP(4w>$^I3C%N@(PkRLlGZK*)8UPz}3krE8NDp;KReBhf&X2*eoEWSv zOu$oR$-*|3&%{=;ZI#KwwpY$Xb5#m<~s6~@m$ zU6(~3J{^bY|K4qg!E5Eg*fqx;jnOL1@wP#L${hB#*6?(8Ms8{%R#p_W`8(S|C9%l3 zQo&EMK9ba#ko@fNy}Z1H$z(F|T4(TUt=lnpe~Ik%opil;%>MX+wBK9Yz4U)NAy&#cG*pJ%yhFJ$0>-*&M=pNIhObKs}A-@C`zezn@l zPG$>7wNebXX%zCy27Yl21>g<@uNu z7YTniSGcIv^jj1lf`fxx4vk#aZal0=ztLIwhdIinaFE%+LCPi}@JV22V+A#ZA1XQ) zduuaz%FGa;wm^{D5@Gh1h<3C@tdkWIT&ywM%N9BQGR!BN=PSiLKPd`=6sU=^$C5-R zEKhdEvUBDltTE9U6%lsG4Ul7|yDfZGR?x^Ka3k=%jkk~*xfFUP8?BCM(`!g3;pB_+AS z7I$F_3+JOgFB>&ES*V&f8x`3Z!pi4lpe!p5IVlN9jSfe0L?{x&LlGMih)91wx&}T7 z^mK=(lLnrSYz}lExFIsY7l9sba3w->QBo+Tmcvyg6Xqti^tW0;AsWeK7bk?$=VZi1 zqnf^dU0peLtXM$5WdRXD75!a?o%HwevV6Y2p9BZ%U(a@hWcei|`A>6(pFKST-`(9^ zkN``6j`eAu^Wy(5NWj12XGYlBIkV-3c;l;QD9n0c1x_+xpIg~3?{`(5fH_W|hL@8|2;N+ffJOzg+s#U;M( zD(TP8GV4X|GTFmDP1LYCU3cAIr;Qyu%518Bp5dhNU$ED;G@33vuuug|2CNDOi3~K# zcCz8mmsy&NO#ckM@omOa^a|;`cH3ghRb@Sl&Ckj1YO#4y4W1&9HW5gh2)O(` zOemRg5y(qTXeXG`JS;5AInNdl;WQTKV0lFW);CnpG1Li=Gl6YhRE-Vv8WR|Uzy0`Y zP(5!JLOh(91SYUuZtzc=Hf=s<`5D9-jYi0Q20a^le~CnLp7iHD09zLXaHQk44z!h} zur1Gw!fBG|E&JLf`w5EMITT>2-wy5)?Y2})4g_p^Ul0K)0nQgN=v$gggo)?7h$voI zD~O~$Txh}%uPnif3o{TbS0c&9v98Z2B$(nvKfVSNY}`2Td_hJ#Wjviuf?({x^ckJ*%o6E8U*!N$^@EhQolv*V-S z?x3Rc?TDlhf6R^!CGf>#F#+tU1(oN3%Rpz)ZfdL+pxsFC>44VJ_%)qv?6BqiH+Fok zHU2FAOeP*CgfK4`*qBU*yPaHsc3;!d^N6J**)Xy2|8{jO{5q4^%8EkFONvHg(LCg( z#DT(|Qnt$pe)9NL41NYVgPo1D{cNlPI049>|02@Avnuc)a=3-f%hINZZAEqret5oC z0RH&i1!#G?0Y|mq=OH|utmmQK<1Fi6T6->35HUXe&rxk2prymUEqfRKp%xA-!#4-& z@Shdg2&ZEXQ78t6SlyI1&O`*S@D$ttcV{8d!~KM0*P7S4a3RdsO8`8)voYXl%Ot>~ z2YiEbs6jFQr{n>O-4wQiR=P+^z|u%xuZ)P`6QjwKU^Z=v$g(pTs5wR^LeLO+H6&%3 z5QGt+b>?&tV**f9jBR6X0`uupMWWA0f5H)ysgrs<`^`aS@i1G6hx4a%Qj;ymt zA$w#7w(dE<$A9y-d0D+s1pN0-lI#rPP*#9M((%DQsLja~Am;DkeL9m(XX1HkVdXiJ zSXEhw(#)C2PKZQ(ZWeZvs>vX7)7V%vuw72@bG&bBYYT60Zz1<};Ai>o?CdOnZD?qC zN$~3kfQVuhZIx`k*3vw-x_Ezl`E)rx+g(91et}5pwQO$(@%!uZabjng@a*leJ(0xI z^&&@bd_NhHg{Y~Z_dnQJh$EYe#QyC=g+*fjmK_y>9KPIBfg?mH$*xWKdGv)?kgNbS)fn`JnCmF0JQ}qRK*=t*oLg1L4jS0fW%mlXPrd+pwp;?$g zVrDG<&zOsP^e3F5&)q`6_wJksx^(C@{YExYLif zEPsypo8MbdFjsiv1qIot$WBLDRw|LpYfa)5v8)Tw#w`RN`M zlD{MPyOaJsv^U98*aBqgK(_KAM|`|E0Vjw6PVA`?QlDe`lRL}t{)QqPT$?L~WEtpU z$d8kL3~n~|{IvaYZx#NtIv4xvXSMI!u~d)!#(?*jg{7T#ZlKoEh zTf0s8h2B3(+npv;CZ(7dOnkDx#}w$Q*_2M+KRG4>>G9F1&6|troNS7-bG31M2hUF6 zW2wEC0JVZ-HHQcc?8>Fd+GT1|$EB5O9H#ADwkVBe5?h*^2Co(c z;LyT2e6lHD)J!lDe6_C{FVrMs!ORd*^uyJXTujw@Xz;`yuJbR!zOqN6GMX~wF=K;Cqs=CdAItGPn~{N@zIaaW z59Am7IN1fK5%A-q!ZABB77Ggr)P?iOcBql3*{qh-H6! zOyAKqcQSr$_o_w_VlasJtXd=pW{WmdV9@e+HPx1h{du2RF`uX?;_jH1y)r!x}^|@ z7sQ}B(+3q{?l`zG0WG8wj&mg-5eAdM$Lr_eU`+&G&hy1wUzZOVpVtWBPecG-63NYh z9xg{Y53rCtIsJQ67p+FDGnB^~8JS^jdW!-d~oA4_3{_;T5y+{?Ziu zr!pLGl?LM3ydac@dE&*QARMfX#5)af!rrQhZvQ;m=e3exdl> z{|=U5VPWww+qqFSwS9D&yB%ID3&bJv(o6zu|0xf_do^L~v9UD48z0q&3vv(yQ4-Yt zyvScXf2T5(fFFW_5Dy$E2*x`V!Fa9E|D3&EN~BN~hL;M1kmcp{ZB1C%o!1E9&qe?$ z!&^yF9pR)L$H@$sp&$VE)?8S$tSqlv&n*am) z6kvU;A_PYoB2W?TiTofp@%&9DhtlA7(-H;S+qCaX#UUt*^u}{U00%2W{@909#9NgS zII=JX`$;8)E9KvA%T2j*2*BS)F(FW<@bk4*75GRLTfD3lFME>Fc4vT0SrVpH+C}wn zj{pC@3NW+vbF$OM%JoA+0vx0B7(G`SZoEjy!8w2x6$OY3^v2?n9Pu|F-=&U`-{)$; z^$q3mLvb<5N4%OmbFXMUo18 zay;=Gf%fgHa2%=&$D%|JB)VwuI)V9cZG=z;9l_7W3gGp!P!tkbJe?bY4{9kas0hWo zL?-Xo#o%4C4;!OemnFI)RH=OBGG^G#9-vrj`q&A2_FhVIj#YAPHuE_AvAVi^pw?y$-fJ{*qLCWB2Cjq&cabZe$fT#l0mCz0*0WjID z(GKx-C+l^`zzN2T=nyfAzy(7+`Fsu+)-{y74x!{%lh^-=yuT>q(UtXf2Y#0Rc6N4s z%KCS*7cX{P(GE^~Qk-RIh?ZkXf*sb+a>4ewZm5oQK!{R}#yAZt1pKEWj1)pRSp?p# zZnr~33@?@hAl1VG)ltrPr#2J^7sTO}%5Xee=!g9UKCNqKxg*v=j$~Ko&>_ER>16AX zJ!4>C@H^L26Z>M+mEdu8bXXE|*DgBu|DlT?x`TqX5W_Y_V3zo@G zN88EULZlJ|+gc$+E`z_V5}`61EKan?t{e~S$@RqEJa0T(;7u{VH}>Uwp&`}*KGsr% zDP&lhq`}sCURa&xMA)%IexM!VGgn z4|?=>pvD@t@lLI;R)(~Gw9Z#n&D1I}ZD?O6bdwUl-P+*A<@~nDaKxfM2#FtPO4vH zHTLg@D(#jlTW&a2|QuK)YPPHs=+ioI(j1h{lqvy3Uh+( z+x8a*w4PWR)%xX%=+^h^LeG#AX!~$s7+RJ_;A2t-`|<-&M&SYzfxD&r^h}L&(A7o) z&Qgg#7wE7T?TNP?)I0$lgD&Zp5*8pT33<4$JGDT^+`4mRqxlex?T;g`|7FMd`<=)4 zyYv3M9}f%m*ZY&bF%Z9HVM_QDIU#q}wmU z({scu9}mMsFRyzp%gsq1zJNVFgP%{Hu02x6R!JS7i#ll{hOrYTyFhzFi&M_Fi3Rn=VXvxiko+!F0hatzl+pyn?=S%GE>y4ibyG zp`OlIUS5FRs}`NBrW;D|b1lM#`U)&4&c%YF94!H4iF`m;;NR3(^-1&6g_DK|{Pvva zpXENwd_HmQp5C-alO@c|c*2Acg#`w9 zVE8zU7&i%S3JWYtb!$6Gir|}7F=t5;FcGvKtPN>9u`CjwEsugmW{w-~8;%Kj{Jm2W zt|k)jP|N3pcsPqHJeJ*DVK>kupey*faDOKEuWi(%K3AU77;AUkGFIx8WJVH zi)*Vp9Qt1d`CgpO_aIN^;g(&xwq3m;04@jai}&y7(7y)>|;x!8sF zH5~MnnMr2dO~60Gp1-r#@9oJGq(RRoPc^`U!^h*{k>lYgHN)x*_cm4o#}`MozEu_6 z`c8ESseuUWF9~T4a+bCYA3F&TJ~5hOwv|^C38Y7ds2ye2UuDLHi;6s+cRv^;(Ao1d z_#4Udm(R;YZT>uzWThiJAxcybb{;Z(dex#WL*#^Rq|kE*hn?b{varBpLlf9YmM zNT5w?y#hX$|MH|CE(aFVhY8r58{0z-o{vy5FAG&UbI@3lFM1a6WFICWo!4iTK=J<0 zq44|!d}kis<9OeIwxh?7$5j2vkeSTDq)B=(FfxU^o9iVLfb9Kw!cTAIzwVyZg}-zh zioX7q*I%!{{`mG1TLOGV%l4AD2*f7|;J@^-`}1#K?5TYJ%RLpFTecNvw`?mMJAgNy z(_abvhXxY--6;b7DN}LxV`E@xVu%Ap0j=M!iEVwiHbjI3@7IO2o?a7k_QMr3&)Qg9 zVEE|qEa4)qw&bA7%Cspt)c@Rk`)-s#kH~<%K8F=N!6%E<1y}3w)Zb<01*plJD?ER7 zZZbA@IO5iznkur2MKWBv*#a2z`yU|hoC=pJfc)etWR-4 zexMX%>Geqlh6HdoK?0r2efyLA)7__x0X~MYW5=fT<#&9#y>ue4lXz@f$&b3V9e6JP z&(GE2`~5ZTU4MG9c*rMPi^czcv$qOg@2v!0Uxc$S)#LY97QK(}UbpM_i6`K19_rSIhL7W8dgZ#S z@WH(q(jtRJg`Ft0xsU|fI&51nMF5E*zL*^wh7AjH zG^1`O{4n?(9Ua^6wI0fUZL^Pdhnm{)Rl@jYXoJ`;pG=z`L>U_EqCQYv#k!(j4X%ric%Ag`>(AHrD3I%}PRD zMyw-SU$gzO41V3JD1!z5&Ma$2&mS8-5s!_Uh^AQ{?IchWLPQX9_V|*hGky-%t&h@s z^gn00{nFJ&09-62Gc|lRH8SY;-K!RTt1HXxMg?3{2{aRsGh@RsCovieiu29^UuWE# zfC+$`wMP4S2-4vZiPbeF^M^3`Y{}kw#K=+j=RNme^60S$v6W$W-CX?m#!7s$CKCtC zg79H=5X!<7qz=cz(9{B6o}L#Z274?2b$KohJy`aS967S8FTa7}`iZQT6i!y~b7oCDGK>$n`^;zM#?z-#AZpC#s4#U{V z1~9d;J*8)0_<5v8HJPn1o`0fl9kf0q`&zZucOoz~!INW%1V&H5ra4|`Pp^$Vdvb9& zK52}Ajk%Ff2-^J@UX3b1rLw%&#&pJk?1aeApIN(9Owa9YVo=vJfUEoFCdFY90lmIp zetSa__Wopx$_kN{5Dh1(m6$W|(&ja-jfL6HL-|_`4GlMp9ybp6+&>HkW5yv;p~Sw% zJpA^-PJH#sTD0t{z@g>oqyj?laZL!)JSBK&_!vlRq!$bgvNBL86g?{b(cSm#0ND|a z7%`$x_ZmrhbC&gZtr0IR%Z5@W!2_cv;JRBLAkg04ZhyN+`~0tn4RXcVR~C{|xbzB5 zUp-xkH&)NboLC=Jq=#Vt!VF$arUf50|6S)S`qUqQfd2^-0JCHt37}tUKqvtsfyapi zMvk3`oh6ZN*gNmc{9tw4BO}IP8eNnQ$MxXVNCMoCL1Afnm^%uyC+FrKou>4jy;umq z`o05o}j1&}QrHlBViGUTslJX+avDwRB@my1Fae8@H+SsA~os%X{`QY&< zpM>Gq32liQd%U`)6u*DC6Q94Z5=XbUFQ0be>1rHaorS~Ip?Iy(2M$)#MFAR*^>>^I z#0r3?1z(B)boUl34=yhrK74plUyq-TZ{d#zYVpjX*|_EIM{(Uv_rXqW3pb4%0q*ul z3Ux&zIFQBUHm`iarchPxwSsLCc z3&e&rC(M|tk8%126!*KH%Li}{fEB>S;(uK}ib;ZT@c848+xPX@Ki*Y%4}tlIZz)!{ zwz3fQFE1{gL(+XQ{`*n`{`+Es2no)Tu|mM>jba&bUN1nj{OZj*joQUUj_+UcPQOk# zdH#p*L+S=6K!N&3pj??o~ z<3%fP?i{>x>@0JS31&y6`YFRnv!co2cx0?E-4q9ZXkCgt9Q=|lib1|D{DkjnTr z!pCRK<@#MlQ>RW)Og8+jG%^UMUS5M=4>ybU*`m2-r)9H_6A64upn0=47Oxd}p)^#E zG2C21_>Ia|N0E}gbTIP=m1 zkqA6a;6AylT&%Zva(DY0i`)i`S5*FzjMr=A1wTJ0>)ArEW$jCg?O*g!f4skquEe(^ zzZz8muEOAKcR3SD%63&ElF2qJt}D;e|XO?49e1cvnk2K?+i-of^z4fJXuN zp6zC#&vQe4B>NZi_1KSXEA|xDT)b1a)cfgYYw+zeRp(X%;@*Gk;XiK5#D~jf;=|?1 zII<=K2T8>|TN#C21p(Mw6of--=7>dDFBk%(P~l4=iSM6VAV}i#ouz_UT6UBl=<`W8 zFfdrd2@f4RG6`5(S_(oKJ$f`Ad+aeh`skx#`@|DZVBENIVn5zzuu0$&xrnlB@IU{d zR4Q+>vo@QkvNW}3Q%g*hQgb7JM_cP0F9+3+4mK7@i3}mohlnu1-A?{HdHnaCW!80( z{$7(W=dnj96w^a&rDwKRX5qIFn(^%$>v42vmA1EjQMb!xAKz7h51QuUrNRJgOx2)i zracrEGcaN5jB_f0>jU_H?VJbDfu9}Rs8ORnq{HZQ7wco&i$mJ2LYMyVHA#RoL|;g@ZUz@|CNV4_+&6kvWMp+$iojmj0YZgKx}pP&_fU5{`>D2 zWWXnliz_ZyzJTm!?*D%c_C0$fhWJk>0;qIR*sLMYm$@jV(qK2u$nfy+%Ra0csZ>51 zDwlu1yJ0?l|7a(^B! z%5$Rve6Q*Vpkt8_-^XLej{TAD>wYa^&LzE~tap3K{tLlhiKCnI@m573p3im1n-xKL zt11Mq^OEYhURarIk0tRcG{!2iAV!I*U@JUZ6^m2P)Sep}#xEv&)8>t|Rz6R|- zKLNOyT5MfcG7D{=?7`>HFC)oc-1TzWU4;PTB|l!1g}vDxSdpm0hEz2c#5u#%a0aGK zHxyw2=K**k5EFn-Rr0;d;2%GJ{8_r!_4@l8TDF&{*^X^1S$AHXzN1Vm0&;j^G+rZb zzcmO`lvQ8)O|MA*P9IOn$sa5evb1@RY?P%j3xmUCe_7nJ_;^=M;nLYY&)sw5b$D>Zcsw|A66}n|eBA4U%)0e?qh(%`UxNu;+0L_Fp{-NX#zj4dHInE{E3A%+`U<56Q9jHlO_7&`9H z7mnwH`}+EdEnP%0ZcD$xbtrFKCV-1A1Agt%vqzYn-Oim03vl+M9S{>`wiNUj{9FUT z;Qw@CIM$?iAyTb@^)zGLPfqDy_uYqK6sC?EHA>t!oDAfV0G)#5dxjj?pf#J(&I35y zKCWMeLyO|@-I_R5hT5D5dd5#mN{XlkbTb-`@7E>ay;^Py?oVOOETJBBzxlV<8b@^a ziZ{8(hM}oBG6R&oCjbJzijBuT*^{#O=eWMN;AdmvU?sqx)tiw4_VNY<{*eUuBJ&aW z!s=!mvb+OpEFMCR`A9gJPQxf;D?DK=!D!m*8JS^{u{q2fJs|ZAfYQSk=C(3SoTP`T zQ>Oe(7k0>+igKwXowt7x30$>GAkf3%ftu`D#sT*7UR4SPE0s5~d7D{=tjbRZjy;1D zPuG+5&+obHCp)w>1)nSk$EMi$ql4twpfW5=G8^L;U`a%d$Gp6N{} z@F;;h)odJK{a5_g`Ud=D{SSKnH(@8NZoyWI`!Uaa6nsr5!_;s(9Br+T?XCc~TMl=1 zfV;OZCfg`6Y9grsqZ#=_2>`W?xp#z@%ZmKufD`aEvj~h4c z*uD4Od-GtQpO2a={!ZXO!36N(l6ZW*G8SGIH~e(t4Sz>om@6rOUiM@l;5)GCx~#BN>JI_% z$tDGHmZa60o~nScB=P-C^>La&|C80E58Bk+?G(t*FDW8%a%dww43W+PRg7^?Gi zyt!;I7ycY-jK%kB6Oim^cpd@Vdh4y2LKx)dfszUMc5NaK68Jw@nbz+8MOkoZU00tS zZp+HA38-kev`IdKNYo&J#7NeO#dWZ;d^;gD02zs~ zNR5xe?4&r9&6|ye!W=9r&aGTgQSql<{)}fHsw_>G+FP6dH_X!+c`0#NTs&V)Ddx2d zc@dKro?1;rkOF%fi;sId4b{U;q9_RW#i_lOIJv890$|VoDTN2TT-M9EK4Q|(o29`> zb#;Qq+_r7RsF7{=(S0k5)U?CWx)Cbg^6PwGveKn{^DACYU?|Ta#qM#Oto(3QI!-N% z!m1RfZV6z^94~yaB96R&`nlNu=++YZK{+r2z7-pv7#;y&mh2A!=*omSnb;Eo;Gw>e zL;&UHPvUnX0QT}7!Twn{1n`C89(?WeXgdjL?MpJa+=qS2C-I0rCwUC52m8YEDn>4H z$;r5|KrxYKW=sU~XQyIeac=uUnvJ?Cx@F}}B_%ihnSk#hl|Eo+Wl~ANM|^+BBLp5Q@3vhwAMEQ}0;fy!OPMU-%lP3$AKXT+qk@RE0>#9~cvCa3U zmH;*k^|?H;y?8he1M=@Vv@jZ{R>mVjHSGfMhsdYm)QVUfS`bBEzgP?%9&0X{GiV1! zOsL1kCx+_)7`zv&{Oiu^)3%LIu+Df`uBUCodFao_bTYoSz6HNp|3f7GbYSOvz=`t+ zfC$3!W_(HV|3U(Im_mVn;TdN=j5f8wL_NK?hJXNuxhieGj}Iqr6c>$5^8VaVqp>7U zOuyZDe#hPaZm6$_{WE}HV`C9%XJvMpJwDGaY+l}QZq353`U@}t*&O*0t~AGIn-od`~kWa1xMTr+eM_a-35F@)GvwpKK|_Crjh;)yg>3MXMm2Hkyb` zAL}z*@#XSpd{7&VkDBJ_ynp$i9u%F7N454N$49*-00Ms-ZGR`WZDk_RWn6hQq4SjD zi-iG90<(-q;3u1#0qKqSl7N1k0Dp`K-~tk`ya`{b{(T++a0u{=ND>~OfzQ9?VqJ%r0CJLJ;i9xXl@;rI2U~BxcczP@I>A|k*O$*l>l=;u zdS8{u2k>;+!z(lJYN0<4R)ym8rO{$F-B67^{1x`+okOn4pnG@}nUqLi32obSF+XpK zAbzF$+~;zgTaMw6Z7camkigbre6%73-!&!U$Bn7@c~b_yS(_w0|3~ZQw$B-8E?YF{ z2Q_~D_?y`%4ER*^UL(frX%P^EoxFW3{eLSb51Bl4@9}7YZt;+w)B(&ex5N|U_2Blz zop|2tPMlTTh97NiZuj_|LjZFk0Oh@Z5P-vj_|=8I{~c(un*YN1BN&2q9uNzv?&8A{w*~RZM8R+V*d)oZN$k+sr(szxz z=MKb=y9cjX-HkKy+W`43_^|sey>OHo$4NJkv<`2 zdnsK#MN>##_nlP08D2Afu+E#at>unTFIS|H{GXeeBwA{%s3`1KDtB!aYcBUqX>Vg` zt1vghocIXrT)9w4{&l_RF}QR20?bQ_fvckL1Rz2xTX{f`OnxBI#qm^Wv_Cc!B;u*u z7%YhKK!T$kTr6bpwN;#oa&UOy&zx92wyiYk*!I#hoZLLVyHX@Md6a+%;54a(p;sxS z0G6-<=!yWkEBN8Kib2ms3=Cl2vgBtK!C?fCEbwbRDhA?NecWlt(h~aP$Kn2a?!mNS zcOql-ZD^W&GoG7qGY*>Hh7TnFM2l(|zI1*JpV&W&=j4x}YQ`|QJb5=vZRAjU`NPe{ zS+s%Tc>){{5(#7uid=TExldzj`F(VdA5!C^QJ_u!t+$emC< zbUUmbz6;~-y#tRw_yA0-Y@l)XgoCRGG%jv%)pmi^PHy^vLV*EUNeCTQzfnspl%5nT zCq;#l{EtQ1+)OMjFA&RW^>LZ5Gi2$D7cc(Dkb&RE(wJmF3eyts^qM7YoBFT_DUWtM zvwk_s=FNh$O!8e$RMg#U*9hRxMF62p01Vno5dgo>LoK3vZzqYbYbL@u0agM%9SOL= z=rc^MtVtDEv`^V2vY9w`G{!#uD8@YY2&PUL4@*-MNUbd3sL?>-6AUXiU)Vdlz}CeR zax!lZcTxMTZE+qy0H^6M9SOieYMC71;(!c_{qr-^P?tXstE)>cmi+6f{j$EHym)hC z{-Bl?JIEv^1pYI*GuiVm!lpj1K)kl57zZ}3L1k{1=p&ew5d1H;D+Opx6*+e=Eza|7 z$jh2jM^>Agl{GsiBp@p)@J|s&IN8|zQ)OvptFScjP?(#z+gqEP4*1*?0!b=oN_8E8 zF6RB&yI*X=4-J@8VHE!tWo6LKpDotY>tXV*r*>-ng0k_0 za#P79)^=8ALiY1wADbF`2L7&o+uE8EJhyo*DWF-rhQK$e5fOK>T_b=$5djz&7>p-t zV_DB}e|NnAm>h-=AAT-zcdWWYRJS%Q_ zS%LS8ih@0Bs*8W)<7S1!zm<)bRa;+QL5i(-e`E1n)s+T%p37oyW8vp2v)vWw>hN`9 zurJahgOM5@hzM`j@13O9dlhCTF?Ldmfos{$Ex}m@bT<^J^Zr~=(Uas}zdV1ZI)N!B z=7=$!h}SLuB_;>)NWk}&f5)$;*Ws-7_4vi{0i1GtSkwdjthpcGX&yj`vmF#3eqwTakRDi-Cb$> zbW=^~7G6W3Kg*4?{NG5x`p^DdD4#c*2*C2YREqyo`Rx=~@|dU#_*U~Ees}mc$~DH2xcb1=-CcYRg#lj;m;#VX^j(!U zD4Lyu`l4Jh{MV#iGJBxG-+t2yVmb8G;?g_%ddyO(^zU?Iy(c#lGtsWwy0muc7P^_V zq}A)?#X0%MH|L&pEAaM#Jt&=%&eOCns{+WG8C$VI3+^6-Vq*P7K?XzwO?9Pj)z{Zw ze>uVLAhF2e>dOWB*Z-8zkY4U$6qptdquKM)GQNk;%(B?6fg zSpN5*P4|Erw+K_3Oh=2=tvD;W;ezSHTpE0Ws{`%s$JZ{8;~S?(0J}S}OsxkiA^;CB zFVM{|!T<_OtOg|hx3zHc(I`>P3u@-gLt{zqpn3ld=S%P9eLZIK`U^BR7F@3%z<)QE zWT;h*?K{UH1tDFkr!gomdGNFs^S;2AS!EE|}MWtJK2?kLvL zZhY4xt>Lqw~ z>w4_p+|*70S!r;zvHUJGG4vh)mOyF0wxI&f)+Kd*43r*veH{V(-ks{9&+r{;@T;th zSIrFd7Yn_z)W1Ync5dZo-jA1S=ikluqrJq!qQ7Cl3a*`IPv0>N(2e~MwfsL8hIBsO}ZZMo85x1c=C|+7Mzvcf>!yhVh+I>$=~s!;xYI*JBndJE(+p$0A3P` z6P$GXpAX0dvou{78|aNj@}8CR=U~Mk#{U;42V0D*tsrnT6|1n|rb6wR7BYxiA5+3aBrb*Q4Xtd8O?u7K*r^J^!;?)(H||0uVU>snz#G zl>`j&bn#wHp%=^kPTsM#e+kzzY^<*~8tmiukV2*Zz%m5dnP01wkDNfO7&|_dnF$|2*TOB6CYjpEw@lAGjBz?!FBp|8*;d-~JB_ zzvXXu{Pr91$iMG_9)&3m8qIl2L-TWqM1m(qj7G4Vs-V9YPi<}betL8m7M2tYs{G&3 z&CuJrhO)Vryup+b1Tv4T|+Vb#)itC$Nx3O zc&f2lfPX)c022UL0uB`c#0B`oH5BKIRg624SHB2=0mxo>X=!feU><+4zW((NwwA9H zrYH5P4&!3S%@eXJ=A^+_qk5~q1W?BDvM%f2vH0h*5`eZ;*u+XA3WN*|reZpq-b5IT zAA@On6JShU-q5(cBw6SAU9@Gv90uI?$Z+Jw`+U^v_Q@UNX|?1*@~WrjB*tKIS>Zrc z|8-3OU3~6__PGXcU#d>QS!(sQyGq7QN`B=fz-PuriY35#C1CdcOafIo*{GlpW>r;j z?|uW_aH}f|v31!39N;7%6TsYAgI))qv@smxqfzf-(rPHmZ4bQ$@Z59ajfdH0$A*2J zl{I*so>kUn3$x-PMRS$DR$z9vtxIZoI1^l*+K@MIMt?>FCi7fsT|I!Vof4Pi4)$um zy;1`fmhEO~El9zbx7y?5vSw9>Rbh3@Lyy;+0xL7))BE;i{jKi=U}Nkom!N=R-X-Nl zA}O|UFyudfW*48kX<;RnR}`WqC)>39q@Og1rGI3A&zqU#@ly!=YzdKJ$WBQVAwUh0 z02eSVD9j-cRrET9X-@`LV&7A1@Yb`tP|gHkYdIj3fx06#jjhGI`5DP*EGlhR}>-0%?VZW zGm`pskOZJNba?<>L&c#U{_DwNB8H-=X#1K0x`jmex!w$8SX!8$rvjJ^EG(@sV$|5S z`s@gUzMdNowbao~B}ECv(o0DGud6Q`viP4bG%JpB0&Zhj{_1YQBC|Z;yfLy?|lDueNfyCj!t~E-4x)2{m(7V`Dt zo((*VyRaxnOhV(CsC-_c{k)Kq6rHI3%DyRGQUI%Y$dAF#@jp)!X77Kc5CDUJs)?Bx z9t<~~gk=_wV5P;wSZMwjQq9ImPs;w zo$N&Hyo?yPJx(8d@H6AH{IAhU_r}r!_&M9r;!0vmfsGdl04+4&qRQ;Jt@2-!-4({-VVxlSzRnD&2L>>TgDZh zy}EZq6(jv-K5iz$^0}Ep#j&-wqRU5Oh(BBvlKo+xP9yq!phN)a9P{he{o^H+t{C~x z5}(%)G`2vg`IBP30B$MXzL3aY#rB}pKM`Uy4wKAnM0X%v2*5o8MvtEawXMbTeXiEB zv0NYK?MCcdC}PkJ_2olC04)7k_Lj|^EpiXJX-RNZ+9KG^5zY#mAU0Q-#DL93ZvAsY zc<}LA$?7G~+du**$XR1UfIZ!+suFRNa_r6% zkT{O?)2QDsPEUU@I5_xvHdm?DBsM3h)ej-wt}i7-gq%){2>G7Ce|lz2WNR{!024?Z z699)1Jb|en^$Sb@EStFys4^!DYKi&h6szCDHju#aQcLIX?_ETyM*x*bptq`Jqjp4v zTeflU2Cm{LfOU1HBIC{=<#>-P_n76&3B)c6Tf_x;WptSXu(f
9;t^mqe0Z1%PvDX}E&*`p`z8)Ls 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 diff --git a/spine-turbulenz/example/index.html b/spine-turbulenz/example/index.html index e4a8eefee..a82c95dda 100644 --- a/spine-turbulenz/example/index.html +++ b/spine-turbulenz/example/index.html @@ -97,6 +97,7 @@ function loadAtlas (atlasText) { var skeletonData; function loadSkeletonData (skeletonText) { var json = new spine.SkeletonJson(new spine.AtlasAttachmentLoader(atlas)); + json.scale = 0.6; skeletonData = json.readSkeletonData(JSON.parse(skeletonText)); start(); } @@ -114,12 +115,13 @@ function start () { if (skeletonName == "spineboy") { stateData.setMixByName("walk", "jump", 0.2); - stateData.setMixByName("jump", "walk", 0.4); - state.setAnimationByName(0, "drawOrder", true); + stateData.setMixByName("run", "jump", 0.2); + stateData.setMixByName("jump", "run", 0.2); + state.setAnimationByName(0, "walk", true); canvas.onmousedown = function () { state.setAnimationByName(0, "jump", false); - state.addAnimationByName(0, "walk", true, 0); + state.addAnimationByName(0, "run", true, 0); } } else { skeleton.setSkinByName("goblingirl"); From fbd9a2057e7b8b732c36d5dd370bb013beb96718 Mon Sep 17 00:00:00 2001 From: NathanSweet Date: Thu, 13 Nov 2014 01:17:45 +0100 Subject: [PATCH 69/91] Better scale. --- spine-turbulenz/example/index.html | 91 +++++++++++++++--------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/spine-turbulenz/example/index.html b/spine-turbulenz/example/index.html index a82c95dda..050109f8b 100644 --- a/spine-turbulenz/example/index.html +++ b/spine-turbulenz/example/index.html @@ -44,8 +44,8 @@

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%0D}FHjE!HVsVmG} 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 literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.png.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png.meta similarity index 93% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.png.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png.meta index 9e52917d8..e6af0cfc5 100644 --- a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd.png.meta +++ b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png.meta @@ -21,7 +21,7 @@ TextureImporter: generateCubemap: 0 seamlessCubemap: 0 textureFormat: -3 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 @@ -35,7 +35,6 @@ TextureImporter: spriteMeshType: 1 alignment: 0 spritePivot: {x: .5, y: .5} - spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 alphaIsTransparency: 0 textureType: -1 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Atlas.asset b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Atlas.asset new file mode 100644 index 0000000000000000000000000000000000000000..8c49c843858554472d53e8fdc20f429433ca6163 GIT binary patch literal 4188 zcmeHKyKWOf6deb`E4<%e9xl>QI1(ZS1&VA38w>=DLOPUaY>(}+*1KqC5+zjbs1P+0 z1qB67#2-XLLZU(W0U9cP0Er?6=04W;+Fm3+V6Ww!$DTX)+;e9~yFyIw3UTte5aKYj z&9x4P-8dPe(B zbk?3!+p6a7>$)m=vT4PBfDk-v`~6DAnLEY0c7Z8wIt7aa{sQ<{jB3bgMH=NhUP~MT z*D3g;p?eB`IOc#Q?Wyuzin9+9V0{qw8B~$36@riuS`}qL(xdp(>@@I- zjelSagu{vW2V+1K|DNn9&KNliM-(45KttAfxW>kZl9Kg7IGBikgfWAaaJT}w-iDw> zUsgR;r+ZjiG}0;0{jpke`9^Dfl#%Qf_9;EwQp+`?UpP#Udz9L-hzE9KQ#&33AtSVj z)K2jHNNnqj_L~s#G001sn0I}cST~f^7`Y|#bjAID3Ra@TvCR!RS^ZMcRyz$h(E1?k z*ILqux^$9e&)^hT6fq#f$}M`*+HxIsx^8G?h}~KCVz(~4Gp`}LbCG3Z*`1Fr681;g zU5G(YnP#72S@Wm7j+aFt>1b*T)gQ}-}o9!su YTFc|-03!I^|NWN-gvGbf%uGi71r8?~&j0`b literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Atlas.asset.meta similarity index 100% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Atlas.asset.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Atlas.asset.meta diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Material.mat b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Material.mat new file mode 100644 index 0000000000000000000000000000000000000000..16813be9a2a310b5ecd6a8cdd214fad9b30b9e91 GIT binary patch literal 4224 zcmeHKOLH7G5SDq903krk8ei=jX;!IYH3A>|EdZ z((JlxY1eEHbgxi%5d;%L@b-GU?d;MvJ8f-E=43ARatBY~ zro)2T#%4qo+Eg!4Ao5viEiu%8& z0YdYL|9c~#!r3(I(ds|ZLtz>|Asl5X?^SE{SjiK+L7P`oI=7-~PKxwv!+abg07RB5 z`fgua)zwaO?{VpzLNFQIecd${WQfKjJP@FvMoD-u013Mh5*~_x_9<_2TYLP-jK9il zx8TG(5#W({n7By?61iR}VSIEo9VZC@@lipqm}f%3=_BYQVN4l!^k`*gXDbm$j}ZV; zM??BF?%QK9~CYi-Y^-_|LMq#WGCkZJ{9`sS?b1Zo9`Lx#@l^kP=4Eb-*l_a z)ChTxSA#(a$U~V7^&X)=GY1>lzM!6fmE?9Sf3mWB%n^#8;wh?0Dt%9@|HwXjbm^{LGmg@uJ92p^=UFg%-iwJLiO7rs1z=m0be2v z2Ma7=j!^v$3?x2S=+jhRMi&Vq%Ktnl-evG19K)JazZbzYBY&STKJqBlOTi>Q`e~{^ zh#;818y~K%`eOpO)p7t-s>O9BdtzC?64>X+4iS5g?JL~l<85(E>^p2<{a3qY`&z_~ zE-b5cyag4T#~*{Zv9OEkm&@P$b*i(l{_P*9C%^uAb_r)2eF^^f`~3Hp%GK|F%k0l5 zznGU^Hq9P024)P*7??5eKV|^OdoSM^q*-xpXo`NP{_|g5smog&JwD-aJ>bKRFlk1g hvA7n>AMlx0(v5|m2ypnf+gTsEJW13~w{G#(_z%G)@?Zb} literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Material.mat.meta similarity index 100% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_Material.mat.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_Material.mat.meta diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_SkeletonData.asset new file mode 100644 index 0000000000000000000000000000000000000000..72b2e4c4fa64e75346c3c009ff3525b483a1c60c GIT binary patch literal 4212 zcmeHKJ5y6Z6yEp(Q50YJ00jl#f}#{Y5R*udhd>yxbB0;SCb@cZukPJ2V8x8iXk}w* zq0ZP?_$aM(#0t17U1ME696+lkr5V)A1C`%}veU z5({d?Nr_>XX9Bja2oHM_g>f>eJD6jW+F<)=*V4lc@T`IpwgYRBP3b3Q%h;F6)mpqDqFY9P#cL_tZOxugyYrL z?Y1B&P2DjCR>guqK%RJMOqtqa2;qV?Q+o|iBrMyiOzpFPH2thtQXzYATew2`-q_64 zB=NTyQZ@P84Ny(~{T5K#^|@lf0(W(a4;UDthxsDB+kDB=($B>_C&v}MwJ2>JCisy( zZJmHARRds(;VTu@K~qT>y0B!Ztgtcn9B*cGpi?5TWa-yey}@$G~BIU}`IW zslBjPN;zPv{61Zw1gE+XDdTupov96hqcZQR31^AkNqrU|E};R@U$1EwPkt;T2|XQ` z9hb(R&R%$xc=PV;S6W+&% f@Gp*TcrU=K1>OXne;#8^-?|3EE$Y60xjy(0$X}D7 literal 0 HcmV?d00001 diff --git a/spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_SkeletonData.asset.meta similarity index 100% rename from spine-unity/Assets/Examples/Spine/Goblins/goblins-ffd_SkeletonData.asset.meta rename to spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh_SkeletonData.asset.meta diff --git a/spine-unity/Assets/Examples/Spine/goblins-ffd.prefab b/spine-unity/Assets/Examples/Spine/goblins-mesh.prefab similarity index 76% rename from spine-unity/Assets/Examples/Spine/goblins-ffd.prefab rename to spine-unity/Assets/Examples/Spine/goblins-mesh.prefab index 1f2eac9df5598bdf72119ab729edfe7a53ee5117..64ed2d39da505b2f2c4577609c2f136b3afb9f08 100644 GIT binary patch delta 259 zcmdntzrkOcfk8EgfkAx(0|Nsmklg^J8BFwy^-R(XH%hAsFmi4-lsV40nN!Gwd2*_# z8lw<|A1ofoA|33RS7Kv6fKM)iFX(yoA1)!J-ko^xTwjljGE5~F$)tbo@R6PWEfHLX%NjaH$#k#qv#Tk=d Qs1{7NQRmy7r{={70Bl@BIsgCw delta 251 zcmdnszr$aefk8EmfkAx-0|Nsmklg^J8BFv{^^DVuH%hAsFmi1SIL^44Q^ Date: Sun, 5 Oct 2014 20:29:11 +0200 Subject: [PATCH 38/91] Formatted source, committed formatter policy. --- .../Scripts/BasicPlatformerController.cs | 240 +++--- .../Examples/Scripts/ConstrainedCamera.cs | 2 - .../Examples/Scripts/SpineboyController.cs | 58 +- .../Examples/Spine/Dragon/dragon.png.meta | 3 +- .../Examples/Spine/Dragon/dragon2.png.meta | 3 +- .../Examples/Spine/Dragon/dragon_dragon.mat | Bin 727 -> 4216 bytes .../Examples/Spine/Dragon/dragon_dragon2.mat | Bin 728 -> 4216 bytes .../Assets/Examples/Spine/Eyes/eyes.png.meta | 2 +- .../Examples/Spine/Eyes/eyes_Material.mat | Bin 4216 -> 4216 bytes .../Spine/Goblins/goblins-mesh.png.meta | 2 + .../Spine/Goblins/goblins-mesh_Material.mat | Bin 4224 -> 4224 bytes .../Examples/Spine/Hero/Hero_Material.mat | Bin 4216 -> 4216 bytes .../Examples/Spine/Raptor/raptor.png.meta | 4 +- .../Examples/Spine/Raptor/raptor_Material.mat | Bin 4216 -> 4216 bytes .../Examples/Spine/Spineboy/spineboy.png.meta | 3 +- .../Spine/Spineboy/spineboy_Material.mat | Bin 731 -> 4220 bytes .../Assets/spine-unity/BoneFollower.cs | 40 +- .../spine-unity/Editor/AtlasAssetInspector.cs | 1 - .../Editor/BoneFollowerInspector.cs | 26 +- .../Assets/spine-unity/Editor/Menus.cs | 4 +- .../Editor/SkeletonAnimationInspector.cs | 20 +- .../Editor/SkeletonDataAssetInspector.cs | 723 +++++++++--------- .../Editor/SkeletonRendererInspector.cs | 7 +- .../Editor/SpineEditorUtilities.cs | 291 ++++--- .../Assets/spine-unity/SkeletonAnimation.cs | 21 +- .../Assets/spine-unity/SkeletonDataAsset.cs | 3 +- .../Assets/spine-unity/SkeletonExtensions.cs | 20 +- .../Assets/spine-unity/SkeletonRenderer.cs | 111 +-- .../Editor/SkeletonUtilityBoneInspector.cs | 171 ++--- .../Editor/SkeletonUtilityInspector.cs | 135 ++-- .../SkeletonUtility/SkeletonUtility.cs | 132 ++-- .../SkeletonUtility/SkeletonUtilityBone.cs | 268 +++---- .../SkeletonUtilityConstraint.cs | 6 +- .../SkeletonUtilityEyeConstraint.cs | 31 +- .../SkeletonUtilityGroundConstraint.cs | 73 +- .../SkeletonUtilityKinematicShadow.cs | 36 +- .../SkeletonUtilitySubmeshRenderer.cs | 44 +- spine-unity/Spine.mdpolicy | 28 + 38 files changed, 1207 insertions(+), 1301 deletions(-) create mode 100644 spine-unity/Spine.mdpolicy diff --git a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs index 0ffc2ffa2..1eb015e1e 100644 --- a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs +++ b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs @@ -39,196 +39,168 @@ using System.Collections; [RequireComponent(typeof(CharacterController))] public class BasicPlatformerController : MonoBehaviour { -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Controls")] #endif - public string XAxis = "Horizontal"; - public string YAxis = "Vertical"; - public string JumpButton = "Jump"; + public string XAxis = "Horizontal"; + public string YAxis = "Vertical"; + public string JumpButton = "Jump"; -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Moving")] #endif public float walkSpeed = 4; - public float runSpeed = 10; - public float gravity = 65; + public float runSpeed = 10; + public float gravity = 65; -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Jumping")] #endif public float jumpSpeed = 25; - public float jumpDuration = 0.5f; - public float jumpInterruptFactor = 100; - public float forceCrouchVelocity = 25; - public float forceCrouchDuration = 0.5f; + public float jumpDuration = 0.5f; + public float jumpInterruptFactor = 100; + public float forceCrouchVelocity = 25; + public float forceCrouchDuration = 0.5f; -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Graphics")] #endif public Transform graphicsRoot; - public SkeletonAnimation skeletonAnimation; + public SkeletonAnimation skeletonAnimation; -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Animation")] #endif public string walkName = "Walk"; - public string runName = "Run"; - public string idleName = "Idle"; - public string jumpName = "Jump"; - public string fallName = "Fall"; - public string crouchName = "Crouch"; + public string runName = "Run"; + public string idleName = "Idle"; + public string jumpName = "Jump"; + public string fallName = "Fall"; + public string crouchName = "Crouch"; -#if !UNITY_4_3 && !UNITY_4_4 +#if UNITY_4_5 [Header("Audio")] #endif public AudioSource jumpAudioSource; public AudioSource hardfallAudioSource; public AudioSource footstepAudioSource; public string footstepEventName = "Footstep"; + CharacterController controller; + Vector2 velocity = Vector2.zero; + Vector2 lastVelocity = Vector2.zero; + bool lastGrounded = false; + float jumpEndTime = 0; + bool jumpInterrupt = false; + float forceCrouchEndTime; + Quaternion flippedRotation = Quaternion.Euler(0, 180, 0); - - - CharacterController controller; - Vector2 velocity = Vector2.zero; - Vector2 lastVelocity = Vector2.zero; - bool lastGrounded = false; - float jumpEndTime = 0; - bool jumpInterrupt = false; - float forceCrouchEndTime; - - - Quaternion flippedRotation = Quaternion.Euler(0, 180, 0); - - void Awake() - { - controller = GetComponent(); + void Awake () { + controller = GetComponent(); } - void Start(){ + void Start () { //register a callback for Spine Events (in this case, Footstep) skeletonAnimation.state.Event += HandleEvent; } - void HandleEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) - { + void HandleEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) { //play some sound if footstep event fired - if(e.Data.Name == footstepEventName){ + if (e.Data.Name == footstepEventName) { footstepAudioSource.Stop(); footstepAudioSource.Play(); } - } + } - void Update() - { - //control inputs - float x = Input.GetAxis(XAxis); - float y = Input.GetAxis(YAxis); - //check for force crouch - bool crouching = (controller.isGrounded && y < -0.5f) || (forceCrouchEndTime > Time.time); - velocity.x = 0; + void Update () { + //control inputs + float x = Input.GetAxis(XAxis); + float y = Input.GetAxis(YAxis); + //check for force crouch + bool crouching = (controller.isGrounded && y < -0.5f) || (forceCrouchEndTime > Time.time); + velocity.x = 0; - //Calculate control velocity - if (!crouching) { - if (Input.GetButtonDown(JumpButton) && controller.isGrounded) - { - //jump + //Calculate control velocity + if (!crouching) { + if (Input.GetButtonDown(JumpButton) && controller.isGrounded) { + //jump jumpAudioSource.Stop(); jumpAudioSource.Play(); - velocity.y = jumpSpeed; - jumpEndTime = Time.time + jumpDuration; - } - else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) - { - jumpInterrupt = true; - } + velocity.y = jumpSpeed; + jumpEndTime = Time.time + jumpDuration; + } else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) { + jumpInterrupt = true; + } - if (x != 0) - { - //walk or run - velocity.x = Mathf.Abs(x) > 0.6f ? runSpeed : walkSpeed; - velocity.x *= Mathf.Sign(x); - } + if (x != 0) { + //walk or run + velocity.x = Mathf.Abs(x) > 0.6f ? runSpeed : walkSpeed; + velocity.x *= Mathf.Sign(x); + } - if (jumpInterrupt) - { - //interrupt jump and smoothly cut Y velocity - if (velocity.y > 0) - { - velocity.y = Mathf.MoveTowards(velocity.y, 0, Time.deltaTime * 100); - } - else - { - jumpInterrupt = false; - } - } - } + if (jumpInterrupt) { + //interrupt jump and smoothly cut Y velocity + if (velocity.y > 0) { + velocity.y = Mathf.MoveTowards(velocity.y, 0, Time.deltaTime * 100); + } else { + jumpInterrupt = false; + } + } + } - //apply gravity F = mA (Learn it, love it, live it) - velocity.y -= gravity * Time.deltaTime; + //apply gravity F = mA (Learn it, love it, live it) + velocity.y -= gravity * Time.deltaTime; - //move - controller.Move(new Vector3(velocity.x, velocity.y, 0) * Time.deltaTime); + //move + controller.Move(new Vector3(velocity.x, velocity.y, 0) * Time.deltaTime); - if (controller.isGrounded) - { - //cancel out Y velocity if on ground - velocity.y = -gravity * Time.deltaTime; - jumpInterrupt = false; - } + if (controller.isGrounded) { + //cancel out Y velocity if on ground + velocity.y = -gravity * Time.deltaTime; + jumpInterrupt = false; + } - Vector2 deltaVelocity = lastVelocity - velocity; + Vector2 deltaVelocity = lastVelocity - velocity; - if (!lastGrounded && controller.isGrounded) - { - //detect hard fall - if ((gravity*Time.deltaTime) - deltaVelocity.y > forceCrouchVelocity) - { - forceCrouchEndTime = Time.time + forceCrouchDuration; + if (!lastGrounded && controller.isGrounded) { + //detect hard fall + if ((gravity * Time.deltaTime) - deltaVelocity.y > forceCrouchVelocity) { + forceCrouchEndTime = Time.time + forceCrouchDuration; hardfallAudioSource.Play(); - } - else{ + } else { //play footstep audio if light fall because why not footstepAudioSource.Play(); } - } + } - //graphics updates - if (controller.isGrounded) - { - if (crouching) //crouch - { - skeletonAnimation.AnimationName = crouchName; - } - else - { + //graphics updates + if (controller.isGrounded) { + if (crouching) { //crouch + skeletonAnimation.AnimationName = crouchName; + } else { + if (x == 0) //idle + skeletonAnimation.AnimationName = idleName; + else //move + skeletonAnimation.AnimationName = Mathf.Abs(x) > 0.6f ? runName : walkName; + } + } else { + if (velocity.y > 0) //jump + skeletonAnimation.AnimationName = jumpName; + else //fall + skeletonAnimation.AnimationName = fallName; + } - if (x == 0) //idle - skeletonAnimation.AnimationName = idleName; - else //move - skeletonAnimation.AnimationName = Mathf.Abs(x) > 0.6f ? runName : walkName; - } - } - else - { - if (velocity.y > 0) //jump - skeletonAnimation.AnimationName = jumpName; - else //fall - skeletonAnimation.AnimationName = fallName; - - } - - //flip left or right - if (x > 0) - graphicsRoot.localRotation = Quaternion.identity; - else if (x < 0) - graphicsRoot.localRotation = flippedRotation; + //flip left or right + if (x > 0) + graphicsRoot.localRotation = Quaternion.identity; + else if (x < 0) + graphicsRoot.localRotation = flippedRotation; - //store previous state - lastVelocity = velocity; - lastGrounded = controller.isGrounded; - } + //store previous state + lastVelocity = velocity; + lastGrounded = controller.isGrounded; + } } diff --git a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs index 2dc8a1dff..c67ebdb7e 100644 --- a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs +++ b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs @@ -39,10 +39,8 @@ using System.Collections; public class ConstrainedCamera : MonoBehaviour { public Transform target; public Vector3 offset; - public Vector3 min; public Vector3 max; - public float smoothing = 5f; // Use this for initialization diff --git a/spine-unity/Assets/Examples/Scripts/SpineboyController.cs b/spine-unity/Assets/Examples/Scripts/SpineboyController.cs index be43009d9..4cebc7de3 100644 --- a/spine-unity/Assets/Examples/Scripts/SpineboyController.cs +++ b/spine-unity/Assets/Examples/Scripts/SpineboyController.cs @@ -5,19 +5,15 @@ using System.Collections; public class SpineboyController : MonoBehaviour { SkeletonAnimation skeletonAnimation; - public string idleAnimation = "idle"; public string walkAnimation = "walk"; public string runAnimation = "run"; public string hitAnimation = "hit"; public string deathAnimation = "death"; - public float walkVelocity = 1; public float runVelocity = 3; public int hp = 10; - string currentAnimation = ""; - bool hit = false; bool dead = false; @@ -25,59 +21,53 @@ public class SpineboyController : MonoBehaviour { skeletonAnimation = GetComponent(); } - - void Update(){ - if(!dead){ + void Update () { + if (!dead) { float x = Input.GetAxis("Horizontal"); float absX = Mathf.Abs(x); - if(!hit){ - if(x > 0) + if (!hit) { + if (x > 0) skeletonAnimation.skeleton.FlipX = false; - else if(x < 0) - skeletonAnimation.skeleton.FlipX = true; + else if (x < 0) + skeletonAnimation.skeleton.FlipX = true; - if(absX > 0.7f){ + if (absX > 0.7f) { SetAnimation(runAnimation, true); - rigidbody2D.velocity = new Vector2( runVelocity * Mathf.Sign(x), rigidbody2D.velocity.y); - } - else if(absX > 0){ - SetAnimation(walkAnimation, true); - rigidbody2D.velocity = new Vector2( walkVelocity * Mathf.Sign(x), rigidbody2D.velocity.y); - } - else{ - SetAnimation(idleAnimation, true); - rigidbody2D.velocity = new Vector2( 0, rigidbody2D.velocity.y); - } - } - else{ - if(skeletonAnimation.state.GetCurrent(0).Animation.Name != hitAnimation) + rigidbody2D.velocity = new Vector2(runVelocity * Mathf.Sign(x), rigidbody2D.velocity.y); + } else if (absX > 0) { + SetAnimation(walkAnimation, true); + rigidbody2D.velocity = new Vector2(walkVelocity * Mathf.Sign(x), rigidbody2D.velocity.y); + } else { + SetAnimation(idleAnimation, true); + rigidbody2D.velocity = new Vector2(0, rigidbody2D.velocity.y); + } + } else { + if (skeletonAnimation.state.GetCurrent(0).Animation.Name != hitAnimation) hit = false; } } } - - void SetAnimation(string anim, bool loop){ - if(currentAnimation != anim){ + void SetAnimation (string anim, bool loop) { + if (currentAnimation != anim) { skeletonAnimation.state.SetAnimation(0, anim, loop); currentAnimation = anim; } } - void OnMouseUp(){ + void OnMouseUp () { - if(hp > 0){ + if (hp > 0) { hp--; - if(hp == 0){ + if (hp == 0) { SetAnimation(deathAnimation, false); dead = true; - } - else{ + } else { skeletonAnimation.state.SetAnimation(0, hitAnimation, false); skeletonAnimation.state.AddAnimation(0, currentAnimation, true, 0); - rigidbody2D.velocity = new Vector2( 0, rigidbody2D.velocity.y); + rigidbody2D.velocity = new Vector2(0, rigidbody2D.velocity.y); hit = true; } diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta b/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta index d5bf04f92..795bddb21 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 guid: 6bc52290ef03f2846ba38d67e2823598 TextureImporter: + fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -21,7 +22,7 @@ TextureImporter: generateCubemap: 0 seamlessCubemap: 0 textureFormat: -3 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta b/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta index 3b2676cd9..9f683ac4f 100644 --- a/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta +++ b/spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 guid: 12c126994123f12468cf4c5a2684078a TextureImporter: + fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -21,7 +22,7 @@ TextureImporter: generateCubemap: 0 seamlessCubemap: 0 textureFormat: -3 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 diff --git a/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat b/spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat index eafb01c27545cb07c5a26052c9094c7bf3ff1144..34533af5697e60adaea94a61d13849e843cef897 100644 GIT binary patch literal 4216 zcmeHKOLH7G5SDr7!6O6+Z&*Tr@NynFJc4ojz?-pH$&}b>33B-V>8`X%epj*40}LA9>k+k>JYt#d71TcleDtjsX_PJ z#`k8^UC9#D?(1Hu9wG=Pgy8M_9O1O6Y4fJ$exyhp45N)Lo-_=IqjmAsd%)gvWO>;`S#n9`X=HRhzuel*O-5duJD zsiJRgX{!?LH1{5r&ItsQvA(4fV?l;!Ou}OU8fuh;#{-bC8zJF|2xy1$rm$m=Uz*Vm zg-uFMye9)Z5)TtM=|CcnS4tQk-I$K22mtX>L9dx-Lcr;9bdoTpiaUC`wzIRvh@)o+ z02xO^`XuitFGz@xOj#M0t{7Z5Inn?1&^l$UbjXJj2Hr9>Sw~Rsgt?M0= z)Sa0T@}8>)gAkC1G8yP?LVsg+SMwb~Jr66%y;lB0ZTFZ16u-z*)RWZuw$AE|1Hmta zh)T$7>(cp!a0R59Egf(C%MCa@*L#-xT6racX(q?3gz;oYYvr|I5?&s)C-fr6MV=_|_<8_^3dXst2}ZCb z-i_ELecOmvviH3ZRLNd9bKrf#fH)?PFrMY{0r3GDA)a06li53qE|PGHdt~n!L66}W z*390s5ll1kbG1v1k7n=rU=knwWcGd-K?uur-r`=I3qZA6pA;)azpz5}g%DH;7tMe_ zA`Ax$EMX2%{V@zAK3M3JRDXgl5=K=2dr*AJ;C(oTHL1QB!89ZPj4(d(DAn`9BtH5{ zsy~k)n7`|nmzVr8f!k^!04mkux{^JytX~T3Gh~N|y~p-N?(y-qxFz-twlCe)uGzjE zv7-yiY8`DsrPDw@261Cy7uDatocR5pWAp7_|2Xy2?SK0{oNY?o{O;u8J7>>axq0!g zo!QgtKT9v0rjIEDQwF9COc}V38Nk1`#Ohv=cjZNGTmx!h4Nv|SM;jk>-K#pw>GKuW fLG>Fx&nmj9@Dl+J|8l!4Lsz7!`t#N;z7qcf=l$;! literal 727 zcmb7CO>fjN5WVMDOb_j8cV#=9G@DzsZJ~mNg;q!iRgn{q7o)_k9H(@t`rq*fl&#>x z9P;6L^WMxGAAdgEyal?T+40TUD>#~t!0}x@Y3260SafEXF+ypb&FAxwWfV>rB_Xm6 zcW4#w>kMFwU+M>nPiRMFbPc&b9-8;jZ@1i{b_r6$qf|X! zoqNdB0p?1374232%D>|S)*vk38Qr8;th@fo1=<7rvWgAQU^gjI1I3D$lyoa3w9Ct7 z)$(r1imJducI9a~1Gm5P%z0`f(Y?X_cVmSg;LB}PSx=)g!$;I!>%)YTFPPJ$&+k!e zt+_+%6pq23e;UMMVrXvg;X>d4!T|{Gc&Z6?QrXe{`32B%>Sn{0_Jxrm@pndxLtrF! zll6@~JIh`=QMO&d*ovSexn$L{Ye+H+1 yhu^uBBf1125fC>TN-ulE-G7d{o}7{LSz*LDDJ;@8BqX>VxYwpP)-UMsDfy6BT|02M+uIZWN}!?$KI17U9ZayJ|-*^(S@fQ|qxx9lN2_iG8Ki{Zvw+ z)Z+Z5`Nj02`upJEV2Mv}S0ZtOclgB1BP_3v1d>Rv}%lRFuUz1+bA z_#x&L>f*4S4b0}p?1#ge_z_P6>S(u9gAfozf)Nl0Bc2aq*vx7AIZYq4yqo(R_KNzy zrvXCsi2r*dpwiha@6+tB>Y*?VpAe3+l5*8rJy!C?YS7|MD4knT6HdzPYr}jTBLGCE zD*E=0wkpw1bL(+woI)@eTRS>27G#LVBs>tHp+-q~FaQa=5fUDXfc7YF3On)msTqG& z*repddpN)&@i1_c4kYqqriAg)P3SmD0EmwYdd)l&0!|-6BMD=wxT8mFJ3Cv6I66fD z$Rrxlr+LTrf`kakl=V^Ris5yW6aAl!%t%)9w7{oA|02)axMPc5W8HXb#~5tCExl)w zx-m0C-s5#=5CZbBO@?}x(4U+AjeJi~PryoYyO}>(+dbw8#ZU1N^&qvrtFt=eK=9Kc zq7w4jx^#XbyaUqAmW~(xOal(j^_t~=uRIgMG?U|5!g#Wyd*y5}2v3jd(`(j>Ab1Ug zMOB*ZB2N@}d@g`O1>?M}2;AVc+cyw8=P)01Rx*bk<;Z|1ayNp)DxxUlD)5npi0)dnFFs82E;LWgz+p-4v5#u2=VMfpU&QSG?9cu+$MY95cC9& zZq4j{GlFSGezA6m{?Y7R2nO-dPiOC25rnW@=PmBV#Q;>R^+~Z_3<@h$UkX8$aM29- zZNhM{z!K&N)$hPS;)8`gP4&BIB4I@Jp9jTz3_gUTTa)VdBba979}vbz9;JFI7{o_E zP4$Nn1oL~my?h`rDD6>jnIwzwwt9@|&{)vnpT z7O|rV(`p@WL8a3`9)q~Cu!`!po2P&JIpgRXl;XE{Az gaUE1Y;(1olO@*HbaQK(oT_3q3P1UcrZt<1)4^a>AfB*mh literal 728 zcmb7C%Wm5+5WMRvHiz_N8zLnuvTlLfv_b2}ZGr+tQ5b7->9UZ>fTGg4LH@lYm52Md zbPsxPXLfdHdHnfw^$ysKWye>iuinG+1pNLwlrF|T#&U0I|HC>NCiwC-sVs-y+wLQop!H#(ArPi))W;i= zYiF;?c};!v=bsM6Zlgz6bov y#|TSTswY1J@&rgLjnuQ&qW{lPmxH%TJt;g)3bXMZ=6Q5I)?V7yy0Daf? delta 12 TcmeyN@IzsO7^Cq<@k9XtA=U&$ diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta index e05f9670c..1174bc26f 100644 --- a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta +++ b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy.png.meta @@ -1,6 +1,7 @@ fileFormatVersion: 2 guid: 49bb65eefe08e424bbf7a38bc98ec638 TextureImporter: + fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 @@ -21,7 +22,7 @@ TextureImporter: generateCubemap: 0 seamlessCubemap: 0 textureFormat: -3 - maxTextureSize: 1024 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 diff --git a/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat b/spine-unity/Assets/Examples/Spine/Spineboy/spineboy_Material.mat index c6d21d2bca0894fd3cac6ae50cbbbfe6b532906e..33e439d9b19159039a65cf212938fd04a400e23c 100644 GIT binary patch literal 4220 zcmeHKOK%)S5N`7(;SnH&H`zcSgoh!);Sr4SBVMo&$r2~NT5WI7deH8S)zfRd2#Jvp z|9~SufS(YQ3uhF51P3H?ffLu5`l_bKz2hcaIc!P0Q{DA-SM}Fb-7`uZT2t!C*Gj4T z=}8ZzW~R?g&m?Emt-ZayDQZ7Xzt6NYHr0K#s0*XWum>dMPW+Wh-A9jMR;0bmbX#fW z)L{M6#usMOeUf%fyRUnNx{Dx~5Q3-II~`|dm%FLU?eeZOG)bP#(fE!viQedFYceNu zv6nk|0zbu+LR%cR)4o}`zS$C zpPJE^x$PF5cn=47BpxPi(t$*-S4tQkT}{U$1c3OcpjXT@A>i~;bdoTpj5~U)va_@K zh@+zffYi~DKF&MJ3lbtEQ%LkWDM)ZF^G(*|RV*(!w{c4uFQOD-n#=6n!mN6*5 zRlQ@nRcC61yeF!`AOz&0Oa^+J&{xdva<(I=Ct)SI-O8V;>>hJ~;-`6vYLZId)@hY- zAo!UOQ3`o&T{yoGu7D)9h2xEXwgHFdYR@uXE6+tR&E$BVFrMsatsD;~;pI_#e9u}D z1n+^cs0y>0XI%vzPXth?V4TZ}pl)al>Z($?uwH23J+FiH;B}+a=;?IB zj%MiT)reivw~crudtVDdrR;Sx2VN%(h-2~y<5{i`h&RXx@$5n$&)#Wtk%Uv+CVSr$ zbPdO_X7;`n!89X3Q@O#_66OHa@4`UhgM~g$^?T?dVMO_#2gUmg-iKpYlj`#kOf&Ki2;(D+b1NJ literal 731 zcmb7COK;RL5WeSEOb_L>yRwsPn$4|RC{$3o&GPT^HfNj%vF z^Jo?8nhe0DH}xCaFKC@Ix`85G_uEVU6NP`LT0HC6&NV>N^~R!Pe8VhiKS3I}ld8k> z*8y^WfH~K}MF*F^>K|E;4YU73JDcO zRo0w|GGEq9TuM=$R5S47KByN{E0f%N9Df~mU%XDB2Oyo{PQP(PLqd;l@7!tG3g7V+e2Uy z_Ja+LJ*At!Orl(IUM&$Nk{Zjr2JSQk}qLzXib!!suJ yc*5SLbm%7lNr1G~NImNe^Zz;OdhkZdCkKaVQdmsCA|WyLsJ%9wv0*`X_t_tbh|k3U diff --git a/spine-unity/Assets/spine-unity/BoneFollower.cs b/spine-unity/Assets/spine-unity/BoneFollower.cs index 5c8fa3f92..e900ba8ee 100644 --- a/spine-unity/Assets/spine-unity/BoneFollower.cs +++ b/spine-unity/Assets/spine-unity/BoneFollower.cs @@ -40,11 +40,10 @@ using Spine; public class BoneFollower : MonoBehaviour { [System.NonSerialized] - public bool valid; - + public bool + valid; public SkeletonRenderer skeletonRenderer; public Bone bone; - public bool followZPosition = true; public bool followBoneRotation = true; @@ -52,20 +51,18 @@ public class BoneFollower : MonoBehaviour { get { return skeletonRenderer; } set { skeletonRenderer = value; - Reset (); + Reset(); } } ///