diff --git a/LICENSE b/LICENSE index 148461ab5..815ec1ca1 100644 --- a/LICENSE +++ b/LICENSE @@ -1,28 +1,28 @@ Spine Runtimes Software License -Version 2.2 +Version 2.3 -Copyright (c) 2013, Esoteric Software +Copyright (c) 2013-2015, Esoteric Software All rights reserved. You are granted a perpetual, non-exclusive, non-sublicensable and non-transferable license to use, install, execute and perform the Spine -Runtimes Software (the "Software") and derivative works solely for personal or -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. +Runtimes Software (the "Software") and derivative works solely for personal +or internal use. Without the written permission of Esoteric Software (see +Section 2 of the Spine Software License Agreement), 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, +EVENT SHALL ESOTERIC SOFTWARE 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. +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/spine-as3/spine-as3-example/src/spine/Main.as b/spine-as3/spine-as3-example/src/spine/Main.as index bf8c1c6fa..085ad976e 100644 --- a/spine-as3/spine-as3-example/src/spine/Main.as +++ b/spine-as3/spine-as3-example/src/spine/Main.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3-example/src/spineboy.json b/spine-as3/spine-as3-example/src/spineboy.json index 7b4497712..1bd1b64c1 100644 --- a/spine-as3/spine-as3-example/src/spineboy.json +++ b/spine-as3/spine-as3-example/src/spineboy.json @@ -54,7 +54,7 @@ { "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": "muzzle", "bone": "gunTip", "blend": "additive" }, { "name": "head-bb", "bone": "head" } ], "skins": { diff --git a/spine-as3/spine-as3/src/spine/BlendMode.as b/spine-as3/spine-as3/src/spine/BlendMode.as new file mode 100644 index 000000000..49f05bd92 --- /dev/null +++ b/spine-as3/spine-as3/src/spine/BlendMode.as @@ -0,0 +1,47 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 BlendMode { + public static const normal:BlendMode = new BlendMode(0); + public static const additive:BlendMode = new BlendMode(1); + public static const multiply:BlendMode = new BlendMode(2); + public static const screen:BlendMode = new BlendMode(3); + + public var ordinal:int; + + public function BlendMode (ordinal:int) { + this.ordinal = ordinal; + } +} + +} diff --git a/spine-as3/spine-as3/src/spine/Bone.as b/spine-as3/spine-as3/src/spine/Bone.as index c548b36e0..de948a1c9 100644 --- a/spine-as3/spine-as3/src/spine/Bone.as +++ b/spine-as3/spine-as3/src/spine/Bone.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/BoneData.as b/spine-as3/spine-as3/src/spine/BoneData.as index a5cc2546e..418c5926d 100644 --- a/spine-as3/spine-as3/src/spine/BoneData.as +++ b/spine-as3/spine-as3/src/spine/BoneData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/Event.as b/spine-as3/spine-as3/src/spine/Event.as index e33e75022..2199ae3d6 100644 --- a/spine-as3/spine-as3/src/spine/Event.as +++ b/spine-as3/spine-as3/src/spine/Event.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/EventData.as b/spine-as3/spine-as3/src/spine/EventData.as index b2896a5fe..2077b52ca 100644 --- a/spine-as3/spine-as3/src/spine/EventData.as +++ b/spine-as3/spine-as3/src/spine/EventData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/IkConstraint.as b/spine-as3/spine-as3/src/spine/IkConstraint.as index f51070e0c..6b055657b 100644 --- a/spine-as3/spine-as3/src/spine/IkConstraint.as +++ b/spine-as3/spine-as3/src/spine/IkConstraint.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/IkConstraintData.as b/spine-as3/spine-as3/src/spine/IkConstraintData.as index 4a3e64782..04f3ea099 100644 --- a/spine-as3/spine-as3/src/spine/IkConstraintData.as +++ b/spine-as3/spine-as3/src/spine/IkConstraintData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/Polygon.as b/spine-as3/spine-as3/src/spine/Polygon.as index cfa5b1cd9..ae459c587 100644 --- a/spine-as3/spine-as3/src/spine/Polygon.as +++ b/spine-as3/spine-as3/src/spine/Polygon.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/Skeleton.as b/spine-as3/spine-as3/src/spine/Skeleton.as index fd17d693a..94272c982 100644 --- a/spine-as3/spine-as3/src/spine/Skeleton.as +++ b/spine-as3/spine-as3/src/spine/Skeleton.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/SkeletonBounds.as b/spine-as3/spine-as3/src/spine/SkeletonBounds.as index 6335840fd..f06d33ea4 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonBounds.as +++ b/spine-as3/spine-as3/src/spine/SkeletonBounds.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/SkeletonData.as b/spine-as3/spine-as3/src/spine/SkeletonData.as index 158a1f687..e9ea809b8 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonData.as +++ b/spine-as3/spine-as3/src/spine/SkeletonData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/SkeletonJson.as b/spine-as3/spine-as3/src/spine/SkeletonJson.as index 9bceb7bf9..d26a0fd72 100644 --- a/spine-as3/spine-as3/src/spine/SkeletonJson.as +++ b/spine-as3/spine-as3/src/spine/SkeletonJson.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -145,7 +146,7 @@ public class SkeletonJson { } slotData.attachmentName = slotMap["attachment"]; - slotData.additiveBlending = slotMap["additive"]; + slotData.blendMode = BlendMode[slotMap["blend"] || "normal"]; skeletonData.slots[skeletonData.slots.length] = slotData; } diff --git a/spine-as3/spine-as3/src/spine/Skin.as b/spine-as3/spine-as3/src/spine/Skin.as index 45f6e4b94..020b60760 100644 --- a/spine-as3/spine-as3/src/spine/Skin.as +++ b/spine-as3/spine-as3/src/spine/Skin.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/Slot.as b/spine-as3/spine-as3/src/spine/Slot.as index ea32a5d80..e621f0d66 100644 --- a/spine-as3/spine-as3/src/spine/Slot.as +++ b/spine-as3/spine-as3/src/spine/Slot.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/SlotData.as b/spine-as3/spine-as3/src/spine/SlotData.as index 2cba62223..609edabaa 100644 --- a/spine-as3/spine-as3/src/spine/SlotData.as +++ b/spine-as3/spine-as3/src/spine/SlotData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -38,7 +39,7 @@ public class SlotData { public var b:Number = 1; public var a:Number = 1; public var attachmentName:String; - public var additiveBlending:Boolean; + public var blendMode:BlendMode; public function SlotData (name:String, boneData:BoneData) { if (name == null) throw new ArgumentError("name cannot be null."); diff --git a/spine-as3/spine-as3/src/spine/animation/Animation.as b/spine-as3/spine-as3/src/spine/animation/Animation.as index 244b819d6..fbf3734bd 100644 --- a/spine-as3/spine-as3/src/spine/animation/Animation.as +++ b/spine-as3/spine-as3/src/spine/animation/Animation.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationState.as b/spine-as3/spine-as3/src/spine/animation/AnimationState.as index 85a27698e..420663a18 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationState.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationState.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as b/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as index 15ca733c4..b304fe461 100644 --- a/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as +++ b/spine-as3/spine-as3/src/spine/animation/AnimationStateData.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/AttachmentTimeline.as b/spine-as3/spine-as3/src/spine/animation/AttachmentTimeline.as index bcc807b0c..85dfc212c 100644 --- a/spine-as3/spine-as3/src/spine/animation/AttachmentTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/AttachmentTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/ColorTimeline.as b/spine-as3/spine-as3/src/spine/animation/ColorTimeline.as index 12e6a9202..eec6b79b9 100644 --- a/spine-as3/spine-as3/src/spine/animation/ColorTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/ColorTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as b/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as index 4f54c0134..84539f0ce 100644 --- a/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/CurveTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as b/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as index ed3340ada..ef8b82723 100644 --- a/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/DrawOrderTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/EventTimeline.as b/spine-as3/spine-as3/src/spine/animation/EventTimeline.as index 606f29be9..3c5c8bfb3 100644 --- a/spine-as3/spine-as3/src/spine/animation/EventTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/EventTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as index 18ef9eb99..062e41bbd 100644 --- a/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/FfdTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as b/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as index c69180d0d..f6dfeeddc 100644 --- a/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/FlipXTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as b/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as index 827ae0ed6..f5dd7ac09 100644 --- a/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/FlipYTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -41,4 +42,4 @@ public class FlipYTimeline extends FlipXTimeline { } } -} \ No newline at end of file +} diff --git a/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as b/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as index e0baf05e6..ad6f6014f 100644 --- a/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/IkConstraintTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/Listeners.as b/spine-as3/spine-as3/src/spine/animation/Listeners.as index 37fc18f92..f517c40e6 100644 --- a/spine-as3/spine-as3/src/spine/animation/Listeners.as +++ b/spine-as3/spine-as3/src/spine/animation/Listeners.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/RotateTimeline.as b/spine-as3/spine-as3/src/spine/animation/RotateTimeline.as index d3e21d19d..765fb5a21 100644 --- a/spine-as3/spine-as3/src/spine/animation/RotateTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/RotateTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/ScaleTimeline.as b/spine-as3/spine-as3/src/spine/animation/ScaleTimeline.as index d789af9c6..5c3004ae5 100644 --- a/spine-as3/spine-as3/src/spine/animation/ScaleTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/ScaleTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/Timeline.as b/spine-as3/spine-as3/src/spine/animation/Timeline.as index e99c66ca1..f871c46a7 100644 --- a/spine-as3/spine-as3/src/spine/animation/Timeline.as +++ b/spine-as3/spine-as3/src/spine/animation/Timeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/TrackEntry.as b/spine-as3/spine-as3/src/spine/animation/TrackEntry.as index 99553f957..795671dc3 100644 --- a/spine-as3/spine-as3/src/spine/animation/TrackEntry.as +++ b/spine-as3/spine-as3/src/spine/animation/TrackEntry.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/animation/TranslateTimeline.as b/spine-as3/spine-as3/src/spine/animation/TranslateTimeline.as index d1423fc3f..9e49eb923 100644 --- a/spine-as3/spine-as3/src/spine/animation/TranslateTimeline.as +++ b/spine-as3/spine-as3/src/spine/animation/TranslateTimeline.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/Atlas.as b/spine-as3/spine-as3/src/spine/atlas/Atlas.as index d2fc0ab6e..13e3658ad 100644 --- a/spine-as3/spine-as3/src/spine/atlas/Atlas.as +++ b/spine-as3/spine-as3/src/spine/atlas/Atlas.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/AtlasPage.as b/spine-as3/spine-as3/src/spine/atlas/AtlasPage.as index 5501597f5..e11edacd2 100644 --- a/spine-as3/spine-as3/src/spine/atlas/AtlasPage.as +++ b/spine-as3/spine-as3/src/spine/atlas/AtlasPage.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/AtlasRegion.as b/spine-as3/spine-as3/src/spine/atlas/AtlasRegion.as index cf0bf99c3..553d2abfa 100644 --- a/spine-as3/spine-as3/src/spine/atlas/AtlasRegion.as +++ b/spine-as3/spine-as3/src/spine/atlas/AtlasRegion.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/Format.as b/spine-as3/spine-as3/src/spine/atlas/Format.as index cc02183f6..11828e92a 100644 --- a/spine-as3/spine-as3/src/spine/atlas/Format.as +++ b/spine-as3/spine-as3/src/spine/atlas/Format.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/TextureFilter.as b/spine-as3/spine-as3/src/spine/atlas/TextureFilter.as index 16687dc49..9d64dde21 100644 --- a/spine-as3/spine-as3/src/spine/atlas/TextureFilter.as +++ b/spine-as3/spine-as3/src/spine/atlas/TextureFilter.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/TextureLoader.as b/spine-as3/spine-as3/src/spine/atlas/TextureLoader.as index 7e4716df8..36a413195 100644 --- a/spine-as3/spine-as3/src/spine/atlas/TextureLoader.as +++ b/spine-as3/spine-as3/src/spine/atlas/TextureLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/atlas/TextureWrap.as b/spine-as3/spine-as3/src/spine/atlas/TextureWrap.as index 7ed717548..744e3b08c 100644 --- a/spine-as3/spine-as3/src/spine/atlas/TextureWrap.as +++ b/spine-as3/spine-as3/src/spine/atlas/TextureWrap.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/AtlasAttachmentLoader.as b/spine-as3/spine-as3/src/spine/attachments/AtlasAttachmentLoader.as index 27162ba32..6ed219cfd 100644 --- a/spine-as3/spine-as3/src/spine/attachments/AtlasAttachmentLoader.as +++ b/spine-as3/spine-as3/src/spine/attachments/AtlasAttachmentLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/Attachment.as b/spine-as3/spine-as3/src/spine/attachments/Attachment.as index 510c0d673..ac8898524 100644 --- a/spine-as3/spine-as3/src/spine/attachments/Attachment.as +++ b/spine-as3/spine-as3/src/spine/attachments/Attachment.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/AttachmentLoader.as b/spine-as3/spine-as3/src/spine/attachments/AttachmentLoader.as index 64352332f..4ce03c429 100644 --- a/spine-as3/spine-as3/src/spine/attachments/AttachmentLoader.as +++ b/spine-as3/spine-as3/src/spine/attachments/AttachmentLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/AttachmentType.as b/spine-as3/spine-as3/src/spine/attachments/AttachmentType.as index 55d095d45..903e04c05 100644 --- a/spine-as3/spine-as3/src/spine/attachments/AttachmentType.as +++ b/spine-as3/spine-as3/src/spine/attachments/AttachmentType.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/BoundingBoxAttachment.as b/spine-as3/spine-as3/src/spine/attachments/BoundingBoxAttachment.as index 7fd50f0b3..78feb3f9b 100644 --- a/spine-as3/spine-as3/src/spine/attachments/BoundingBoxAttachment.as +++ b/spine-as3/spine-as3/src/spine/attachments/BoundingBoxAttachment.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/MeshAttachment.as b/spine-as3/spine-as3/src/spine/attachments/MeshAttachment.as index cd42a0c3b..30ff417db 100644 --- a/spine-as3/spine-as3/src/spine/attachments/MeshAttachment.as +++ b/spine-as3/spine-as3/src/spine/attachments/MeshAttachment.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/RegionAttachment.as b/spine-as3/spine-as3/src/spine/attachments/RegionAttachment.as index 1bd958dc1..673035ed8 100644 --- a/spine-as3/spine-as3/src/spine/attachments/RegionAttachment.as +++ b/spine-as3/spine-as3/src/spine/attachments/RegionAttachment.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/attachments/SkinnedMeshAttachment.as b/spine-as3/spine-as3/src/spine/attachments/SkinnedMeshAttachment.as index 523668947..9eabcee0c 100644 --- a/spine-as3/spine-as3/src/spine/attachments/SkinnedMeshAttachment.as +++ b/spine-as3/spine-as3/src/spine/attachments/SkinnedMeshAttachment.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/flash/FlashTextureLoader.as b/spine-as3/spine-as3/src/spine/flash/FlashTextureLoader.as index 6277f1585..ff1926daf 100644 --- a/spine-as3/spine-as3/src/spine/flash/FlashTextureLoader.as +++ b/spine-as3/spine-as3/src/spine/flash/FlashTextureLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/flash/SkeletonAnimation.as b/spine-as3/spine-as3/src/spine/flash/SkeletonAnimation.as index 8620549bc..5860ccfea 100644 --- a/spine-as3/spine-as3/src/spine/flash/SkeletonAnimation.as +++ b/spine-as3/spine-as3/src/spine/flash/SkeletonAnimation.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as index 656892827..e508fba35 100644 --- a/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as +++ b/spine-as3/spine-as3/src/spine/flash/SkeletonSprite.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -52,6 +53,8 @@ import spine.attachments.RegionAttachment; public class SkeletonSprite extends Sprite { static private var tempPoint:Point = new Point(); static private var tempMatrix:Matrix = new Matrix(); + static private var blendModes:Vector. = new [ + BlendMode.NORMAL, BlendMode.ADD, BlendMode.MULTIPLY, BlendMode.SCREEN]; private var _skeleton:Skeleton; public var timeScale:Number = 1; @@ -119,7 +122,7 @@ public class SkeletonSprite extends Sprite { regionAttachment["wrapper"] = wrapper; } - wrapper.blendMode = slot.data.additiveBlending ? BlendMode.ADD : BlendMode.NORMAL; + wrapper.blendMode = blendModes[slot.data.blendMode.ordinal]; var colorTransform:ColorTransform = wrapper.transform.colorTransform; colorTransform.redMultiplier = skeleton.r * slot.r * regionAttachment.r; diff --git a/spine-c/include/spine/Animation.h b/spine-c/include/spine/Animation.h index 30038287c..c826b262f 100644 --- a/spine-c/include/spine/Animation.h +++ b/spine-c/include/spine/Animation.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/AnimationState.h b/spine-c/include/spine/AnimationState.h index 1e96e7f50..5bc17929a 100644 --- a/spine-c/include/spine/AnimationState.h +++ b/spine-c/include/spine/AnimationState.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/AnimationStateData.h b/spine-c/include/spine/AnimationStateData.h index a553dc8f6..1345384e7 100644 --- a/spine-c/include/spine/AnimationStateData.h +++ b/spine-c/include/spine/AnimationStateData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Atlas.h b/spine-c/include/spine/Atlas.h index 60e3ab7c6..15b9aabf3 100644 --- a/spine-c/include/spine/Atlas.h +++ b/spine-c/include/spine/Atlas.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/AtlasAttachmentLoader.h b/spine-c/include/spine/AtlasAttachmentLoader.h index cc1ba628e..1205c9517 100644 --- a/spine-c/include/spine/AtlasAttachmentLoader.h +++ b/spine-c/include/spine/AtlasAttachmentLoader.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Attachment.h b/spine-c/include/spine/Attachment.h index 5f37de5dd..cab8a3938 100644 --- a/spine-c/include/spine/Attachment.h +++ b/spine-c/include/spine/Attachment.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/AttachmentLoader.h b/spine-c/include/spine/AttachmentLoader.h index 1f0402e02..7c86e9af9 100644 --- a/spine-c/include/spine/AttachmentLoader.h +++ b/spine-c/include/spine/AttachmentLoader.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Bone.h b/spine-c/include/spine/Bone.h index 2ee4e08c8..88d482be4 100644 --- a/spine-c/include/spine/Bone.h +++ b/spine-c/include/spine/Bone.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/BoneData.h b/spine-c/include/spine/BoneData.h index 2ad743484..644f1bce0 100644 --- a/spine-c/include/spine/BoneData.h +++ b/spine-c/include/spine/BoneData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/BoundingBoxAttachment.h b/spine-c/include/spine/BoundingBoxAttachment.h index 582e02720..f8428188c 100644 --- a/spine-c/include/spine/BoundingBoxAttachment.h +++ b/spine-c/include/spine/BoundingBoxAttachment.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Event.h b/spine-c/include/spine/Event.h index 385b346e2..4df161a8a 100644 --- a/spine-c/include/spine/Event.h +++ b/spine-c/include/spine/Event.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/EventData.h b/spine-c/include/spine/EventData.h index 10b48f613..4e0ff2078 100644 --- a/spine-c/include/spine/EventData.h +++ b/spine-c/include/spine/EventData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/IkConstraint.h b/spine-c/include/spine/IkConstraint.h index e1cb217d8..0b100edae 100644 --- a/spine-c/include/spine/IkConstraint.h +++ b/spine-c/include/spine/IkConstraint.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/IkConstraintData.h b/spine-c/include/spine/IkConstraintData.h index 4033f0378..6f35352a9 100644 --- a/spine-c/include/spine/IkConstraintData.h +++ b/spine-c/include/spine/IkConstraintData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/MeshAttachment.h b/spine-c/include/spine/MeshAttachment.h index e5eb271d9..f80033508 100644 --- a/spine-c/include/spine/MeshAttachment.h +++ b/spine-c/include/spine/MeshAttachment.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software + * Version 2.3 + * + * Copyright (c) 2013-2015, 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. - * + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/RegionAttachment.h b/spine-c/include/spine/RegionAttachment.h index c076eeac4..c370dc91b 100644 --- a/spine-c/include/spine/RegionAttachment.h +++ b/spine-c/include/spine/RegionAttachment.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Skeleton.h b/spine-c/include/spine/Skeleton.h index 6e0951878..8b6e07afe 100644 --- a/spine-c/include/spine/Skeleton.h +++ b/spine-c/include/spine/Skeleton.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -117,7 +118,8 @@ int spSkeleton_setSkinByName (spSkeleton* self, const char* skinName); spAttachment* spSkeleton_getAttachmentForSlotName (const spSkeleton* self, const char* slotName, const char* attachmentName); /* Returns 0 if the slot or attachment was not found. */ spAttachment* spSkeleton_getAttachmentForSlotIndex (const spSkeleton* self, int slotIndex, const char* attachmentName); -/* Returns 0 if the slot or attachment was not found. */ +/* Returns 0 if the slot or attachment was not found. + * @param attachmentName May be 0. */ int spSkeleton_setAttachment (spSkeleton* self, const char* slotName, const char* attachmentName); /* Returns 0 if the IK constraint was not found. */ diff --git a/spine-c/include/spine/SkeletonBounds.h b/spine-c/include/spine/SkeletonBounds.h index c7746d4c1..d7411b250 100644 --- a/spine-c/include/spine/SkeletonBounds.h +++ b/spine-c/include/spine/SkeletonBounds.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/SkeletonData.h b/spine-c/include/spine/SkeletonData.h index 4635b3011..1041c5a07 100644 --- a/spine-c/include/spine/SkeletonData.h +++ b/spine-c/include/spine/SkeletonData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/SkeletonJson.h b/spine-c/include/spine/SkeletonJson.h index 76c34ce24..3eb7fb758 100644 --- a/spine-c/include/spine/SkeletonJson.h +++ b/spine-c/include/spine/SkeletonJson.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Skin.h b/spine-c/include/spine/Skin.h index 2e4d7caa4..6458d9038 100644 --- a/spine-c/include/spine/Skin.h +++ b/spine-c/include/spine/Skin.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/SkinnedMeshAttachment.h b/spine-c/include/spine/SkinnedMeshAttachment.h index f00ef4417..a9c56152c 100644 --- a/spine-c/include/spine/SkinnedMeshAttachment.h +++ b/spine-c/include/spine/SkinnedMeshAttachment.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software + * Version 2.3 + * + * Copyright (c) 2013-2015, 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. - * + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/include/spine/Slot.h b/spine-c/include/spine/Slot.h index 21ac76061..f43e103e3 100644 --- a/spine-c/include/spine/Slot.h +++ b/spine-c/include/spine/Slot.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -53,7 +54,7 @@ typedef struct spSlot { spSlot() : data(0), bone(0), - r(0), b(0), g(0), a(0), + r(0), g(0), b(0), a(0), attachment(0), attachmentVerticesCapacity(0), attachmentVerticesCount(0), diff --git a/spine-c/include/spine/SlotData.h b/spine-c/include/spine/SlotData.h index b1e00faf2..7a7f7c8a7 100644 --- a/spine-c/include/spine/SlotData.h +++ b/spine-c/include/spine/SlotData.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -37,12 +38,16 @@ extern "C" { #endif +typedef enum { + SP_BLEND_MODE_NORMAL, SP_BLEND_MODE_ADDITIVE, SP_BLEND_MODE_MULTIPLY, SP_BLEND_MODE_SCREEN +} spBlendMode; + typedef struct spSlotData { const char* const name; const spBoneData* const boneData; const char* attachmentName; float r, g, b, a; - int/*bool*/additiveBlending; + spBlendMode blendMode; #ifdef __cplusplus spSlotData() : @@ -50,7 +55,7 @@ typedef struct spSlotData { boneData(0), attachmentName(0), r(0), g(0), b(0), a(0), - additiveBlending(0) { + blendMode(SP_BLEND_MODE_NORMAL) { } #endif } spSlotData; @@ -62,6 +67,11 @@ void spSlotData_dispose (spSlotData* self); void spSlotData_setAttachmentName (spSlotData* self, const char* attachmentName); #ifdef SPINE_SHORT_NAMES +typedef spBlendMode BlendMode; +#define BLEND_MODE_NORMAL SP_BLEND_MODE_NORMAL +#define BLEND_MODE_ADDITIVE SP_BLEND_MODE_ADDITIVE +#define BLEND_MODE_MULTIPLY SP_BLEND_MODE_MULTIPLY +#define BLEND_MODE_SCREEN SP_BLEND_MODE_SCREEN typedef spSlotData SlotData; #define SlotData_create(...) spSlotData_create(__VA_ARGS__) #define SlotData_dispose(...) spSlotData_dispose(__VA_ARGS__) diff --git a/spine-c/include/spine/extension.h b/spine-c/include/spine/extension.h index 5b30f621d..e42394c4c 100644 --- a/spine-c/include/spine/extension.h +++ b/spine-c/include/spine/extension.h @@ -32,7 +32,7 @@ #define SPINE_EXTENSION_H_ /* All allocation uses these. */ -#define MALLOC(TYPE,COUNT) ((TYPE*)_malloc(sizeof(TYPE) * COUNT, __FILE__, __LINE__)) +#define MALLOC(TYPE,COUNT) ((TYPE*)_malloc(sizeof(TYPE) * (COUNT), __FILE__, __LINE__)) #define CALLOC(TYPE,COUNT) ((TYPE*)_calloc(COUNT, sizeof(TYPE), __FILE__, __LINE__)) #define NEW(TYPE) CALLOC(TYPE,1) diff --git a/spine-c/include/spine/spine.h b/spine-c/include/spine/spine.h index 54f42419d..bbd6acfec 100644 --- a/spine-c/include/spine/spine.h +++ b/spine-c/include/spine/spine.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Animation.c b/spine-c/src/spine/Animation.c index 51b01ebd9..e233a4243 100644 --- a/spine-c/src/spine/Animation.c +++ b/spine-c/src/spine/Animation.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -833,4 +834,3 @@ void spFlipTimeline_setFrame (spFlipTimeline* self, int frameIndex, float time, } /**/ - diff --git a/spine-c/src/spine/AnimationState.c b/spine-c/src/spine/AnimationState.c index 419c4594f..85452419f 100644 --- a/spine-c/src/spine/AnimationState.c +++ b/spine-c/src/spine/AnimationState.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/AnimationStateData.c b/spine-c/src/spine/AnimationStateData.c index 0a5fbf4ca..edb31a97f 100644 --- a/spine-c/src/spine/AnimationStateData.c +++ b/spine-c/src/spine/AnimationStateData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Atlas.c b/spine-c/src/spine/Atlas.c index 20dd5d349..4ee8e6f99 100644 --- a/spine-c/src/spine/Atlas.c +++ b/spine-c/src/spine/Atlas.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/AtlasAttachmentLoader.c b/spine-c/src/spine/AtlasAttachmentLoader.c index 0867cd23e..9247a8ce7 100644 --- a/spine-c/src/spine/AtlasAttachmentLoader.c +++ b/spine-c/src/spine/AtlasAttachmentLoader.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Attachment.c b/spine-c/src/spine/Attachment.c index 3918837f0..c920907aa 100644 --- a/spine-c/src/spine/Attachment.c +++ b/spine-c/src/spine/Attachment.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/AttachmentLoader.c b/spine-c/src/spine/AttachmentLoader.c index ab0c04c36..c211dc883 100644 --- a/spine-c/src/spine/AttachmentLoader.c +++ b/spine-c/src/spine/AttachmentLoader.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Bone.c b/spine-c/src/spine/Bone.c index 963cdcbf6..d75dafc86 100644 --- a/spine-c/src/spine/Bone.c +++ b/spine-c/src/spine/Bone.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/BoneData.c b/spine-c/src/spine/BoneData.c index 00a0a88e4..1d102f504 100644 --- a/spine-c/src/spine/BoneData.c +++ b/spine-c/src/spine/BoneData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/BoundingBoxAttachment.c b/spine-c/src/spine/BoundingBoxAttachment.c index 6df38ed32..0d8049723 100644 --- a/spine-c/src/spine/BoundingBoxAttachment.c +++ b/spine-c/src/spine/BoundingBoxAttachment.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Event.c b/spine-c/src/spine/Event.c index bff59b866..7bbc781cd 100644 --- a/spine-c/src/spine/Event.c +++ b/spine-c/src/spine/Event.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/EventData.c b/spine-c/src/spine/EventData.c index 0567a95b9..6600eb892 100644 --- a/spine-c/src/spine/EventData.c +++ b/spine-c/src/spine/EventData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/IkConstraint.c b/spine-c/src/spine/IkConstraint.c index 13d9dda43..61a0907c4 100644 --- a/spine-c/src/spine/IkConstraint.c +++ b/spine-c/src/spine/IkConstraint.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/IkConstraintData.c b/spine-c/src/spine/IkConstraintData.c index f25b6eb30..11e82ba3c 100644 --- a/spine-c/src/spine/IkConstraintData.c +++ b/spine-c/src/spine/IkConstraintData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/MeshAttachment.c b/spine-c/src/spine/MeshAttachment.c index 0ca41fbc0..71d7ad36d 100644 --- a/spine-c/src/spine/MeshAttachment.c +++ b/spine-c/src/spine/MeshAttachment.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/RegionAttachment.c b/spine-c/src/spine/RegionAttachment.c index 6b1030518..925cc4eb9 100644 --- a/spine-c/src/spine/RegionAttachment.c +++ b/spine-c/src/spine/RegionAttachment.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Skeleton.c b/spine-c/src/spine/Skeleton.c index d8835db72..dc1b8ff11 100644 --- a/spine-c/src/spine/Skeleton.c +++ b/spine-c/src/spine/Skeleton.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/SkeletonBounds.c b/spine-c/src/spine/SkeletonBounds.c index 16c35facc..faae30b92 100644 --- a/spine-c/src/spine/SkeletonBounds.c +++ b/spine-c/src/spine/SkeletonBounds.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/SkeletonData.c b/spine-c/src/spine/SkeletonData.c index fc80ac411..c6f773811 100644 --- a/spine-c/src/spine/SkeletonData.c +++ b/spine-c/src/spine/SkeletonData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/SkeletonJson.c b/spine-c/src/spine/SkeletonJson.c index 8e2b1280e..84fd99767 100644 --- a/spine-c/src/spine/SkeletonJson.c +++ b/spine-c/src/spine/SkeletonJson.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -519,7 +520,7 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha for (slotMap = slots->child, i = 0; slotMap; slotMap = slotMap->next, ++i) { spSlotData* slotData; const char* color; - Json *attachmentItem; + Json *item; const char* boneName = Json_getString(slotMap, "bone", 0); spBoneData* boneData = spSkeletonData_findBone(skeletonData, boneName); @@ -539,10 +540,18 @@ spSkeletonData* spSkeletonJson_readSkeletonData (spSkeletonJson* self, const cha slotData->a = toColor(color, 3); } - attachmentItem = Json_getItem(slotMap, "attachment"); - if (attachmentItem) spSlotData_setAttachmentName(slotData, attachmentItem->valueString); + item = Json_getItem(slotMap, "attachment"); + if (item) spSlotData_setAttachmentName(slotData, item->valueString); - slotData->additiveBlending = Json_getInt(slotMap, "additive", 0); + item = Json_getItem(slotMap, "blend"); + if (item) { + if (strcmp(item->valueString, "additive") == 0) + slotData->blendMode = SP_BLEND_MODE_ADDITIVE; + else if (strcmp(item->valueString, "multiply") == 0) + slotData->blendMode = SP_BLEND_MODE_MULTIPLY; + else if (strcmp(item->valueString, "screen") == 0) + slotData->blendMode = SP_BLEND_MODE_SCREEN; + } skeletonData->slots[i] = slotData; } diff --git a/spine-c/src/spine/Skin.c b/spine-c/src/spine/Skin.c index d2f2e27e3..afbf52c61 100644 --- a/spine-c/src/spine/Skin.c +++ b/spine-c/src/spine/Skin.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/SkinnedMeshAttachment.c b/spine-c/src/spine/SkinnedMeshAttachment.c index 1697d7948..a40fb90df 100644 --- a/spine-c/src/spine/SkinnedMeshAttachment.c +++ b/spine-c/src/spine/SkinnedMeshAttachment.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/Slot.c b/spine-c/src/spine/Slot.c index 8e4fcbf65..7a7da3ba8 100644 --- a/spine-c/src/spine/Slot.c +++ b/spine-c/src/spine/Slot.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/SlotData.c b/spine-c/src/spine/SlotData.c index a6ee84039..7d575bc81 100644 --- a/spine-c/src/spine/SlotData.c +++ b/spine-c/src/spine/SlotData.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-c/src/spine/extension.c b/spine-c/src/spine/extension.c index f45bb2d26..18c917928 100644 --- a/spine-c/src/spine/extension.c +++ b/spine-c/src/spine/extension.c @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/example/GoblinsExample.h b/spine-cocos2d-iphone/2/example/GoblinsExample.h index be76ae14e..a84084722 100644 --- a/spine-cocos2d-iphone/2/example/GoblinsExample.h +++ b/spine-cocos2d-iphone/2/example/GoblinsExample.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "cocos2d.h" #import @@ -9,4 +38,4 @@ + (CCScene*) scene; -@end \ No newline at end of file +@end diff --git a/spine-cocos2d-iphone/2/example/GoblinsExample.m b/spine-cocos2d-iphone/2/example/GoblinsExample.m index 46d973ba5..eff7ab266 100644 --- a/spine-cocos2d-iphone/2/example/GoblinsExample.m +++ b/spine-cocos2d-iphone/2/example/GoblinsExample.m @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "GoblinsExample.h" #import "SpineboyExample.h" diff --git a/spine-cocos2d-iphone/2/example/SpineboyExample.h b/spine-cocos2d-iphone/2/example/SpineboyExample.h index 6541bef31..e0d9aeb08 100644 --- a/spine-cocos2d-iphone/2/example/SpineboyExample.h +++ b/spine-cocos2d-iphone/2/example/SpineboyExample.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "cocos2d.h" #import @@ -9,4 +38,4 @@ + (CCScene*) scene; -@end \ No newline at end of file +@end diff --git a/spine-cocos2d-iphone/2/example/SpineboyExample.m b/spine-cocos2d-iphone/2/example/SpineboyExample.m index 8553152f1..cb395d1ca 100644 --- a/spine-cocos2d-iphone/2/example/SpineboyExample.m +++ b/spine-cocos2d-iphone/2/example/SpineboyExample.m @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "SpineboyExample.h" #import "GoblinsExample.h" diff --git a/spine-cocos2d-iphone/2/src/spine/PolygonBatch.h b/spine-cocos2d-iphone/2/src/spine/PolygonBatch.h index 0314ecb8e..d85419d04 100644 --- a/spine-cocos2d-iphone/2/src/spine/PolygonBatch.h +++ b/spine-cocos2d-iphone/2/src/spine/PolygonBatch.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/PolygonBatch.m b/spine-cocos2d-iphone/2/src/spine/PolygonBatch.m index 8bfb21f2c..28d36e29e 100644 --- a/spine-cocos2d-iphone/2/src/spine/PolygonBatch.m +++ b/spine-cocos2d-iphone/2/src/spine/PolygonBatch.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.h b/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.h index 183ef2121..22ee4f1da 100644 --- a/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.h +++ b/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.m b/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.m index cbaccf811..aa61ed952 100644 --- a/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.m +++ b/spine-cocos2d-iphone/2/src/spine/SkeletonAnimation.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.h b/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.h index adbcaf327..08863ba64 100644 --- a/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.h +++ b/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.m index ef0d5d0d8..e9f973434 100644 --- a/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.m +++ b/spine-cocos2d-iphone/2/src/spine/SkeletonRenderer.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -142,7 +143,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; _skeleton->b = nodeColor.b / (float)255; _skeleton->a = self.opacity / (float)255; - int additive = -1; + int blendMode = -1; ccColor4B color; const float* uvs = 0; int verticesCount = 0; @@ -199,10 +200,22 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; default: ; } if (texture) { - if (slot->data->additiveBlending != additive) { + if (slot->data->blendMode != blendMode) { [batch flush]; - ccGLBlendFunc(_blendFunc.src, slot->data->additiveBlending ? GL_ONE : _blendFunc.dst); - additive = slot->data->additiveBlending; + blendMode = slot->data->blendMode; + switch (slot->data->blendMode) { + case SP_BLEND_MODE_ADDITIVE: + ccGLBlendFunc(_premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE); + break; + case SP_BLEND_MODE_MULTIPLY: + ccGLBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); + break; + case SP_BLEND_MODE_SCREEN: + ccGLBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR); + break; + default: + ccGLBlendFunc(_premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + } } color.a = _skeleton->a * slot->a * a * 255; float multiplier = _premultipliedAlpha ? color.a : 255; diff --git a/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.h b/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.h index 1991cae7b..848a4043b 100644 --- a/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.h +++ b/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.m b/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.m index 7be71f127..45e53f5d7 100644 --- a/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.m +++ b/spine-cocos2d-iphone/2/src/spine/spine-cocos2d-iphone.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/3/example/GoblinsExample.h b/spine-cocos2d-iphone/3/example/GoblinsExample.h index e1c5f0266..86d34a6b7 100644 --- a/spine-cocos2d-iphone/3/example/GoblinsExample.h +++ b/spine-cocos2d-iphone/3/example/GoblinsExample.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "cocos2d.h" #import @@ -9,4 +38,4 @@ + (CCScene*) scene; -@end \ No newline at end of file +@end diff --git a/spine-cocos2d-iphone/3/example/GoblinsExample.m b/spine-cocos2d-iphone/3/example/GoblinsExample.m index 62fef9921..58735c55a 100644 --- a/spine-cocos2d-iphone/3/example/GoblinsExample.m +++ b/spine-cocos2d-iphone/3/example/GoblinsExample.m @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "GoblinsExample.h" #import "SpineboyExample.h" diff --git a/spine-cocos2d-iphone/3/example/SpineboyExample.h b/spine-cocos2d-iphone/3/example/SpineboyExample.h index b76cef160..5fa7697dd 100644 --- a/spine-cocos2d-iphone/3/example/SpineboyExample.h +++ b/spine-cocos2d-iphone/3/example/SpineboyExample.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "cocos2d.h" #import @@ -9,4 +38,4 @@ + (CCScene*) scene; -@end \ No newline at end of file +@end diff --git a/spine-cocos2d-iphone/3/example/SpineboyExample.m b/spine-cocos2d-iphone/3/example/SpineboyExample.m index dc573d73a..0d5636fc1 100644 --- a/spine-cocos2d-iphone/3/example/SpineboyExample.m +++ b/spine-cocos2d-iphone/3/example/SpineboyExample.m @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #import "SpineboyExample.h" #import "GoblinsExample.h" diff --git a/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h index 183ef2121..22ee4f1da 100644 --- a/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h +++ b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m index c26eddae8..6942bed31 100644 --- a/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m +++ b/spine-cocos2d-iphone/3/src/spine/SkeletonAnimation.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h index ec91328af..656ded2c1 100644 --- a/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h +++ b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -39,10 +40,11 @@ bool _debugBones; bool _premultipliedAlpha; ccBlendFunc _blendFunc; - CCDrawNode *_drawNode; + CCDrawNode* _drawNode; bool _ownsSkeletonData; spAtlas* _atlas; - float* worldVertices; + float* _worldVertices; + CCBlendMode* screenMode; } + (id) skeletonWithData:(spSkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; diff --git a/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m index bd57ebec2..f0ca12a61 100644 --- a/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m +++ b/spine-cocos2d-iphone/3/src/spine/SkeletonRenderer.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -62,7 +63,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; - (void) initialize:(spSkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { _ownsSkeletonData = ownsSkeletonData; - worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. + _worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. _skeleton = spSkeleton_create(skeletonData); _rootBone = _skeleton->bones[0]; @@ -74,6 +75,12 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; [self addChild:_drawNode]; [self setShader:[CCShader positionTextureColorShader]]; + + _premultipliedAlpha = true; + screenMode = [CCBlendMode blendModeWithOptions:@{ + CCBlendFuncSrcColor: @(GL_ONE), + CCBlendFuncDstColor: @(GL_ONE_MINUS_SRC_COLOR)} + ]; } - (id) initWithData:(spSkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { @@ -127,7 +134,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; if (_ownsSkeletonData) spSkeletonData_dispose(_skeleton->data); if (_atlas) spAtlas_dispose(_atlas); spSkeleton_dispose(_skeleton); - FREE(worldVertices); + FREE(_worldVertices); [super dealloc]; } @@ -138,7 +145,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; _skeleton->b = nodeColor.blue; _skeleton->a = self.displayedOpacity; - int additive = -1; + int blendMode = -1; const float* uvs = 0; int verticesCount = 0; const int* triangles = 0; @@ -151,7 +158,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; switch (slot->attachment->type) { case SP_ATTACHMENT_REGION: { spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->bone, worldVertices); + spRegionAttachment_computeWorldVertices(attachment, slot->bone, _worldVertices); texture = [self getTextureForRegion:attachment]; uvs = attachment->uvs; verticesCount = 8; @@ -165,7 +172,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; } case SP_ATTACHMENT_MESH: { spMeshAttachment* attachment = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(attachment, slot, worldVertices); + spMeshAttachment_computeWorldVertices(attachment, slot, _worldVertices); texture = [self getTextureForMesh:attachment]; uvs = attachment->uvs; verticesCount = attachment->verticesCount; @@ -179,7 +186,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; } case SP_ATTACHMENT_SKINNED_MESH: { spSkinnedMeshAttachment* attachment = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(attachment, slot, worldVertices); + spSkinnedMeshAttachment_computeWorldVertices(attachment, slot, _worldVertices); texture = [self getTextureForSkinnedMesh:attachment]; uvs = attachment->uvs; verticesCount = attachment->uvsCount; @@ -194,22 +201,34 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; default: ; } if (texture) { - if (slot->data->additiveBlending != additive) { - [self setBlendMode:[CCBlendMode blendModeWithOptions:@{CCBlendFuncSrcColor: @(_blendFunc.src),CCBlendFuncDstColor: @(slot->data->additiveBlending ? GL_ONE : _blendFunc.dst)}]]; - additive = slot->data->additiveBlending; + if (slot->data->blendMode != blendMode) { + blendMode = slot->data->blendMode; + switch (slot->data->blendMode) { + case SP_BLEND_MODE_ADDITIVE: + [self setBlendMode:[CCBlendMode addMode]]; + break; + case SP_BLEND_MODE_MULTIPLY: + [self setBlendMode:[CCBlendMode multiplyMode]]; + break; + case SP_BLEND_MODE_SCREEN: + [self setBlendMode:screenMode]; + break; + default: + [self setBlendMode:_premultipliedAlpha ? [CCBlendMode premultipliedAlphaMode] : [CCBlendMode alphaMode]]; + } } 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; + 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; + 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); @@ -217,7 +236,7 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; 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.position = GLKVector4Make(_worldVertices[i * 2], _worldVertices[i * 2 + 1], 0.0, 1.0); vertex.color = GLKVector4Make(r, g, b, a); vertex.texCoord1 = GLKVector2Make(uvs[i * 2], 1 - uvs[i * 2 + 1]); CCRenderBufferSetVertex(buffer, i, CCVertexApplyTransform(vertex, transform)); @@ -236,11 +255,11 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; spSlot* slot = _skeleton->drawOrder[i]; if (!slot->attachment || slot->attachment->type != SP_ATTACHMENT_REGION) continue; spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->bone, worldVertices); - points[0] = ccp(worldVertices[0], worldVertices[1]); - points[1] = ccp(worldVertices[2], worldVertices[3]); - points[2] = ccp(worldVertices[4], worldVertices[5]); - points[3] = ccp(worldVertices[6], worldVertices[7]); + spRegionAttachment_computeWorldVertices(attachment, slot->bone, _worldVertices); + points[0] = ccp(_worldVertices[0], _worldVertices[1]); + 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]]; } } @@ -283,20 +302,20 @@ static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; int verticesCount; if (slot->attachment->type == SP_ATTACHMENT_REGION) { spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->bone, worldVertices); + spRegionAttachment_computeWorldVertices(attachment, slot->bone, _worldVertices); verticesCount = 8; } else if (slot->attachment->type == SP_ATTACHMENT_MESH) { spMeshAttachment* mesh = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(mesh, slot, worldVertices); + spMeshAttachment_computeWorldVertices(mesh, slot, _worldVertices); verticesCount = mesh->verticesCount; } else if (slot->attachment->type == SP_ATTACHMENT_SKINNED_MESH) { spSkinnedMeshAttachment* mesh = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(mesh, slot, worldVertices); + spSkinnedMeshAttachment_computeWorldVertices(mesh, slot, _worldVertices); verticesCount = mesh->uvsCount; } else continue; for (int ii = 0; ii < verticesCount; ii += 2) { - float x = worldVertices[ii] * scaleX, y = worldVertices[ii + 1] * scaleY; + float x = _worldVertices[ii] * scaleX, y = _worldVertices[ii + 1] * scaleY; minX = fmin(minX, x); minY = fmin(minY, y); maxX = fmax(maxX, x); diff --git a/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h index 1991cae7b..848a4043b 100644 --- a/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h +++ b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m index 20ebe878c..c1b6db49e 100644 --- a/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m +++ b/spine-cocos2d-iphone/3/src/spine/spine-cocos2d-iphone.m @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/example/Classes/AppDelegate.cpp b/spine-cocos2dx/2/example/Classes/AppDelegate.cpp index 617e53cc9..b555586b4 100644 --- a/spine-cocos2dx/2/example/Classes/AppDelegate.cpp +++ b/spine-cocos2dx/2/example/Classes/AppDelegate.cpp @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 "AppDelegate.h" #include diff --git a/spine-cocos2dx/2/example/Classes/AppDelegate.h b/spine-cocos2dx/2/example/Classes/AppDelegate.h index 318fc27f4..8f5c3fe0c 100644 --- a/spine-cocos2dx/2/example/Classes/AppDelegate.h +++ b/spine-cocos2dx/2/example/Classes/AppDelegate.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #ifndef _APPDELEGATE_H_ #define _APPDELEGATE_H_ @@ -15,4 +44,4 @@ public: virtual void applicationWillEnterForeground (); }; -#endif // _APPDELEGATE_H_ \ No newline at end of file +#endif // _APPDELEGATE_H_ diff --git a/spine-cocos2dx/2/example/Classes/AppMacros.h b/spine-cocos2dx/2/example/Classes/AppMacros.h index 209553df7..7329fa520 100644 --- a/spine-cocos2dx/2/example/Classes/AppMacros.h +++ b/spine-cocos2dx/2/example/Classes/AppMacros.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #ifndef _APPMACROS_H_ #define _APPMACROS_H_ @@ -58,4 +87,4 @@ static cocos2d::CCSize designResolutionSize = cocos2d::Size(2048, 1536); // The font size 24 is designed for small resolution, so we should change it to fit for current design resolution #define TITLE_FONT_SIZE (cocos2d::Director::getInstance()->getOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24) -#endif /* _APPMACROS_H_ */ \ No newline at end of file +#endif /* _APPMACROS_H_ */ diff --git a/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp index efbd63b93..720280fb1 100644 --- a/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp +++ b/spine-cocos2dx/2/example/Classes/GoblinsExample.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/example/Classes/GoblinsExample.h b/spine-cocos2dx/2/example/Classes/GoblinsExample.h index f40fa7947..67b9fa4c1 100644 --- a/spine-cocos2dx/2/example/Classes/GoblinsExample.h +++ b/spine-cocos2dx/2/example/Classes/GoblinsExample.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/example/Classes/SpineboyExample.cpp b/spine-cocos2dx/2/example/Classes/SpineboyExample.cpp index c2c9e02e0..94221287e 100644 --- a/spine-cocos2dx/2/example/Classes/SpineboyExample.cpp +++ b/spine-cocos2dx/2/example/Classes/SpineboyExample.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/example/Classes/SpineboyExample.h b/spine-cocos2dx/2/example/Classes/SpineboyExample.h index c83442889..914f282da 100644 --- a/spine-cocos2dx/2/example/Classes/SpineboyExample.h +++ b/spine-cocos2dx/2/example/Classes/SpineboyExample.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/PolygonBatch.cpp b/spine-cocos2dx/2/src/spine/PolygonBatch.cpp index cf86dd9b5..e0406cba6 100644 --- a/spine-cocos2dx/2/src/spine/PolygonBatch.cpp +++ b/spine-cocos2dx/2/src/spine/PolygonBatch.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/PolygonBatch.h b/spine-cocos2dx/2/src/spine/PolygonBatch.h index 5fd3dda28..c8e54878e 100644 --- a/spine-cocos2dx/2/src/spine/PolygonBatch.h +++ b/spine-cocos2dx/2/src/spine/PolygonBatch.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/2/src/spine/SkeletonAnimation.cpp index 25b5d4b5d..c58fe6c56 100644 --- a/spine-cocos2dx/2/src/spine/SkeletonAnimation.cpp +++ b/spine-cocos2dx/2/src/spine/SkeletonAnimation.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/SkeletonAnimation.h b/spine-cocos2dx/2/src/spine/SkeletonAnimation.h index ce5da45bb..b3cd05ba2 100644 --- a/spine-cocos2dx/2/src/spine/SkeletonAnimation.h +++ b/spine-cocos2dx/2/src/spine/SkeletonAnimation.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/2/src/spine/SkeletonRenderer.cpp index 0a2fec9e9..0710616d3 100644 --- a/spine-cocos2dx/2/src/spine/SkeletonRenderer.cpp +++ b/spine-cocos2dx/2/src/spine/SkeletonRenderer.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -144,7 +145,7 @@ void SkeletonRenderer::draw () { skeleton->b = nodeColor.b / (float)255; skeleton->a = getDisplayedOpacity() / (float)255; - int additive = -1; + int blendMode = -1; ccColor4B color; const float* uvs = nullptr; int verticesCount = 0; @@ -200,10 +201,22 @@ void SkeletonRenderer::draw () { } } if (texture) { - if (slot->data->additiveBlending != additive) { + if (slot->data->blendMode != blendMode) { batch->flush(); - ccGLBlendFunc(blendFunc.src, slot->data->additiveBlending ? GL_ONE : blendFunc.dst); - additive = slot->data->additiveBlending; + blendMode = slot->data->blendMode; + switch (slot->data->blendMode) { + case SP_BLEND_MODE_ADDITIVE: + ccGLBlendFunc(premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE); + break; + case SP_BLEND_MODE_MULTIPLY: + ccGLBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); + break; + case SP_BLEND_MODE_SCREEN: + ccGLBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR); + break; + default: + ccGLBlendFunc(blendFunc.src, blendFunc.dst); + } } color.a = skeleton->a * slot->a * a * 255; float multiplier = premultipliedAlpha ? color.a : 255; diff --git a/spine-cocos2dx/2/src/spine/SkeletonRenderer.h b/spine-cocos2dx/2/src/spine/SkeletonRenderer.h index f387a4599..ac286bf55 100644 --- a/spine-cocos2dx/2/src/spine/SkeletonRenderer.h +++ b/spine-cocos2dx/2/src/spine/SkeletonRenderer.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/spine-cocos2dx.cpp b/spine-cocos2dx/2/src/spine/spine-cocos2dx.cpp index 389304289..b91068a4e 100644 --- a/spine-cocos2dx/2/src/spine/spine-cocos2dx.cpp +++ b/spine-cocos2dx/2/src/spine/spine-cocos2dx.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/2/src/spine/spine-cocos2dx.h b/spine-cocos2dx/2/src/spine/spine-cocos2dx.h index 3409012f3..f96eba024 100644 --- a/spine-cocos2dx/2/src/spine/spine-cocos2dx.h +++ b/spine-cocos2dx/2/src/spine/spine-cocos2dx.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/example/Classes/AppDelegate.cpp b/spine-cocos2dx/3/example/Classes/AppDelegate.cpp index f1439c353..789052012 100644 --- a/spine-cocos2dx/3/example/Classes/AppDelegate.cpp +++ b/spine-cocos2dx/3/example/Classes/AppDelegate.cpp @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 "AppDelegate.h" #include diff --git a/spine-cocos2dx/3/example/Classes/AppDelegate.h b/spine-cocos2dx/3/example/Classes/AppDelegate.h index d50b7e9ff..9b0cd0516 100644 --- a/spine-cocos2dx/3/example/Classes/AppDelegate.h +++ b/spine-cocos2dx/3/example/Classes/AppDelegate.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #ifndef _APPDELEGATE_H_ #define _APPDELEGATE_H_ @@ -15,4 +44,4 @@ public: virtual void applicationWillEnterForeground (); }; -#endif // _APPDELEGATE_H_ \ No newline at end of file +#endif // _APPDELEGATE_H_ diff --git a/spine-cocos2dx/3/example/Classes/AppMacros.h b/spine-cocos2dx/3/example/Classes/AppMacros.h index 467f4d61b..3b8deb498 100644 --- a/spine-cocos2dx/3/example/Classes/AppMacros.h +++ b/spine-cocos2dx/3/example/Classes/AppMacros.h @@ -1,4 +1,33 @@ - +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ #ifndef _APPMACROS_H_ #define _APPMACROS_H_ @@ -58,4 +87,4 @@ static cocos2d::Size designResolutionSize = cocos2d::Size(2048, 1536); // The font size 24 is designed for small resolution, so we should change it to fit for current design resolution #define TITLE_FONT_SIZE (cocos2d::Director::getInstance()->getOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24) -#endif /* _APPMACROS_H_ */ \ No newline at end of file +#endif /* _APPMACROS_H_ */ diff --git a/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp index bbc44cd9f..18bc80665 100644 --- a/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp +++ b/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/example/Classes/GoblinsExample.h b/spine-cocos2dx/3/example/Classes/GoblinsExample.h index b74ecaaf8..8361171db 100644 --- a/spine-cocos2dx/3/example/Classes/GoblinsExample.h +++ b/spine-cocos2dx/3/example/Classes/GoblinsExample.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/example/Classes/RaptorExample.cpp b/spine-cocos2dx/3/example/Classes/RaptorExample.cpp index 2670dc412..c8f05ca30 100644 --- a/spine-cocos2dx/3/example/Classes/RaptorExample.cpp +++ b/spine-cocos2dx/3/example/Classes/RaptorExample.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/example/Classes/RaptorExample.h b/spine-cocos2dx/3/example/Classes/RaptorExample.h index c8b1b3096..b03442aa6 100644 --- a/spine-cocos2dx/3/example/Classes/RaptorExample.h +++ b/spine-cocos2dx/3/example/Classes/RaptorExample.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/example/Classes/SpineboyExample.cpp b/spine-cocos2dx/3/example/Classes/SpineboyExample.cpp index 42725d6d4..8e882b9fb 100644 --- a/spine-cocos2dx/3/example/Classes/SpineboyExample.cpp +++ b/spine-cocos2dx/3/example/Classes/SpineboyExample.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -102,4 +103,3 @@ void SpineboyExample::update (float deltaTime) { // Test releasing memory. // Director::getInstance()->replaceScene(SpineboyExample::scene()); } - diff --git a/spine-cocos2dx/3/example/Classes/SpineboyExample.h b/spine-cocos2dx/3/example/Classes/SpineboyExample.h index 641834609..d32f2e63d 100644 --- a/spine-cocos2dx/3/example/Classes/SpineboyExample.h +++ b/spine-cocos2dx/3/example/Classes/SpineboyExample.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/src/spine/PolygonBatch.cpp b/spine-cocos2dx/3/src/spine/PolygonBatch.cpp index 26e35a77d..63b1bbf1b 100644 --- a/spine-cocos2dx/3/src/spine/PolygonBatch.cpp +++ b/spine-cocos2dx/3/src/spine/PolygonBatch.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/src/spine/PolygonBatch.h b/spine-cocos2dx/3/src/spine/PolygonBatch.h index 78bd22f23..5fa028e30 100644 --- a/spine-cocos2dx/3/src/spine/PolygonBatch.h +++ b/spine-cocos2dx/3/src/spine/PolygonBatch.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp index bdaccddd4..ef289feec 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp +++ b/spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -70,8 +71,8 @@ void disposeTrackEntry (spTrackEntry* entry) { // -SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonData); +SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData) { + SkeletonAnimation* node = new SkeletonAnimation(skeletonData, ownsSkeletonData); node->autorelease(); return node; } @@ -102,8 +103,8 @@ SkeletonAnimation::SkeletonAnimation () : SkeletonRenderer() { } -SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData) - : SkeletonRenderer(skeletonData) { +SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData, bool ownsSkeletonData) + : SkeletonRenderer(skeletonData, ownsSkeletonData) { initialize(); } diff --git a/spine-cocos2dx/3/src/spine/SkeletonAnimation.h b/spine-cocos2dx/3/src/spine/SkeletonAnimation.h index 2456bd32e..a140e3a83 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonAnimation.h +++ b/spine-cocos2dx/3/src/spine/SkeletonAnimation.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -46,7 +47,7 @@ typedef std::function EventListener; * played later. */ class SkeletonAnimation: public SkeletonRenderer { public: - static SkeletonAnimation* createWithData (spSkeletonData* skeletonData); + static SkeletonAnimation* createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false); static SkeletonAnimation* createWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1); static SkeletonAnimation* createWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1); @@ -78,7 +79,7 @@ public: CC_CONSTRUCTOR_ACCESS: SkeletonAnimation (); - SkeletonAnimation (spSkeletonData* skeletonData); + SkeletonAnimation (spSkeletonData* skeletonData, bool ownsSkeletonData = false); SkeletonAnimation (const std::string&skeletonDataFile, spAtlas* atlas, float scale = 1); SkeletonAnimation (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1); virtual ~SkeletonAnimation (); diff --git a/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp index b1d4b6c3b..3328bd2ec 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp +++ b/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -158,7 +159,7 @@ void SkeletonRenderer::drawSkeleton (const Mat4 &transform, uint32_t transformFl _skeleton->b = nodeColor.b / (float)255; _skeleton->a = getDisplayedOpacity() / (float)255; - int additive = -1; + int blendMode = -1; Color4B color; const float* uvs = nullptr; int verticesCount = 0; @@ -215,10 +216,22 @@ void SkeletonRenderer::drawSkeleton (const Mat4 &transform, uint32_t transformFl default: ; } if (texture) { - if (slot->data->additiveBlending != additive) { + if (slot->data->blendMode != blendMode) { _batch->flush(); - GL::blendFunc(_blendFunc.src, slot->data->additiveBlending ? GL_ONE : _blendFunc.dst); - additive = slot->data->additiveBlending; + blendMode = slot->data->blendMode; + switch (slot->data->blendMode) { + case SP_BLEND_MODE_ADDITIVE: + GL::blendFunc(_premultipliedAlpha ? GL_ONE : GL_SRC_ALPHA, GL_ONE); + break; + case SP_BLEND_MODE_MULTIPLY: + GL::blendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA); + break; + case SP_BLEND_MODE_SCREEN: + GL::blendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR); + break; + default: + GL::blendFunc(_blendFunc.src, _blendFunc.dst); + } } color.a = _skeleton->a * slot->a * a * 255; float multiplier = _premultipliedAlpha ? color.a : 255; @@ -346,14 +359,20 @@ spSlot* SkeletonRenderer::findSlot (const std::string& slotName) const { } bool SkeletonRenderer::setSkin (const std::string& skinName) { - return spSkeleton_setSkinByName(_skeleton, skinName.c_str()) ? true : false; + return spSkeleton_setSkinByName(_skeleton, skinName.empty() ? 0 : skinName.c_str()) ? true : false; +} +bool SkeletonRenderer::setSkin (const char* skinName) { + return spSkeleton_setSkinByName(_skeleton, skinName) ? true : false; } spAttachment* SkeletonRenderer::getAttachment (const std::string& slotName, const std::string& attachmentName) const { return spSkeleton_getAttachmentForSlotName(_skeleton, slotName.c_str(), attachmentName.c_str()); } bool SkeletonRenderer::setAttachment (const std::string& slotName, const std::string& attachmentName) { - return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.c_str()) ? true : false; + return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName.empty() ? 0 : attachmentName.c_str()) ? true : false; +} +bool SkeletonRenderer::setAttachment (const std::string& slotName, const char* attachmentName) { + return spSkeleton_setAttachment(_skeleton, slotName.c_str(), attachmentName) ? true : false; } spSkeleton* SkeletonRenderer::getSkeleton () { diff --git a/spine-cocos2dx/3/src/spine/SkeletonRenderer.h b/spine-cocos2dx/3/src/spine/SkeletonRenderer.h index 6cabc4ca9..a9f29577d 100644 --- a/spine-cocos2dx/3/src/spine/SkeletonRenderer.h +++ b/spine-cocos2dx/3/src/spine/SkeletonRenderer.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -77,13 +78,18 @@ public: /* Sets the skin used to look up attachments not found in the SkeletonData defaultSkin. Attachments from the new skin are * attached if the corresponding attachment from the old skin was attached. Returns false if the skin was not found. - * @param skin May be 0.*/ + * @param skin May be empty string ("") for no skin.*/ bool setSkin (const std::string& skinName); + /** @param skin May be 0 for no skin.*/ + bool setSkin (const char* skinName); /* Returns 0 if the slot or attachment was not found. */ spAttachment* getAttachment (const std::string& slotName, const std::string& attachmentName) const; - /* Returns false if the slot or attachment was not found. */ + /* Returns false if the slot or attachment was not found. + * @param attachmentName May be empty string ("") for no attachment. */ bool setAttachment (const std::string& slotName, const std::string& attachmentName); + /* @param attachmentName May be 0 for no attachment. */ + bool setAttachment (const std::string& slotName, const char* attachmentName); // --- BlendProtocol virtual void setBlendFunc (const cocos2d::BlendFunc& blendFunc); diff --git a/spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp b/spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp index 5ab0c1d71..2efd39b2b 100644 --- a/spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp +++ b/spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-cocos2dx/3/src/spine/spine-cocos2dx.h b/spine-cocos2dx/3/src/spine/spine-cocos2dx.h index 3409012f3..f96eba024 100644 --- a/spine-cocos2dx/3/src/spine/spine-cocos2dx.h +++ b/spine-cocos2dx/3/src/spine/spine-cocos2dx.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-corona/spine-corona/spine.lua b/spine-corona/spine-corona/spine.lua index 9231f6f50..ff6c21afd 100644 --- a/spine-corona/spine-corona/spine.lua +++ b/spine-corona/spine-corona/spine.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, @@ -52,6 +53,7 @@ spine.AnimationState = require "spine-lua.AnimationState" spine.EventData = require "spine-lua.EventData" spine.Event = require "spine-lua.Event" spine.SkeletonBounds = require "spine-lua.SkeletonBounds" +spine.BlendMode = require "spine-lua.BlendMode" spine.utils.readFile = function (fileName, base) if not base then base = system.ResourceDirectory end @@ -125,7 +127,15 @@ function spine.Skeleton.new (skeletonData, group) print("Error creating image: " .. attachment.name) image = spine.Skeleton.failed end - if slot.data.additiveBlending then image.blendMode = "add" end + if slot.data.blendMode == spine.BlendMode.normal then + image.blendMode = "normal" + elseif slot.data.blendMode == spine.BlendMode.additive then + image.blendMode = "add" + elseif slot.data.blendMode == spine.BlendMode.multiply then + image.blendMode = "multiply" + elseif slot.data.blendMode == spine.BlendMode.screen then + image.blendMode = "screen" + end images[slot] = image end -- Position image based on attachment and bone. diff --git a/spine-csharp/spine-csharp.csproj b/spine-csharp/spine-csharp.csproj index 9cbdb5373..7cc986591 100644 --- a/spine-csharp/spine-csharp.csproj +++ b/spine-csharp/spine-csharp.csproj @@ -64,6 +64,7 @@ + @@ -75,6 +76,7 @@ + diff --git a/spine-csharp/spine-csharp_xna.csproj b/spine-csharp/spine-csharp_xna.csproj index 85f5f33ca..df66b3e9e 100644 --- a/spine-csharp/spine-csharp_xna.csproj +++ b/spine-csharp/spine-csharp_xna.csproj @@ -103,6 +103,7 @@ + @@ -111,6 +112,7 @@ + diff --git a/spine-csharp/src/Animation.cs b/spine-csharp/src/Animation.cs index 65374fccf..eb0b695c9 100644 --- a/spine-csharp/src/Animation.cs +++ b/spine-csharp/src/Animation.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -365,7 +366,7 @@ namespace Spine { } /// Sets the time and value of the specified keyframe. - public void setFrame (int frameIndex, float time, float r, float g, float b, float a) { + public void SetFrame (int frameIndex, float time, float r, float g, float b, float a) { frameIndex *= 5; frames[frameIndex] = time; frames[frameIndex + 1] = r; @@ -433,7 +434,7 @@ namespace Spine { } /// Sets the time and value of the specified keyframe. - public void setFrame (int frameIndex, float time, String attachmentName) { + public void SetFrame (int frameIndex, float time, String attachmentName) { frames[frameIndex] = time; attachmentNames[frameIndex] = attachmentName; } @@ -469,7 +470,7 @@ namespace Spine { } /// Sets the time and value of the specified keyframe. - public void setFrame (int frameIndex, float time, Event e) { + public void SetFrame (int frameIndex, float time, Event e) { frames[frameIndex] = time; events[frameIndex] = e; } @@ -518,7 +519,7 @@ namespace Spine { /// Sets the time and value of the specified keyframe. /// May be null to use bind pose draw order. - public void setFrame (int frameIndex, float time, int[] drawOrder) { + public void SetFrame (int frameIndex, float time, int[] drawOrder) { frames[frameIndex] = time; drawOrders[frameIndex] = drawOrder; } @@ -565,7 +566,7 @@ namespace Spine { } /// Sets the time and value of the specified keyframe. - public void setFrame (int frameIndex, float time, float[] vertices) { + public void SetFrame (int frameIndex, float time, float[] vertices) { frames[frameIndex] = time; frameVertices[frameIndex] = vertices; } @@ -642,7 +643,7 @@ namespace Spine { } /** Sets the time, mix and bend direction of the specified keyframe. */ - public void setFrame (int frameIndex, float time, float mix, int bendDirection) { + public void SetFrame (int frameIndex, float time, float mix, int bendDirection) { frameIndex *= 3; frames[frameIndex] = time; frames[frameIndex + 1] = mix; diff --git a/spine-csharp/src/AnimationState.cs b/spine-csharp/src/AnimationState.cs index 6262a9375..d616cb886 100644 --- a/spine-csharp/src/AnimationState.cs +++ b/spine-csharp/src/AnimationState.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/AnimationStateData.cs b/spine-csharp/src/AnimationStateData.cs index f2fa86630..eea87429e 100644 --- a/spine-csharp/src/AnimationStateData.cs +++ b/spine-csharp/src/AnimationStateData.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Atlas.cs b/spine-csharp/src/Atlas.cs index 3242b9d04..12b15f4de 100644 --- a/spine-csharp/src/Atlas.cs +++ b/spine-csharp/src/Atlas.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/AtlasAttachmentLoader.cs b/spine-csharp/src/Attachments/AtlasAttachmentLoader.cs index 4cd6d02af..0976e97c4 100644 --- a/spine-csharp/src/Attachments/AtlasAttachmentLoader.cs +++ b/spine-csharp/src/Attachments/AtlasAttachmentLoader.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/Attachment.cs b/spine-csharp/src/Attachments/Attachment.cs index f54bf4976..551785b69 100644 --- a/spine-csharp/src/Attachments/Attachment.cs +++ b/spine-csharp/src/Attachments/Attachment.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/AttachmentLoader.cs b/spine-csharp/src/Attachments/AttachmentLoader.cs index 8630f4b54..69f462748 100644 --- a/spine-csharp/src/Attachments/AttachmentLoader.cs +++ b/spine-csharp/src/Attachments/AttachmentLoader.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/AttachmentType.cs b/spine-csharp/src/Attachments/AttachmentType.cs index 3ae01ae58..2f5d1c8fd 100644 --- a/spine-csharp/src/Attachments/AttachmentType.cs +++ b/spine-csharp/src/Attachments/AttachmentType.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/BoundingBoxAttachment.cs b/spine-csharp/src/Attachments/BoundingBoxAttachment.cs index 16c670670..3a8be7934 100644 --- a/spine-csharp/src/Attachments/BoundingBoxAttachment.cs +++ b/spine-csharp/src/Attachments/BoundingBoxAttachment.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/MeshAttachment.cs b/spine-csharp/src/Attachments/MeshAttachment.cs index eee732741..488b76b14 100644 --- a/spine-csharp/src/Attachments/MeshAttachment.cs +++ b/spine-csharp/src/Attachments/MeshAttachment.cs @@ -1,25 +1,26 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/RegionAttachment.cs b/spine-csharp/src/Attachments/RegionAttachment.cs index ba6fc82ed..72bdb058e 100644 --- a/spine-csharp/src/Attachments/RegionAttachment.cs +++ b/spine-csharp/src/Attachments/RegionAttachment.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Attachments/SkinnedMeshAttachment.cs b/spine-csharp/src/Attachments/SkinnedMeshAttachment.cs index 1ef38d72c..1e99fab38 100644 --- a/spine-csharp/src/Attachments/SkinnedMeshAttachment.cs +++ b/spine-csharp/src/Attachments/SkinnedMeshAttachment.cs @@ -1,25 +1,26 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/BlendMode.cs b/spine-csharp/src/BlendMode.cs new file mode 100644 index 000000000..6c53e0049 --- /dev/null +++ b/spine-csharp/src/BlendMode.cs @@ -0,0 +1,36 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +namespace Spine { + public enum BlendMode { + normal, additive, multiply, screen + } +} diff --git a/spine-csharp/src/Bone.cs b/spine-csharp/src/Bone.cs index 9199697f8..748e35dc6 100644 --- a/spine-csharp/src/Bone.cs +++ b/spine-csharp/src/Bone.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/BoneData.cs b/spine-csharp/src/BoneData.cs index 7ab9f7fe9..cc1ebacec 100644 --- a/spine-csharp/src/BoneData.cs +++ b/spine-csharp/src/BoneData.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Event.cs b/spine-csharp/src/Event.cs index 36514e7c0..f60710448 100644 --- a/spine-csharp/src/Event.cs +++ b/spine-csharp/src/Event.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/EventData.cs b/spine-csharp/src/EventData.cs index 4f5d745ff..187bb8219 100644 --- a/spine-csharp/src/EventData.cs +++ b/spine-csharp/src/EventData.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/IkConstraint.cs b/spine-csharp/src/IkConstraint.cs index a49e5d40e..e5b7bc9d4 100644 --- a/spine-csharp/src/IkConstraint.cs +++ b/spine-csharp/src/IkConstraint.cs @@ -1,25 +1,26 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/IkConstraintData.cs b/spine-csharp/src/IkConstraintData.cs index 9919a61e9..6bb9c752d 100644 --- a/spine-csharp/src/IkConstraintData.cs +++ b/spine-csharp/src/IkConstraintData.cs @@ -1,25 +1,26 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Skeleton.cs b/spine-csharp/src/Skeleton.cs index c8c26df69..8cd9b91f1 100644 --- a/spine-csharp/src/Skeleton.cs +++ b/spine-csharp/src/Skeleton.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/SkeletonBinary.cs b/spine-csharp/src/SkeletonBinary.cs new file mode 100644 index 000000000..4cbd34f1c --- /dev/null +++ b/spine-csharp/src/SkeletonBinary.cs @@ -0,0 +1,664 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using System; +using System.IO; +using System.Collections.Generic; + +#if WINDOWS_STOREAPP +using System.Threading.Tasks; +using Windows.Storage; +#endif + +namespace Spine { + public class SkeletonBinary { + public const int TIMELINE_SCALE = 0; + public const int TIMELINE_ROTATE = 1; + public const int TIMELINE_TRANSLATE = 2; + public const int TIMELINE_ATTACHMENT = 3; + public const int TIMELINE_COLOR = 4; + public const int TIMELINE_FLIPX = 5; + public const int TIMELINE_FLIPY = 6; + + public const int CURVE_LINEAR = 0; + public const int CURVE_STEPPED = 1; + public const int CURVE_BEZIER = 2; + + private AttachmentLoader attachmentLoader; + public float Scale { get; set; } + private char[] chars = new char[32]; + private byte[] buffer = new byte[4]; + + public SkeletonBinary (params Atlas[] atlasArray) + : this(new AtlasAttachmentLoader(atlasArray)) { + } + + public SkeletonBinary (AttachmentLoader attachmentLoader) { + if (attachmentLoader == null) throw new ArgumentNullException("attachmentLoader cannot be null."); + this.attachmentLoader = attachmentLoader; + Scale = 1; + } + +#if WINDOWS_STOREAPP + private async Task ReadFile(string path) { + var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; + using (var input = new BufferedStream(await folder.GetFileAsync(path).AsTask().ConfigureAwait(false))) { + SkeletonData skeletonData = ReadSkeletonData(input); + skeletonData.Name = Path.GetFileNameWithoutExtension(path); + return skeletonData; + } + } + + public SkeletonData ReadSkeletonData (String path) { + return this.ReadFile(path).Result; + } +#else + public SkeletonData ReadSkeletonData (String path) { +#if WINDOWS_PHONE + using (var input = new BufferedStream(Microsoft.Xna.Framework.TitleContainer.OpenStream(path))) + { +#else + using (var input = new BufferedStream(new FileStream(path, FileMode.Open))) { +#endif + SkeletonData skeletonData = ReadSkeletonData(input); + skeletonData.name = Path.GetFileNameWithoutExtension(path); + return skeletonData; + } + } +#endif + + public SkeletonData ReadSkeletonData (Stream input) { + if (input == null) throw new ArgumentNullException("input cannot be null."); + float scale = Scale; + + var skeletonData = new SkeletonData(); + skeletonData.hash = ReadString(input); + if (skeletonData.hash.Length == 0) skeletonData.hash = null; + skeletonData.version = ReadString(input); + if (skeletonData.version.Length == 0) skeletonData.version = null; + skeletonData.width = ReadFloat(input); + skeletonData.height = ReadFloat(input); + + bool nonessential = ReadBoolean(input); + + if (nonessential) { + skeletonData.imagesPath = ReadString(input); + if (skeletonData.imagesPath.Length == 0) skeletonData.imagesPath = null; + } + + // Bones. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + String name = ReadString(input); + BoneData parent = null; + int parentIndex = ReadInt(input, true) - 1; + if (parentIndex != -1) parent = skeletonData.bones.Items[parentIndex]; + BoneData boneData = new BoneData(name, parent); + boneData.x = ReadFloat(input) * scale; + boneData.y = ReadFloat(input) * scale; + boneData.scaleX = ReadFloat(input); + boneData.scaleY = ReadFloat(input); + boneData.rotation = ReadFloat(input); + boneData.length = ReadFloat(input) * scale; + boneData.flipX = ReadBoolean(input); + boneData.flipY = ReadBoolean(input); + boneData.inheritScale = ReadBoolean(input); + boneData.inheritRotation = ReadBoolean(input); + if (nonessential) ReadInt(input); // Skip bone color. + skeletonData.bones.Add(boneData); + } + + // IK constraints. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + IkConstraintData ikConstraintData = new IkConstraintData(ReadString(input)); + for (int ii = 0, nn = ReadInt(input, true); ii < nn; ii++) + ikConstraintData.bones.Add(skeletonData.bones.Items[ReadInt(input, true)]); + ikConstraintData.target = skeletonData.bones.Items[ReadInt(input, true)]; + ikConstraintData.mix = ReadFloat(input); + ikConstraintData.bendDirection = ReadSByte(input); + skeletonData.ikConstraints.Add(ikConstraintData); + } + + // Slots. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + String slotName = ReadString(input); + BoneData boneData = skeletonData.bones.Items[ReadInt(input, true)]; + SlotData slotData = new SlotData(slotName, boneData); + int color = ReadInt(input); + slotData.r = ((color & 0xff000000) >> 24) / 255f; + slotData.g = ((color & 0x00ff0000) >> 16) / 255f; + slotData.b = ((color & 0x0000ff00) >> 8) / 255f; + slotData.a = ((color & 0x000000ff)) / 255f; + slotData.attachmentName = ReadString(input); + slotData.blendMode = (BlendMode)ReadInt(input, true); + skeletonData.slots.Add(slotData); + } + + // Default skin. + Skin defaultSkin = ReadSkin(input, "default", nonessential); + if (defaultSkin != null) { + skeletonData.defaultSkin = defaultSkin; + skeletonData.skins.Add(defaultSkin); + } + + // Skins. + for (int i = 0, n = ReadInt(input, true); i < n; i++) + skeletonData.skins.Add(ReadSkin(input, ReadString(input), nonessential)); + + // Events. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + EventData eventData = new EventData(ReadString(input)); + eventData.Int = ReadInt(input, false); + eventData.Float = ReadFloat(input); + eventData.String = ReadString(input); + skeletonData.events.Add(eventData); + } + + // Animations. + for (int i = 0, n = ReadInt(input, true); i < n; i++) + ReadAnimation(ReadString(input), input, skeletonData); + + skeletonData.bones.TrimExcess(); + skeletonData.slots.TrimExcess(); + skeletonData.skins.TrimExcess(); + skeletonData.events.TrimExcess(); + skeletonData.animations.TrimExcess(); + skeletonData.ikConstraints.TrimExcess(); + return skeletonData; + } + + /** @return May be null. */ + private Skin ReadSkin (Stream input, String skinName, bool nonessential) { + int slotCount = ReadInt(input, true); + if (slotCount == 0) return null; + Skin skin = new Skin(skinName); + for (int i = 0; i < slotCount; i++) { + int slotIndex = ReadInt(input, true); + for (int ii = 0, nn = ReadInt(input, true); ii < nn; ii++) { + String name = ReadString(input); + skin.AddAttachment(slotIndex, name, ReadAttachment(input, skin, name, nonessential)); + } + } + return skin; + } + + private Attachment ReadAttachment (Stream input, Skin skin, String attachmentName, bool nonessential) { + float scale = Scale; + + String name = ReadString(input); + if (name == null) name = attachmentName; + + switch ((AttachmentType)input.ReadByte()) { + case AttachmentType.region: { + String path = ReadString(input); + if (path == null) path = name; + RegionAttachment region = attachmentLoader.NewRegionAttachment(skin, name, path); + if (region == null) return null; + region.Path = path; + region.x = ReadFloat(input) * scale; + region.y = ReadFloat(input) * scale; + region.scaleX = ReadFloat(input); + region.scaleY = ReadFloat(input); + region.rotation = ReadFloat(input); + region.width = ReadFloat(input) * scale; + region.height = ReadFloat(input) * scale; + int color = ReadInt(input); + region.r = ((color & 0xff000000) >> 24) / 255f; + region.g = ((color & 0x00ff0000) >> 16) / 255f; + region.b = ((color & 0x0000ff00) >> 8) / 255f; + region.a = ((color & 0x000000ff)) / 255f; + region.UpdateOffset(); + return region; + } + case AttachmentType.boundingbox: { + BoundingBoxAttachment box = attachmentLoader.NewBoundingBoxAttachment(skin, name); + if (box == null) return null; + box.vertices = ReadFloatArray(input, scale); + return box; + } + case AttachmentType.mesh: { + String path = ReadString(input); + if (path == null) path = name; + MeshAttachment mesh = attachmentLoader.NewMeshAttachment(skin, name, path); + if (mesh == null) return null; + mesh.Path = path; + mesh.regionUVs = ReadFloatArray(input, 1); + mesh.triangles = ReadShortArray(input); + mesh.vertices = ReadFloatArray(input, scale); + mesh.UpdateUVs(); + int color = ReadInt(input); + mesh.r = ((color & 0xff000000) >> 24) / 255f; + mesh.g = ((color & 0x00ff0000) >> 16) / 255f; + mesh.b = ((color & 0x0000ff00) >> 8) / 255f; + mesh.a = ((color & 0x000000ff)) / 255f; + mesh.HullLength = ReadInt(input, true) * 2; + if (nonessential) { + mesh.Edges = ReadIntArray(input); + mesh.Width = ReadFloat(input) * scale; + mesh.Height = ReadFloat(input) * scale; + } + return mesh; + } + case AttachmentType.skinnedmesh: { + String path = ReadString(input); + if (path == null) path = name; + SkinnedMeshAttachment mesh = attachmentLoader.NewSkinnedMeshAttachment(skin, name, path); + if (mesh == null) return null; + mesh.Path = path; + float[] uvs = ReadFloatArray(input, 1); + int[] triangles = ReadShortArray(input); + + int vertexCount = ReadInt(input, true); + var weights = new List(uvs.Length * 3 * 3); + var bones = new List(uvs.Length * 3); + for (int i = 0; i < vertexCount; i++) { + int boneCount = (int)ReadFloat(input); + bones.Add(boneCount); + for (int nn = i + boneCount * 4; i < nn; i += 4) { + bones.Add((int)ReadFloat(input)); + weights.Add(ReadFloat(input) * scale); + weights.Add(ReadFloat(input) * scale); + weights.Add(ReadFloat(input)); + } + } + mesh.bones = bones.ToArray(); + mesh.weights = weights.ToArray(); + mesh.triangles = triangles; + mesh.regionUVs = uvs; + mesh.UpdateUVs(); + int color = ReadInt(input); + mesh.r = ((color & 0xff000000) >> 24) / 255f; + mesh.g = ((color & 0x00ff0000) >> 16) / 255f; + mesh.b = ((color & 0x0000ff00) >> 8) / 255f; + mesh.a = ((color & 0x000000ff)) / 255f; + mesh.HullLength = ReadInt(input, true) * 2; + if (nonessential) { + mesh.Edges = ReadIntArray(input); + mesh.Width = ReadFloat(input) * scale; + mesh.Height = ReadFloat(input) * scale; + } + return mesh; + } + } + return null; + } + + private float[] ReadFloatArray (Stream input, float scale) { + int n = ReadInt(input, true); + float[] array = new float[n]; + if (scale == 1) { + for (int i = 0; i < n; i++) + array[i] = ReadFloat(input); + } else { + for (int i = 0; i < n; i++) + array[i] = ReadFloat(input) * scale; + } + return array; + } + + private int[] ReadShortArray (Stream input) { + int n = ReadInt(input, true); + int[] array = new int[n]; + for (int i = 0; i < n; i++) + array[i] = (input.ReadByte() << 8) + input.ReadByte(); + return array; + } + + private int[] ReadIntArray (Stream input) { + int n = ReadInt(input, true); + int[] array = new int[n]; + for (int i = 0; i < n; i++) + array[i] = ReadInt(input, true); + return array; + } + + private void ReadAnimation (String name, Stream input, SkeletonData skeletonData) { + var timelines = new ExposedList(); + float scale = Scale; + float duration = 0; + + // Slot timelines. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + int slotIndex = ReadInt(input, true); + for (int ii = 0, nn = ReadInt(input, true); ii < nn; ii++) { + int timelineType = input.ReadByte(); + int frameCount = ReadInt(input, true); + switch (timelineType) { + case TIMELINE_COLOR: { + ColorTimeline timeline = new ColorTimeline(frameCount); + timeline.slotIndex = slotIndex; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { + float time = ReadFloat(input); + int color = ReadInt(input); + float r = ((color & 0xff000000) >> 24) / 255f; + float g = ((color & 0x00ff0000) >> 16) / 255f; + float b = ((color & 0x0000ff00) >> 8) / 255f; + float a = ((color & 0x000000ff)) / 255f; + timeline.SetFrame(frameIndex, time, r, g, b, a); + if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount * 5 - 5]); + break; + } + case TIMELINE_ATTACHMENT: { + AttachmentTimeline timeline = new AttachmentTimeline(frameCount); + timeline.slotIndex = slotIndex; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) + timeline.SetFrame(frameIndex, ReadFloat(input), ReadString(input)); + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount - 1]); + break; + } + } + } + } + + // Bone timelines. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + int boneIndex = ReadInt(input, true); + for (int ii = 0, nn = ReadInt(input, true); ii < nn; ii++) { + int timelineType = input.ReadByte(); + int frameCount = ReadInt(input, true); + switch (timelineType) { + case TIMELINE_ROTATE: { + RotateTimeline timeline = new RotateTimeline(frameCount); + timeline.boneIndex = boneIndex; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { + timeline.SetFrame(frameIndex, ReadFloat(input), ReadFloat(input)); + if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount * 2 - 2]); + break; + } + case TIMELINE_TRANSLATE: + case TIMELINE_SCALE: { + TranslateTimeline timeline; + float timelineScale = 1; + if (timelineType == TIMELINE_SCALE) + timeline = new ScaleTimeline(frameCount); + else { + timeline = new TranslateTimeline(frameCount); + timelineScale = scale; + } + timeline.boneIndex = boneIndex; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { + timeline.SetFrame(frameIndex, ReadFloat(input), ReadFloat(input) * timelineScale, ReadFloat(input) + * timelineScale); + if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[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, ReadFloat(input), ReadBoolean(input)); + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount * 2 - 2]); + break; + } + } + } + } + + // IK timelines. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + IkConstraintData ikConstraint = skeletonData.ikConstraints.Items[ReadInt(input, true)]; + int frameCount = ReadInt(input, true); + IkConstraintTimeline timeline = new IkConstraintTimeline(frameCount); + timeline.ikConstraintIndex = skeletonData.ikConstraints.IndexOf(ikConstraint); + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { + timeline.SetFrame(frameIndex, ReadFloat(input), ReadFloat(input), ReadSByte(input)); + if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount * 3 - 3]); + } + + // FFD timelines. + for (int i = 0, n = ReadInt(input, true); i < n; i++) { + Skin skin = skeletonData.skins.Items[ReadInt(input, true)]; + for (int ii = 0, nn = ReadInt(input, true); ii < nn; ii++) { + int slotIndex = ReadInt(input, true); + for (int iii = 0, nnn = ReadInt(input, true); iii < nnn; iii++) { + Attachment attachment = skin.GetAttachment(slotIndex, ReadString(input)); + int frameCount = ReadInt(input, true); + FFDTimeline timeline = new FFDTimeline(frameCount); + timeline.slotIndex = slotIndex; + timeline.attachment = attachment; + for (int frameIndex = 0; frameIndex < frameCount; frameIndex++) { + float time = ReadFloat(input); + + float[] vertices; + int vertexCount; + if (attachment is MeshAttachment) + vertexCount = ((MeshAttachment)attachment).vertices.Length; + else + vertexCount = ((SkinnedMeshAttachment)attachment).weights.Length / 3 * 2; + + int end = ReadInt(input, true); + if (end == 0) { + if (attachment is MeshAttachment) + vertices = ((MeshAttachment)attachment).vertices; + else + vertices = new float[vertexCount]; + } else { + vertices = new float[vertexCount]; + int start = ReadInt(input, true); + end += start; + if (scale == 1) { + for (int v = start; v < end; v++) + vertices[v] = ReadFloat(input); + } else { + for (int v = start; v < end; v++) + vertices[v] = ReadFloat(input) * scale; + } + if (attachment is MeshAttachment) { + float[] meshVertices = ((MeshAttachment)attachment).vertices; + for (int v = 0, vn = vertices.Length; v < vn; v++) + vertices[v] += meshVertices[v]; + } + } + + timeline.SetFrame(frameIndex, time, vertices); + if (frameIndex < frameCount - 1) ReadCurve(input, frameIndex, timeline); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[frameCount - 1]); + } + } + } + + // Draw order timeline. + int drawOrderCount = ReadInt(input, true); + if (drawOrderCount > 0) { + DrawOrderTimeline timeline = new DrawOrderTimeline(drawOrderCount); + int slotCount = skeletonData.slots.Count; + for (int i = 0; i < drawOrderCount; i++) { + int offsetCount = ReadInt(input, true); + int[] drawOrder = new int[slotCount]; + for (int ii = slotCount - 1; ii >= 0; ii--) + drawOrder[ii] = -1; + int[] unchanged = new int[slotCount - offsetCount]; + int originalIndex = 0, unchangedIndex = 0; + for (int ii = 0; ii < offsetCount; ii++) { + int slotIndex = ReadInt(input, true); + // Collect unchanged items. + while (originalIndex != slotIndex) + unchanged[unchangedIndex++] = originalIndex++; + // Set changed items. + drawOrder[originalIndex + ReadInt(input, true)] = originalIndex++; + } + // Collect remaining unchanged items. + while (originalIndex < slotCount) + unchanged[unchangedIndex++] = originalIndex++; + // Fill in unchanged items. + for (int ii = slotCount - 1; ii >= 0; ii--) + if (drawOrder[ii] == -1) drawOrder[ii] = unchanged[--unchangedIndex]; + timeline.SetFrame(i, ReadFloat(input), drawOrder); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[drawOrderCount - 1]); + } + + // Event timeline. + int eventCount = ReadInt(input, true); + if (eventCount > 0) { + EventTimeline timeline = new EventTimeline(eventCount); + for (int i = 0; i < eventCount; i++) { + float time = ReadFloat(input); + EventData eventData = skeletonData.events.Items[ReadInt(input, true)]; + Event e = new Event(eventData); + e.Int = ReadInt(input, false); + e.Float = ReadFloat(input); + e.String = ReadBoolean(input) ? ReadString(input) : eventData.String; + timeline.SetFrame(i, time, e); + } + timelines.Add(timeline); + duration = Math.Max(duration, timeline.frames[eventCount - 1]); + } + + timelines.TrimExcess(); + skeletonData.animations.Add(new Animation(name, timelines, duration)); + } + + private void ReadCurve (Stream input, int frameIndex, CurveTimeline timeline) { + switch (input.ReadByte()) { + case CURVE_STEPPED: + timeline.SetStepped(frameIndex); + break; + case CURVE_BEZIER: + timeline.SetCurve(frameIndex, ReadFloat(input), ReadFloat(input), ReadFloat(input), ReadFloat(input)); + break; + } + } + + private sbyte ReadSByte (Stream input) { + int value = input.ReadByte(); + if (value == -1) throw new EndOfStreamException(); + return (sbyte)value; + } + + private bool ReadBoolean (Stream input) { + return input.ReadByte() != 0; + } + + private float ReadFloat (Stream input) { + buffer[3] = (byte)input.ReadByte(); + buffer[2] = (byte)input.ReadByte(); + buffer[1] = (byte)input.ReadByte(); + buffer[0] = (byte)input.ReadByte(); + return BitConverter.ToSingle(buffer, 0); + } + + private int ReadInt (Stream input) { + return (input.ReadByte() << 24) + (input.ReadByte() << 16) + (input.ReadByte() << 8) + input.ReadByte(); + } + + private int ReadInt (Stream input, bool optimizePositive) { + int b = input.ReadByte(); + int result = b & 0x7F; + if ((b & 0x80) != 0) { + b = input.ReadByte(); + result |= (b & 0x7F) << 7; + if ((b & 0x80) != 0) { + b = input.ReadByte(); + result |= (b & 0x7F) << 14; + if ((b & 0x80) != 0) { + b = input.ReadByte(); + result |= (b & 0x7F) << 21; + if ((b & 0x80) != 0) { + b = input.ReadByte(); + result |= (b & 0x7F) << 28; + } + } + } + } + return optimizePositive ? result : ((result >> 1) ^ -(result & 1)); + } + + private string ReadString (Stream input) { + int charCount = ReadInt(input, true); + switch (charCount) { + case 0: + return null; + case 1: + return ""; + } + charCount--; + char[] chars = this.chars; + if (chars.Length < charCount) this.chars = chars = new char[charCount]; + // Try to read 7 bit ASCII chars. + int charIndex = 0; + int b = 0; + while (charIndex < charCount) { + b = input.ReadByte(); + if (b > 127) break; + chars[charIndex++] = (char)b; + } + // If a char was not ASCII, finish with slow path. + if (charIndex < charCount) ReadUtf8_slow(input, charCount, charIndex, b); + return new String(chars, 0, charCount); + } + + private void ReadUtf8_slow (Stream input, int charCount, int charIndex, int b) { + char[] chars = this.chars; + while (true) { + switch (b >> 4) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + chars[charIndex] = (char)b; + break; + case 12: + case 13: + chars[charIndex] = (char)((b & 0x1F) << 6 | input.ReadByte() & 0x3F); + break; + case 14: + chars[charIndex] = (char)((b & 0x0F) << 12 | (input.ReadByte() & 0x3F) << 6 | input.ReadByte() & 0x3F); + break; + } + if (++charIndex >= charCount) break; + b = input.ReadByte() & 0xFF; + } + } + } +} diff --git a/spine-csharp/src/SkeletonBounds.cs b/spine-csharp/src/SkeletonBounds.cs index 48caf8d5d..11d875a68 100644 --- a/spine-csharp/src/SkeletonBounds.cs +++ b/spine-csharp/src/SkeletonBounds.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/SkeletonData.cs b/spine-csharp/src/SkeletonData.cs index 4e62dfed4..5976a24ad 100644 --- a/spine-csharp/src/SkeletonData.cs +++ b/spine-csharp/src/SkeletonData.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -42,7 +43,7 @@ namespace Spine { internal ExposedList animations = new ExposedList(); internal ExposedList ikConstraints = new ExposedList(); internal float width, height; - internal String version, hash; + internal String version, hash, imagesPath; public String Name { get { return name; } set { name = value; } } public ExposedList Bones { get { return bones; } } // Ordered parents first. diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs index 0dea14062..bf31c0441 100644 --- a/spine-csharp/src/SkeletonJson.cs +++ b/spine-csharp/src/SkeletonJson.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -53,25 +54,24 @@ namespace Spine { } #if WINDOWS_STOREAPP - private async Task ReadFile(string path) { - var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; - var file = await folder.GetFileAsync(path).AsTask().ConfigureAwait(false); - using (var reader = new StreamReader(await file.OpenStreamForReadAsync().ConfigureAwait(false))) { - SkeletonData skeletonData = ReadSkeletonData(reader); - skeletonData.Name = Path.GetFileNameWithoutExtension(path); - return skeletonData; - } - } + private async Task ReadFile(string path) { + var folder = Windows.ApplicationModel.Package.Current.InstalledLocation; + var file = await folder.GetFileAsync(path).AsTask().ConfigureAwait(false); + using (var reader = new StreamReader(await file.OpenStreamForReadAsync().ConfigureAwait(false))) { + SkeletonData skeletonData = ReadSkeletonData(reader); + skeletonData.Name = Path.GetFileNameWithoutExtension(path); + return skeletonData; + } + } public SkeletonData ReadSkeletonData (String path) { - return this.ReadFile(path).Result; + return this.ReadFile(path).Result; } #else public SkeletonData ReadSkeletonData (String path) { #if WINDOWS_PHONE - Stream stream = Microsoft.Xna.Framework.TitleContainer.OpenStream(path); - using (StreamReader reader = new StreamReader(stream)) - { + Stream stream = Microsoft.Xna.Framework.TitleContainer.OpenStream(path); + using (StreamReader reader = new StreamReader(stream)) { #else using (StreamReader reader = new StreamReader(path)) { #endif @@ -164,8 +164,10 @@ namespace Spine { if (slotMap.ContainsKey("attachment")) slotData.attachmentName = (String)slotMap["attachment"]; - if (slotMap.ContainsKey("additive")) - slotData.additiveBlending = (bool)slotMap["additive"]; + if (slotMap.ContainsKey("blend")) + slotData.blendMode = (BlendMode)Enum.Parse(typeof(BlendMode), (String)slotMap["blend"], false); + else + slotData.blendMode = BlendMode.normal; skeletonData.slots.Add(slotData); } @@ -209,7 +211,9 @@ namespace Spine { skeletonData.bones.TrimExcess(); skeletonData.slots.TrimExcess(); skeletonData.skins.TrimExcess(); + skeletonData.events.TrimExcess(); skeletonData.animations.TrimExcess(); + skeletonData.ikConstraints.TrimExcess(); return skeletonData; } @@ -369,7 +373,7 @@ namespace Spine { return (String)map[name]; } - public static float ToColor (String hexString, int colorIndex) { + private float ToColor (String hexString, int colorIndex) { if (hexString.Length != 8) throw new ArgumentException("Color hexidecimal length must be 8, recieved: " + hexString); return Convert.ToInt32(hexString.Substring(colorIndex * 2, 2), 16) / (float)255; @@ -397,7 +401,7 @@ namespace Spine { foreach (Dictionary valueMap in values) { float time = (float)valueMap["time"]; String c = (String)valueMap["color"]; - timeline.setFrame(frameIndex, time, ToColor(c, 0), ToColor(c, 1), ToColor(c, 2), ToColor(c, 3)); + timeline.SetFrame(frameIndex, time, ToColor(c, 0), ToColor(c, 1), ToColor(c, 2), ToColor(c, 3)); ReadCurve(timeline, frameIndex, valueMap); frameIndex++; } @@ -411,7 +415,7 @@ namespace Spine { int frameIndex = 0; foreach (Dictionary valueMap in values) { float time = (float)valueMap["time"]; - timeline.setFrame(frameIndex++, time, (String)valueMap["name"]); + timeline.SetFrame(frameIndex++, time, (String)valueMap["name"]); } timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); @@ -502,7 +506,7 @@ namespace Spine { float time = (float)valueMap["time"]; float mix = valueMap.ContainsKey("mix") ? (float)valueMap["mix"] : 1; bool bendPositive = valueMap.ContainsKey("bendPositive") ? (bool)valueMap["bendPositive"] : true; - timeline.setFrame(frameIndex, time, mix, bendPositive ? 1 : -1); + timeline.SetFrame(frameIndex, time, mix, bendPositive ? 1 : -1); ReadCurve(timeline, frameIndex, valueMap); frameIndex++; } @@ -556,7 +560,7 @@ namespace Spine { } } - timeline.setFrame(frameIndex, (float)valueMap["time"], vertices); + timeline.SetFrame(frameIndex, (float)valueMap["time"], vertices); ReadCurve(timeline, frameIndex, valueMap); frameIndex++; } @@ -598,7 +602,7 @@ namespace Spine { for (int i = slotCount - 1; i >= 0; i--) if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex]; } - timeline.setFrame(frameIndex++, (float)drawOrderMap["time"], drawOrder); + timeline.SetFrame(frameIndex++, (float)drawOrderMap["time"], drawOrder); } timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); @@ -615,7 +619,7 @@ namespace Spine { e.Int = GetInt(eventMap, "int", eventData.Int); e.Float = GetFloat(eventMap, "float", eventData.Float); e.String = GetString(eventMap, "string", eventData.String); - timeline.setFrame(frameIndex++, (float)eventMap["time"], e); + timeline.SetFrame(frameIndex++, (float)eventMap["time"], e); } timelines.Add(timeline); duration = Math.Max(duration, timeline.frames[timeline.FrameCount - 1]); diff --git a/spine-csharp/src/Skin.cs b/spine-csharp/src/Skin.cs index 2c69f0f78..4b8408334 100644 --- a/spine-csharp/src/Skin.cs +++ b/spine-csharp/src/Skin.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/Slot.cs b/spine-csharp/src/Slot.cs index e5c382a5a..e8d393baf 100644 --- a/spine-csharp/src/Slot.cs +++ b/spine-csharp/src/Slot.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-csharp/src/SlotData.cs b/spine-csharp/src/SlotData.cs index dd74f4ff1..1a0e072b6 100644 --- a/spine-csharp/src/SlotData.cs +++ b/spine-csharp/src/SlotData.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -36,7 +37,7 @@ namespace Spine { internal BoneData boneData; internal float r = 1, g = 1, b = 1, a = 1; internal String attachmentName; - internal bool additiveBlending; + internal BlendMode blendMode; public String Name { get { return name; } } public BoneData BoneData { get { return boneData; } } @@ -46,7 +47,7 @@ namespace Spine { public float A { get { return a; } set { a = value; } } /// May be null. public String AttachmentName { get { return attachmentName; } set { attachmentName = value; } } - public bool AdditiveBlending { get { return additiveBlending; } set { additiveBlending = value; } } + public BlendMode BlendMode { get { return blendMode; } set { blendMode = value; } } public SlotData (String name, BoneData boneData) { if (name == null) throw new ArgumentNullException("name cannot be null."); diff --git a/spine-js/README.md b/spine-js/README.md index 330726673..415cb2ac3 100644 --- a/spine-js/README.md +++ b/spine-js/README.md @@ -2,10 +2,18 @@ The spine-js runtime provides functionality to load and manipulate [Spine](http://esotericsoftware.com) skeletal animation data using JavaScript. It does not perform rendering but can be extended to enable Spine animations for other JavaScript-based projects. +# spine-canvas + +The spine-canvas runtime extends spine-js to perform rendering using an HTML5 canvas. Because it renders rectangular images, nonuniform scaling and mesh attachments are not supported. + ## Setup 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. Include the `spine.js` file in your project. +1. Include the `spine.js` file (and optionally the `spine-canvas.js` file) in your project. + +## Demos + +- [spine-canvas](http://esotericsoftware.com/files/runtimes/spine-js/example/) ## Runtimes Extending spine-js diff --git a/spine-js/example/index.html b/spine-js/example/index.html new file mode 100644 index 000000000..3f2a61b74 --- /dev/null +++ b/spine-js/example/index.html @@ -0,0 +1,90 @@ + + + + + + +spine-canvas + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + \ No newline at end of file diff --git a/spine-js/spine-canvas.js b/spine-js/spine-canvas.js new file mode 100644 index 000000000..877098880 --- /dev/null +++ b/spine-js/spine-canvas.js @@ -0,0 +1,119 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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.SkeletonRenderer = function (imagesPath) { + this.imagesPath = imagesPath; + this.lastTime = Date.now(); +}; + +spine.SkeletonRenderer.prototype = { + skeletonData: null, + state: null, + scale: 1, + skeleton: null, + + load: function(jsonText) { + var imagesPath = this.imagesPath; + var json = new spine.SkeletonJson({ + newRegionAttachment: function (skin, name, path) { + var image = new Image(); + image.src = imagesPath + path + ".png"; + var attachment = new spine.RegionAttachment(name); + attachment.rendererObject = image; + return attachment; + }, + newBoundingBoxAttachment: function (skin, name) { + return new spine.BoundingBoxAttachment(name); + } + }); + json.scale = this.scale; + this.skeletonData = json.readSkeletonData(JSON.parse(jsonText)); + spine.Bone.yDown = true; + + this.skeleton = new spine.Skeleton(this.skeletonData); + + var stateData = new spine.AnimationStateData(this.skeletonData); + this.state = new spine.AnimationState(stateData); + }, + + update: function() { + var now = Date.now(); + var delta = (now - this.lastTime) / 1000; + this.lastTime = now; + + this.state.update(delta); + this.state.apply(this.skeleton); + this.skeleton.updateWorldTransform(); + }, + + render: function(context) { + var skeleton = this.skeleton, drawOrder = skeleton.drawOrder; + context.translate(skeleton.x, skeleton.y); + + for (var i = 0, n = drawOrder.length; i < n; i++) { + var slot = drawOrder[i]; + var attachment = slot.attachment; + if (!(attachment instanceof spine.RegionAttachment)) continue; + var bone = slot.bone; + + var x = bone.worldX + attachment.x * bone.m00 + attachment.y * bone.m01; + var y = bone.worldY + attachment.x * bone.m10 + attachment.y * bone.m11; + var rotation = -(bone.worldRotation + attachment.rotation) * Math.PI / 180; + var w = attachment.width, h = attachment.height; + context.translate(x, y); + context.rotate(rotation); + context.drawImage(attachment.rendererObject, -w / 2, -h / 2, w, h); + context.rotate(-rotation); + context.translate(-x, -y); + } + + context.translate(-skeleton.x, -skeleton.y); + }, + + animate: function (id) { + var canvas = document.getElementById(id); + var context = canvas.getContext("2d"); + var requestAnimationFrame = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + function (callback) { + window.setTimeout(callback, 1000 / 60); + }; + var self = this; + function renderFrame () { + context.clearRect(0, 0, canvas.width, canvas.height); + self.update(); + self.render(context); + requestAnimationFrame(renderFrame); + }; + renderFrame(); + } +}; diff --git a/spine-js/spine.js b/spine-js/spine.js index 9d5ade2a4..ad168ade3 100644 --- a/spine-js/spine.js +++ b/spine-js/spine.js @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -50,6 +51,13 @@ spine.BoneData.prototype = { flipX: false, flipY: false }; +spine.BlendMode = { + normal: 0, + additive: 1, + multiply: 2, + screen: 3 +}; + spine.SlotData = function (name, boneData) { this.name = name; this.boneData = boneData; @@ -57,7 +65,7 @@ spine.SlotData = function (name, boneData) { spine.SlotData.prototype = { r: 1, g: 1, b: 1, a: 1, attachmentName: null, - additiveBlending: false + blendMode: spine.BlendMode.normal }; spine.IkConstraintData = function (name) { @@ -1766,7 +1774,7 @@ spine.SkeletonJson.prototype = { } slotData.attachmentName = slotMap["attachment"]; - slotData.additiveBlending = slotMap["additive"] && slotMap["additive"] == "true"; + slotData.blendMode = spine.AttachmentType[slotMap["blend"] || "normal"]; skeletonData.slots.push(slotData); } diff --git a/spine-libgdx/spine-libgdx-tests/assets/raptor/raptor.skel b/spine-libgdx/spine-libgdx-tests/assets/raptor/raptor.skel index 249f5e1be..507d86e2e 100644 Binary files a/spine-libgdx/spine-libgdx-tests/assets/raptor/raptor.skel and b/spine-libgdx/spine-libgdx-tests/assets/raptor/raptor.skel differ diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AttachmentTimelineTests.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AttachmentTimelineTests.java index 2d98b20aa..2134db0e5 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AttachmentTimelineTests.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/AttachmentTimelineTests.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/BonePlotting.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/BonePlotting.java new file mode 100644 index 000000000..e6457b76c --- /dev/null +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/BonePlotting.java @@ -0,0 +1,76 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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.files.FileHandle; +import com.esotericsoftware.spine.attachments.AttachmentLoader; +import com.esotericsoftware.spine.attachments.BoundingBoxAttachment; +import com.esotericsoftware.spine.attachments.MeshAttachment; +import com.esotericsoftware.spine.attachments.RegionAttachment; +import com.esotericsoftware.spine.attachments.SkinnedMeshAttachment; + +public class BonePlotting { + static public void main (String[] args) throws Exception { + // This example shows how to load skeleton data and plot a bone transform for each animation. + SkeletonJson json = new SkeletonJson(new AttachmentLoader() { + public SkinnedMeshAttachment newSkinnedMeshAttachment (Skin skin, String name, String path) { + return null; + } + + public RegionAttachment newRegionAttachment (Skin skin, String name, String path) { + return null; + } + + public MeshAttachment newMeshAttachment (Skin skin, String name, String path) { + return null; + } + + public BoundingBoxAttachment newBoundingBoxAttachment (Skin skin, String name) { + return null; + } + }); + SkeletonData skeletonData = json.readSkeletonData(new FileHandle("assets/spineboy/spineboy.json")); + Skeleton skeleton = new Skeleton(skeletonData); + Bone bone = skeleton.findBone("gunTip"); + float fps = 1 / 15f; + for (Animation animation : skeletonData.getAnimations()) { + float time = 0; + while (time < animation.getDuration()) { + animation.apply(skeleton, time, time, false, null); + skeleton.updateWorldTransform(); + System.out.println(animation.getName() + "," + bone.getWorldX() + "," + bone.getWorldY() + "," + + bone.getWorldRotation() + "," + bone.getWorldScaleX() + "," + bone.getWorldScaleY()); + time += fps; + } + } + } +} diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/Box2DExample.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/Box2DExample.java index d73c92502..4eb4c2216 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/Box2DExample.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/Box2DExample.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/EventTimelineTests.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/EventTimelineTests.java index 1509193db..96703da54 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/EventTimelineTests.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/EventTimelineTests.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/IkTest.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/IkTest.java index 7b5b189dd..d8c1a0045 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/IkTest.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/IkTest.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/MixTest.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/MixTest.java index dd1716bd3..844f49f8a 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/MixTest.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/MixTest.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/NormalMapTest.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/NormalMapTest.java index ea099758a..8cf25a1fd 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/NormalMapTest.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/NormalMapTest.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -53,8 +54,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Slider; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.ui.Window; -import com.badlogic.gdx.scenes.scene2d.utils.Align; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; +import com.badlogic.gdx.utils.Align; public class NormalMapTest extends ApplicationAdapter { String skeletonPath, animationName; @@ -303,7 +304,7 @@ public class NormalMapTest extends ApplicationAdapter { TextButton resetButton = new TextButton("Reset", skin); resetButton.getColor().a = 0.66f; - window.getButtonTable().add(resetButton).height(20); + window.getTitleTable().add(resetButton).height(20); window.add(root).expand().fill(); window.pack(); diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest1.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest1.java index 18f7c5077..9201d1a1d 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest1.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest1.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest2.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest2.java index ed1ad2887..f0ffafca2 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest2.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest2.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest3.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest3.java index eae6d8cd6..e99cdbc2c 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest3.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SimpleTest3.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SkeletonAttachmentTest.java b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SkeletonAttachmentTest.java index 36f613b73..10f553f98 100644 --- a/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SkeletonAttachmentTest.java +++ b/spine-libgdx/spine-libgdx-tests/src/com/esotericsoftware/spine/SkeletonAttachmentTest.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java index 0a0571dac..20cb87c23 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Animation.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java index 2a1a17364..f3e40c05d 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationState.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -301,7 +302,7 @@ public class AnimationState { TrackEntry next, previous; Animation animation; boolean loop; - float delay, time, lastTime = 0, endTime, timeScale = 1; + float delay, time, lastTime = -1, endTime, timeScale = 1; float mixTime, mixDuration; AnimationStateListener listener; float mix = 1; @@ -312,7 +313,7 @@ public class AnimationState { animation = null; listener = null; timeScale = 1; - lastTime = 0; + lastTime = -1; // Trigger events on frame zero. time = 0; } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java index 1aed2a0f2..84a2151f4 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStateData.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStatePR.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStatePR.java index 9b90a0d63..adf510796 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStatePR.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/AnimationStatePR.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BlendMode.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BlendMode.java new file mode 100644 index 000000000..f4a32197d --- /dev/null +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BlendMode.java @@ -0,0 +1,60 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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.graphics.GL20; + +public enum BlendMode { + normal(GL20.GL_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA), // + additive(GL20.GL_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE), // + multiply(GL20.GL_DST_COLOR, GL20.GL_DST_COLOR, GL20.GL_ONE_MINUS_SRC_ALPHA), // + screen(GL20.GL_ONE, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_COLOR), // + ; + + int source, sourcePMA, dest; + + BlendMode (int source, int sourcePremultipledAlpha, int dest) { + this.source = source; + this.sourcePMA = sourcePremultipledAlpha; + this.dest = dest; + } + + public int getSource (boolean premultipliedAlpha) { + return premultipliedAlpha ? sourcePMA : source; + } + + public int getDest () { + return dest; + } + + static public BlendMode[] values = values(); +} diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java index 46f672b05..d1972637d 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Bone.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java index 37c5a5e6c..dabbf08e0 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/BoneData.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java index f3cf56c86..8f0061f05 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Event.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/EventData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/EventData.java index d76e23ac3..8bd6b61dc 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/EventData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/EventData.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java index 332793ff4..966443894 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraint.java @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java index 6031d2c81..ef1bf0bc2 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/IkConstraintData.java @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java index 6d0883b11..582e78334 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skeleton.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -402,6 +403,7 @@ public class Skeleton { return color; } + /** A convenience method for setting the skeleton color. The color can also be set by modifying {@link #getColor()}. */ public void setColor (Color color) { this.color.set(color); } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java index a7834d50a..b032e3c28 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBinary.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -160,7 +161,7 @@ public class SkeletonBinary { SlotData slotData = new SlotData(slotName, boneData); Color.rgba8888ToColor(slotData.color, input.readInt()); slotData.attachmentName = input.readString(); - slotData.additiveBlending = input.readBoolean(); + slotData.blendMode = BlendMode.values[input.readInt(true)]; skeletonData.slots.add(slotData); } @@ -200,6 +201,9 @@ public class SkeletonBinary { skeletonData.bones.shrink(); skeletonData.slots.shrink(); skeletonData.skins.shrink(); + skeletonData.events.shrink(); + skeletonData.animations.shrink(); + skeletonData.ikConstraints.shrink(); return skeletonData; } @@ -224,7 +228,7 @@ public class SkeletonBinary { String name = input.readString(); if (name == null) name = attachmentName; - switch (AttachmentType.values()[input.readByte()]) { + switch (AttachmentType.values[input.readByte()]) { case region: { String path = input.readString(); if (path == null) path = name; diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java index d3dd4444c..b8233dbda 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonBounds.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java index a845e8ab6..cc7b63bcc 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonData.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java index 1bf073fae..b5f9c5b90 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -161,9 +162,7 @@ public class SkeletonJson { if (color != null) slotData.getColor().set(Color.valueOf(color)); slotData.attachmentName = slotMap.getString("attachment", null); - - slotData.additiveBlending = slotMap.getBoolean("additive", false); - + slotData.blendMode = BlendMode.valueOf(slotMap.getString("blend", BlendMode.normal.name())); skeletonData.slots.add(slotData); } @@ -198,7 +197,9 @@ public class SkeletonJson { skeletonData.bones.shrink(); skeletonData.slots.shrink(); skeletonData.skins.shrink(); + skeletonData.events.shrink(); skeletonData.animations.shrink(); + skeletonData.ikConstraints.shrink(); return skeletonData; } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRenderer.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRenderer.java index e0c58a241..d3e16a7e5 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRenderer.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRenderer.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -30,18 +31,16 @@ package com.esotericsoftware.spine; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.Batch; +import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch; +import com.badlogic.gdx.utils.Array; import com.esotericsoftware.spine.attachments.Attachment; import com.esotericsoftware.spine.attachments.MeshAttachment; import com.esotericsoftware.spine.attachments.RegionAttachment; import com.esotericsoftware.spine.attachments.SkeletonAttachment; import com.esotericsoftware.spine.attachments.SkinnedMeshAttachment; -import com.badlogic.gdx.graphics.GL20; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.PolygonSpriteBatch; -import com.badlogic.gdx.utils.Array; - public class SkeletonRenderer { static private final short[] quadTriangles = {0, 1, 2, 2, 3, 0}; @@ -50,10 +49,7 @@ public class SkeletonRenderer { @SuppressWarnings("null") public void draw (PolygonSpriteBatch batch, Skeleton skeleton) { boolean premultipliedAlpha = this.premultipliedAlpha; - int srcFunc = premultipliedAlpha ? GL20.GL_ONE : GL20.GL_SRC_ALPHA; - batch.setBlendFunction(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA); - - boolean additive = false; + BlendMode blendMode = null; float[] vertices = null; short[] triangles = null; @@ -106,12 +102,10 @@ public class SkeletonRenderer { } if (texture != null) { - if (slot.data.getAdditiveBlending() != additive) { - additive = !additive; - if (additive) - batch.setBlendFunction(srcFunc, GL20.GL_ONE); - else - batch.setBlendFunction(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA); + BlendMode slotBlendMode = slot.data.getBlendMode(); + if (slotBlendMode != blendMode) { + blendMode = slotBlendMode; + batch.setBlendFunction(blendMode.getSource(premultipliedAlpha), blendMode.getDest()); } batch.draw(texture, vertices, 0, vertices.length, triangles, 0, triangles.length); } @@ -120,10 +114,7 @@ public class SkeletonRenderer { public void draw (Batch batch, Skeleton skeleton) { boolean premultipliedAlpha = this.premultipliedAlpha; - int srcFunc = premultipliedAlpha ? GL20.GL_ONE : GL20.GL_SRC_ALPHA; - batch.setBlendFunction(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA); - - boolean additive = false; + BlendMode blendMode = null; Array drawOrder = skeleton.drawOrder; for (int i = 0, n = drawOrder.size; i < n; i++) { @@ -133,12 +124,10 @@ public class SkeletonRenderer { RegionAttachment regionAttachment = (RegionAttachment)attachment; regionAttachment.updateWorldVertices(slot, premultipliedAlpha); float[] vertices = regionAttachment.getWorldVertices(); - if (slot.data.getAdditiveBlending() != additive) { - additive = !additive; - if (additive) - batch.setBlendFunction(srcFunc, GL20.GL_ONE); - else - batch.setBlendFunction(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA); + BlendMode slotBlendMode = slot.data.getBlendMode(); + if (slotBlendMode != blendMode) { + blendMode = slotBlendMode; + batch.setBlendFunction(blendMode.getSource(premultipliedAlpha), blendMode.getDest()); } batch.draw(regionAttachment.getRegion().getTexture(), vertices, 0, 20); diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java index 14083c5b0..44e1d63cf 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonRendererDebug.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java index 3fdc10980..b42dff56f 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Skin.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slot.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slot.java index 3773be54a..a78b34412 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slot.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/Slot.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotData.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotData.java index d434ff09c..951e42d23 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotData.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SlotData.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -37,7 +38,7 @@ public class SlotData { final BoneData boneData; final Color color = new Color(1, 1, 1, 1); String attachmentName; - boolean additiveBlending; + BlendMode blendMode; SlotData () { name = null; @@ -73,12 +74,12 @@ public class SlotData { return attachmentName; } - public boolean getAdditiveBlending () { - return additiveBlending; + public BlendMode getBlendMode () { + return blendMode; } - public void setAdditiveBlending (boolean additiveBlending) { - this.additiveBlending = additiveBlending; + public void setBlendMode (BlendMode blendMode) { + this.blendMode = blendMode; } public String toString () { diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java index ca32cad23..001cc515f 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AtlasAttachmentLoader.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Attachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Attachment.java index de6f1e9d2..dcd5ccf3c 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Attachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/Attachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java index 8a74cff3c..8e0786130 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentLoader.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentType.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentType.java index ba75c605b..f4746cfb0 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentType.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/AttachmentType.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -31,5 +32,7 @@ package com.esotericsoftware.spine.attachments; public enum AttachmentType { - region, boundingbox, mesh, skinnedmesh + region, boundingbox, mesh, skinnedmesh; + + static public AttachmentType[] values = values(); } diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/BoundingBoxAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/BoundingBoxAttachment.java index e55390181..91f6d7314 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/BoundingBoxAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/BoundingBoxAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java index dc8d40477..88b0a2b4c 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/MeshAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java index c2ce43570..aef0a7c7a 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionSequenceAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionSequenceAttachment.java index f904e92e5..8d7feb754 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionSequenceAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/RegionSequenceAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkeletonAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkeletonAttachment.java index a38cfc5e6..7d39fcdad 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkeletonAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkeletonAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkinnedMeshAttachment.java b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkinnedMeshAttachment.java index 70c0af418..c8119198a 100644 --- a/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkinnedMeshAttachment.java +++ b/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/attachments/SkinnedMeshAttachment.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java index 551cd91f6..a06b03d3a 100644 --- a/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java +++ b/spine-libgdx/spine-skeletonviewer/src/com/esotericsoftware/spine/SkeletonViewer.java @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -307,7 +308,7 @@ public class SkeletonViewer extends ApplicationAdapter { minimizeButton.padTop(-2).padLeft(5); minimizeButton.getColor().a = 0.66f; - window.getButtonTable().add(minimizeButton).size(20, 20); + window.getTitleTable().add(minimizeButton).size(20, 20); ScrollPane skinScroll = new ScrollPane(skinList, skin); skinScroll.setFadeScrollBars(false); diff --git a/spine-love/main.lua b/spine-love/main.lua index e28bee4e7..845f07c11 100644 --- a/spine-love/main.lua +++ b/spine-love/main.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-love/spine-love/spine.lua b/spine-love/spine-love/spine.lua index 894355d0e..8117c0f6a 100644 --- a/spine-love/spine-love/spine.lua +++ b/spine-love/spine-love/spine.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, @@ -52,6 +53,7 @@ spine.AnimationState = require "spine-lua.AnimationState" spine.EventData = require "spine-lua.EventData" spine.Event = require "spine-lua.Event" spine.SkeletonBounds = require "spine-lua.SkeletonBounds" +spine.BlendMode = require "spine-lua.BlendMode" spine.utils.readFile = function (fileName, base) local path = fileName @@ -139,10 +141,14 @@ function spine.Skeleton.new (skeletonData, group) rotation = -rotation end love.graphics.setColor(r * slot.r, g * slot.g, b * slot.b, a * slot.a) - if slot.data.additiveBlending then - love.graphics.setBlendMode("additive") - else + if slot.data.blendMode == spine.BlendMode.normal then love.graphics.setBlendMode("alpha") + elseif slot.data.blendMode == spine.BlendMode.additive then + love.graphics.setBlendMode("additive") + elseif slot.data.blendMode == spine.BlendMode.multiply then + love.graphics.setBlendMode("multiply") + elseif slot.data.blendMode == spine.BlendMode.screen then + love.graphics.setBlendMode("screen") end love.graphics.draw(image, self.x + x, diff --git a/spine-lua/Animation.lua b/spine-lua/Animation.lua index 66edaeb63..c4afe999f 100644 --- a/spine-lua/Animation.lua +++ b/spine-lua/Animation.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/AnimationState.lua b/spine-lua/AnimationState.lua index f067c5512..aeb429aff 100644 --- a/spine-lua/AnimationState.lua +++ b/spine-lua/AnimationState.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/AnimationStateData.lua b/spine-lua/AnimationStateData.lua index bff03c1dc..c238e7103 100644 --- a/spine-lua/AnimationStateData.lua +++ b/spine-lua/AnimationStateData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/AttachmentLoader.lua b/spine-lua/AttachmentLoader.lua index 33b85ed17..3c93e5210 100644 --- a/spine-lua/AttachmentLoader.lua +++ b/spine-lua/AttachmentLoader.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/AttachmentType.lua b/spine-lua/AttachmentType.lua index 0defa2c52..494e65ac4 100644 --- a/spine-lua/AttachmentType.lua +++ b/spine-lua/AttachmentType.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/BlendMode.lua b/spine-lua/BlendMode.lua new file mode 100644 index 000000000..ecf4dd834 --- /dev/null +++ b/spine-lua/BlendMode.lua @@ -0,0 +1,38 @@ +------------------------------------------------------------------------------- +-- Spine Runtimes Software License +-- Version 2.3 +-- +-- Copyright (c) 2013-2015, Esoteric Software +-- All rights reserved. +-- +-- You are granted a perpetual, non-exclusive, non-sublicensable and +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. +------------------------------------------------------------------------------- + +local BlendMode = { + normal = 0, + additive = 1, + multiply = 2, + screen = 3 +} +return BlendMode diff --git a/spine-lua/Bone.lua b/spine-lua/Bone.lua index 6c1f1555f..ea717f896 100644 --- a/spine-lua/Bone.lua +++ b/spine-lua/Bone.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/BoneData.lua b/spine-lua/BoneData.lua index 7f71289b8..da25545ca 100644 --- a/spine-lua/BoneData.lua +++ b/spine-lua/BoneData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/BoundingBoxAttachment.lua b/spine-lua/BoundingBoxAttachment.lua index bab3a3afa..5beee7bf3 100644 --- a/spine-lua/BoundingBoxAttachment.lua +++ b/spine-lua/BoundingBoxAttachment.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/Event.lua b/spine-lua/Event.lua index 7c802b2f8..14c9ae616 100644 --- a/spine-lua/Event.lua +++ b/spine-lua/Event.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/EventData.lua b/spine-lua/EventData.lua index a24e68c6b..7b707e323 100644 --- a/spine-lua/EventData.lua +++ b/spine-lua/EventData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/IkConstraint.lua b/spine-lua/IkConstraint.lua index 96317bdc8..8c8f708ab 100644 --- a/spine-lua/IkConstraint.lua +++ b/spine-lua/IkConstraint.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/IkConstraintData.lua b/spine-lua/IkConstraintData.lua index 589b67f53..1c4eb033f 100644 --- a/spine-lua/IkConstraintData.lua +++ b/spine-lua/IkConstraintData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/MeshAttachment.lua b/spine-lua/MeshAttachment.lua index 7ddc8ad5e..9f6fa2086 100644 --- a/spine-lua/MeshAttachment.lua +++ b/spine-lua/MeshAttachment.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/README.md b/spine-lua/README.md index d141fa82d..aec074aa1 100644 --- a/spine-lua/README.md +++ b/spine-lua/README.md @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/RegionAttachment.lua b/spine-lua/RegionAttachment.lua index 631f33555..5ed962dcf 100644 --- a/spine-lua/RegionAttachment.lua +++ b/spine-lua/RegionAttachment.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/Skeleton.lua b/spine-lua/Skeleton.lua index 5c8ade791..491c81668 100644 --- a/spine-lua/Skeleton.lua +++ b/spine-lua/Skeleton.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/SkeletonBounds.lua b/spine-lua/SkeletonBounds.lua index ad1cdae8e..b168ad42c 100644 --- a/spine-lua/SkeletonBounds.lua +++ b/spine-lua/SkeletonBounds.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/SkeletonData.lua b/spine-lua/SkeletonData.lua index 7ca4010b7..710234151 100644 --- a/spine-lua/SkeletonData.lua +++ b/spine-lua/SkeletonData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/SkeletonJson.lua b/spine-lua/SkeletonJson.lua index c1dd265f4..f747197c4 100755 --- a/spine-lua/SkeletonJson.lua +++ b/spine-lua/SkeletonJson.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, @@ -39,6 +40,7 @@ local IkConstraint = require "spine-lua.IkConstraint" local EventData = require "spine-lua.EventData" local Event = require "spine-lua.Event" local AttachmentType = require "spine-lua.AttachmentType" +local BlendMode = require "spine-lua.BlendMode" local SkeletonJson = {} function SkeletonJson.new (attachmentLoader) @@ -154,7 +156,7 @@ function SkeletonJson.new (attachmentLoader) end slotData.attachmentName = slotMap["attachment"] - slotData.additiveBlending = slotMap["additive"] + slotData.blendMode = BlendMode[slotMap["blend"] or "normal"] table.insert(skeletonData.slots, slotData) skeletonData.slotNameIndices[slotData.name] = #skeletonData.slots diff --git a/spine-lua/Skin.lua b/spine-lua/Skin.lua index e833b8305..ad1b42a1c 100644 --- a/spine-lua/Skin.lua +++ b/spine-lua/Skin.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/SkinnedMeshAttachment.lua b/spine-lua/SkinnedMeshAttachment.lua index e69135781..607a913e6 100644 --- a/spine-lua/SkinnedMeshAttachment.lua +++ b/spine-lua/SkinnedMeshAttachment.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/Slot.lua b/spine-lua/Slot.lua index bc3722313..daa9c2846 100644 --- a/spine-lua/Slot.lua +++ b/spine-lua/Slot.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-lua/SlotData.lua b/spine-lua/SlotData.lua index 70db649de..bfbba181a 100644 --- a/spine-lua/SlotData.lua +++ b/spine-lua/SlotData.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, @@ -28,6 +29,8 @@ -- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------- +local BlendMode = require "spine-lua.BlendMode" + local SlotData = {} function SlotData.new (name, boneData) if not name then error("name cannot be nil", 2) end @@ -38,7 +41,7 @@ function SlotData.new (name, boneData) boneData = boneData, r = 1, g = 1, b = 1, a = 1, attachmentName = nil, - additiveBlending = false + blendMode = BlendMode.normal } function self:setColor (r, g, b, a) diff --git a/spine-lua/utils.lua b/spine-lua/utils.lua index 18e29e0f1..d240b4fc9 100644 --- a/spine-lua/utils.lua +++ b/spine-lua/utils.lua @@ -1,25 +1,26 @@ ------------------------------------------------------------------------------- -- Spine Runtimes Software License --- Version 2.1 +-- Version 2.3 -- --- Copyright (c) 2013, Esoteric Software +-- Copyright (c) 2013-2015, 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. +-- non-transferable license to use, install, execute and perform the Spine +-- Runtimes Software (the "Software") and derivative works solely for personal +-- or internal use. Without the written permission of Esoteric Software (see +-- Section 2 of the Spine Software License Agreement), 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, +-- EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-sfml/example/main.cpp b/spine-sfml/example/main.cpp index 2a9c556e5..5f33b758b 100644 --- a/spine-sfml/example/main.cpp +++ b/spine-sfml/example/main.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-sfml/src/spine/spine-sfml.cpp b/spine-sfml/src/spine/spine-sfml.cpp index b5b5b06de..e1157bb98 100644 --- a/spine-sfml/src/spine/spine-sfml.cpp +++ b/spine-sfml/src/spine/spine-sfml.cpp @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -95,7 +96,6 @@ void SkeletonDrawable::update (float deltaTime) { void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { vertexArray->clear(); - states.blendMode = BlendAlpha; sf::Vertex vertices[4]; sf::Vertex vertex; @@ -103,6 +103,25 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { Slot* slot = skeleton->drawOrder[i]; Attachment* attachment = slot->attachment; if (!attachment) continue; + + sf::BlendMode blend; + switch (slot->data->blendMode) { + case BLEND_MODE_ADDITIVE: + blend = BlendAdd; + break; + case BLEND_MODE_MULTIPLY: + blend = BlendMultiply; + break; + case BLEND_MODE_SCREEN: // Unsupported, fall through. + default: + blend = BlendAlpha; + } + if (states.blendMode != blend) { + target.draw(*vertexArray, states); + vertexArray->clear(); + states.blendMode = blend; + } + Texture* texture = 0; if (attachment->type == ATTACHMENT_REGION) { RegionAttachment* regionAttachment = (RegionAttachment*)attachment; @@ -212,13 +231,6 @@ void SkeletonDrawable::draw (RenderTarget& target, RenderStates states) const { if (texture) { // SMFL doesn't handle batching for us, so we'll just force a single texture per skeleton. states.texture = texture; - - BlendMode blend = slot->data->additiveBlending ? BlendAdd : BlendAlpha; - if (states.blendMode != blend) { - target.draw(*vertexArray, states); - vertexArray->clear(); - states.blendMode = blend; - } } } target.draw(*vertexArray, states); diff --git a/spine-sfml/src/spine/spine-sfml.h b/spine-sfml/src/spine/spine-sfml.h index 64b7120d0..e51e64e66 100644 --- a/spine-sfml/src/spine/spine-sfml.h +++ b/spine-sfml/src/spine/spine-sfml.h @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-starling/spine-starling-example/src/goblins-mesh-starling.png b/spine-starling/spine-starling-example/src/goblins-mesh-starling.png index d2e037f46..5e7e3ba34 100644 Binary files a/spine-starling/spine-starling-example/src/goblins-mesh-starling.png and b/spine-starling/spine-starling-example/src/goblins-mesh-starling.png differ diff --git a/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml b/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml index 7fb7e3488..5dee4f16d 100644 --- a/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml +++ b/spine-starling/spine-starling-example/src/goblins-mesh-starling.xml @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + diff --git a/spine-starling/spine-starling-example/src/goblins-mesh.atlas b/spine-starling/spine-starling-example/src/goblins-mesh.atlas index d0ddb80c6..c7fee01d4 100644 --- a/spine-starling/spine-starling-example/src/goblins-mesh.atlas +++ b/spine-starling/spine-starling-example/src/goblins-mesh.atlas @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ goblins-mesh.png format: RGBA8888 diff --git a/spine-starling/spine-starling-example/src/goblins-mesh.json b/spine-starling/spine-starling-example/src/goblins-mesh.json index 67a624a36..65ecf8a82 100644 --- a/spine-starling/spine-starling-example/src/goblins-mesh.json +++ b/spine-starling/spine-starling-example/src/goblins-mesh.json @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + { "bones": [ { "name": "root" }, @@ -1078,4 +1109,4 @@ } } } -} \ No newline at end of file +} diff --git a/spine-starling/spine-starling-example/src/goblins-mesh.png b/spine-starling/spine-starling-example/src/goblins-mesh.png index a3daf0010..255ba492c 100644 Binary files a/spine-starling/spine-starling-example/src/goblins-mesh.png and b/spine-starling/spine-starling-example/src/goblins-mesh.png differ diff --git a/spine-starling/spine-starling-example/src/raptor.atlas b/spine-starling/spine-starling-example/src/raptor.atlas index c90da0078..253508bb7 100644 --- a/spine-starling/spine-starling-example/src/raptor.atlas +++ b/spine-starling/spine-starling-example/src/raptor.atlas @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ raptor.png size: 1022,1022 diff --git a/spine-starling/spine-starling-example/src/raptor.json b/spine-starling/spine-starling-example/src/raptor.json index df9892de6..c39a8d7ed 100644 --- a/spine-starling/spine-starling-example/src/raptor.json +++ b/spine-starling/spine-starling-example/src/raptor.json @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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": { "hash": "r3IJRaLbaxgEoW1YBAOrYT69jB4", "spine": "Dev", "width": 1224.2, "height": 1052.38 }, "bones": [ @@ -1330,4 +1361,4 @@ } } } -} \ 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 index 861dbce1a..d59c29bf5 100644 Binary files a/spine-starling/spine-starling-example/src/raptor.png and b/spine-starling/spine-starling-example/src/raptor.png differ diff --git a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as index 8aafcdd78..e217a0db4 100644 --- a/spine-starling/spine-starling-example/src/spine/GoblinsExample.as +++ b/spine-starling/spine-starling-example/src/spine/GoblinsExample.as @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 { import spine.atlas.Atlas; diff --git a/spine-starling/spine-starling-example/src/spine/Main.as b/spine-starling/spine-starling-example/src/spine/Main.as index 057c9e0af..7636a041c 100644 --- a/spine-starling/spine-starling-example/src/spine/Main.as +++ b/spine-starling/spine-starling-example/src/spine/Main.as @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 { diff --git a/spine-starling/spine-starling-example/src/spine/RaptorExample.as b/spine-starling/spine-starling-example/src/spine/RaptorExample.as index 706d33713..9f50a052c 100644 --- a/spine-starling/spine-starling-example/src/spine/RaptorExample.as +++ b/spine-starling/spine-starling-example/src/spine/RaptorExample.as @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 { import spine.atlas.Atlas; diff --git a/spine-starling/spine-starling-example/src/spine/SpineboyExample.as b/spine-starling/spine-starling-example/src/spine/SpineboyExample.as index 29142c1fa..6203b9b14 100644 --- a/spine-starling/spine-starling-example/src/spine/SpineboyExample.as +++ b/spine-starling/spine-starling-example/src/spine/SpineboyExample.as @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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 { import spine.animation.AnimationStateData; diff --git a/spine-starling/spine-starling-example/src/spineboy.atlas b/spine-starling/spine-starling-example/src/spineboy.atlas index 19c0934b1..d3d08acb0 100644 --- a/spine-starling/spine-starling-example/src/spineboy.atlas +++ b/spine-starling/spine-starling-example/src/spineboy.atlas @@ -1,3 +1,33 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ spineboy.png format: RGBA8888 diff --git a/spine-starling/spine-starling-example/src/spineboy.json b/spine-starling/spine-starling-example/src/spineboy.json index 7b4497712..d8666efc7 100644 --- a/spine-starling/spine-starling-example/src/spineboy.json +++ b/spine-starling/spine-starling-example/src/spineboy.json @@ -1,3 +1,34 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + { "bones": [ { "name": "hip", "y": 247.47 }, @@ -2416,4 +2447,4 @@ } } } -} \ No newline at end of file +} diff --git a/spine-starling/spine-starling-example/src/spineboy.png b/spine-starling/spine-starling-example/src/spineboy.png index dce2fe3e2..bae49efa0 100644 Binary files a/spine-starling/spine-starling-example/src/spineboy.png and b/spine-starling/spine-starling-example/src/spineboy.png differ diff --git a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as index 9085f03b9..9f314b0d4 100644 --- a/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as +++ b/spine-starling/spine-starling/src/spine/starling/PolygonBatch.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -41,6 +42,9 @@ import flash.geom.Matrix; import flash.geom.Point; import flash.utils.Dictionary; +import spine.BlendMode; +import spine.flash.SkeletonSprite; + import starling.core.RenderSupport; import starling.core.Starling; import starling.display.BlendMode; @@ -61,8 +65,8 @@ internal class PolygonBatch { private var _texture:Texture; private var _support:RenderSupport; private var _programBits:uint; - private var _blendMode:String; - private var _additive:Boolean; + private var _blendModeNormal:String; + private var _blendMode:spine.BlendMode; private var _alpha:Number; private var _verticesCount:int; @@ -88,11 +92,11 @@ internal class PolygonBatch { _support = support; _alpha = alpha; _programBits = 0xffffffff; - _additive = false; + _blendMode = null; support.finishQuadBatch(); support.blendMode = blendMode; - _blendMode = support.blendMode; + _blendModeNormal = support.blendMode; var context:Context3D = Starling.context; context.setProgramConstantsFromMatrix(Context3DProgramType.VERTEX, 1, support.mvpMatrix3D, true); @@ -115,11 +119,14 @@ internal class PolygonBatch { } public function add (texture:Texture, vertices:Vector., vl:int, uvs:Vector., triangles:Vector., - r:Number, g:Number, b:Number, a:Number, additive:Boolean, matrix:Matrix) : void { - if (additive != _additive) { - _additive = additive; + r:Number, g:Number, b:Number, a:Number, blendMode:spine.BlendMode, matrix:Matrix) : void { + if (blendMode != _blendMode) { + _blendMode = blendMode; flush(); - _support.blendMode = additive ? BlendMode.ADD : _blendMode; + if (blendMode == spine.BlendMode.normal) + _support.blendMode = _blendModeNormal; + else + _support.blendMode = spine.starling.SkeletonSprite.blendModes[blendMode.ordinal]; _support.applyBlendMode(true); } diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonAnimation.as b/spine-starling/spine-starling/src/spine/starling/SkeletonAnimation.as index c4ab93805..8a03be1a8 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonAnimation.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonAnimation.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonImage.as b/spine-starling/spine-starling/src/spine/starling/SkeletonImage.as index aa8569489..dc98c00df 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonImage.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonImage.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as index 9ac1e58fc..0d2c3bf91 100644 --- a/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as +++ b/spine-starling/spine-starling/src/spine/starling/SkeletonSprite.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -58,6 +59,8 @@ public class SkeletonSprite extends DisplayObject { static private var _tempMatrix:Matrix = new Matrix(); static private var _tempVertices:Vector. = new Vector.(8); static private var _quadTriangles:Vector. = new [0, 1, 2, 2, 3, 0]; + static internal var blendModes:Vector. = new [ + BlendMode.NORMAL, BlendMode.ADD, BlendMode.MULTIPLY, BlendMode.SCREEN]; private var _skeleton:Skeleton; private var _polygonBatch:PolygonBatch; @@ -165,7 +168,7 @@ public class SkeletonSprite extends DisplayObject { r *= skeletonR * slot.r * a; g *= skeletonG * slot.g * a; b *= skeletonB * slot.b * a; - polygonBatch.add(image.texture, worldVertices, verticesLength, uvs, triangles, r, g, b, a, slot.data.additiveBlending, matrix); + polygonBatch.add(image.texture, worldVertices, verticesLength, uvs, triangles, r, g, b, a, slot.data.blendMode, matrix); } } } @@ -206,7 +209,7 @@ public class SkeletonSprite extends DisplayObject { vertexData.setColorAndAlpha(3, rgb, a); image.updateVertices(); - support.blendMode = slot.data.additiveBlending ? BlendMode.ADD : blendMode; + support.blendMode = blendModes[slot.data.blendMode.ordinal]; support.batchQuad(image, alpha, image.texture, _smoothing); } } diff --git a/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as b/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as index 33e0bb6ff..8431509c6 100644 --- a/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as +++ b/spine-starling/spine-starling/src/spine/starling/StarlingAtlasAttachmentLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-starling/spine-starling/src/spine/starling/StarlingTextureLoader.as b/spine-starling/spine-starling/src/spine/starling/StarlingTextureLoader.as index 7ec0952ed..43113bf6a 100644 --- a/spine-starling/spine-starling/src/spine/starling/StarlingTextureLoader.as +++ b/spine-starling/spine-starling/src/spine/starling/StarlingTextureLoader.as @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png b/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png deleted file mode 100644 index 7fd5473c1..000000000 Binary files a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png and /dev/null differ diff --git a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta b/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta deleted file mode 100644 index 22239ca4b..000000000 --- a/spine-tk2d/Assets/Gizmos/SkeletonDataAsset Icon.png.meta +++ /dev/null @@ -1,46 +0,0 @@ -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/examples.meta b/spine-tk2d/Assets/examples.meta deleted file mode 100644 index 914d7a476..000000000 --- a/spine-tk2d/Assets/examples.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: ddc30294e8bdeb0469c854ccf66824fc -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/Goblins.cs b/spine-tk2d/Assets/examples/goblins/Goblins.cs deleted file mode 100644 index bf3a78079..000000000 --- a/spine-tk2d/Assets/examples/goblins/Goblins.cs +++ /dev/null @@ -1,63 +0,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. - *****************************************************************************/ - -using UnityEngine; -using System.Collections; -using Spine; - -public class Goblins : MonoBehaviour { - private bool girlSkin; - private SkeletonAnimation skeletonAnimation; - private Bone headBone; - - public void Start () { - skeletonAnimation = GetComponent(); - headBone = skeletonAnimation.skeleton.FindBone("head"); - 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 UpdateLocal (SkeletonAnimation skeletonAnimation) { - headBone.Rotation += 15; - } - - public void OnMouseDown () { - skeletonAnimation.skeleton.SetSkin(girlSkin ? "goblin" : "goblingirl"); - skeletonAnimation.skeleton.SetSlotsToSetupPose(); - - girlSkin = !girlSkin; - - if (girlSkin) { - skeletonAnimation.skeleton.SetAttachment("right hand item", null); - skeletonAnimation.skeleton.SetAttachment("left hand item", "spear"); - } else - skeletonAnimation.skeleton.SetAttachment("left hand item", "dagger"); - } -} diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab deleted file mode 100644 index bc65b6ebb..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat deleted file mode 100644 index 4628c57e2..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png deleted file mode 100644 index d6820aa68..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta deleted file mode 100644 index 19b7c864d..000000000 --- a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: e76e8228e3b38264194b3dfad10b7af7 -TextureImporter: - 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: 1024 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab b/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab deleted file mode 100644 index 08d4890a3..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt b/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt deleted file mode 100644 index a778c0f15..000000000 --- a/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt +++ /dev/null @@ -1,1005 +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": 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": [ 4, 7, 3, 6, 7, 4, 5, 6, 4, 10, 11, 12, 1, 13, 0, 12, 13, 1, 10, 12, 1, 9, 10, 1, 2, 9, 1, 8, 9, 2, 3, 8, 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.51, 20, -0.31, -6.16, 0.48, 2, 18, 64.73, -5.03, 0.5, 19, -0.4, -5.06, 0.49, 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.5, 19, 0.53, 6.59, 0.49, 2, 19, 62.18, 6.66, 0.51, 20, 0.2, 6.09, 0.48, 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 ], - "edges": [ 24, 22, 22, 20, 10, 12, 2, 0, 24, 26, 0, 26, 8, 10, 12, 14, 6, 8, 14, 16, 2, 4, 4, 6, 16, 18, 18, 20, 20, 2 ], - "hull": 14, - "width": 22, - "height": 368 - } - }, - "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": [ 5, 7, 8, 4, 8, 3, 4, 5, 8, 5, 6, 7, 9, 11, 8, 8, 11, 3, 3, 0, 2, 3, 11, 0, 9, 10, 11, 0, 1, 2, 11, 12, 0, 0, 12, 13 ], - "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 ], - "edges": [ 22, 20, 24, 26, 22, 24, 2, 0, 0, 22, 0, 26, 12, 14, 14, 16, 18, 20, 16, 18, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ], - "hull": 14, - "width": 26, - "height": 108 - } - }, - "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 ], - "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 26, 28, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 0, 46, 6, 48, 48, 50, 50, 52, 52, 42, 2, 4, 4, 6, 4, 52, 2, 44, 22, 32, 22, 24, 24, 26, 28, 30, 30, 32, 24, 30, 16, 54, 54, 56, 20, 58, 58, 54, 16, 58, 22, 60, 60, 56, 58, 60 ], - "hull": 24, - "width": 103, - "height": 66 - } - }, - "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 ], - "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 6, 4, 6, 8, 8, 10, 12, 14, 10, 12 ], - "hull": 9, - "width": 37, - "height": 35 - } - }, - "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": [ 2, 1, 3, 3, 10, 4, 4, 11, 5, 4, 10, 11, 3, 1, 10, 11, 6, 5, 1, 0, 10, 11, 7, 6, 11, 10, 7, 10, 8, 7, 10, 0, 8, 0, 9, 8 ], - "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 ], - "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 6, 20, 20, 16, 2, 20, 8, 22, 22, 14, 20, 22, 22, 10 ], - "hull": 10, - "width": 65, - "height": 31 - } - }, - "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, 3, 0, 4, 5, 0, 3, 4, 0, 0, 7, 8, 6, 7, 0, 0, 5, 6, 2, 0, 1 ], - "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 ], - "edges": [ 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 14, 16, 12, 14 ], - "hull": 9, - "width": 36, - "height": 41 - } - }, - "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": [ 1, 3, 4, 7, 4, 5, 5, 6, 7, 3, 1, 2, 1, 4, 7, 0, 1, 10, 7, 8, 10, 1, 7, 10, 10, 8, 9 ], - "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 ], - "edges": [ 20, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 18, 20, 16, 18 ], - "hull": 11, - "width": 33, - "height": 70 - } - }, - "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 ], - "edges": [ 12, 14, 14, 0, 4, 2, 0, 2, 4, 6, 6, 8, 10, 12, 8, 10 ], - "hull": 8, - "width": 29, - "height": 44 - } - }, - "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": [ 3, 4, 2, 2, 4, 1, 1, 4, 7, 4, 5, 7, 0, 1, 7, 5, 6, 7, 7, 8, 0 ], - "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 ], - "edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 10, 12, 12, 14, 14, 16, 2, 0, 16, 0 ], - "hull": 9, - "width": 33, - "height": 73 - } - }, - "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 ], - "edges": [ 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 20, 20, 0, 0, 18, 16, 18, 14, 16, 0, 2 ], - "hull": 10, - "width": 36, - "height": 41 - } - }, - "pelvis": { - "pelvis": { - "name": "goblin/pelvis", - "type": "mesh", - "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], - "triangles": [ 1, 3, 0, 1, 2, 3 ], - "vertices": [ 25.38, -20.73, -36.61, -20.73, -36.61, 22.26, 25.38, 22.26 ], - "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], - "hull": 4, - "width": 62, - "height": 43 - } - }, - "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 ], - "edges": [ 8, 6, 4, 6, 4, 2, 12, 14, 2, 0, 14, 0, 10, 12, 8, 10 ], - "hull": 8, - "width": 23, - "height": 50 - } - }, - "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": [ 4, 5, 15, 7, 14, 6, 5, 6, 15, 6, 14, 15, 14, 7, 9, 7, 8, 9, 15, 3, 4, 9, 10, 14, 15, 2, 3, 15, 14, 2, 14, 10, 1, 12, 1, 11, 1, 12, 13, 14, 1, 2, 1, 13, 0, 1, 10, 11 ], - "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 ], - "edges": [ 0, 2, 6, 8, 8, 10, 16, 18, 22, 24, 24, 26, 0, 26, 10, 12, 2, 4, 4, 6, 12, 14, 14, 16, 18, 20, 20, 22, 2, 28, 28, 14, 20, 28, 4, 30, 30, 12, 28, 30, 30, 8 ], - "hull": 14, - "width": 63, - "height": 33 - } - }, - "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": [ 4, 7, 5, 5, 7, 6, 4, 3, 7, 3, 2, 8, 7, 3, 8, 8, 1, 10, 8, 2, 1, 0, 10, 1, 8, 10, 9 ], - "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 ], - "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 0, 20 ], - "hull": 11, - "width": 36, - "height": 37 - } - }, - "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": [ 3, 2, 4, 2, 1, 4, 1, 0, 4 ], - "vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ], - "edges": [ 2, 4, 4, 6, 6, 8, 2, 0, 0, 8 ], - "hull": 5, - "width": 36, - "height": 37 - } - }, - "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": [ 4, 5, 2, 2, 5, 8, 5, 6, 8, 6, 7, 8, 4, 2, 3, 2, 8, 1, 8, 9, 1, 9, 10, 1, 1, 10, 0 ], - "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 ], - "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 20, 18, 20 ], - "hull": 11, - "width": 36, - "height": 76 - } - }, - "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 ], - "edges": [ 10, 12, 12, 14, 14, 0, 0, 2, 2, 4, 4, 6, 8, 10, 6, 8 ], - "hull": 8, - "width": 39, - "height": 45 - } - }, - "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": [ 5, 4, 6, 6, 4, 2, 4, 3, 2, 2, 1, 6, 6, 1, 9, 6, 9, 7, 9, 1, 0, 9, 8, 7 ], - "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 ], - "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18 ], - "hull": 10, - "width": 34, - "height": 63 - } - }, - "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 ], - "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30, 14, 32, 32, 34, 34, 6, 18, 36, 36, 38, 2, 4, 4, 6, 38, 4, 2, 40, 40, 22, 40, 38, 38, 34, 32, 10, 34, 8, 40, 28, 14, 16, 16, 18, 32, 42, 42, 36, 16, 42, 42, 34, 18, 20, 20, 22, 36, 44, 44, 40, 20, 44 ], - "hull": 16, - "width": 68, - "height": 96 - } - }, - "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": [ 5, 1, 4, 4, 1, 3, 6, 0, 5, 5, 0, 1, 3, 1, 2, 6, 8, 0, 6, 7, 8 ], - "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 ], - "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 12, 14, 10, 12, 0, 10, 2, 8 ], - "hull": 9, - "width": 55, - "height": 19 - } - }, - "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": [ 3, 10, 4, 4, 10, 5, 10, 3, 1, 3, 2, 1, 1, 11, 10, 1, 0, 11, 10, 11, 5, 5, 11, 6, 0, 8, 11, 11, 8, 6, 0, 9, 8, 6, 8, 7 ], - "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 ], - "edges": [ 0, 2, 2, 4, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 4, 6, 6, 8, 6, 20, 16, 22, 22, 20, 0, 22, 22, 12, 2, 20, 20, 10 ], - "hull": 10, - "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": { - "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-tk2d/Assets/examples/goblins/goblins.unity b/spine-tk2d/Assets/examples/goblins/goblins.unity deleted file mode 100644 index 1774f0ba3..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/goblins.unity and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images.meta b/spine-tk2d/Assets/examples/goblins/images.meta deleted file mode 100644 index 4e2133603..000000000 --- a/spine-tk2d/Assets/examples/goblins/images.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 4b989f3dd92ba6d46b9f473be0ef27fc -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/dagger.png b/spine-tk2d/Assets/examples/goblins/images/dagger.png deleted file mode 100644 index 9a666d631..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/dagger.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/dagger.png.meta b/spine-tk2d/Assets/examples/goblins/images/dagger.png.meta deleted file mode 100644 index defa4e75a..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/dagger.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: cff16cdb2ad3d54478e6d12afd6f835c -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin.meta b/spine-tk2d/Assets/examples/goblins/images/goblin.meta deleted file mode 100644 index 9c6edceca..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 5ec67732682a81943a13b2dfd7b316d1 -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png b/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png deleted file mode 100644 index e306dd40f..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta deleted file mode 100644 index 700d6c794..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/eyes-closed.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 2f9da4d291a7421488b5d8c4c33fc5b4 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png b/spine-tk2d/Assets/examples/goblins/images/goblin/head.png deleted file mode 100644 index 81c1b5e1b..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta deleted file mode 100644 index 9ae734efd..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/head.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: bcce48841f8498e49876846c151dc4d7 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png deleted file mode 100644 index 42f60e0aa..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta deleted file mode 100644 index 68c269c84..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-arm.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: cf0aa5059c48db64380b5d8d9d48bbf7 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png deleted file mode 100644 index 89c142b7c..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta deleted file mode 100644 index f6ba394a8..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-foot.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 14451be1ccd40764e9be7944b1b35d7e -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png deleted file mode 100644 index 39700f014..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta deleted file mode 100644 index 6eaa71a39..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-hand.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 2f39487177b6d0f429497745e64e1db0 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png deleted file mode 100644 index dd3e83b67..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta deleted file mode 100644 index b4be08c2f..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-lower-leg.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: d875337f331493b448affcae727ab7b0 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png deleted file mode 100644 index 220b09cbf..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta deleted file mode 100644 index f5255ab88..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-shoulder.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 6c0265e742cac734e86738c88cac3187 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png deleted file mode 100644 index a031cf682..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta deleted file mode 100644 index cf0fb0e1e..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/left-upper-leg.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 30edd05fdf3f3ec4897c5f095cfba8f9 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png b/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png deleted file mode 100644 index f4f3f04dc..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png.meta deleted file mode 100644 index 026b96f68..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/neck.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 946e1ac49a597d642940d2bc61a74ceb -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png b/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png deleted file mode 100644 index a8fc15c0d..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta deleted file mode 100644 index 5989ae20d..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/pelvis.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 34721831e8dc33048a1c642af9c91860 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png deleted file mode 100644 index c7b752bb2..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta deleted file mode 100644 index c98922722..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-arm.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 0fc0421ba4507d7479276646539febf7 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png deleted file mode 100644 index ce982d310..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta deleted file mode 100644 index 8e4e299ef..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-foot.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 232f1d4aee7e76547b4a3349b7fd4f29 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png deleted file mode 100644 index 2363fba02..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta deleted file mode 100644 index dec41eb80..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-hand.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: e89eca7d89b489f4491b5ec1cbb3ddf7 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png deleted file mode 100644 index b9bb49654..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta deleted file mode 100644 index f5cca1a75..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-lower-leg.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: aab7b79018a3ec84baccbeb6d9c40554 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png deleted file mode 100644 index 48baa266c..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png.meta deleted file mode 100644 index 64eabbccc..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-shoulder.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: d0937186e72f856419c9dbcaec82762d -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png b/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png deleted file mode 100644 index d5fac4424..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta deleted file mode 100644 index a5298629c..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/right-upper-leg.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 438e00f2d68cac24bace724555e443b5 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png b/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png deleted file mode 100644 index f9b4314ae..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png.meta deleted file mode 100644 index 56d9f6e3b..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/torso.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 9427b1a031010ab41b9cda104be8c204 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png b/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png deleted file mode 100644 index 6088d3544..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png.meta deleted file mode 100644 index eca91be55..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/undie-straps.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 9cfb974ed9f3dd042895ccfe0e2461b1 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png b/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png deleted file mode 100644 index 95016babd..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta b/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta deleted file mode 100644 index de460e4e0..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblin/undies.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 10fccc8bd5aead04ca7376a040205f6f -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta b/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta deleted file mode 100644 index 6d452d669..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/goblingirl.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 1c61c40d4513f844b9c4bb7bfb8992a6 -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/shield.png b/spine-tk2d/Assets/examples/goblins/images/shield.png deleted file mode 100644 index de431217c..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/shield.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/shield.png.meta b/spine-tk2d/Assets/examples/goblins/images/shield.png.meta deleted file mode 100644 index 4b45b9fed..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/shield.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 95c2d261ccd8d8c4b8760693cba0e08a -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/goblins/images/spear.png b/spine-tk2d/Assets/examples/goblins/images/spear.png deleted file mode 100644 index 0704dc326..000000000 Binary files a/spine-tk2d/Assets/examples/goblins/images/spear.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/goblins/images/spear.png.meta b/spine-tk2d/Assets/examples/goblins/images/spear.png.meta deleted file mode 100644 index b14274471..000000000 --- a/spine-tk2d/Assets/examples/goblins/images/spear.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 54e7cc7562d107b4d96e0422dc7ed587 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy.meta b/spine-tk2d/Assets/examples/spineboy.meta deleted file mode 100644 index b24e382b6..000000000 --- a/spine-tk2d/Assets/examples/spineboy.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: aafe437f17003ec449c178c2c329d221 -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset.meta b/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset.meta deleted file mode 100644 index 3da7130c0..000000000 --- a/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: def3cb5fb0c27fe41995a7ecf2924e83 -NativeFormatImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs b/spine-tk2d/Assets/examples/spineboy/Spineboy.cs deleted file mode 100644 index 04bcbd931..000000000 --- a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs +++ /dev/null @@ -1,60 +0,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. - *****************************************************************************/ - -using UnityEngine; -using System.Collections; -using Spine; -using System; - -public class Spineboy : MonoBehaviour { - private SkeletonAnimation skeletonAnimation; - - void Start() { - // Get the SkeletonAnimation component for the GameObject this script is attached to. - skeletonAnimation = GetComponent(); - // Call our method any time an animation fires an event. - skeletonAnimation.state.Event += Event; - // Queue jump to be played on track 0 two seconds after the starting animation. - skeletonAnimation.state.AddAnimation(0, "jump", false, 2); - // Queue walk to be looped on track 0 after the jump animation. - skeletonAnimation.state.AddAnimation(0, "run", true, 0); - } - - public void Event (Spine.AnimationState state, int trackIndex, Spine.Event e) { - Debug.Log(trackIndex + " " + state.GetCurrent(trackIndex) + ": event " + e + ", " + e.Int); - } - - void OnMouseDown() { - // Set jump to be played on track 0 immediately. - skeletonAnimation.state.SetAnimation(0, "jump", false); - // Queue walk to be looped on track 0 after the jump animation. - skeletonAnimation.state.AddAnimation(0, "run", true, 0); - } -} diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data.meta b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data.meta deleted file mode 100644 index ee99d1479..000000000 --- a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: ecf18700fc84ae94ca3cfa6d301b50c0 -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab deleted file mode 100644 index 6e4519428..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab.meta b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab.meta deleted file mode 100644 index 9fdbd2eaa..000000000 --- a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/SpineboyAtlas.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 4cd6560d5de81b240b7e7d9beaa3e2f0 -NativeFormatImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat.meta b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat.meta deleted file mode 100644 index 24292fb50..000000000 --- a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: db97ecfecb17b6f458e01069ad10927d -NativeFormatImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png deleted file mode 100644 index 1e3188008..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png.meta b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png.meta deleted file mode 100644 index 1312cf13f..000000000 --- a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 9685688f4dc78cc4c980b5b39c9a6c7e -TextureImporter: - 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: 1024 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab deleted file mode 100644 index 71eaa0c06..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab.meta b/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab.meta deleted file mode 100644 index 1688fe351..000000000 --- a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas.prefab.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: e04ef676426682f4fbe2b2e248bc3dc4 -NativeFormatImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images.meta b/spine-tk2d/Assets/examples/spineboy/images.meta deleted file mode 100644 index 98831c7f8..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 59b6b8248068c5c48a322d8b794e27ba -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png b/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png deleted file mode 100644 index 1d29940ff..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png.meta b/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png.meta deleted file mode 100644 index ae67a57dc..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/eye_indifferent.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 6c0af3682888d1b44b20930c007395ed -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png b/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png deleted file mode 100644 index f411f9432..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png.meta b/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png.meta deleted file mode 100644 index 375f0b90a..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/eye_surprised.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: ae61740dcd21c2a4c9664f29d3c4648d -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png b/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png deleted file mode 100644 index aa0fca6fd..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png.meta deleted file mode 100644 index 5960623d2..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_bracer.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: f49cadc7ea01b0a4d9e4a54b43f9ae81 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png b/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png deleted file mode 100644 index eb8b24217..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png.meta deleted file mode 100644 index 8ed1fd401..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_fist_closed.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: a29fc9a5b299a584e8ef5c9fdf41b165 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png b/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png deleted file mode 100644 index c950492d7..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png.meta deleted file mode 100644 index ee3749cb5..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_fist_open.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: f3263dfbb157c5043b33839d0bbf4990 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot.png b/spine-tk2d/Assets/examples/spineboy/images/front_foot.png deleted file mode 100644 index 69ea494c3..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_foot.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_foot.png.meta deleted file mode 100644 index edb5b8e8d..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_foot.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: c79a35fcc3cc51a438b2e2a17982a1f7 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png b/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png deleted file mode 100644 index 6cbc1ffcc..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png.meta deleted file mode 100644 index 58349da9c..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend1.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 7b87c0f427cf2d64d81bf787019c8211 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png b/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png deleted file mode 100644 index e6b3942c7..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png.meta deleted file mode 100644 index ea7fd4879..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_foot_bend2.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: b3ff63c911a51b0459e1a517f1408b4a -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_shin.png b/spine-tk2d/Assets/examples/spineboy/images/front_shin.png deleted file mode 100644 index e63bef05b..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_shin.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_shin.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_shin.png.meta deleted file mode 100644 index 74be6e8bf..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_shin.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 30ef0c5f7aace9246916ecd9b26cc1c9 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png b/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png deleted file mode 100644 index 91dbd8df5..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png.meta deleted file mode 100644 index 9fe77874b..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_thigh.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 205489628a41ef844bd13b946db011fa -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png b/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png deleted file mode 100644 index 49d16d286..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png.meta b/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png.meta deleted file mode 100644 index ceecb625e..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/front_upper_arm.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: cd1afb74c1b04dc49b5a148610c03839 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/goggles.png b/spine-tk2d/Assets/examples/spineboy/images/goggles.png deleted file mode 100644 index 7eb52b9db..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/goggles.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/goggles.png.meta b/spine-tk2d/Assets/examples/spineboy/images/goggles.png.meta deleted file mode 100644 index 33acd0c51..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/goggles.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: d765c8c54164b8a4fb9e39e197dc0a38 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/gun.png b/spine-tk2d/Assets/examples/spineboy/images/gun.png deleted file mode 100644 index 2ba05f556..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/gun.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/gun.png.meta b/spine-tk2d/Assets/examples/spineboy/images/gun.png.meta deleted file mode 100644 index 8166794d6..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/gun.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 0d603abca31d5994691350ac735c7744 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/head.png b/spine-tk2d/Assets/examples/spineboy/images/head.png deleted file mode 100644 index 2d7f66abf..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/head.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/head.png.meta b/spine-tk2d/Assets/examples/spineboy/images/head.png.meta deleted file mode 100644 index 0ccb6fa1d..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/head.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 14fa7cc064f366c46ba083cc8b3f6588 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png b/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png deleted file mode 100644 index 60046ab92..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png.meta b/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png.meta deleted file mode 100644 index 2f8ec8b6f..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/mouth_grind.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 79978238279f41c4c973d521cabff9be -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png b/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png deleted file mode 100644 index e3dc2b1e2..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png.meta b/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png.meta deleted file mode 100644 index 5a9e271a9..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/mouth_oooo.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: f61e69cc476126e43b4e89084bf4ccaa -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png b/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png deleted file mode 100644 index 7a2276ee5..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png.meta b/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png.meta deleted file mode 100644 index ce77acdce..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/mouth_smile.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 8c5e45a7cc597ca4cae33efcf9c24a05 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/muzzle.png b/spine-tk2d/Assets/examples/spineboy/images/muzzle.png deleted file mode 100644 index 6d53f3ad8..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/muzzle.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/muzzle.png.meta b/spine-tk2d/Assets/examples/spineboy/images/muzzle.png.meta deleted file mode 100644 index 5a21dc9a0..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/muzzle.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 9a16764712c632b49a00e17383604fdc -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/neck.png b/spine-tk2d/Assets/examples/spineboy/images/neck.png deleted file mode 100644 index 544ea1ed2..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/neck.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/neck.png.meta b/spine-tk2d/Assets/examples/spineboy/images/neck.png.meta deleted file mode 100644 index bd474849b..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/neck.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 5efaad89af5d0484a870721e289ba2f0 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png b/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png deleted file mode 100644 index 06b9c9cd7..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png.meta deleted file mode 100644 index 116f32e90..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_bracer.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 5b233b54bf15bd84d8f892f7d60f651f -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png b/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png deleted file mode 100644 index 6fdf9ad60..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png.meta deleted file mode 100644 index dfd3ab0e3..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_foot.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 486dbb0e0e31aee47ad78051ffadcb67 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png b/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png deleted file mode 100644 index 10f2a72e9..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png.meta deleted file mode 100644 index bd8dc58aa..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend1.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: 5d1789963e286334ab3f6964d37caddb -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png b/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png deleted file mode 100644 index 01dff6265..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png.meta deleted file mode 100644 index ab3e80315..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_foot_bend2.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: ff57e994b04010d458a584f4ed3ba9d8 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png b/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png deleted file mode 100644 index 02335c263..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png.meta deleted file mode 100644 index a0d83d35d..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_shin.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: e035fed7792ebf34ba6424833e244f5e -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png b/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png deleted file mode 100644 index d5da9f15d..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png.meta deleted file mode 100644 index bc6c81c44..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_thigh.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: ed18ae5dd9428eb4590274b5620d0dcf -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png b/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png deleted file mode 100644 index 52d3a9ef5..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png.meta b/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png.meta deleted file mode 100644 index 1841f3278..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/rear_upper_arm.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: b7fd5d33d25bd59449a21c8a35dcb1ae -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/images/torso.png b/spine-tk2d/Assets/examples/spineboy/images/torso.png deleted file mode 100644 index c38b2ef45..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/images/torso.png and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/images/torso.png.meta b/spine-tk2d/Assets/examples/spineboy/images/torso.png.meta deleted file mode 100644 index 9574fd8bd..000000000 --- a/spine-tk2d/Assets/examples/spineboy/images/torso.png.meta +++ /dev/null @@ -1,45 +0,0 @@ -fileFormatVersion: 2 -guid: c9d347920dea372469c0bafcc27a6320 -TextureImporter: - 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: 1 - grayScaleToAlpha: 0 - generateCubemap: 0 - seamlessCubemap: 0 - textureFormat: -3 - maxTextureSize: 4096 - 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} - spritePixelsToUnits: 100 - alphaIsTransparency: 1 - textureType: 5 - buildTargetSettings: [] - spriteSheet: - sprites: [] - spritePackingTag: - userData: diff --git a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt b/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt deleted file mode 100644 index 1ffa7aad5..000000000 --- a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt +++ /dev/null @@ -1,2412 +0,0 @@ -{ -"bones": [ - { "name": "hip", "y": 247.47 }, - { "name": "front_thigh", "parent": "hip", "length": 74.8, "x": -17.45, "y": -11.64, "rotation": -95.51, "color": "00ff04ff" }, - { "name": "rear_thigh", "parent": "hip", "length": 85.71, "x": 8.91, "y": -5.62, "rotation": -72.54, "color": "ff000dff" }, - { "name": "torso", "parent": "hip", "length": 127.55, "x": -1.61, "y": 4.9, "rotation": 103.82, "color": "e0da19ff" }, - { - "name": "front_shin", - "parent": "front_thigh", - "length": 128.76, - "x": 78.69, - "y": 1.6, - "rotation": -2.21, - "inheritScale": false, - "color": "00ff04ff" - }, - { "name": "front_upper_arm", "parent": "torso", "length": 69.45, "x": 103.75, "y": 19.32, "rotation": 168.37, "color": "00ff04ff" }, - { "name": "neck", "parent": "torso", "length": 25.45, "x": 127.49, "y": -0.3, "rotation": -31.53, "color": "e0da19ff" }, - { "name": "rear_shin", "parent": "rear_thigh", "length": 121.87, "x": 86.1, "y": -1.32, "rotation": -19.83, "color": "ff000dff" }, - { "name": "rear_upper_arm", "parent": "torso", "length": 51.93, "x": 92.35, "y": -19.22, "rotation": -169.55, "color": "ff000dff" }, - { - "name": "front_bracer", - "parent": "front_upper_arm", - "length": 40.57, - "x": 68.8, - "y": -0.68, - "rotation": 18.29, - "color": "00ff04ff" - }, - { "name": "front_foot", "parent": "front_shin", "length": 91.34, "x": 128.75, "y": -0.33, "rotation": 77.9, "color": "00ff04ff" }, - { "name": "head", "parent": "neck", "length": 263.57, "x": 27.66, "y": -0.25, "rotation": 23.18, "color": "e0da19ff" }, - { "name": "rear_bracer", "parent": "rear_upper_arm", "length": 34.55, "x": 51.35, "rotation": 23.15, "color": "ff000dff" }, - { "name": "rear_foot", "parent": "rear_shin", "length": 82.57, "x": 121.45, "y": -0.75, "rotation": 69.3, "color": "ff000dff" }, - { "name": "front_fist", "parent": "front_bracer", "length": 65.38, "x": 40.56, "y": 0.19, "rotation": 12.43, "color": "00ff04ff" }, - { "name": "gun", "parent": "rear_bracer", "length": 43.1, "x": 34.42, "y": -0.45, "rotation": 5.34, "color": "ff000dff" }, - { "name": "gunTip", "parent": "gun", "x": 201.04, "y": 52.13, "rotation": 6.83, "color": "ff000dff" } -], -"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 } -], -"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 } - }, - "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-tk2d/Assets/examples/spineboy/spineboy.unity b/spine-tk2d/Assets/examples/spineboy/spineboy.unity deleted file mode 100644 index c358e4804..000000000 Binary files a/spine-tk2d/Assets/examples/spineboy/spineboy.unity and /dev/null differ diff --git a/spine-tk2d/Assets/examples/spineboy/spineboy.unity.meta b/spine-tk2d/Assets/examples/spineboy/spineboy.unity.meta deleted file mode 100644 index 89cd16f65..000000000 --- a/spine-tk2d/Assets/examples/spineboy/spineboy.unity.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 3e1554ca46e91194fb8d9ead0b21f6f7 -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/spine-csharp.meta b/spine-tk2d/Assets/spine-csharp.meta deleted file mode 100644 index 6b09776f5..000000000 --- a/spine-tk2d/Assets/spine-csharp.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: fd5a58479265f7248ae0e2c97c958b7e -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/spine-csharp/Place spine-csharp src here.txt b/spine-tk2d/Assets/spine-csharp/Place spine-csharp src here.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/spine-tk2d/Assets/spine-tk2d.meta b/spine-tk2d/Assets/spine-tk2d.meta deleted file mode 100644 index f7c809bbc..000000000 --- a/spine-tk2d/Assets/spine-tk2d.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: ca05969319ad1e94694474804763fecc -folderAsset: yes -DefaultImporter: - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs b/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs deleted file mode 100644 index e900ba8ee..000000000 --- a/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs +++ /dev/null @@ -1,143 +0,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. - *****************************************************************************/ - -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/BoneFollower")] -public class BoneFollower : MonoBehaviour { - - [System.NonSerialized] - public bool - valid; - public SkeletonRenderer skeletonRenderer; - public Bone bone; - public bool followZPosition = true; - public bool followBoneRotation = true; - - public SkeletonRenderer SkeletonRenderer { - get { return skeletonRenderer; } - set { - skeletonRenderer = value; - Reset(); - } - } - - - /// 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; - 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 () { - if (resetOnAwake) - Reset(); - } - - void LateUpdate () { - DoUpdate(); - } - - public void DoUpdate () { - if (!valid) { - Reset(); - return; - } - - if (bone == null) { - if (boneName == null || boneName.Length == 0) - return; - bone = skeletonRenderer.skeleton.FindBone(boneName); - if (bone == null) { - Debug.LogError("Bone not found: " + boneName, this); - return; - } else { - - } - } - - Spine.Skeleton skeleton = skeletonRenderer.skeleton; - float flipRotation = (skeleton.flipX ^ skeleton.flipY) ? -1f : 1f; - - if (cachedTransform.parent == skeletonTransform) { - cachedTransform.localPosition = new Vector3(bone.worldX, bone.worldY, followZPosition ? 0f : cachedTransform.localPosition.z); - - 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; - - cachedTransform.position = targetWorldPosition; - - if (followBoneRotation) { - Vector3 rotation = skeletonTransform.rotation.eulerAngles; - - 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/Editor/BoneFollowerInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs deleted file mode 100644 index 943a98715..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs +++ /dev/null @@ -1,106 +0,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. - *****************************************************************************/ -using System; -using UnityEditor; -using UnityEngine; - -[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(); - - FindRenderer(); - - EditorGUILayout.PropertyField(skeletonRenderer); - - if (component.valid) { - 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; - Array.Sort(bones); - int boneIndex = Math.Max(0, Array.IndexOf(bones, boneName.stringValue)); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Bone"); - EditorGUIUtility.LookLikeControls(); - boneIndex = EditorGUILayout.Popup(boneIndex, bones); - 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") - ) { - component.Reset(); - } - } -} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta deleted file mode 100644 index d730a5573..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI.meta +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index f44d38e90..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png.meta deleted file mode 100644 index 6d9bc41dd..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animation.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 52b12ec801461494185a4d3dc66f3d1d -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-animationRoot.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png deleted file mode 100644 index 610754689..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png and /dev/null differ 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 deleted file mode 100644 index 4bcf433e8..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-animationRoot.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index ec66a6a85..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png.meta deleted file mode 100644 index 9c59ed87d..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-bone.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 8322793223a533a4ca8be6f430256dfc -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-boneNib.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png deleted file mode 100644 index 87373b8f0..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png.meta deleted file mode 100644 index 955598a84..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boneNib.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 97a43f11e00735147a9dc3dff6d68191 -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-boundingBox.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png deleted file mode 100644 index 82beedfce..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png and /dev/null differ 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 deleted file mode 100644 index c90f54d3c..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-boundingBox.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 175bcb047..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png and /dev/null differ 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 deleted file mode 100644 index e7ab7aca3..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-constraintNib.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 4547f254c..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png.meta deleted file mode 100644 index 2ab786189..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-event.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: d226a80acc775714aa78b85e16a00e9b -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-hingeChain.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png deleted file mode 100644 index a27af1c7c..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png deleted file mode 100644 index 663d11350..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png.meta deleted file mode 100644 index 24d78a242..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-image.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 2b3a6f35bbaa8414eb51a344743ee641 -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-mesh.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png deleted file mode 100644 index 1035553b7..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png and /dev/null differ 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 deleted file mode 100644 index a98b0e9c8..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-mesh.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 9a6d738eb..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png.meta deleted file mode 100644 index a949f63a6..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-null.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: d1de1604dfe4cb64c9d31246a8e43c78 -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-poseBones.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png deleted file mode 100644 index 102700af0..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png.meta deleted file mode 100644 index c3748ea88..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-poseBones.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: da6f6d414e43aac46a57cc5a87208db4 -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-skeleton.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png deleted file mode 100644 index b5d5adf28..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png and /dev/null differ 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 deleted file mode 100644 index f607575fb..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeleton.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index ce4d937b2..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png and /dev/null differ 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 deleted file mode 100644 index 9d3c22794..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skeletonUtility.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 3d9bddeb4..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png and /dev/null differ 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 deleted file mode 100644 index 3be7a6e69..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skin.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index 3b11d379e..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png.meta deleted file mode 100644 index e6ebc95cc..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinPlaceholder.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 04c82a4acf7b5244e947f2709ec3a6cf -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-skinsRoot.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png deleted file mode 100644 index 289871e41..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png and /dev/null differ 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 deleted file mode 100644 index e332380e8..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-skinsRoot.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index ca938722d..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png.meta deleted file mode 100644 index 89224b580..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-slot.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: 0338faf3e7d93e2478fcbc022d13e081 -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-spine.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png deleted file mode 100644 index 7fd5473c1..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png and /dev/null differ 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 deleted file mode 100644 index c0ec65ca2..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-spine.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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 deleted file mode 100644 index ec7c9e64b..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png.meta b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png.meta deleted file mode 100644 index 35500c50d..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-subMeshRenderer.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -fileFormatVersion: 2 -guid: f31c0c0d608e8ba4f9a1afb032092287 -TextureImporter: - fileIDToRecycleName: {} - serializedVersion: 2 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - 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: -1 - maxTextureSize: 1024 - 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-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png b/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png deleted file mode 100644 index 05e3f4cdc..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png and /dev/null differ 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 deleted file mode 100644 index e32950ca4..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-warning.png.meta +++ /dev/null @@ -1,47 +0,0 @@ -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/Menus.cs b/spine-tk2d/Assets/spine-tk2d/Editor/Menus.cs deleted file mode 100644 index a01ad8312..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/Menus.cs +++ /dev/null @@ -1,70 +0,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. - *****************************************************************************/ - -using System; -using System.IO; -using UnityEditor; -using UnityEngine; -using Spine; - -public class Menus { - [MenuItem("Assets/Create/Spine SkeletonData")] - static public void CreateSkeletonData () { - CreateAsset("New SkeletonData"); - } - - static private void CreateAsset (String name) where T : ScriptableObject { - var dir = "Assets/"; - var selected = Selection.activeObject; - if (selected != null) { - var assetDir = AssetDatabase.GetAssetPath(selected.GetInstanceID()); - if (assetDir.Length > 0 && Directory.Exists(assetDir)) dir = assetDir + "/"; - } - ScriptableObject asset = ScriptableObject.CreateInstance(); - AssetDatabase.CreateAsset(asset, dir + name + ".asset"); - AssetDatabase.SaveAssets(); - EditorUtility.FocusProjectWindow(); - Selection.activeObject = asset; - } - - [MenuItem("GameObject/Create Other/Spine SkeletonRenderer")] - static public void CreateSkeletonRendererGameObject () { - GameObject gameObject = new GameObject("New SkeletonRenderer", typeof(SkeletonRenderer)); - EditorUtility.FocusProjectWindow(); - Selection.activeObject = gameObject; - } - - [MenuItem("GameObject/Create Other/Spine SkeletonAnimation")] - static public void CreateSkeletonAnimationGameObject () { - GameObject gameObject = new GameObject("New SkeletonAnimation", typeof(SkeletonAnimation)); - EditorUtility.FocusProjectWindow(); - Selection.activeObject = gameObject; - } -} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/Menus.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/Menus.cs.meta deleted file mode 100644 index f524d5648..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/Menus.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1907c00e57244fd4c8ff68eee5a58761 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs deleted file mode 100644 index f338626b2..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs +++ /dev/null @@ -1,111 +0,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. - *****************************************************************************/ -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; - - //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]; - animations[0] = ""; - int animationIndex = 0; - for (int i = 0; i < animations.Length - 1; i++) { - String name = component.skeleton.Data.Animations[i].Name; - animations[i + 1] = name; - if (name == animationName.stringValue) - animationIndex = i + 1; - } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Animation", GUILayout.Width(EditorGUIUtility.labelWidth)); - animationIndex = EditorGUILayout.Popup(animationIndex, animations); - EditorGUILayout.EndHorizontal(); - - String selectedAnimationName = animationIndex == 0 ? null : animations[animationIndex]; - 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/SkeletonAnimationInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs.meta deleted file mode 100644 index 890c139f8..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonAnimationInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a21294688dd7a7349a5ca17241fb40e0 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs deleted file mode 100644 index 97fb6715c..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs +++ /dev/null @@ -1,636 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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; - -[CustomEditor(typeof(SkeletonDataAsset))] -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; - bool failedSkeletonDataLatch = false; - - void OnEnable () { - 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; - - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(spriteCollection); - 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"); - if (showAnimationStateData) { - EditorGUILayout.PropertyField(defaultMix); - - // 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); - SerializedProperty durationProp = duration.GetArrayElementAtIndex(i); - EditorGUILayout.BeginHorizontal(); - from.stringValue = animations[EditorGUILayout.Popup(Math.Max(Array.IndexOf(animations, from.stringValue), 0), animations)]; - to.stringValue = animations[EditorGUILayout.Popup(Math.Max(Array.IndexOf(animations, to.stringValue), 0), animations)]; - durationProp.floatValue = EditorGUILayout.FloatField(durationProp.floatValue); - if (GUILayout.Button("Delete")) { - duration.DeleteArrayElementAtIndex(i); - toAnimation.DeleteArrayElementAtIndex(i); - fromAnimation.DeleteArrayElementAtIndex(i); - } - EditorGUILayout.EndHorizontal(); - } - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.Space(); - if (GUILayout.Button("Add Mix")) { - duration.arraySize++; - toAnimation.arraySize++; - fromAnimation.arraySize++; - } - 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 && m_skeletonDataAsset.spriteCollection != null && !failedSkeletonDataLatch) { - 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", ""); - 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; - - - 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 && 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) { - 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 != null) { - 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) { - if(m_skeletonDataAsset.spriteCollection == null) - return null; - 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 deleted file mode 100644 index fba64b6e3..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonDataAssetInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 01cbef8f24d105f4bafa9668d669e040 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs deleted file mode 100644 index c8410749a..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs +++ /dev/null @@ -1,105 +0,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. - *****************************************************************************/ - -using System; -using UnityEditor; -using UnityEngine; - -[CustomEditor(typeof(SkeletonRenderer))] -public class SkeletonRendererInspector : Editor { - protected SerializedProperty skeletonDataAsset, initialSkinName, normals, tangents, meshes, immutableTriangles; - - protected virtual void OnEnable () { - skeletonDataAsset = serializedObject.FindProperty("skeletonDataAsset"); - initialSkinName = serializedObject.FindProperty("initialSkinName"); - normals = serializedObject.FindProperty("calculateNormals"); - tangents = serializedObject.FindProperty("calculateTangents"); - meshes = serializedObject.FindProperty("renderMeshes"); - immutableTriangles = serializedObject.FindProperty("immutableTriangles"); - } - - protected virtual void gui () { - SkeletonRenderer component = (SkeletonRenderer)target; - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.PropertyField(skeletonDataAsset); - float reloadWidth = GUI.skin.label.CalcSize(new GUIContent("Reload")).x + 20; - if (GUILayout.Button("Reload", GUILayout.Width(reloadWidth))) { - if (component.skeletonDataAsset != null) { - component.skeletonDataAsset.Reset(); - } - component.Reset(); - } - EditorGUILayout.EndHorizontal(); - - if (!component.valid) { - component.Reset(); - component.LateUpdate(); - if (!component.valid) return; - } - - - // Initial skin name. - { - String[] skins = new String[component.skeleton.Data.Skins.Count]; - int skinIndex = 0; - for (int i = 0; i < skins.Length; i++) { - String name = component.skeleton.Data.Skins[i].Name; - skins[i] = name; - if (name == initialSkinName.stringValue) - skinIndex = i; - } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Initial Skin", GUILayout.Width(EditorGUIUtility.labelWidth)); - skinIndex = EditorGUILayout.Popup(skinIndex, skins); - EditorGUILayout.EndHorizontal(); - - initialSkinName.stringValue = skins[skinIndex]; - } - - EditorGUILayout.PropertyField(meshes, - new GUIContent("Render Meshes", "Disable to optimize rendering for skeletons that don't use meshes")); - EditorGUILayout.PropertyField(immutableTriangles, - new GUIContent("Immutable Triangles", "Enable to optimize rendering for skeletons that never change attachment visbility")); - EditorGUILayout.PropertyField(normals); - EditorGUILayout.PropertyField(tangents); - } - - override public void OnInspectorGUI () { - serializedObject.Update(); - gui(); - if (serializedObject.ApplyModifiedProperties() || - (Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed") - ) { - if (!Application.isPlaying) ((SkeletonRenderer)target).Reset(); - } - } -} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs.meta deleted file mode 100644 index 9d775f336..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SkeletonRendererInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 350bd1e336864e045a8d44c7afe923e8 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs deleted file mode 100644 index 94102d866..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs +++ /dev/null @@ -1,376 +0,0 @@ -#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) { - 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) { - 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(false); - - 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; - } - - 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(); - } - - } -} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta b/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta deleted file mode 100644 index 544e47769..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Editor/SpineEditorUtilities.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 61fc977e5..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader +++ /dev/null @@ -1,69 +0,0 @@ -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 deleted file mode 100644 index d01814ef9..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/Bones.shader.meta +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 31cf39d99..000000000 Binary files a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat and /dev/null differ diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta deleted file mode 100644 index ef267ef07..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.mat.meta +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 3a0de6756..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index bcc031d30..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/HiddenPass.shader.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 913475501bf19374c84390868a9d6d3d -ShaderImporter: - defaultTextures: [] - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader b/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader deleted file mode 100644 index 890aea1e3..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader +++ /dev/null @@ -1,82 +0,0 @@ -Shader "Spine/Skeleton" { - Properties { - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - _MainTex ("Texture to blend", 2D) = "black" {} - } - // 2 texture stage GPUs - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - Lighting Off - - Pass { - ColorMaterial AmbientAndDiffuse - SetTexture [_MainTex] { - Combine texture * primary - } - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - - Fog { Mode Off } - ZWrite On - ZTest LEqual - Cull Off - Lighting Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - #include "UnityCG.cginc" - struct v2f { - V2F_SHADOW_CASTER; - float2 uv : TEXCOORD1; - }; - - uniform float4 _MainTex_ST; - - v2f vert (appdata_base v) { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - return o; - } - - uniform sampler2D _MainTex; - uniform fixed _Cutoff; - - float4 frag (v2f i) : COLOR { - fixed4 texcol = tex2D(_MainTex, i.uv); - clip(texcol.a - _Cutoff); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } - } - // 1 texture stage GPUs - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - Lighting Off - - Pass { - ColorMaterial AmbientAndDiffuse - SetTexture [_MainTex] { - Combine texture * primary DOUBLE, texture * primary - } - } - } -} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader.meta deleted file mode 100644 index 753129e68..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/Skeleton.shader.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: 1e8a610c9e01c3648bac42585e5fc676 -ShaderImporter: - defaultTextures: [] - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader b/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader deleted file mode 100644 index 7cee739f6..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader +++ /dev/null @@ -1,84 +0,0 @@ -Shader "Spine/Skeleton Lit" { - Properties { - _Cutoff ("Shadow alpha cutoff", Range(0,1)) = 0.1 - _MainTex ("Texture to blend", 2D) = "black" {} - } - // 2 texture stage GPUs - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - - Pass { - Tags { "LightMode"="Vertex" } - ColorMaterial AmbientAndDiffuse - Lighting On - SetTexture [_MainTex] { - Combine texture * primary DOUBLE, texture * primary - } - } - - Pass { - Name "Caster" - Tags { "LightMode"="ShadowCaster" } - Offset 1, 1 - - Fog { Mode Off } - ZWrite On - ZTest LEqual - Cull Off - Lighting Off - - CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_shadowcaster - #pragma fragmentoption ARB_precision_hint_fastest - #include "UnityCG.cginc" - struct v2f { - V2F_SHADOW_CASTER; - float2 uv : TEXCOORD1; - }; - - uniform float4 _MainTex_ST; - - v2f vert (appdata_base v) { - v2f o; - TRANSFER_SHADOW_CASTER(o) - o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); - return o; - } - - uniform sampler2D _MainTex; - uniform fixed _Cutoff; - - float4 frag (v2f i) : COLOR { - fixed4 texcol = tex2D(_MainTex, i.uv); - clip(texcol.a - _Cutoff); - SHADOW_CASTER_FRAGMENT(i) - } - ENDCG - } - } - // 1 texture stage GPUs - SubShader { - Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } - LOD 100 - - Cull Off - ZWrite Off - Blend One OneMinusSrcAlpha - - Pass { - Tags { "LightMode"="Vertex" } - ColorMaterial AmbientAndDiffuse - Lighting On - SetTexture [_MainTex] { - Combine texture * primary DOUBLE, texture * primary - } - } - } -} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader.meta b/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader.meta deleted file mode 100644 index a8444eec9..000000000 --- a/spine-tk2d/Assets/spine-tk2d/Shaders/SkeletonLit.shader.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: bd83c75f51f5e23498ae22ffcdfe92c3 -ShaderImporter: - defaultTextures: [] - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs deleted file mode 100644 index 0c4c9a44f..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs +++ /dev/null @@ -1,108 +0,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. - *****************************************************************************/ - -using System; -using System.IO; -using System.Collections.Generic; -using UnityEngine; -using Spine; - -[ExecuteInEditMode] -[AddComponentMenu("Spine/SkeletonAnimation")] -public class SkeletonAnimation : SkeletonRenderer { - public float timeScale = 1; - public bool loop; - public Spine.AnimationState state; - - public delegate void UpdateBonesDelegate (SkeletonAnimation skeleton); - - public UpdateBonesDelegate UpdateLocal; - public UpdateBonesDelegate UpdateWorld; - public UpdateBonesDelegate UpdateComplete; - [SerializeField] - private String - _animationName; - - public String AnimationName { - get { - TrackEntry entry = state.GetCurrent(0); - return entry == null ? null : entry.Animation.Name; - } - set { - if (_animationName == value) - return; - _animationName = value; - if (value == null || value.Length == 0) - state.ClearTrack(0); - else - state.SetAnimation(0, value, loop); - } - } - - public override void Reset () { - base.Reset(); - if (!valid) - return; - - state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); - if (_animationName != null && _animationName.Length > 0) { - state.SetAnimation(0, _animationName, loop); - Update(0); - } - } - - public virtual void Update () { - Update(Time.deltaTime); - } - - public virtual void Update (float deltaTime) { - if (!valid) - return; - - deltaTime *= timeScale; - skeleton.Update(deltaTime); - state.Update(deltaTime); - state.Apply(skeleton); - - 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/SkeletonAnimation.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs.meta deleted file mode 100644 index 4c8681a72..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonAnimation.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 41133952e6d5fe04ca82a24ed4c02990 -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs deleted file mode 100644 index 3e760787e..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs +++ /dev/null @@ -1,98 +0,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. - *****************************************************************************/ - -using System; -using System.IO; -using System.Collections.Generic; -using UnityEngine; -using Spine; - -public class SkeletonDataAsset : ScriptableObject { - public tk2dSpriteCollectionData spriteCollection; - public TextAsset skeletonJSON; - public float scale = 1; - public String[] fromAnimation; - public String[] toAnimation; - public float[] duration; - public float defaultMix; - private SkeletonData skeletonData; - private AnimationStateData stateData; - - public void Reset () { - skeletonData = null; - stateData = null; - } - - public SkeletonData GetSkeletonData (bool quiet) { - if (spriteCollection == null) { - if (!quiet) - 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 SkeletonData asset: " + name, this); - Reset(); - return null; - } - - if (skeletonData != null) - return skeletonData; - - SkeletonJson json = new SkeletonJson(new SpriteCollectionAttachmentLoader(spriteCollection)); - json.Scale = 1.0f / (spriteCollection.invOrthoSize * spriteCollection.halfTargetHeight) * scale; - try { - skeletonData = json.ReadSkeletonData(new StringReader(skeletonJSON.text)); - } catch (Exception ex) { - if (!quiet) - Debug.LogError("Error reading skeleton JSON file for SkeletonData asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, this); - return null; - } - - 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; - stateData.SetMix(fromAnimation[i], toAnimation[i], duration[i]); - } - - return skeletonData; - } - - public AnimationStateData GetAnimationStateData () { - if (stateData != null) - return stateData; - GetSkeletonData(false); - return stateData; - } -} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs.meta deleted file mode 100644 index 1760b1a58..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonDataAsset.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1bdfe79e336474848808de1467defd7f -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs b/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs deleted file mode 100644 index a483e47e6..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs +++ /dev/null @@ -1,108 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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 deleted file mode 100644 index 427cdd10a..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonExtensions.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index f20cc4ad9..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs +++ /dev/null @@ -1,423 +0,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. - *****************************************************************************/ - -using System; -using System.IO; -using System.Collections.Generic; -using UnityEngine; -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; - private float[] tempVertices = new float[8]; - private int lastVertexCount; - private Vector3[] vertices; - private Color32[] colors; - private Vector2[] uvs; - private Material[] sharedMaterials = new Material[0]; - private readonly List submeshMaterials = new List(); - private readonly List submeshes = new List(); - - public virtual void Reset () { - if (meshFilter != null) - meshFilter.sharedMesh = null; - if (renderer != null) - renderer.sharedMaterial = null; - mesh1 = null; - mesh2 = null; - lastVertexCount = 0; - vertices = null; - colors = null; - uvs = null; - sharedMaterials = new Material[0]; - submeshMaterials.Clear(); - submeshes.Clear(); - skeleton = null; - - valid = false; - if (!skeletonDataAsset) { - if (logErrors) - Debug.LogError("Missing SkeletonData asset.", this); - - return; - } - SkeletonData skeletonData = skeletonDataAsset.GetSkeletonData(false); - if (skeletonData == null) - return; - valid = true; - - meshFilter = GetComponent(); - mesh1 = newMesh(); - mesh2 = newMesh(); - vertices = new Vector3[0]; - - skeleton = new Skeleton(skeletonData); - if (initialSkinName != null && initialSkinName.Length > 0 && initialSkinName != "default") - skeleton.SetSkin(initialSkinName); - if (OnReset != null) - OnReset(this); - } - - public void Awake () { - Reset(); - } - - private Mesh newMesh () { - Mesh mesh = new Mesh(); - mesh.name = "Skeleton Mesh"; - mesh.hideFlags = HideFlags.HideAndDontSave; - mesh.MarkDynamic(); - return mesh; - } - - public virtual void LateUpdate () { - if (!valid) - return; - // Count vertices and submesh triangles. - int vertexCount = 0; - int submeshTriangleCount = 0, submeshFirstVertex = 0, submeshStartSlotIndex = 0; - Material lastMaterial = null; - submeshMaterials.Clear(); - List drawOrder = skeleton.DrawOrder; - int drawOrderCount = drawOrder.Count; - bool renderMeshes = this.renderMeshes; - for (int i = 0; i < drawOrderCount; i++) { - Slot slot = drawOrder[i]; - Attachment attachment = slot.attachment; - - object rendererObject; - int attachmentVertexCount, attachmentTriangleCount; - - if (attachment is RegionAttachment) { - rendererObject = ((RegionAttachment)attachment).RendererObject; - attachmentVertexCount = 4; - attachmentTriangleCount = 6; - } else { - 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; - } - - // Populate submesh when material changes. - Material material = (Material)rendererObject; - if ((lastMaterial != material && lastMaterial != null) || slot.Data.name[0] == '*') { - AddSubmesh(lastMaterial, submeshStartSlotIndex, i, submeshTriangleCount, submeshFirstVertex, false); - submeshTriangleCount = 0; - submeshFirstVertex = vertexCount; - submeshStartSlotIndex = i; - } - lastMaterial = material; - - submeshTriangleCount += attachmentTriangleCount; - vertexCount += attachmentVertexCount; - } - AddSubmesh(lastMaterial, submeshStartSlotIndex, drawOrderCount, submeshTriangleCount, submeshFirstVertex, true); - - // Set materials. - if (submeshMaterials.Count == sharedMaterials.Length) - submeshMaterials.CopyTo(sharedMaterials); - else - sharedMaterials = submeshMaterials.ToArray(); - renderer.sharedMaterials = sharedMaterials; - - // Ensure mesh data is the right size. - Vector3[] vertices = this.vertices; - bool newTriangles = vertexCount > vertices.Length; - if (newTriangles) { - // Not enough vertices, increase size. - this.vertices = vertices = new Vector3[vertexCount]; - this.colors = new Color32[vertexCount]; - this.uvs = new Vector2[vertexCount]; - mesh1.Clear(); - mesh2.Clear(); - } else { - // Too many vertices, zero the extra. - Vector3 zero = Vector3.zero; - for (int i = vertexCount, n = lastVertexCount; i < n; i++) - vertices[i] = zero; - } - lastVertexCount = vertexCount; - - // Setup mesh. - float[] tempVertices = this.tempVertices; - Vector2[] uvs = this.uvs; - Color32[] colors = this.colors; - int vertexIndex = 0; - Color32 color = new Color32(); - float zSpacing = this.zSpacing; - float a = skeleton.a * 255, r = skeleton.r, g = skeleton.g, b = skeleton.b; - for (int i = 0; i < drawOrderCount; i++) { - Slot slot = drawOrder[i]; - Attachment attachment = slot.attachment; - if (attachment is RegionAttachment) { - RegionAttachment regionAttachment = (RegionAttachment)attachment; - regionAttachment.ComputeWorldVertices(slot.bone, tempVertices); - - float z = i * zSpacing; - vertices[vertexIndex] = new Vector3(tempVertices[RegionAttachment.X1], tempVertices[RegionAttachment.Y1], z); - vertices[vertexIndex + 1] = new Vector3(tempVertices[RegionAttachment.X4], tempVertices[RegionAttachment.Y4], z); - vertices[vertexIndex + 2] = new Vector3(tempVertices[RegionAttachment.X2], tempVertices[RegionAttachment.Y2], z); - vertices[vertexIndex + 3] = new Vector3(tempVertices[RegionAttachment.X3], tempVertices[RegionAttachment.Y3], z); - - color.a = (byte)(a * slot.a * regionAttachment.a); - 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; - colors[vertexIndex] = color; - colors[vertexIndex + 1] = color; - colors[vertexIndex + 2] = color; - colors[vertexIndex + 3] = color; - - float[] regionUVs = regionAttachment.uvs; - uvs[vertexIndex] = new Vector2(regionUVs[RegionAttachment.X1], regionUVs[RegionAttachment.Y1]); - uvs[vertexIndex + 1] = new Vector2(regionUVs[RegionAttachment.X4], regionUVs[RegionAttachment.Y4]); - uvs[vertexIndex + 2] = new Vector2(regionUVs[RegionAttachment.X2], regionUVs[RegionAttachment.Y2]); - uvs[vertexIndex + 3] = new Vector2(regionUVs[RegionAttachment.X3], regionUVs[RegionAttachment.Y3]); - - vertexIndex += 4; - } else { - if (!renderMeshes) - continue; - if (attachment is MeshAttachment) { - MeshAttachment meshAttachment = (MeshAttachment)attachment; - int meshVertexCount = meshAttachment.vertices.Length; - if (tempVertices.Length < meshVertexCount) - this.tempVertices = 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; - - 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]); - } - } else if (attachment is SkinnedMeshAttachment) { - SkinnedMeshAttachment meshAttachment = (SkinnedMeshAttachment)attachment; - int meshVertexCount = meshAttachment.uvs.Length; - if (tempVertices.Length < meshVertexCount) - this.tempVertices = 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; - - 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]); - } - } - } - } - - // Double buffer mesh. - Mesh mesh = useMesh1 ? mesh1 : mesh2; - meshFilter.sharedMesh = mesh; - - mesh.vertices = vertices; - mesh.colors32 = colors; - mesh.uv = uvs; - - int submeshCount = submeshMaterials.Count; - mesh.subMeshCount = submeshCount; - for (int i = 0; i < submeshCount; ++i) - mesh.SetTriangles(submeshes[i].triangles, i); - mesh.RecalculateBounds(); - - if (newTriangles && calculateNormals) { - Vector3[] normals = new Vector3[vertexCount]; - Vector3 normal = new Vector3(0, 0, -1); - for (int i = 0; i < vertexCount; i++) - normals[i] = normal; - (useMesh1 ? mesh2 : mesh1).vertices = vertices; // Set other mesh vertices. - mesh1.normals = normals; - mesh2.normals = normals; - - if (calculateTangents) { - Vector4[] tangents = new Vector4[vertexCount]; - Vector3 tangent = new Vector3(0, 0, 1); - for (int i = 0; i < vertexCount; i++) - tangents[i] = tangent; - mesh1.tangents = tangents; - mesh2.tangents = tangents; - } - } - - useMesh1 = !useMesh1; - } - - /** Stores vertices and triangles for a single material. */ - private void AddSubmesh (Material material, int startSlot, int endSlot, int triangleCount, int firstVertex, bool lastSubmesh) { - int submeshIndex = submeshMaterials.Count; - submeshMaterials.Add(material); - - if (submeshes.Count <= submeshIndex) - submeshes.Add(new Submesh()); - else if (immutableTriangles) - return; - - Submesh submesh = submeshes[submeshIndex]; - - int[] triangles = submesh.triangles; - int trianglesCapacity = triangles.Length; - if (lastSubmesh && trianglesCapacity > triangleCount) { - // Last submesh may have more triangles than required, so zero triangles to the end. - for (int i = triangleCount; i < trianglesCapacity; i++) - 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; - } - - if (!renderMeshes) { - // Use stored triangles if possible. - if (submesh.firstVertex != firstVertex || submesh.triangleCount < triangleCount) { - submesh.triangleCount = triangleCount; - submesh.firstVertex = firstVertex; - for (int i = 0; i < triangleCount; i += 6, firstVertex += 4) { - triangles[i] = firstVertex; - triangles[i + 1] = firstVertex + 2; - triangles[i + 2] = firstVertex + 1; - triangles[i + 3] = firstVertex + 2; - triangles[i + 4] = firstVertex + 3; - triangles[i + 5] = firstVertex + 1; - } - } - return; - } - - // Store triangles. - List drawOrder = skeleton.DrawOrder; - for (int i = startSlot, triangleIndex = 0; i < endSlot; i++) { - Attachment attachment = drawOrder[i].attachment; - if (attachment is RegionAttachment) { - triangles[triangleIndex] = firstVertex; - triangles[triangleIndex + 1] = firstVertex + 2; - triangles[triangleIndex + 2] = firstVertex + 1; - triangles[triangleIndex + 3] = firstVertex + 2; - triangles[triangleIndex + 4] = firstVertex + 3; - triangles[triangleIndex + 5] = firstVertex + 1; - triangleIndex += 6; - firstVertex += 4; - continue; - } - int[] attachmentTriangles; - int attachmentVertexCount; - if (attachment is MeshAttachment) { - MeshAttachment meshAttachment = (MeshAttachment)attachment; - 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; - for (int ii = 0, nn = attachmentTriangles.Length; ii < nn; ii++, triangleIndex++) - triangles[triangleIndex] = firstVertex + attachmentTriangles[ii]; - firstVertex += attachmentVertexCount; - } - } - -#if UNITY_EDITOR - void OnDrawGizmos() { - // Make selection easier by drawing a clear gizmo over the skeleton. - if (vertices == null) return; - Vector3 gizmosCenter = new Vector3(); - Vector3 gizmosSize = new Vector3(); - Vector3 min = new Vector3(float.MaxValue, float.MaxValue, 0f); - Vector3 max = new Vector3(float.MinValue, float.MinValue, 0f); - foreach (Vector3 vert in vertices) { - min = Vector3.Min(min, vert); - max = Vector3.Max(max, vert); - } - float width = max.x - min.x; - float height = max.y - min.y; - gizmosCenter = new Vector3(min.x + (width / 2f), min.y + (height / 2f), 0f); - gizmosSize = new Vector3(width, height, 1f); - Gizmos.color = Color.clear; - Gizmos.matrix = transform.localToWorldMatrix; - Gizmos.DrawCube(gizmosCenter, gizmosSize); - } -#endif -} - -class Submesh { - public int[] triangles = new int[0]; - public int triangleCount; - public int firstVertex = -1; -} diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs.meta deleted file mode 100644 index 1bc275571..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonRenderer.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f77b79230dc4c246a1194a03578bb4e -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta b/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta deleted file mode 100644 index d690c94de..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility.meta +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 386e1e90b..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor.meta +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index a6950aa84..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ /dev/null @@ -1,304 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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 deleted file mode 100644 index 340d6e2eb..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 4c6d02d09..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs +++ /dev/null @@ -1,311 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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 deleted file mode 100644 index 7820cbd6d..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/Editor/SkeletonUtilityInspector.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index c274c3db6..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs +++ /dev/null @@ -1,346 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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 deleted file mode 100644 index 7d3d7a44f..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtility.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 99c561499..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs +++ /dev/null @@ -1,293 +0,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. - *****************************************************************************/ - -/***************************************************************************** - * 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 deleted file mode 100644 index f66d45053..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityBone.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 3be62228c..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs +++ /dev/null @@ -1,22 +0,0 @@ -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 deleted file mode 100644 index dad11e0a2..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityConstraint.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 6aefded5a..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs +++ /dev/null @@ -1,56 +0,0 @@ -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 deleted file mode 100644 index 3e82746da..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityEyeConstraint.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index b9608e9bc..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs +++ /dev/null @@ -1,120 +0,0 @@ -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 deleted file mode 100644 index 5d9e6920c..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityGroundConstraint.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index c088353f2..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs +++ /dev/null @@ -1,79 +0,0 @@ -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 deleted file mode 100644 index 06bcb6f4a..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilityKinematicShadow.cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index fc8867e6b..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs +++ /dev/null @@ -1,96 +0,0 @@ -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 deleted file mode 100644 index 168ca8811..000000000 --- a/spine-tk2d/Assets/spine-tk2d/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -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: diff --git a/spine-tk2d/Code.meta b/spine-tk2d/Code.meta deleted file mode 100644 index 21b8433d2..000000000 --- a/spine-tk2d/Code.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: f9e5e7e3c96f7624fadc23d2dd2a213e -DefaultImporter: - userData: diff --git a/spine-tk2d/Editor.meta b/spine-tk2d/Editor.meta deleted file mode 100644 index e6f5ac62d..000000000 --- a/spine-tk2d/Editor.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: d08845badc896464e8b2e5402b1178f4 -DefaultImporter: - userData: diff --git a/spine-tk2d/Example.meta b/spine-tk2d/Example.meta deleted file mode 100644 index ac24569ed..000000000 --- a/spine-tk2d/Example.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: d7fb4e32bd1ec744aa7d9baa92bf4665 -DefaultImporter: - userData: diff --git a/spine-tk2d/README.md b/spine-tk2d/README.md index 4713b3f73..40832c297 100644 --- a/spine-tk2d/README.md +++ b/spine-tk2d/README.md @@ -1,39 +1,3 @@ # spine-tk2d -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. 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. - -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-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 - -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`. -1. Open the `spine-tk2d/Assets/examples/spineboy/spineboy.unity` scene file using Unity 4.3.4+. -1. Import 2D Toolkit into the example project. - -To use spine-tk2d in your own Unity project: - -1. Copy the contents of `spine-csharp/src` to `Assets/spine-csharp` in your project. -1. Copy the `spine-tk2d/Assets/spine-tk2d` to `Assets/spine-tk2d` in your project. -1. Import 2D Toolkit into your project. - -## 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 for manual installation. +The spine-tk2d runtime has been merged into [spine-unity](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-unity). You may use spine-unity with [2D Toolkit](http://www.unikronsoftware.com/2dtoolkit/). diff --git a/spine-tk2d/README.md.meta b/spine-tk2d/README.md.meta deleted file mode 100644 index 393585aa1..000000000 --- a/spine-tk2d/README.md.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 068c1d5710e913d40955e13203f11eed -DefaultImporter: - userData: diff --git a/spine-turbulenz/README.md b/spine-turbulenz/README.md index de2fde28f..ebf95cd68 100644 --- a/spine-turbulenz/README.md +++ b/spine-turbulenz/README.md @@ -12,7 +12,7 @@ To run the example: ## Demos -- [spine-turbulenz Demo](http://esotericsoftware.com/spine/files/demos/turbulenz/example/index.html) +- [spine-turbulenz Demo](http://esotericsoftware.com/files/runtimes/turbulenz/example/)
[spine-turbulenz Demo source](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-turbulenz/example/index.html#L21) ## Notes diff --git a/spine-turbulenz/SpriteBatch.js b/spine-turbulenz/SpriteBatch.js index 9b17fc630..0b54a565c 100644 --- a/spine-turbulenz/SpriteBatch.js +++ b/spine-turbulenz/SpriteBatch.js @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-turbulenz/example/index.html b/spine-turbulenz/example/index.html index 897008170..a02c9365d 100644 --- a/spine-turbulenz/example/index.html +++ b/spine-turbulenz/example/index.html @@ -1,25 +1,30 @@ + + + + - - - -spine-js +spine-turbulenz @@ -190,7 +192,7 @@ function drawSkeleton (batch, skeleton) { if (!(attachment instanceof spine.RegionAttachment)) continue; attachment.computeVertices(skeleton.x, skeleton.y, slot.bone, vertices); - var blendMode = slot.data.additiveBlending ? draw2D.blend.additive : draw2D.blend.alpha; + var blendMode = slot.data.blendMode == spine.BlendMode.additive ? draw2D.blend.additive : draw2D.blend.alpha; if (batch.blendMode != blendMode) { batch.end(); batch.begin(blendMode); diff --git a/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity index ccef0743b..016ad6b0e 100644 Binary files a/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity and b/spine-unity/Assets/Examples/Scenes/Basic Platformer.unity differ diff --git a/spine-unity/Assets/Examples/Scenes/Ragdoll.unity b/spine-unity/Assets/Examples/Scenes/Ragdoll.unity new file mode 100644 index 000000000..2403edf40 Binary files /dev/null and b/spine-unity/Assets/Examples/Scenes/Ragdoll.unity differ diff --git a/spine-tk2d/Assets/examples/goblins/goblins.unity.meta b/spine-unity/Assets/Examples/Scenes/Ragdoll.unity.meta similarity index 56% rename from spine-tk2d/Assets/examples/goblins/goblins.unity.meta rename to spine-unity/Assets/Examples/Scenes/Ragdoll.unity.meta index 8d920a5d3..cd725ce04 100644 --- a/spine-tk2d/Assets/examples/goblins/goblins.unity.meta +++ b/spine-unity/Assets/Examples/Scenes/Ragdoll.unity.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: cc2d822d0267e2e46bd5ee22ebc89b36 +guid: 031930e4cebf68345b71c664bfa622cf DefaultImporter: userData: diff --git a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs index 761ac31af..f8b40c06e 100644 --- a/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs +++ b/spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -209,4 +181,4 @@ public class BasicPlatformerController : MonoBehaviour { lastVelocity = velocity; lastGrounded = controller.isGrounded; } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/Chimera.cs b/spine-unity/Assets/Examples/Scripts/Chimera.cs index 27f831f86..581846ca2 100644 --- a/spine-unity/Assets/Examples/Scripts/Chimera.cs +++ b/spine-unity/Assets/Examples/Scripts/Chimera.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -48,4 +20,4 @@ public class Chimera : MonoBehaviour { void Start() { GetComponent().skeleton.FindSlot(targetSlot).Attachment = SpineAttachment.GetAttachment(attachmentPath, skeletonDataSource); } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs index c67ebdb7e..30a063fe0 100644 --- a/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs +++ b/spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -57,4 +29,4 @@ public class ConstrainedCamera : MonoBehaviour { transform.position = Vector3.Lerp(transform.position, goalPoint, smoothing * Time.deltaTime); } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs b/spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs deleted file mode 100644 index 6fa3ea5be..000000000 --- a/spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs +++ /dev/null @@ -1,66 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class DynamicSpineBone : MonoBehaviour { - - public Transform speedReference; - - [SpineBone] - public string boneName; - - [Range(-90, 90)] - public float minRotation = -45; - [Range(-90, 90)] - public float maxRotation = 45; - - [Range(-2000, 2000)] - public float rotationFactor = 300; - - [Range(5, 30)] - public float returnSpeed = 10; - - [Range(100, 1000)] - public float boneSpeed = 300; - - public float returnThreshhold = 0.01f; - - public bool useAcceleration; - - - SkeletonAnimation skeletonAnimation; - float goalRotation; - Spine.Bone bone; - Vector3 velocity; - Vector3 acceleration; - Vector3 lastPosition; - - void Start() { - if (speedReference == null) - speedReference = transform; - - skeletonAnimation = GetComponent(); - bone = SpineBone.GetBone(boneName, skeletonAnimation); - skeletonAnimation.UpdateLocal += UpdateLocal; - lastPosition = speedReference.position; - } - - void FixedUpdate() { - acceleration = (speedReference.position - lastPosition) - velocity; - velocity = speedReference.position - lastPosition; - lastPosition = speedReference.position; - } - - void UpdateLocal(SkeletonRenderer renderer) { - Vector3 vec = useAcceleration ? acceleration : velocity; - - if (Mathf.Abs(vec.x) < returnThreshhold) - goalRotation = Mathf.Lerp(goalRotation, 0, returnSpeed * Time.deltaTime); - else - goalRotation += vec.x * rotationFactor * Time.deltaTime * (bone.WorldFlipX ? -1 : 1); - - goalRotation = Mathf.Clamp(goalRotation, minRotation, maxRotation); - - bone.Rotation = Mathf.Lerp(bone.Rotation, bone.Rotation + goalRotation, boneSpeed * Time.deltaTime); - - } -} diff --git a/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs b/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs index 3a7152ef5..e7de0aba7 100644 --- a/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs +++ b/spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * FootSoldierExample created by Mitch Thompson @@ -96,4 +68,4 @@ public class FootSoldierExample : MonoBehaviour { skeletonAnimation.skeleton.SetAttachment(eyesSlot, eyesOpenAttachment); } } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Scripts/Goblins.cs b/spine-unity/Assets/Examples/Scripts/Goblins.cs index 56a54007c..926ebbab8 100644 --- a/spine-unity/Assets/Examples/Scripts/Goblins.cs +++ b/spine-unity/Assets/Examples/Scripts/Goblins.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs new file mode 100644 index 000000000..f15e773fc --- /dev/null +++ b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs @@ -0,0 +1,81 @@ +using UnityEngine; +using System.Collections; + +public class RaggedySpineboy : MonoBehaviour { + + public LayerMask groundMask; + public float restoreDuration = 0.5f; + public Vector2 launchVelocity = new Vector2(50,100); + + SkeletonRagdoll2D ragdoll; + Collider2D naturalCollider; + + void Start () { + + ragdoll = GetComponent(); + naturalCollider = GetComponent(); + } + + void AddRigidbody () { + var rb = gameObject.AddComponent(); + rb.fixedAngle = true; + naturalCollider.enabled = true; + } + + void RemoveRigidbody () { + Destroy(GetComponent()); + naturalCollider.enabled = false; + } + + void Update () { + + } + + void OnMouseUp () { + if (naturalCollider.enabled) { + Launch(); + } + } + + void Launch () { + RemoveRigidbody(); + ragdoll.Apply(); + ragdoll.RootRigidbody.velocity = new Vector2(Random.Range(-launchVelocity.x, launchVelocity.x), launchVelocity.y); + StartCoroutine(WaitUntilStopped()); + } + + IEnumerator Restore () { + Vector3 estimatedPos = ragdoll.EstimatedSkeletonPosition; + Vector3 rbPosition = ragdoll.RootRigidbody.position; + + Vector3 skeletonPoint = estimatedPos; + RaycastHit2D hit = Physics2D.Raycast((Vector2)rbPosition, (Vector2)(estimatedPos - rbPosition), Vector3.Distance(estimatedPos, rbPosition), groundMask); + if (hit.collider != null) + skeletonPoint = hit.point; + + + ragdoll.RootRigidbody.isKinematic = true; + ragdoll.SetSkeletonPosition(skeletonPoint); + + yield return ragdoll.SmoothMix(0, restoreDuration); + ragdoll.Remove(); + + AddRigidbody(); + } + + IEnumerator WaitUntilStopped () { + yield return new WaitForSeconds(0.5f); + + float t = 0; + while (t < 0.5f) { + if (ragdoll.RootRigidbody.velocity.magnitude > 0.09f) + t = 0; + else + t += Time.deltaTime; + + yield return null; + } + + StartCoroutine(Restore()); + } +} diff --git a/spine-tk2d/Assets/examples/goblins/Goblins.cs.meta b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs.meta similarity index 78% rename from spine-tk2d/Assets/examples/goblins/Goblins.cs.meta rename to spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs.meta index 7a04efa06..5c864d277 100644 --- a/spine-tk2d/Assets/examples/goblins/Goblins.cs.meta +++ b/spine-unity/Assets/Examples/Scripts/RaggedySpineboy.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3a41b9a80b4f2c045b7ad76e0d652ddc +guid: 849a7739a7df0754882fcb34c09df4c1 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/Assets/Examples/Scripts/Raptor.cs b/spine-unity/Assets/Examples/Scripts/Raptor.cs index 45fb5eccf..bb09dab37 100644 --- a/spine-unity/Assets/Examples/Scripts/Raptor.cs +++ b/spine-unity/Assets/Examples/Scripts/Raptor.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; public class Raptor : MonoBehaviour { diff --git a/spine-unity/Assets/Examples/Scripts/Spineboy.cs b/spine-unity/Assets/Examples/Scripts/Spineboy.cs index 60d478ce9..da547532c 100644 --- a/spine-unity/Assets/Examples/Scripts/Spineboy.cs +++ b/spine-unity/Assets/Examples/Scripts/Spineboy.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-unity/Assets/Examples/Scripts/SpineboyController.cs b/spine-unity/Assets/Examples/Scripts/SpineboyController.cs index 6e0b04a6a..2a6b4878e 100644 --- a/spine-unity/Assets/Examples/Scripts/SpineboyController.cs +++ b/spine-unity/Assets/Examples/Scripts/SpineboyController.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * SpineboyController created by Mitch Thompson @@ -107,4 +79,4 @@ public class SpineboyController : MonoBehaviour { } } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.json b/spine-unity/Assets/Examples/Spine/Hero/Hero.json deleted file mode 100644 index 779358832..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero.json +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 652ef27f6..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero.json.meta +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 5965f56cd..000000000 Binary files a/spine-unity/Assets/Examples/Spine/Hero/Hero.png and /dev/null differ diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta deleted file mode 100644 index 16f296767..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: a071d9faa273ab047939cccdcacddc55 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat.meta deleted file mode 100644 index 538569558..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 380672bd303e2764eb47728ead477b19 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta deleted file mode 100644 index 9d4301298..000000000 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset.meta +++ /dev/null @@ -1,4 +0,0 @@ -fileFormatVersion: 2 -guid: 6ba8c33ba732ee34290c79f1d69e0d55 -NativeFormatImporter: - userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt similarity index 66% rename from spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt index ff310bedc..49b84507d 100644 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt @@ -1,138 +1,145 @@ -Hero.png -size: 512,256 +hero-mesh.png +size: 1024,256 format: RGBA8888 filter: Linear,Linear repeat: none -White/body - rotate: true - xy: 172, 0 +body + rotate: false + xy: 324, 81 size: 97, 95 orig: 97, 95 offset: 0, 0 index: -1 -White/cape +cape rotate: false - xy: 172, 97 + xy: 176, 88 size: 146, 159 orig: 146, 159 offset: 0, 0 index: -1 -White/eyes - rotate: true - xy: 267, 15 +eyes + rotate: false + xy: 604, 216 size: 82, 31 orig: 82, 31 offset: 0, 0 index: -1 -White/fingers - rotate: true - xy: 371, 85 +fingers + rotate: false + xy: 877, 214 size: 31, 33 orig: 31, 33 offset: 0, 0 index: -1 -White/foot1 - rotate: true - xy: 426, 151 +foot1 + rotate: false + xy: 743, 205 size: 50, 42 orig: 50, 42 offset: 0, 0 index: -1 -White/foot2 +foot2 rotate: false - xy: 318, 99 + xy: 688, 209 size: 53, 38 orig: 53, 38 offset: 0, 0 index: -1 -White/forearm1 +forearm1 rotate: false - xy: 468, 154 + xy: 795, 198 size: 41, 49 orig: 41, 49 offset: 0, 0 index: -1 -White/forearm2 +forearm2 rotate: false - xy: 412, 115 + xy: 910, 215 size: 31, 32 orig: 31, 32 offset: 0, 0 index: -1 -White/hand1 - rotate: true - xy: 110, 7 +hand1 + rotate: false + xy: 838, 199 size: 37, 48 orig: 37, 48 offset: 0, 0 index: -1 -White/hand2 - rotate: true - xy: 375, 116 +hand2 + rotate: false + xy: 286, 49 size: 31, 37 orig: 31, 37 offset: 0, 0 index: -1 -White/head +head rotate: false - xy: 0, 83 + xy: 2, 74 size: 172, 173 orig: 172, 173 offset: 0, 0 index: -1 -White/mantles +mantles rotate: false - xy: 318, 201 + xy: 2, 17 size: 136, 55 orig: 136, 55 offset: 0, 0 index: -1 -White/mouth - rotate: true - xy: 298, 36 +mouth + rotate: false + xy: 2, 2 size: 61, 13 orig: 61, 13 offset: 0, 0 index: -1 -White/shin1 - rotate: true - xy: 454, 203 +shin1 + rotate: false + xy: 482, 119 size: 53, 57 orig: 53, 57 offset: 0, 0 index: -1 -White/shin2 +shin2 rotate: false - xy: 375, 147 + xy: 192, 32 size: 51, 54 orig: 51, 54 offset: 0, 0 index: -1 -White/thigh1 +sword rotate: false - xy: 0, 20 + xy: 324, 178 + size: 216, 69 + orig: 216, 69 + offset: 0, 0 + index: -1 +thigh1 + rotate: false + xy: 542, 184 size: 60, 63 orig: 60, 63 offset: 0, 0 index: -1 -White/thigh2 +thigh2 rotate: false - xy: 318, 137 + xy: 423, 112 size: 57, 64 orig: 57, 64 offset: 0, 0 index: -1 -White/upperarm1 +upperarm1 rotate: false - xy: 60, 27 + xy: 140, 16 size: 50, 56 orig: 50, 56 offset: 0, 0 index: -1 -White/upperarm2 - rotate: true - xy: 110, 44 +upperarm2 + rotate: false + xy: 245, 27 size: 39, 59 orig: 39, 59 offset: 0, 0 diff --git a/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt.meta similarity index 58% rename from spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt.meta index 680370fa4..92641467f 100644 --- a/spine-tk2d/Assets/examples/goblins/goblins-mesh.json.txt.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.atlas.txt.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 03dfe4c9b91b93b47816439a1f91a48a +guid: 0517c1f3a6aec5740aad7827a823c3db TextScriptImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json new file mode 100644 index 000000000..c410ba2f8 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json @@ -0,0 +1,3957 @@ +{ +"skeleton": { "hash": "sLectEdYW+yr4heE5DG180o7KDg", "spine": "2.1.27", "width": 318.74, "height": 333.7, "images": "./images/" }, +"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": 96.39 }, + { "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": "bone2", "parent": "head", "x": 12.91, "y": 110.65 }, + { "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": "hair01", "parent": "head", "x": 60.52, "y": 86.71 }, + { "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": "sword", "bone": "root" }, + { "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": "body", "bone": "body", "attachment": "body" }, + { "name": "shin1", "bone": "shin1", "attachment": "shin1" }, + { "name": "upperarm1", "bone": "upperarm1", "attachment": "upperarm1" }, + { "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": "forearm1", "bone": "forearm1", "attachment": "forearm1" }, + { "name": "hand1", "bone": "hand1", "attachment": "hand1" } +], +"skins": { + "default": { + "body": { + "body": { + "type": "mesh", + "uvs": [ 1, 0.11883, 1, 0.46367, 0.9431, 0.58541, 0.89885, 0.70683, 0.94215, 0.82619, 0.75813, 1, 0.59793, 1, 0.15411, 0.85493, 0, 0.8704, 0.06102, 0.65598, 0.03757, 0.48936, 0, 0.32662, 0, 0, 0.23422, 0, 0.72782, 0, 0.90102, 0, 0.68019, 0.75104, 0.74731, 0.56314, 0.23, 0.54172, 0.31432, 0.27356, 0.19509, 0.68582, 0.73752, 0.28039 ], + "triangles": [ 6, 16, 5, 4, 16, 3, 4, 5, 16, 7, 20, 6, 6, 20, 16, 8, 9, 7, 7, 9, 20, 20, 18, 16, 16, 17, 3, 16, 18, 17, 3, 17, 2, 20, 9, 18, 9, 10, 18, 2, 17, 1, 18, 19, 17, 19, 21, 17, 17, 21, 1, 18, 10, 19, 10, 11, 19, 21, 0, 1, 11, 13, 19, 11, 12, 13, 19, 14, 21, 21, 15, 0, 21, 14, 15, 19, 13, 14 ], + "vertices": [ 63.56, -47.37, 30.83, -45.83, 19.54, -39.77, 8.22, -34.93999, -3.29, -38.61, -18.95, -20, -18.21999, -4.48, -2.43, 37.87, -3.2, 52.87, 16.86, 46, 32.78, 47.53, 48.39, 50.44, 79.39, 48.99, 78.32, 26.29, 76.07, -21.53, 75.29, -38.31, 5.02, -13.56, 22.55, -20.9, 26.93, 29.12, 52, 19.75, 13.42, 33.14, 49.42, -21.22 ], + "hull": 16, + "edges": [ 12, 32, 32, 34, 36, 38, 16, 14, 14, 12, 10, 12, 10, 8, 8, 6, 4, 34, 6, 4, 4, 2, 2, 0, 28, 30, 0, 30, 14, 40, 40, 36, 20, 36, 20, 18, 18, 16, 22, 24, 20, 22, 24, 26, 26, 28, 38, 26, 28, 42, 42, 34, 38, 42, 42, 0, 40, 18, 40, 32, 36, 34 ], + "width": 97, + "height": 95 + } + }, + "cape": { + "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, 18, -71.4, 10.27, 0.46604, 24, -9.13, -72.39, 0.53394, 2, 18, -47.49, 12.58, 0.68358, 24, -16.73, -49.61, 0.31641, 1, 18, -10.99, 12.58, 1, 1, 18, 25.5, 12.58, 1, 1, 18, 62, 12.58, 1, 5, 18, 62, -27.16, 0.46827, 24, -2.49, 66, 0.34919, 27, -29.04, 67.26, 0.138, 29, -57.05, 68.86, 0.03802, 30, -83.3, 76.26, 0.0065, 5, 18, 62, -66.91, 0.10393, 24, 36.24, 74.89, 0.24994, 27, 10.01, 74.62, 0.32221, 29, -17.77, 74.99, 0.22166, 30, -43.64, 78.98, 0.10223, 5, 18, 62, -106.66, 0.00721, 24, 74.98, 83.79, 0.07037, 27, 49.07, 81.98, 0.23464, 29, 21.49, 81.11, 0.35566, 30, -3.99, 81.69, 0.3321, 4, 24, 121.89, 57.11, 6.8E-4, 27, 94.89, 53.47, 0.03735, 29, 66.39, 51.18, 0.18593, 30, 38.16, 48, 0.77602, 3, 27, 101.65, 17.6, 1.8E-4, 29, 72.01999, 15.11, 0.0066, 30, 40.65, 11.58, 0.9932, 2, 29, 77.64, -20.94, 0.05302, 30, 43.15, -24.82, 0.94697, 3, 27, 115.16, -54.13, 0.00351, 29, 83.26999, -57, 0.13964, 30, 45.65, -61.23, 0.85684, 4, 24, 107.65, -58.5, 0.02404, 27, 76.1, -61.49, 0.08882, 29, 43.99, -63.13, 0.31703, 30, 5.99, -63.95, 0.57009, 5, 18, -83.99, -66.91, 0.00248, 24, 68.91, -67.39, 0.18233, 27, 37.04, -68.85, 0.31987, 29, 4.71999, -69.26, 0.35134, 30, -33.66, -66.67, 0.14396, 5, 18, -80.23, -27.03, 0.05345, 24, 29.2, -72.66, 0.47788, 27, -2.84, -72.54, 0.33484, 29, -35.25999, -71.69, 0.12468, 30, -73.69999, -65.65, 0.00913, 5, 18, -47.49, -27.16, 0.04861, 24, 22, -40.71, 0.52446, 27, -8.77, -40.34, 0.34709, 29, -40.16999, -39.32, 0.07735, 30, -75.81, -32.98, 0.00247, 4, 24, 60.74, -31.82, 0.12714, 27, 30.28, -32.98, 0.45018, 29, -0.9, -33.18999, 0.37754, 30, -36.15, -30.26, 0.04511, 4, 24, 99.48, -22.92, 0.00851, 27, 69.33999, -25.62, 0.04332, 29, 38.37, -27.07, 0.37472, 30, 3.49, -27.54, 0.57342, 1, 24, 13.83, -5.14, 1, 2, 27, 23.52, 2.88, 0.74116, 29, -6.52, 2.86, 0.25883, 3, 27, 62.59, 10.24, 0.01792, 29, 32.74, 8.99, 0.48072, 30, 1, 8.87, 0.50133, 5, 18, 25.5, -27.16, 0.37653, 24, 5.66, 30.42, 0.49807, 27, -22.29, 31.39, 0.10748, 29, -51.42, 32.8, 0.01629, 30, -80.8, 39.84, 0.0016, 5, 18, 25.5, -66.91, 0.05159, 24, 44.41, 39.32, 0.2736, 27, 16.77, 38.75, 0.45121, 29, -12.15, 38.91999, 0.18086, 30, -41.15, 42.56, 0.0427, 5, 18, 25.5, -106.66, 1.7E-4, 24, 83.15, 48.21, 0.01708, 27, 55.83, 46.11, 0.12238, 29, 27.12, 45.05, 0.35747, 30, -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": { + "type": "mesh", + "uvs": [ 1, 1, 0.71849, 1, 0.53549, 1, 0, 1, 0, 0, 0.53549, 0, 0.72749, 0, 1, 0 ], + "triangles": [ 1, 6, 0, 6, 7, 0, 6, 1, 5, 3, 5, 2, 1, 2, 5, 3, 4, 5 ], + "vertices": [ 47.51, 35.33, 24.43, 35.28, 9.42, 35.25, -34.48, 35.16, -34.54, 66.16, 9.35999, 66.25, 25.1, 66.29, 47.45, 66.33 ], + "hull": 8, + "edges": [ 6, 8, 0, 14, 4, 6, 8, 10, 4, 10, 0, 2, 2, 4, 10, 12, 12, 14, 2, 12 ], + "width": 82, + "height": 31 + } + }, + "fingers": { + "fingers": { "x": 16.21, "y": 1.37, "rotation": 82.36, "width": 31, "height": 33 } + }, + "foot1": { + "foot1": { "x": 12.55, "y": 0.12, "rotation": 90.96, "width": 50, "height": 42 } + }, + "foot2": { + "foot2": { "x": 8.83, "y": 2.92, "rotation": 90.42, "width": 53, "height": 38 } + }, + "forearm1": { + "forearm1": { "x": 11.88, "y": -5.04, "rotation": 106.61, "width": 41, "height": 49 } + }, + "forearm2": { + "forearm2": { "x": 13.08, "y": -0.63, "rotation": 83.71, "width": 31, "height": 32 } + }, + "hand1": { + "hand1": { "x": 11.92, "y": -0.7, "rotation": 90.37, "width": 37, "height": 48 } + }, + "hand2": { + "hand2": { "x": 14.23, "y": 1.64, "rotation": 82.36, "width": 31, "height": 37 } + }, + "head": { + "head": { + "type": "skinnedmesh", + "uvs": [ 0.89191, 0.07464, 1, 0.36671, 0.86524, 0.47125, 0.75952, 0.55326, 0.76614, 0.75424, 0.77423, 1, 0.52641, 1, 0.25139, 1, 0, 0.57054, 0.10296, 0.27407, 0.22999, 0.14511, 0.45598, 0.0454, 0.71272, 0, 0.6472, 0.42961, 0.39447, 0.39904, 0.22598, 0.42696, 0.75608, 0.33283, 0.60098, 0.22733, 0.43093, 0.21786, 0.52274, 0.41456, 0.52466, 0.72063, 0.24463, 0.56616, 0.28184, 0.73041, 0.67863, 0.75066 ], + "triangles": [ 18, 10, 11, 17, 11, 12, 18, 11, 17, 9, 10, 18, 0, 17, 12, 18, 15, 9, 19, 18, 17, 16, 13, 17, 16, 17, 0, 16, 0, 1, 2, 16, 1, 2, 3, 16, 13, 19, 17, 14, 18, 19, 14, 15, 18, 3, 13, 16, 21, 15, 14, 8, 9, 15, 8, 15, 21, 20, 19, 13, 20, 13, 3, 21, 20, 22, 14, 20, 21, 19, 20, 14, 23, 20, 3, 23, 3, 4, 22, 8, 21, 7, 8, 22, 6, 20, 23, 22, 20, 6, 7, 22, 6, 5, 6, 23, 5, 23, 4 ], + "vertices": [ 2, 23, 16.16, 58.77, 0.65472, 17, 63.77, 34.83, 0.34527, 2, 23, 36.03, 1.92, 1.00135, 17, 83.64, -22.01, -0.00135, 2, 11, 72.24, 76.12, 0.00643, 23, 11.72, -10.58, 0.99356, 1, 11, 54.09, 62.63, 1, 1, 11, 55.3, 27.87, 1, 1, 11, 56.78, -14.64, 1, 1, 11, 14.16, -14.73, 1, 1, 11, -33.14, -14.83, 1, 1, 11, -76.53, 59.37, 1, 2, 11, -58.93, 110.69, 0.14022, 17, -71.83999, 0.04, 0.85977, 2, 11, -37.13, 133.05, 0.05322, 17, -50.04, 22.4, 0.94677, 3, 11, 1.69, 150.38, 0, 23, -58.82, 63.67, 0.03085, 17, -11.21, 39.73, 0.96913, 2, 23, -14.68, 71.62, 0.38932, 17, 32.93, 47.68, 0.61066, 1, 11, 34.72, 83.98, 1, 1, 11, -8.75, 89.18, 1, 1, 11, -37.72, 84.29, 1, 3, 11, 53.42, 100.64, 0.00656, 23, -7.1, 13.93, 0.75552, 17, 40.50999, -10, 0.23791, 2, 23, -33.81, 32.21, 0.17777, 17, 13.79, 8.27, 0.82222, 2, 11, -2.54, 120.54, 0.02356, 17, -15.45, 9.89, 0.97643, 1, 11, 13.31, 86.54, 1, 1, 11, 13.75, 33.59, 1, 1, 11, -34.46, 60.21, 1, 1, 11, -28, 31.81, 1, 1, 11, 40.25, 28.45, 1 ], + "hull": 13, + "edges": [ 0, 24, 24, 22, 22, 20, 20, 18, 16, 18, 16, 14, 6, 26, 28, 30, 30, 16, 0, 2, 2, 4, 4, 6, 4, 32, 32, 34, 34, 36, 36, 18, 10, 12, 12, 14, 26, 38, 38, 28, 38, 34, 34, 24, 12, 40, 40, 38, 6, 8, 8, 10 ], + "width": 172, + "height": 173 + } + }, + "mantles": { + "mantles": { + "type": "mesh", + "uvs": [ 1, 1, 0.7369, 1, 0.27505, 0.80975, 0, 0.63797, 0, 0, 0.27235, 0, 0.74584, 0, 1, 0 ], + "triangles": [ 1, 6, 0, 6, 7, 0, 1, 2, 6, 3, 5, 2, 2, 5, 6, 3, 4, 5 ], + "vertices": [ -15.28, -51.1, -15.02, -15.32, -4.08, 47.4, 5.63, 84.74, 40.72, 84.47, 40.43999, 47.44, 39.96, -16.95, 39.7, -51.51 ], + "hull": 8, + "edges": [ 0, 14, 6, 8, 4, 6, 8, 10, 4, 10, 0, 2, 10, 12, 12, 14, 2, 12, 2, 4 ], + "width": 136, + "height": 55 + } + }, + "mouth": { + "mouth": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 42.58, 4.32, -18.41, 4.19, -18.43, 17.19, 42.56, 17.32 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 61, + "height": 13 + } + }, + "shin1": { + "shin1": { "x": 8.95, "y": 0.67, "rotation": 96.8, "width": 53, "height": 57 } + }, + "shin2": { + "shin2": { "x": 2.25, "y": -2.94, "rotation": 87.71, "width": 51, "height": 54 } + }, + "thigh1": { + "thigh1": { "x": 11.98, "y": -1.01, "rotation": 107.07, "width": 60, "height": 63 } + }, + "thigh2": { + "thigh2": { "x": 15.7, "y": -4.61, "rotation": 85.46, "width": 57, "height": 64 } + }, + "upperarm1": { + "upperarm1": { "x": 6.6, "y": 0.05, "rotation": 137.18, "width": 50, "height": 56 } + }, + "upperarm2": { + "upperarm2": { "x": 13.32, "y": -2.21, "rotation": 90.45, "width": 39, "height": 59 } + }, + "weapon": { + "sword": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 179.5, -33.93999, -36.49, -34.64, -36.72, 34.34999, 179.27, 35.05 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 216, + "height": 69 + } + } + } +}, +"events": { + "Footstep": {} +}, +"animations": { + "Attack": { + "bones": { + "root": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "Hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -12.6, "y": -11.34 }, + { "time": 0.0666, "x": -20.75, "y": -23.08 }, + { "time": 0.1333, "x": -15.51, "y": -16.91 }, + { "time": 0.2, "x": -5.88, "y": -21.85 }, + { "time": 0.2666, "x": -7.08, "y": -25.29 }, + { "time": 0.4, "x": -12.6, "y": -11.34 } + ] + }, + "L_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 51.94, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 51.94, "y": 0 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -67.98, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": -67.98, "y": 0 } + ] + }, + "L_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "R_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { "time": 0, "angle": 2.2 }, + { "time": 0.0666, "angle": 13.21 }, + { "time": 0.1333, "angle": -9.58 }, + { "time": 0.2, "angle": -23.58 }, + { "time": 0.2666, "angle": -32.14 }, + { "time": 0.4, "angle": 2.2 } + ], + "translate": [ + { "time": 0, "x": -0.76, "y": -1.89 }, + { "time": 0.1333, "x": 4.86, "y": -0.24 }, + { "time": 0.2, "x": 8.05, "y": -2.43 }, + { "time": 0.4, "x": -0.76, "y": -1.89 } + ] + }, + "thigh1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 14.5, "y": -3.78, "curve": "stepped" }, + { "time": 0.4, "x": 14.5, "y": -3.78 } + ] + }, + "thigh2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -22.57, "y": 1.51 }, + { "time": 0.2, "x": -13.26, "y": -2.4 }, + { "time": 0.4, "x": -22.57, "y": 1.51 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": -19.21 }, + { "time": 0.0666, "angle": -19.17 }, + { "time": 0.1333, "angle": 4.76 }, + { "time": 0.2, "angle": 12.46 }, + { "time": 0.2666, "angle": 12.57 }, + { "time": 0.4, "angle": -19.21 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.0666, "x": 3.47, "y": 5.7 }, + { "time": 0.2, "x": -4.55, "y": -12.27 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": -8.27 }, + { "time": 0.0666, "angle": 5.32 }, + { "time": 0.1333, "angle": 4.8 }, + { "time": 0.2, "angle": -2.43 }, + { "time": 0.2666, "angle": -12.35 }, + { "time": 0.4, "angle": -8.27 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.0666, "x": 5.51, "y": -5.45 }, + { "time": 0.1333, "x": 1.53, "y": -5.87 }, + { "time": 0.2, "x": 0.46, "y": -6.11 }, + { "time": 0.2666, "x": -6.55, "y": -4.72 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "shin1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "shin2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "upperarm1": { + "rotate": [ + { "time": 0, "angle": -4.05 }, + { "time": 0.0666, "angle": 33.65 }, + { "time": 0.1333, "angle": -3.75 }, + { "time": 0.2666, "angle": -49.64 }, + { "time": 0.3333, "angle": -42.31 }, + { "time": 0.4, "angle": -4.05 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2, "x": -2.5, "y": -6.51 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 324.46 }, + { "time": 0.0666, "angle": 101.05 }, + { "time": 0.1333, "angle": 49.05 }, + { "time": 0.2, "angle": 15.11 }, + { "time": 0.2666, "angle": 313.18 }, + { "time": 0.4, "angle": 324.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": -2.1, "y": -8.13 }, + { "time": 0.2, "x": -10.56, "y": 1.25 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "bone2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 15.69 }, + { "time": 0.3333, "angle": -8.11 }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": -13.54, "y": 2.05 }, + { "time": 0.3333, "x": 4.32, "y": -12.82 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "capeRoot": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "foot1": { + "rotate": [ + { "time": 0, "angle": 8.9, "curve": "stepped" }, + { "time": 0.4, "angle": 8.9 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "foot2": { + "rotate": [ + { "time": 0, "angle": -13.11, "curve": "stepped" }, + { "time": 0.4, "angle": -13.11 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "forearm1": { + "rotate": [ + { "time": 0, "angle": 7.93 }, + { "time": 0.0666, "angle": 42.3 }, + { "time": 0.1333, "angle": 21.87 }, + { "time": 0.3333, "angle": 43.27 }, + { "time": 0.4, "angle": 7.93 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 56.31 }, + { "time": 0.0666, "angle": 87.62 }, + { "time": 0.1333, "angle": 6.51 }, + { "time": 0.2, "angle": 1 }, + { "time": 0.2666, "angle": 45.14 }, + { "time": 0.4, "angle": 56.31 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "hair01": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.2, "angle": 19.95 }, + { "time": 0.3333, "angle": -8.11 }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2, "x": -11.67, "y": 11.16 }, + { "time": 0.3333, "x": 3.75, "y": -20.94 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "hand1": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": -8.94 }, + { "time": 0.2666, "angle": -20.79 }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "hand2": { + "rotate": [ + { "time": 0, "angle": 17.89 }, + { "time": 0.0666, "angle": -12.89 }, + { "time": 0.1333, "angle": -11.39 }, + { "time": 0.2, "angle": 6.2 }, + { "time": 0.2666, "angle": 18.96 }, + { "time": 0.4, "angle": 17.89 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "weapon": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.4, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.2, + "offset": 12, + "vertices": [ -0.41782, -9.98457, -2.40061, -7.62488, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.40061, -7.62488, -0.41782, -9.98457, 0, 0, -0.41782, -9.98457, -0.41782, -9.98457, -2.40061, -7.62488, -2.40061, -7.62488, -2.40061, -7.62488, -0.41782, -9.98457 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4 } + ] + }, + "eyes": { + "eyes": [ + { + "time": 0, + "curve": [ 0.208, 0.78, 0.75, 1 ] + }, + { + "time": 0.2, + "vertices": [ 6.76959, 1.0625, 15.002, 0.58575, 19.83156, 0.77389, 23.31313, -0.40103, 22.66579, -0.49446, 19.83156, 0.77389, 15.002, 0.58575, 6.12215, 0.96937 ], + "curve": [ 0.532, 0, 0.75, 1 ] + }, + { "time": 0.4 } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -4.54435, -0.64837, -4.54435, -0.64837 ], + "curve": [ 0.208, 0.78, 0.75, 1 ] + }, + { + "time": 0.2, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 14.92421, 1.25856, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.70107, 0.2722, 4.49131, 0.19014, 7.32128, 0.18938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.07989, 0.52394, 20.62552, 0.49707, 6.02913, 0.32602, 6.02913, 0.32602, 9.14706, 1.88179 ], + "curve": [ 0.532, 0, 0.753, 1 ] + }, + { + "time": 0.4, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -4.54435, -0.64837, -4.54435, -0.64837 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.2, + "vertices": [ 4.0931, -3.31009, 0.20663, -12.49304, -5.29248, -11.21297, -2.35191, -2.26423, -2.35191, -2.26423, -5.29248, -11.21297, -0.07825, -5.05688, -3.74408, 9.53743 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4 } + ] + }, + "mouth": { + "mouth": [ + { + "time": 0, + "curve": [ 0.208, 0.78, 0.75, 1 ] + }, + { + "time": 0.2, + "vertices": [ 9.24916, -1.34519, 25.71696, -0.4806, 25.58307, -0.49992, 9.1152, -1.36451 ], + "curve": [ 0.532, 0, 0.75, 1 ] + }, + { "time": 0.4 } + ] + }, + "weapon": { + "sword": [ + { "time": 0 }, + { + "time": 0.0666, + "vertices": [ -15.89492, 9.12606, 0, 0, 0, 0, -15.83184, -9.23487 ] + }, + { + "time": 0.2, + "vertices": [ 8.49405, -0.84592, 0, 0, 0, 0, 8.48806, 0.90445 ] + }, + { + "time": 0.2666, + "vertices": [ -17.00197, -7.9945, 0, 0, 0, 0, -17.05646, 7.87807 ] + }, + { "time": 0.4 } + ] + } + } + } + }, + "Crouch": { + "bones": { + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 38.03 }, + { "time": 0.5, "angle": 30.8 }, + { "time": 1, "angle": 38.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { + "time": 0, + "angle": -15.51, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": -11.54, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1, "angle": -15.51 } + ], + "translate": [ + { + "time": 0, + "x": -0.41, + "y": -2.32, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "x": -2.2, + "y": -0.53, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1, "x": -0.41, "y": -2.32 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 8.72 }, + { "time": 0.5, "angle": 3.24 }, + { "time": 1, "angle": 8.72 } + ], + "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": -42.01, "curve": "stepped" }, + { "time": 1, "x": -11.22, "y": -42.01 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": 9.04 }, + { "time": 0.5, "angle": 7.13 }, + { "time": 1, "angle": 9.04 } + ], + "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": -29.07, "y": 1.18, "curve": "stepped" }, + { "time": 1, "x": -29.07, "y": 1.18 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 16.23, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 16.23, "y": 0 } + ] + }, + "upperarm1": { + "rotate": [ + { "time": 0, "angle": -5.42 }, + { "time": 0.5, "angle": -11.1 }, + { "time": 1, "angle": -5.42 } + ], + "translate": [ + { "time": 0, "x": -6.94, "y": 5.85, "curve": "stepped" }, + { "time": 1, "x": -6.94, "y": 5.85 } + ] + }, + "forearm1": { + "rotate": [ + { "time": 0, "angle": 25.38 }, + { "time": 0.5, "angle": 32.07 }, + { "time": 1, "angle": 25.38 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 18.6 }, + { "time": 0.5, "angle": 26.15 }, + { "time": 1, "angle": 18.6 } + ], + "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": -2.75, "y": 0, "curve": "stepped" }, + { "time": 1, "x": -2.75, "y": 0 } + ] + }, + "thigh1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -0.92, "y": 6.67, "curve": "stepped" }, + { "time": 1, "x": -0.92, "y": 6.67 } + ] + }, + "foot1": { + "rotate": [ + { "time": 0, "angle": 270.13, "curve": "stepped" }, + { "time": 1, "angle": 270.13 } + ], + "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": -13.39 }, + { "time": 0.5, "angle": -17.28 }, + { "time": 1, "angle": -13.39 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "hand1": { + "rotate": [ + { "time": 0, "angle": -9.29 }, + { "time": 0.5, "angle": -1.97 }, + { "time": 1, "angle": -9.29 } + ], + "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": -4.92, "curve": "stepped" }, + { "time": 1, "x": 0, "y": -4.92 } + ] + }, + "L_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -12.22, "curve": "stepped" }, + { "time": 1, "x": 0, "y": -12.22 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 8, + "vertices": [ -0.16332, -0.55322, 0.56806, -2.69373, 1.7576, 3.93866, -1.93256, 0.76876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.97894, 1.32548, -0.70127, 3.17347, 0, 0, -0.70127, 3.17347, -0.70127, 3.17347, -1.97894, 1.32548, -1.97894, 1.32548, -1.93256, 0.76876, -0.70127, 3.17347 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ] + } + ] + }, + "eyes": { + "eyes": [ + { + "time": 0, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ 6.76959, 1.0625, 13.34377, 0.58218, 15.22793, 0.76399, 17.05128, -0.4145, 16.40394, -0.50793, 15.22793, 0.76399, 13.34377, 0.58218, 6.12215, 0.96937 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ] + } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 9.63887, 1.16067, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.70107, 0.2722, 4.49131, 0.19014, 7.32128, 0.18938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.79455, 0.42605, 15.34018, 0.39919, 6.02913, 0.32602, 6.02913, 0.32602, 9.14706, 1.88179 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ 1.3394, -2.09791, 0.11259, -3.18363, 3.04376, 1.23967, -0.0392, 0.77838, -0.0392, 0.77838, 3.04376, 1.23967, -0.01004, -0.95502, -0.04585, 0.86382 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ] + } + ] + }, + "mouth": { + "mouth": [ + { + "time": 0, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ 9.24916, -1.34519, 17.81878, -0.49758, 17.68489, -0.5169, 9.1152, -1.36451 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ] + } + ] + } + } + } + }, + "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 } + ] + } + } + }, + "Headturn": { + "bones": { + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 0.46 }, + { "time": 0.5, "angle": 358.79 }, + { "time": 1, "angle": 0.46 }, + { "time": 1.5, "angle": 358.79 }, + { "time": 2, "angle": 0.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.5, "x": -3.12, "y": 8.02 }, + { "time": 1, "x": 0, "y": 0 }, + { "time": 1.5, "x": -3.12, "y": 8.02 }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 1.66 }, + { "time": 1, "angle": 0 }, + { "time": 1.5, "angle": 1.66 }, + { "time": 2, "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, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "x": 0, + "y": -3.7, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": -4.18 }, + { "time": 0.5, "angle": -8.25 }, + { "time": 1, "angle": -4.18 }, + { "time": 1.5, "angle": -8.25 }, + { "time": 2, "angle": -4.18 } + ], + "translate": [ + { + "time": 0, + "x": -1.06, + "y": 0, + "curve": [ 0.382, 0.57, 0.735, 1 ] + }, + { + "time": 0.1, + "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, + "curve": [ 0.382, 0.57, 0.735, 1 ] + }, + { + "time": 1.1, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.6666, + "x": -3.74, + "y": 0, + "curve": [ 0.243, 0, 0.648, 0.6 ] + }, + { "time": 2, "x": -1.06, "y": 0 } + ], + "flipX": [ + { "time": 0.1, "x": true }, + { "time": 1.1 } + ] + }, + "Hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": -2.92, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "x": -3.18, + "y": -4.03, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "x": 0, + "y": -2.92, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "x": -3.18, + "y": -4.03, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2, "x": 0, "y": -2.92 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.4333, + "angle": -4.83, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1, "angle": 0 }, + { + "time": 1.4333, + "angle": -4.83, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2, "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, + "curve": [ 0.3, 0.21, 0.755, 1 ] + }, + { + "time": 1.4333, + "x": -1.41, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.9333, "x": 0, "y": 0 }, + { "time": 2, "x": -0.09, "y": 0 } + ] + }, + "L_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -7.15, "y": 0, "curve": "stepped" }, + { "time": 1, "x": -7.15, "y": 0, "curve": "stepped" }, + { "time": 2, "x": -7.15, "y": 0 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 5.94, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 5.94, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 5.94, "y": 0 } + ] + }, + "upperarm1": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": -15.4, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { + "time": 1, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "angle": -15.4, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "x": 1.84, + "y": -5, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { + "time": 1, + "x": 0, + "y": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "x": 1.84, + "y": -5, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "forearm1": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": 9.63, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { + "time": 1, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "angle": 9.63, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 13.63 }, + { "time": 1, "angle": 0 }, + { "time": 1.5, "angle": 13.63 }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "thigh2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "thigh1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "foot1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "foot2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "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, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "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 }, + { "time": 0.5, "angle": -8.65 }, + { "time": 1, "angle": 0 }, + { "time": 1.5, "angle": -8.65 }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "hand1": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": 12.36, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { + "time": 1, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "angle": 12.36, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "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, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "shin2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "shin1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "R_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "L_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0, "curve": "stepped" }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "bone2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3, "angle": 2.36 }, + { "time": 1, "angle": 0 }, + { "time": 1.2333, "angle": 3.15 }, + { "time": 1.6666, "angle": 2.36 }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.267, 0, 0.617, 0.42 ] + }, + { + "time": 0.1, + "x": -9.72, + "y": -17.7, + "curve": [ 0.327, 0.31, 0.694, 0.75 ] + }, + { "time": 0.3, "x": -0.72, "y": -0.78 }, + { + "time": 1, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.1, + "x": -9.72, + "y": -17.7, + "curve": [ 0.327, 0.31, 0.694, 0.75 ] + }, + { "time": 1.2333, "x": -1.23, "y": 2.05 }, + { "time": 1.6666, "x": -0.72, "y": -0.78 }, + { "time": 2, "x": 0, "y": 0 } + ] + }, + "hair01": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3, "angle": 5.81 }, + { "time": 1, "angle": 0 }, + { "time": 1.2333, "angle": 7.75 }, + { "time": 1.6666, "angle": 5.81 }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.267, 0, 0.617, 0.42 ] + }, + { + "time": 0.1, + "x": -8.31, + "y": -9.93, + "curve": [ 0.327, 0.31, 0.694, 0.75 ] + }, + { "time": 0.3, "x": 0.74, "y": -1.41 }, + { + "time": 1, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.1, + "x": -8.31, + "y": -9.93, + "curve": [ 0.327, 0.31, 0.694, 0.75 ] + }, + { "time": 1.2333, "x": -1.23, "y": 2.05 }, + { "time": 1.6666, "x": 0.74, "y": -1.41 }, + { "time": 2, "x": 0, "y": 0 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 12, + "vertices": [ -0.75588, -3.68987, -1.01898, -2.97404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.01898, -2.97404, -0.75588, -3.68987, 0, 0, -0.75588, -3.68987, -0.75588, -3.68987, -1.01898, -2.97404, -1.01898, -2.97404, -1.01898, -2.97404, -0.75588, -3.68987 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "offset": 12, + "vertices": [ -0.75588, -3.68987, -1.01898, -2.97404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.01898, -2.97404, -0.75588, -3.68987, 0, 0, -0.75588, -3.68987, -0.75588, -3.68987, -1.01898, -2.97404, -1.01898, -2.97404, -1.01898, -2.97404, -0.75588, -3.68987 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2 } + ] + }, + "eyes": { + "eyes": [ + { + "time": 0, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 0.1, + "vertices": [ -8.40292, -7.08714, -21.63906, -8.70873, -16.35853, -9.80266, -11.15096, -9.57028, -11.74201, -9.65558, -16.35853, -9.80266, -21.63906, -8.70873, -8.99406, -7.17216 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 0.2666, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ], + "curve": "stepped" + }, + { + "time": 1, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 1.1, + "vertices": [ -8.40292, -7.08714, -21.63906, -8.70873, -16.35853, -9.80266, -11.15096, -9.57028, -11.74201, -9.65558, -16.35853, -9.80266, -21.63906, -8.70873, -8.99406, -7.17216 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 1.2666, + "vertices": [ 6.76959, 1.0625, 13.34377, 0.58218, 15.22793, 0.76399, 17.05128, -0.4145, 16.40394, -0.50793, 15.22793, 0.76399, 13.34377, 0.58218, 6.12215, 0.96937 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 2, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ] + } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 0.1, + "vertices": [ -28.25412, 0.58982, -28.29793, -0.84899, -23.08535, 11.20282, -23.74395, 9.72906, -8.09434, -0.22933, -8.07305, 0.62722, -1.79152, -1.05691, -4.34674, -10.72724, -8.58518, 8.46599, -10.54066, -12.01433, -1.83619, -10.84666, 7.20287, 0.91037, 1.98415, -7.80763, 1.87615, -7.83395, -9.83709, -4.16848, -9.94567, -3.80404, -40.81721, -6.35028, -41.13319, -3.49778, -40.97641, -5.18957, -41.84467, -1.62019, -41.73162, -3.60775, -15.38477, -8.74435, -14.91351, -13.12095, -5.60618, -6.39686, -2.93006, -1.39324, -3.06073, -1.07583, -2.98713, -1.26605, 0, 0, 0, 0, 0, 0, 0, 0, -18.34148, -11.65996, -10.8627, -12.31053, -18.14909, -6.56942, -15.89555, -8.6677, -7.0425, -15.2486 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 0.2666, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ], + "curve": "stepped" + }, + { + "time": 1, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 1.1, + "vertices": [ -28.25412, 0.58982, -28.29793, -0.84899, -23.08535, 11.20282, -23.74395, 9.72906, -8.09434, -0.22933, -8.07305, 0.62722, -1.79152, -1.05691, -4.34674, -10.72724, -8.58518, 8.46599, -10.54066, -12.01433, -1.83619, -10.84666, 7.20287, 0.91037, 1.98415, -7.80763, 1.87615, -7.83395, -9.83709, -4.16848, -9.94567, -3.80404, -40.81721, -6.35028, -41.13319, -3.49778, -40.97641, -5.18957, -41.84467, -1.62019, -41.73162, -3.60775, -15.50945, -1.09533, -15.03819, -5.47194, -5.60618, -6.39686, -2.93006, -1.39324, -3.06073, -1.07583, -2.98713, -1.26605, 0, 0, 0, 0, 0, 0, 0, 0, -18.46617, -4.01094, -10.8627, -12.31053, -18.14909, -6.56942, -15.89555, -8.6677, -7.0425, -15.2486 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 1.2666, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 9.63887, 1.16067, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.70107, 0.2722, 4.49131, 0.19014, 7.32128, 0.18938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.79455, 0.42605, 15.34018, 0.39919, 6.02913, 0.32602, 6.02913, 0.32602, 9.14706, 1.88179 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 2, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ -1.38829, 0.54368, 0.15339, -6.90906, -1.2541, -4.50875, -1.22914, -1.35892, -1.22923, -1.35754, -1.25381, -4.47607, -0.06353, -5.18391, -0.43386, 3.45035 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.5, + "vertices": [ -1.38829, 0.54368, 0.15339, -6.90906, -1.2541, -4.50875, -1.22914, -1.35892, -1.22923, -1.35754, -1.25381, -4.47607, -0.06353, -5.18391, -0.43386, 3.45035 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 2 } + ] + }, + "mouth": { + "mouth": [ + { + "time": 0, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 0.1, + "vertices": [ -19.44883, -10.36464, -11.62435, -9.59073, -11.7466, -9.60837, -19.57114, -10.38228 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 0.2666, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ], + "curve": "stepped" + }, + { + "time": 1, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ], + "curve": [ 0.12, 0.43, 0.75, 1 ] + }, + { + "time": 1.1, + "vertices": [ -19.44883, -10.36464, -11.62435, -9.59073, -11.7466, -9.60837, -19.57114, -10.38228 ], + "curve": [ 0.103, 0.39, 0.75, 1 ] + }, + { + "time": 1.2666, + "vertices": [ 9.24916, -1.34519, 17.81878, -0.49758, 17.68489, -0.5169, 9.1152, -1.36451 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 2, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ] + } + ] + } + } + } + }, + "Idle": { + "bones": { + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 0.46 }, + { "time": 0.5, "angle": 358.79 }, + { "time": 1, "angle": 0.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.5, "x": -3.12, "y": 8.02 }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 1.66 }, + { "time": 1, "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": -4.18 }, + { "time": 0.5, "angle": -8.25 }, + { "time": 1, "angle": -4.18 } + ], + "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": -2.92, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "x": -3.18, + "y": -4.03, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1, "x": 0, "y": -2.92 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.4333, + "angle": -4.83, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1, "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, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -7.15, "y": 0, "curve": "stepped" }, + { "time": 1, "x": -7.15, "y": 0 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 5.94, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 5.94, "y": 0 } + ] + }, + "upperarm1": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": -15.4, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "x": 1.84, + "y": -5, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "forearm1": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": 9.63, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": 13.63 }, + { "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 } + ] + }, + "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 } + ], + "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, "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 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "hand2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.5, "angle": -8.65 }, + { "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": [ 0.404, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "angle": 12.36, + "curve": [ 0.516, 0, 0.75, 1 ] + }, + { "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 } + ], + "translate": [ + { "time": 0, "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 } + ] + }, + "bone2": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4666, "angle": 3.15 }, + { "time": 0.6666, "angle": 2.36 }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4666, "x": -1.23, "y": 2.05 }, + { "time": 0.6666, "x": -0.72, "y": -0.78 }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "hair01": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4666, "angle": 7.75 }, + { "time": 0.6666, "angle": 5.81 }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4666, "x": -1.23, "y": 2.05 }, + { "time": 0.6666, "x": 0.74, "y": -1.41 }, + { "time": 1, "x": 0, "y": 0 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 12, + "vertices": [ -0.75588, -3.68987, -1.01898, -2.97404, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.01898, -2.97404, -0.75588, -3.68987, 0, 0, -0.75588, -3.68987, -0.75588, -3.68987, -1.01898, -2.97404, -1.01898, -2.97404, -1.01898, -2.97404, -0.75588, -3.68987 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1 } + ] + }, + "eyes": { + "eyes": [ + { + "time": 0, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ 6.76959, 1.0625, 13.34377, 0.58218, 15.22793, 0.76399, 17.05128, -0.4145, 16.40394, -0.50793, 15.22793, 0.76399, 13.34377, 0.58218, 6.12215, 0.96937 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "vertices": [ 3.86398, 0.60645, 7.61641, 0.3323, 8.69186, 0.43607, 9.7326, -0.23659, 9.36311, -0.28992, 8.69186, 0.43607, 7.61641, 0.3323, 3.49443, 0.5533 ] + } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 9.63887, 1.16067, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.70107, 0.2722, 4.49131, 0.19014, 7.32128, 0.18938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.79455, 0.42605, 15.34018, 0.39919, 6.02913, 0.32602, 6.02913, 0.32602, 9.14706, 1.88179 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "offset": 12, + "vertices": [ 1.38039, 0.05841, 0.93076, 0.03946, 0.64284, 0.78767, 2.71751, 0.88434, 1.23665, 0.42568, -1.58743, -0.06731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.67878, 0.15537, 2.56357, 0.10853, 4.17887, 0.10809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6648, 0.46503, 8.75593, 0.22785, 1.49082, -0.0922, 1.49082, -0.0922, 5.221, 1.07409 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ -1.38829, 0.54368, 0.15339, -6.90906, -1.2541, -4.50875, -1.22914, -1.35892, -1.22923, -1.35754, -1.25381, -4.47607, -0.06353, -5.18391, -0.43386, 3.45035 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1 } + ] + }, + "mouth": { + "mouth": [ + { + "time": 0, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "vertices": [ 9.24916, -1.34519, 17.81878, -0.49758, 17.68489, -0.5169, 9.1152, -1.36451 ], + "curve": [ 0.587, -0.02, 0.75, 1 ] + }, + { + "time": 1, + "vertices": [ 5.27927, -0.76781, 10.17068, -0.28401, 10.09426, -0.29504, 5.20281, -0.77884 ] + } + ] + } + } + } + }, + "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": { + "upperarm1": { + "rotate": [ + { "time": 0, "angle": -40.45 }, + { "time": 0.044, "angle": -34.97 }, + { "time": 0.0881, "angle": 1.79 }, + { "time": 0.1322, "angle": 42.58 }, + { "time": 0.3117, "angle": -282.55 }, + { "time": 0.3525, "angle": 48.21 }, + { "time": 0.3966, "angle": 26.17 }, + { "time": 0.4407, "angle": -22.81 }, + { "time": 0.5333, "angle": -40.45 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.044, "x": 1.33, "y": 0.56 }, + { "time": 0.1762, "x": -2.74, "y": -5.58 }, + { "time": 0.3117, "x": -3.1, "y": -2.45 }, + { "time": 0.4407, "x": -0.75, "y": 4.05 }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "forearm1": { + "rotate": [ + { "time": 0, "angle": 27.41 }, + { "time": 0.044, "angle": 21.5 }, + { "time": 0.0881, "angle": 16.71 }, + { "time": 0.1322, "angle": 30.61 }, + { "time": 0.3117, "angle": 38.33 }, + { "time": 0.3525, "angle": 37.81 }, + { "time": 0.3966, "angle": 16.47 }, + { "time": 0.4407, "angle": 17.71 }, + { "time": 0.5333, "angle": 27.41 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "hand1": { + "rotate": [ + { "time": 0, "angle": -20.19 }, + { "time": 0.044, "angle": -24.82 }, + { "time": 0.1762, "angle": -14.29 }, + { "time": 0.3525, "angle": 21.84 }, + { "time": 0.3966, "angle": 9.46 }, + { "time": 0.4407, "angle": 12.08 }, + { "time": 0.5333, "angle": -20.19 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "L_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 49.53, "y": 0.28 }, + { "time": 0.044, "x": 39.66, "y": 0.28 }, + { "time": 0.0881, "x": -3.63, "y": 0.28 }, + { "time": 0.1322, "x": -10.76, "y": 0.28 }, + { "time": 0.1762, "x": -16.65, "y": 22.66 }, + { "time": 0.2203, "x": -10, "y": 27.64 }, + { "time": 0.2666, "x": -11.26, "y": 17.21 }, + { "time": 0.3117, "x": 12.41, "y": 8.33 }, + { "time": 0.3525, "x": 37.47, "y": 7.86 }, + { "time": 0.3966, "x": 52.33, "y": 6.09 }, + { "time": 0.4407, "x": 68.69, "y": 20 }, + { "time": 0.4848, "x": 68.69, "y": 8.54 }, + { "time": 0.5333, "x": 49.53, "y": 0.28 } + ] + }, + "foot1": { + "rotate": [ + { "time": 0, "angle": 20.27 }, + { "time": 0.044, "angle": -0.6 }, + { "time": 0.1322, "angle": -31.14 }, + { "time": 0.1762, "angle": 262.34 }, + { "time": 0.2203, "angle": -71.2 }, + { "time": 0.2666, "angle": -84.95 }, + { "time": 0.3117, "angle": -63.21 }, + { "time": 0.3525, "angle": -8.37 }, + { "time": 0.3966, "angle": -18.33 }, + { "time": 0.4407, "angle": 34.08 }, + { "time": 0.5333, "angle": 20.27 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -58.44, "y": 26.3 }, + { "time": 0.044, "x": -42, "y": 21.37 }, + { "time": 0.0881, "x": -5.28, "y": 9.86 }, + { "time": 0.1322, "x": 11.16, "y": 12.05 }, + { "time": 0.1762, "x": 19.38, "y": 26.85 }, + { "time": 0.2203, "x": 23.89, "y": 17.18 }, + { "time": 0.2666, "x": 21.52, "y": 0.14 }, + { "time": 0.3117, "x": -19.32, "y": 0.14 }, + { "time": 0.3525, "x": -53.26, "y": -0.02 }, + { "time": 0.3966, "x": -65.63, "y": 6.74 }, + { "time": 0.4407, "x": -75.71, "y": 39.77 }, + { "time": 0.5333, "x": -58.44, "y": 26.3 } + ] + }, + "foot2": { + "rotate": [ + { "time": 0, "angle": 262.95 }, + { "time": 0.0881, "angle": -74.33 }, + { "time": 0.1322, "angle": -4.26 }, + { "time": 0.1762, "angle": 13.38 }, + { "time": 0.2203, "angle": 28.95 }, + { "time": 0.2666, "angle": 35.05 }, + { "time": 0.3117, "angle": 7.53 }, + { "time": 0.3525, "angle": -31.42 }, + { "time": 0.4407, "angle": 260.06 }, + { "time": 0.5333, "angle": 262.95 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "Hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -7.82 }, + { "time": 0.044, "x": 1.64, "y": -12.3 }, + { + "time": 0.0881, + "x": 1.64, + "y": -10.65, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.1762, "x": 1.64, "y": 9.54 }, + { "time": 0.2203, "x": 1.64, "y": -0.52 }, + { "time": 0.2666, "x": 0, "y": -7.82 }, + { "time": 0.3117, "x": 0, "y": -9.59 }, + { + "time": 0.3525, + "x": 0, + "y": -8.91, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4407, "x": 0, "y": 6.35 }, + { "time": 0.4848, "x": 1.64, "y": -0.52 }, + { "time": 0.5333, "x": 0, "y": -7.82 } + ] + }, + "L_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1762, "x": -1.45, "y": 9.68 }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "R_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { "time": 0, "angle": -11.15 }, + { "time": 0.044, "angle": -16.76 }, + { "time": 0.1762, "angle": -8.61 }, + { "time": 0.3117, "angle": -20.17 }, + { "time": 0.4407, "angle": -8.61 }, + { "time": 0.5333, "angle": -11.15 } + ], + "translate": [ + { "time": 0, "x": 3.36, "y": -2.52 }, + { "time": 0.044, "x": 4.98, "y": 0.87 }, + { "time": 0.1762, "x": 2.6, "y": 4.02 }, + { "time": 0.3117, "x": 5.73, "y": 0.46 }, + { "time": 0.4407, "x": 2.7, "y": 5.1 }, + { "time": 0.5333, "x": 3.36, "y": -2.52 } + ] + }, + "thigh1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 6.02, "y": 0 }, + { "time": 0.1322, "x": -3.58, "y": 1.43 }, + { "time": 0.1762, "x": 0.23, "y": 2.72 }, + { "time": 0.2666, "x": 6.13, "y": -0.59 }, + { "time": 0.3305, "x": 8.81, "y": 5.77 }, + { "time": 0.3966, "x": 31, "y": 0.35 }, + { "time": 0.4848, "x": 22.13, "y": 0.17 }, + { "time": 0.5333, "x": 6.02, "y": 0 } + ] + }, + "thigh2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -8.31, "y": -2.37 }, + { "time": 0.1322, "x": -3.93, "y": -2.37 }, + { "time": 0.2666, "x": 3.22, "y": -1.52 }, + { "time": 0.3525, "x": -18.12, "y": 0.17 }, + { "time": 0.3966, "x": -28.38, "y": 0.17 }, + { "time": 0.5333, "x": -8.31, "y": -2.37 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 8.08 }, + { + "time": 0.044, + "angle": 1.34, + "curve": [ 0.25, 0, 0.851, 0.81 ] + }, + { "time": 0.1762, "angle": 6.45 }, + { "time": 0.2666, "angle": 10.37 }, + { + "time": 0.3117, + "angle": 3.57, + "curve": [ 0.25, 0, 0.842, 0.77 ] + }, + { "time": 0.4407, "angle": 7.81 }, + { "time": 0.5333, "angle": 8.08 } + ], + "translate": [ + { "time": 0, "x": 2.87, "y": 0.23 }, + { "time": 0.044, "x": -3.5, "y": -1.82 }, + { "time": 0.1762, "x": 4.6, "y": 0.76 }, + { "time": 0.2666, "x": 1.55, "y": -6.16 }, + { "time": 0.3117, "x": -7.07, "y": -8.66 }, + { "time": 0.4407, "x": 7.03, "y": 0.05 }, + { "time": 0.5333, "x": 2.87, "y": 0.23 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.044, "angle": -2.17 }, + { "time": 0.2666, "angle": 2.9 }, + { "time": 0.3117, "angle": -0.95 }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.044, "x": -2.6, "y": -0.65 }, + { "time": 0.2666, "x": 1.39, "y": -0.59 }, + { "time": 0.3117, "x": -2.6, "y": -0.65 }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "shin1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "shin2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 30.8 }, + { "time": 0.044, "angle": 38.3 }, + { "time": 0.1322, "angle": 5.43 }, + { + "time": 0.2203, + "angle": 334.6, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.3117, "angle": 328.38 }, + { "time": 0.4407, "angle": 21.28 }, + { "time": 0.5333, "angle": 30.8 } + ], + "translate": [ + { "time": 0, "x": -5.33, "y": -1.55 }, + { "time": 0.1762, "x": -6.43, "y": 2.12 }, + { "time": 0.5333, "x": -5.33, "y": -1.55 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 35.89 }, + { "time": 0.0881, "angle": 25.71 }, + { "time": 0.1762, "angle": 29.3 }, + { + "time": 0.2203, + "angle": 34.63, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.3117, "angle": 38.94 }, + { "time": 0.4407, "angle": 30.09 }, + { "time": 0.5333, "angle": 35.89 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "hand2": { + "rotate": [ + { "time": 0, "angle": 8.06 }, + { "time": 0.044, "angle": 12.45 }, + { "time": 0.1762, "angle": 33.85 }, + { "time": 0.4407, "angle": 22.92 }, + { "time": 0.5333, "angle": 8.06 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "weapon": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.5333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5333, "x": 0, "y": 0 } + ] + }, + "hair01": { + "rotate": [ + { "time": 0, "angle": 44.04 }, + { + "time": 0.044, + "angle": 14.22, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.1322, + "angle": 5.9, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.2203, "angle": 31.54 }, + { "time": 0.2666, "angle": 44.04 }, + { + "time": 0.3117, + "angle": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3966, + "angle": 5.9, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4848, "angle": 31.54 }, + { "time": 0.5333, "angle": 44.04 } + ], + "translate": [ + { "time": 0, "x": 2.04, "y": 5.53 }, + { + "time": 0.044, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.0881, "x": 0.4, "y": -10.84 }, + { + "time": 0.1322, + "x": 4.4, + "y": -15.87, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.2203, "x": 5.94, "y": -2.12 }, + { "time": 0.2666, "x": 2.04, "y": 5.53 }, + { + "time": 0.3117, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.3525, "x": 0.4, "y": -10.84 }, + { + "time": 0.3966, + "x": 4.4, + "y": -15.87, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4848, "x": 5.94, "y": -2.12 }, + { "time": 0.5333, "x": 2.04, "y": 5.53 } + ] + }, + "bone2": { + "rotate": [ + { "time": 0, "angle": 16.31 }, + { + "time": 0.044, + "angle": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.0881, "angle": -10.16 }, + { + "time": 0.1322, + "angle": -14.57, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.2203, "angle": 9.83 }, + { "time": 0.2666, "angle": 16.31 }, + { + "time": 0.3117, + "angle": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.3525, "angle": -10.16 }, + { + "time": 0.3966, + "angle": -14.57, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4848, "angle": 9.83 }, + { "time": 0.5333, "angle": 16.31 } + ], + "translate": [ + { "time": 0, "x": -13.75, "y": 7.39 }, + { + "time": 0.044, + "x": 0, + "y": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.0881, "x": 3.58, "y": -1.15 }, + { + "time": 0.1322, + "x": 8.09, + "y": -5.71, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.2203, "x": -8.02, "y": 1.86 }, + { "time": 0.2666, "x": -13.75, "y": 7.39 }, + { + "time": 0.3117, + "x": -9.98, + "y": 3.28, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.3525, "x": 3.58, "y": -1.15 }, + { + "time": 0.3966, + "x": 8.09, + "y": -5.71, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4848, "x": -8.02, "y": 1.86 }, + { "time": 0.5333, "x": -13.75, "y": 7.39 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.2666, + "offset": 8, + "vertices": [ -0.5755, -1.94941, 2.00167, -9.49192, -0.33624, -11.77181, -6.3903, -8.66438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.3903, -8.66438, -0.33624, -11.77181, 0, 0, -0.33624, -11.77181, -0.33624, -11.77181, -6.3903, -8.66438, -6.3903, -8.66438, -6.3903, -8.66438, -0.33624, -11.77181 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ] + } + ] + }, + "eyes": { + "eyes": [ + { "time": 0 }, + { + "time": 0.2666, + "vertices": [ 6.76959, 1.0625, 15.002, 0.58575, 19.83156, 0.77389, 23.31313, -0.40103, 22.66579, -0.49446, 19.83156, 0.77389, 15.002, 0.58575, 6.12215, 0.96937 ] + }, + { "time": 0.5333 } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -4.54435, -0.64837, -4.54435, -0.64837 ], + "curve": [ 0.227, 0.34, 0.572, 0.68 ] + }, + { + "time": 0.044, + "offset": 12, + "vertices": [ 0.99863, 0.04226, 0.67335, 0.02855, 3.60092, -3.67205, 5.49033, -3.41875, 0.89464, 0.30795, -1.14841, -0.04869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.66312, 0.11272, 1.85459, 0.07851, 1.85459, 0.07852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.13307, 0.30453, 5.89205, 0.17003, -0.17825, -0.24601, -0.17825, -0.24601 ], + "curve": [ 0.26, 0.38, 0.621, 0.72 ] + }, + { + "time": 0.1333, + "offset": 12, + "vertices": [ 2.08863, 0.08839, 1.40831, 0.05971, 1.70105, 0.20652, 12.73297, 0.17214, 1.87114, 0.64409, -2.40191, -0.10184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.87897, -4.35248, 3.87887, 0.16421, 3.87887, 0.16422, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.80191, 0.07277, 12.32319, 0.35562, 4.58732, 0.19315, 4.58732, 0.19315, 3.41206, -0.09185 ], + "curve": [ 0.332, 0.38, 0.671, 0.71 ] + }, + { + "time": 0.1762, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 14.92421, 1.25856, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.87107, 0.27299, 4.49131, 0.19014, 4.49131, 0.19015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.90007, 0.00265, 14.26891, 0.41177, 6.02913, 0.32602, 6.02913, 0.32602, 4.44437, -0.11964 ], + "curve": [ 0.39, 0.63, 0.753, 1 ] + }, + { + "time": 0.2666, + "offset": 12, + "vertices": [ 2.79754, 0.11839, 1.8863, 0.07998, 0, 0, 16.97794, -0.22148, 2.50623, 0.8627, -3.21714, -0.13641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.97683, -2.44119, 5.1954, 0.21995, 5.1954, 0.21997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.31223, -0.07795, 16.50582, 0.47633, 7.68671, 0.47877, 10.35957, 0.20314, 8.39172, 0.32814 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3117, + "offset": 12, + "vertices": [ 0.99863, 0.04226, 0.67335, 0.02855, 3.60092, -3.67205, 5.49033, -3.41875, 0.89464, 0.30795, -1.14841, -0.04869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.66312, 0.11272, 1.85459, 0.07851, 1.85459, 0.07852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.13307, 0.30453, 7.33679, 0.50061, -0.17825, -0.24601, -0.17825, -0.24601, 4.81586, 1.10192 ], + "curve": [ 0.248, 0.42, 0.642, 0.77 ] + }, + { + "time": 0.5333, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -4.54435, -0.64837, -4.54435, -0.64837 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.2666, + "vertices": [ 4.71967, -7.39242, 1.11851, -17.07923, 2.82788, -9.03922, -0.48089, -3.11594, -0.48089, -3.11594, 2.82788, -9.03922, 0.68636, -9.22625, -0.16158, 3.04387 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ] + } + ] + }, + "mouth": { + "mouth": [ + { "time": 0 }, + { + "time": 0.2666, + "vertices": [ 9.24916, -1.34519, 25.71696, -0.4806, 25.58307, -0.49992, 9.1152, -1.36451 ] + }, + { "time": 0.5333 } + ] + }, + "weapon": { + "sword": [ + { + "time": 0, + "vertices": [ -7.49269, -16.91794, 6.38517, 0.02189, 6.38517, 0.02189, -7.60862, 16.86521 ] + }, + { + "time": 0.2666, + "vertices": [ 8.41458, 4.30094, 0, 0, 0, 0, 8.4439, -4.24281 ] + }, + { + "time": 0.5333, + "vertices": [ -7.49269, -16.91794, 6.38517, 0.02189, 6.38517, 0.02189, -7.60862, 16.86521 ] + } + ] + } + } + }, + "events": [ + { "time": 0.2666, "name": "Footstep" }, + { "time": 0.5333, "name": "Footstep" } + ] + }, + "Walk": { + "bones": { + "L_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 68.76, "y": 0 }, + { "time": 0.1333, "x": 57.43, "y": 0 }, + { "time": 0.2666, "x": 41.05, "y": 0 }, + { "time": 0.4, "x": 21.33, "y": 0 }, + { "time": 0.5333, "x": 5.89, "y": 0 }, + { "time": 0.6666, "x": 4.91, "y": 0 }, + { "time": 0.8, "x": 5.89, "y": 10.31 }, + { "time": 0.9333, "x": 44.68, "y": 10.8 }, + { "time": 1.0666, "x": 68.76, "y": 0 } + ] + }, + "thigh1": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 24.92, "y": 0 }, + { "time": 0.2666, "x": 22.2, "y": 0 }, + { "time": 0.4, "x": 21.75, "y": -1.01 }, + { "time": 0.5333, "x": 21.29, "y": 0 }, + { "time": 0.6666, "x": 16.1, "y": 1 }, + { "time": 0.9333, "x": 21.7, "y": -3.92 }, + { "time": 1.0666, "x": 24.92, "y": 0 } + ] + }, + "Hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -7.39 }, + { "time": 0.1333, "x": 0, "y": -6.32 }, + { "time": 0.2666, "x": 0, "y": -1.44 }, + { "time": 0.3333, "x": 0, "y": 1.49 }, + { "time": 0.4, "x": 0, "y": 0.87 }, + { "time": 0.5333, "x": 0, "y": -9.59 }, + { "time": 0.6666, "x": 0, "y": -8.44 }, + { "time": 0.8, "x": 0, "y": -1.44 }, + { "time": 0.8666, "x": 0, "y": 1.49 }, + { "time": 0.9333, "x": 0, "y": 0.87 }, + { "time": 1.0666, "x": 0, "y": -7.39 } + ] + }, + "foot1": { + "rotate": [ + { "time": 0, "angle": 17.4 }, + { "time": 0.1333, "angle": -0.28 }, + { "time": 0.4, "angle": -10.63 }, + { "time": 0.5333, "angle": -8.71 }, + { "time": 0.6666, "angle": -24.7 }, + { "time": 0.8, "angle": -43.24 }, + { "time": 0.9333, "angle": -35.2 }, + { "time": 1.0666, "angle": 17.4 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "thigh2": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -25.09, "y": 0 }, + { "time": 0.2, "x": -16.15, "y": -4.51 }, + { "time": 0.4, "x": -9.43, "y": -3.48 }, + { "time": 0.5333, "x": -4.25, "y": -1.41 }, + { "time": 0.6666, "x": -6.64, "y": 0.04 }, + { "time": 0.8, "x": -11.55, "y": -2.12 }, + { "time": 0.9333, "x": -22.84, "y": -3.88 }, + { "time": 1.0666, "x": -25.09, "y": 0 } + ] + }, + "R_Ground": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -53.9, "y": 0 }, + { "time": 0.1333, "x": -55, "y": 2.56 }, + { "time": 0.2666, "x": -56, "y": 14.27 }, + { "time": 0.4, "x": -9.55, "y": 9.63 }, + { "time": 0.5333, "x": 18.47, "y": -0.26 }, + { "time": 0.6666, "x": 6.23, "y": -0.26 }, + { "time": 0.8, "x": -20.75, "y": -0.26 }, + { "time": 0.9333, "x": -36.46, "y": -3.45 }, + { "time": 1.0666, "x": -53.9, "y": 0 } + ] + }, + "foot2": { + "rotate": [ + { "time": 0, "angle": -20 }, + { "time": 0.1333, "angle": -36.58 }, + { "time": 0.2666, "angle": -69.51 }, + { "time": 0.4, "angle": -13.92 }, + { "time": 0.5333, "angle": 33.26 }, + { "time": 0.6666, "angle": 0.41 }, + { "time": 0.9333, "angle": -1.16 }, + { "time": 1.0666, "angle": -20 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "upperarm1": { + "rotate": [ + { "time": 0, "angle": 13.97 }, + { "time": 0.1333, "angle": 2.64 }, + { "time": 0.5333, "angle": -293.8 }, + { "time": 0.6666, "angle": -302.37 }, + { "time": 0.8, "angle": 41.55 }, + { "time": 0.9333, "angle": 14.48 }, + { "time": 1.0666, "angle": 13.97 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": 4.42, "y": 3.57 }, + { "time": 0.5333, "x": -0.22, "y": -4.77 }, + { "time": 0.6666, "x": 0.24, "y": -2.39 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "forearm1": { + "rotate": [ + { "time": 0, "angle": -11.7 }, + { "time": 0.1333, "angle": -5.73 }, + { "time": 0.5333, "angle": 24.76 }, + { + "time": 0.6666, + "angle": 33.27, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.8, "angle": 3.08 }, + { "time": 0.9333, "angle": 5.39 }, + { "time": 1.0666, "angle": -11.7 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "hand1": { + "rotate": [ + { "time": 0, "angle": -19.62 }, + { "time": 0.1333, "angle": -25.06 }, + { "time": 0.2666, "angle": -27.67 }, + { "time": 0.4, "angle": -34.31 }, + { "time": 0.5333, "angle": -24.05 }, + { "time": 0.8, "angle": 16.76 }, + { "time": 0.9333, "angle": 7.44 }, + { "time": 1.0666, "angle": -19.62 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "body": { + "rotate": [ + { "time": 0, "angle": 6.02 }, + { + "time": 0.1333, + "angle": 1.27, + "curve": [ 0.464, 0, 0.75, 1 ] + }, + { "time": 0.3333, "angle": 8.57 }, + { "time": 0.5333, "angle": 4.13 }, + { + "time": 0.6666, + "angle": 1.27, + "curve": [ 0.464, 0, 0.75, 1 ] + }, + { "time": 0.8666, "angle": 7.42 }, + { "time": 1.0666, "angle": 6.02 } + ], + "translate": [ + { "time": 0, "x": 4.41, "y": -1.14 }, + { "time": 0.1333, "x": 10.48, "y": -2.93 }, + { "time": 0.3333, "x": 1.78, "y": 5.09 }, + { "time": 0.5333, "x": 12.04, "y": -2.64 }, + { "time": 0.6666, "x": 10.48, "y": -2.93 }, + { "time": 0.8666, "x": 1.78, "y": 6.43 }, + { "time": 1.0666, "x": 4.41, "y": -0.47 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": -11.7 }, + { "time": 0.1333, "angle": -2.87 }, + { "time": 0.3333, "angle": -10.46 }, + { "time": 0.5333, "angle": -6.46 }, + { "time": 0.6666, "angle": -2.85 }, + { "time": 0.8666, "angle": -8.52 }, + { "time": 1.0666, "angle": -11.7 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": -2.96, "y": -3.42 }, + { "time": 0.3333, "x": 1.04, "y": 0.33 }, + { "time": 0.5333, "x": 0, "y": 0 }, + { "time": 0.6666, "x": -2.96, "y": -3.42 }, + { "time": 0.8666, "x": 1.04, "y": 0.33 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "upperarm2": { + "rotate": [ + { "time": 0, "angle": 349.66 }, + { "time": 0.1333, "angle": 349.79 }, + { "time": 0.2666, "angle": 343.53 }, + { "time": 0.4, "angle": 334.09 }, + { "time": 0.5333, "angle": 327.79 }, + { "time": 0.8, "angle": 338.53 }, + { "time": 0.9333, "angle": 354.68 }, + { "time": 1.0666, "angle": 349.66 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": -0.76, "y": -1.44 }, + { "time": 0.5333, "x": -0.19, "y": 8.7 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "forearm2": { + "rotate": [ + { "time": 0, "angle": 21.04 }, + { "time": 0.1333, "angle": 24.41 }, + { "time": 0.2666, "angle": -0.81 }, + { "time": 0.4, "angle": 23.68 }, + { "time": 0.5333, "angle": 23.61 }, + { "time": 0.6666, "angle": 25.56 }, + { "time": 0.8, "angle": 12.55 }, + { "time": 0.9333, "angle": -0.27 }, + { "time": 1.0666, "angle": 21.04 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "hand2": { + "rotate": [ + { "time": 0, "angle": -12.1 }, + { "time": 0.1333, "angle": -8.87 }, + { "time": 0.2666, "angle": 13.76 }, + { "time": 0.4, "angle": -3.02 }, + { "time": 0.5333, "angle": 11.48 }, + { "time": 0.6666, "angle": 5.24 }, + { "time": 0.8, "angle": 3.93 }, + { "time": 0.9333, "angle": 0.31 }, + { "time": 1.0666, "angle": -12.1 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "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 } + ] + }, + "L_Ankle": { + "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 } + ] + }, + "R_Ankle": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1.0666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -1.35, "curve": "stepped" }, + { "time": 1.0666, "x": 0, "y": -1.35 } + ] + }, + "mantles": { + "rotate": [ + { "time": 0, "angle": -3.56 }, + { "time": 0.3333, "angle": -8.55 }, + { "time": 0.5333, "angle": -6.73 }, + { "time": 0.8666, "angle": -8.55 }, + { "time": 1.0666, "angle": -3.56 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.1333, "x": -1.9, "y": -1.47 }, + { "time": 0.3333, "x": -0.66, "y": -0.2 }, + { "time": 0.6666, "x": -1.9, "y": -1.47 }, + { "time": 0.8666, "x": -0.66, "y": -0.2 }, + { "time": 1.0666, "x": 0, "y": 0 } + ] + }, + "shin1": { + "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 } + ] + }, + "shin2": { + "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 } + ] + }, + "capeRoot": { + "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 } + ] + }, + "weapon": { + "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 } + ] + }, + "LookConstraintGoal": { + "rotate": [ + { "time": 0.9333, "angle": 0 } + ] + }, + "bone2": { + "rotate": [ + { "time": 0, "angle": 1.59 }, + { "time": 0.1333, "angle": 4.43 }, + { "time": 0.2666, "angle": -11.57 }, + { "time": 0.4, "angle": 4.79 }, + { "time": 0.5333, "angle": 1.59 }, + { "time": 0.6666, "angle": 4.43 }, + { "time": 0.8, "angle": -11.57 }, + { "time": 0.9333, "angle": 4.79 }, + { "time": 1.0666, "angle": 1.59 } + ], + "translate": [ + { "time": 0, "x": -1.69, "y": 2.56 }, + { "time": 0.1333, "x": -9.99, "y": 4.3 }, + { "time": 0.2666, "x": -2.46, "y": 3.64 }, + { "time": 0.4, "x": -5.09, "y": 7.68 }, + { "time": 0.5333, "x": -1.69, "y": 2.56 }, + { "time": 0.6666, "x": -9.99, "y": 4.3 }, + { "time": 0.8, "x": -2.46, "y": 3.64 }, + { "time": 0.9333, "x": -5.09, "y": 7.68 }, + { "time": 1.0666, "x": -1.69, "y": 2.56 } + ] + }, + "hair01": { + "rotate": [ + { "time": 0, "angle": 3.12 }, + { "time": 0.1333, "angle": 9.9 }, + { "time": 0.2666, "angle": 1.74 }, + { "time": 0.4, "angle": 9.38 }, + { "time": 0.5333, "angle": 3.12 }, + { "time": 0.6666, "angle": 9.9 }, + { "time": 0.8, "angle": 1.74 }, + { "time": 0.9333, "angle": 9.38 }, + { "time": 1.0666, "angle": 3.12 } + ], + "translate": [ + { "time": 0, "x": -1.38, "y": -0.91 }, + { "time": 0.1333, "x": -0.79, "y": -1.34 }, + { "time": 0.2666, "x": 2.12, "y": -10.12 }, + { "time": 0.4, "x": -4.16, "y": -2.75 }, + { "time": 0.5333, "x": -1.38, "y": -0.91 }, + { "time": 0.6666, "x": -0.79, "y": -1.34 }, + { "time": 0.8, "x": 2.12, "y": -10.12 }, + { "time": 0.9333, "x": -4.16, "y": -2.75 }, + { "time": 1.0666, "x": -1.38, "y": -0.91 } + ] + } + }, + "ffd": { + "default": { + "body": { + "body": [ + { + "time": 0, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "offset": 8, + "vertices": [ -0.5755, -1.94941, 2.00167, -9.49192, -0.33624, -11.77181, -6.3903, -8.66438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.3903, -8.66438, -0.33624, -11.77181, 0, 0, -0.33624, -11.77181, -0.33624, -11.77181, -6.3903, -8.66438, -6.3903, -8.66438, -6.3903, -8.66438, -0.33624, -11.77181 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.0666, + "offset": 12, + "vertices": [ 2.58728, 10.16382, -0.16621, 4.50657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.23097, 5.2839, -0.84591, 9.09544, 0, 0, -0.84591, 9.09544, -0.84591, 9.09544, -0.23097, 5.2839, -0.23097, 5.2839, -0.16621, 4.50657, -0.84591, 9.09544 ] + } + ] + }, + "eyes": { + "eyes": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "vertices": [ 6.76959, 1.0625, 15.002, 0.58575, 19.83156, 0.77389, 23.31313, -0.40103, 22.66579, -0.49446, 19.83156, 0.77389, 15.002, 0.58575, 6.12215, 0.96937 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.0666 } + ] + }, + "head": { + "head": [ + { + "time": 0, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.54038, -0.15547, -4.54038, -0.15547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -11.14854, -0.87455, -8.67198, -0.78973 ], + "curve": [ 0.227, 0.34, 0.572, 0.68 ] + }, + { + "time": 0.5333, + "offset": 12, + "vertices": [ 2.41841, 0.10234, 1.63067, 0.06914, 1.12625, 1.37998, 15.33712, 1.2489, 2.16658, 0.74578, -2.78115, -0.11792, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11.70107, 0.2722, 4.49131, 0.19014, 7.32128, 0.18938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13.07989, 0.52394, 21.03843, 0.48741, 6.02913, 0.32602, 6.02913, 0.32602, 9.14706, 1.88179 ], + "curve": [ 0.39, 0.63, 0.753, 1 ] + }, + { + "time": 1.0666, + "offset": 18, + "vertices": [ -6.48673, 0.51687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.54038, -0.15547, -4.54038, -0.15547, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.48673, 0.51687, 0, 0, -11.14854, -0.87455, -8.67198, -0.78973 ] + } + ] + }, + "mantles": { + "mantles": [ + { + "time": 0, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "vertices": [ 4.71967, -7.39242, 1.11851, -17.07923, 2.82788, -9.03922, -0.48089, -3.11594, -0.48089, -3.11594, 2.82788, -9.03922, 0.68636, -9.22625, -0.16158, 3.04387 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1.0666, + "offset": 2, + "vertices": [ -0.28599, 2.32239, 3.1293, 5.3126, 0.13581, 2.32148, 0.13581, 2.32148, 3.1293, 5.3126, -0.28599, 2.32239 ] + } + ] + }, + "mouth": { + "mouth": [ + { + "time": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5333, + "vertices": [ 9.24916, -1.34519, 25.71696, -0.4806, 25.58307, -0.49992, 9.1152, -1.36451 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.0666 } + ] + }, + "weapon": { + "sword": [ + { + "time": 0, + "vertices": [ 0.02426, -7.08119, 0, 0, 0, 0, -0.0243, 7.08133 ] + }, + { "time": 0.5333 }, + { + "time": 1.0666, + "vertices": [ 0.02426, -7.08119, 0, 0, 0, 0, -0.0243, 7.08133 ] + } + ] + } + } + }, + "events": [ + { "time": 0.5333, "name": "Footstep" }, + { "time": 1.0666, "name": "Footstep" } + ] + } +} +} \ No newline at end of file diff --git a/spine-tk2d/Assets/spine-csharp/Place spine-csharp src here.txt.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json.meta similarity index 58% rename from spine-tk2d/Assets/spine-csharp/Place spine-csharp src here.txt.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json.meta index f9ee3e6ef..762549a18 100644 --- a/spine-tk2d/Assets/spine-csharp/Place spine-csharp src here.txt.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.json.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 796664cab7a50f94d92f55ed41f7f5b1 +guid: 1d300d9a4480c99409d838b49f344f7a TextScriptImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png new file mode 100644 index 000000000..1a53b5d81 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png differ diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta similarity index 96% rename from spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta index 53d54547b..171050e85 100644 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero.png.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh.png.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a34fffda3f6321b4288a172798648ba3 +guid: 8d970daea81f33648ae2d84ab59c88d4 TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset similarity index 93% rename from spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset index 23e4c11af..9d82fa71f 100644 Binary files a/spine-unity/Assets/Examples/Spine/Hero/Hero_Atlas.asset and b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset.meta similarity index 58% rename from spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset.meta index d04510ff6..e7d3c3ad3 100644 --- a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/GoblinsAtlas.prefab.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Atlas.asset.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 31c989bbbeeeab24e99b68ac7975d2b8 +guid: 54d41b08afeefd44292ae69c4a235aa9 NativeFormatImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat similarity index 93% rename from spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat index 117459e8f..a4b4b8ec2 100644 Binary files a/spine-unity/Assets/Examples/Spine/Hero/Hero_Material.mat and b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat.meta similarity index 58% rename from spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat.meta index d30a0f6fe..85debf0be 100644 --- a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data/atlas0 material.mat.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_Material.mat.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 0b38b0b706d87b04ab4621c37c7d5019 +guid: b04b8c6e4c57e78449f243c27617a2cd NativeFormatImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset similarity index 83% rename from spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset index a58b793c1..98307d644 100644 Binary files a/spine-unity/Assets/Examples/Spine/Hero/Hero_SkeletonData.asset and b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset differ diff --git a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset.meta similarity index 58% rename from spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta rename to spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset.meta index 8aaba0e3b..8f0db9ce3 100644 --- a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset.meta +++ b/spine-unity/Assets/Examples/Spine/Hero/hero-mesh_SkeletonData.asset.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 4a195bd4c354a814b86d191f4921f54b +guid: a5967d74cd1f3c741ba7758da7511bcf NativeFormatImporter: userData: diff --git a/spine-tk2d/Assets/Gizmos.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.meta similarity index 63% rename from spine-tk2d/Assets/Gizmos.meta rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy.meta index a7b083b0c..ff4d0f512 100644 --- a/spine-tk2d/Assets/Gizmos.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a260a1ff5965c2c4f88aea3e7d433965 +guid: 31a18437d3dfcde44a2e4b24361a3620 folderAsset: yes DefaultImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab new file mode 100644 index 000000000..3828cb89e Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab differ diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta similarity index 58% rename from spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta index 788714172..cba1ddd6d 100644 --- a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas.prefab.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy.prefab.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: db91f44e9acec474fb74db538fe06935 +guid: 5c60df38c5334a249b38ac8cddc6433b NativeFormatImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt new file mode 100644 index 000000000..5597c2893 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt @@ -0,0 +1,34 @@ + +Raggedy Spineboy.png +size: 256,256 +format: RGBA8888 +filter: Linear,Linear +repeat: none +arm + rotate: false + xy: 140, 178 + size: 71, 75 + orig: 71, 75 + offset: 0, 0 + index: -1 +head + rotate: false + xy: 2, 66 + size: 136, 187 + orig: 136, 187 + offset: 0, 0 + index: -1 +leg + rotate: false + xy: 140, 77 + size: 36, 99 + orig: 36, 99 + offset: 0, 0 + index: -1 +torso + rotate: true + xy: 2, 2 + size: 62, 95 + orig: 62, 95 + offset: 0, 0 + index: -1 diff --git a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt.meta similarity index 58% rename from spine-tk2d/Assets/examples/spineboy/spineboy.json.txt.meta rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt.meta index 359dc92fe..6d92e370d 100644 --- a/spine-tk2d/Assets/examples/spineboy/spineboy.json.txt.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.atlas.txt.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 153d8a09aeac7fa468630055fbf61c00 +guid: bdfc7a081d52b68499e44aa82689a73d TextScriptImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json new file mode 100644 index 000000000..41815f4bb --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json @@ -0,0 +1,374 @@ +{ +"skeleton": { "hash": "VwRlHLlX3k1oQzXmdPiYJ828MGo", "spine": "2.1.27", "width": 157.46, "height": 364.95, "images": "" }, +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": -0.79, "y": 91.41 }, + { "name": "L-thigh", "parent": "hip", "length": 29.76, "x": 17.31, "y": -5.19, "rotation": -81.94 }, + { "name": "R-thigh", "parent": "hip", "length": 29.49, "x": -18.18, "y": -6.06, "rotation": -93.15 }, + { "name": "abdomen", "parent": "hip", "length": 33.49, "y": -0.1, "rotation": 89.54 }, + { "name": "L-foot", "parent": "L-thigh", "length": 37.25, "x": 37.35, "y": -1.78, "rotation": -6.29 }, + { "name": "R-foot", "parent": "R-thigh", "length": 39.98, "x": 36.41, "y": 0.27, "rotation": -1.8 }, + { "name": "chest", "parent": "abdomen", "length": 29.58, "x": 38.07, "y": 0.72 }, + { "name": "L-arm", "parent": "chest", "length": 32.67, "x": 24.63, "y": -16.69, "rotation": -121.22 }, + { "name": "R-arm", "parent": "chest", "length": 36.76, "x": 26, "y": 13.63, "rotation": 133.37 }, + { "name": "head", "parent": "chest", "length": 94.23, "x": 41.01, "y": -0.1, "rotation": -2.25 }, + { "name": "L-forearm", "parent": "L-arm", "length": 33.69, "x": 39.09, "y": -2.34, "rotation": -12.09 }, + { "name": "R-forearm", "parent": "R-arm", "length": 36.13, "x": 41.65, "y": 0.28, "rotation": 2.72 }, + { "name": "scalp", "parent": "head", "length": 31.94, "x": 129.34, "y": 15.1, "rotation": -29.89 }, + { "name": "hair1", "parent": "scalp", "length": 23, "x": 36.51, "y": 4.12, "rotation": 68.48 }, + { "name": "hair2", "parent": "hair1", "length": 23.49, "x": 29.03, "y": 1.58, "rotation": 59.55 } +], +"slots": [ + { "name": "R-arm", "bone": "R-arm", "attachment": "arm" }, + { "name": "L-arm", "bone": "L-arm", "attachment": "arm" }, + { "name": "L-leg", "bone": "L-thigh", "attachment": "leg" }, + { "name": "R-leg", "bone": "R-thigh", "attachment": "leg" }, + { "name": "torso", "bone": "abdomen", "attachment": "torso" }, + { "name": "head", "bone": "head", "attachment": "head" } +], +"skins": { + "default": { + "L-arm": { + "arm": { + "type": "skinnedmesh", + "uvs": [ 1, 0.16417, 0.90367, 0.30177, 0.80735, 0.43937, 0.75345, 0.50663, 0.71536, 0.55416, 0.6656, 0.61625, 0.63233, 0.65777, 0.59417, 0.7054, 0.45366, 0.8527, 0.31315, 1, 0.15657, 1, 0, 1, 0, 0.71457, 0.13235, 0.59073, 0.2647, 0.46689, 0.34675, 0.39836, 0.39153, 0.36096, 0.43007, 0.32876, 0.4689, 0.29633, 0.52302, 0.25112, 0.59417, 0.19169, 0.72983, 0.09584, 0.86549, 0, 1, 0, 0.15702, 0.83582, 0.46721, 0.51561, 0.78995, 0.22527, 0.34029, 0.70958, 0.62889, 0.38429 ], + "triangles": [ 10, 24, 9, 9, 27, 8, 9, 24, 27, 10, 11, 24, 11, 12, 24, 8, 27, 7, 12, 13, 24, 24, 13, 27, 13, 14, 27, 27, 25, 7, 25, 27, 14, 7, 25, 6, 6, 25, 5, 18, 4, 17, 28, 4, 18, 4, 28, 3, 15, 16, 25, 16, 17, 25, 25, 17, 5, 17, 4, 5, 3, 28, 2, 28, 26, 2, 2, 26, 1, 18, 19, 28, 19, 20, 28, 28, 20, 26, 1, 26, 0, 20, 21, 26, 26, 22, 0, 26, 21, 22, 22, 23, 0, 25, 14, 15 ], + "vertices": [ 1, 8, -11.38, 11.4, 1, 1, 8, 0.99, 11.79, 1, 1, 8, 13.36, 12.17, 1, 1, 8, 19.69, 11.97, 1, 2, 8, 24.16, 11.82, 0.91747, 11, -17.57, 10.72, 0.08252, 2, 8, 30, 11.63, 0.75238, 11, -11.82, 11.76, 0.24761, 2, 8, 33.91, 11.5, 0.44551, 11, -7.97, 12.46, 0.55448, 2, 8, 38.39, 11.36, 0.2127, 11, -3.56, 13.25, 0.78729, 2, 8, 53.17, 9.6, 0.07308, 11, 11.25, 14.64, 0.92691, 2, 8, 67.94999, 7.85, 0.00873, 11, 26.07, 16.03, 0.99126, 1, 11, 34.25, 8.51, 1, 1, 11, 42.44, 0.99, 1, 1, 11, 27.96, -14.77, 1, 2, 8, 50.32, -20.36, 0.05493, 11, 14.75, -15.25, 0.94506, 2, 8, 37.31, -18.06, 0.23231, 11, 1.55, -15.73, 0.76768, 2, 8, 29.75, -16.27, 0.47867, 11, -6.21, -15.58, 0.52132, 2, 8, 25.63, -15.3, 0.71242, 11, -10.43999, -15.49, 0.28757, 2, 8, 22.07, -14.47, 0.81875, 11, -14.09, -15.42, 0.18124, 2, 8, 18.5, -13.62, 0.9506, 11, -17.77, -15.34, 0.04939, 2, 8, 13.51, -12.45, 0.97879, 11, -22.89, -15.24, 0.0212, 2, 8, 6.95, -10.9, 0.99703, 11, -29.63, -15.11, 0.00296, 1, 8, -4.46999, -7.2, 1, 1, 8, -15.9, -3.49, 1, 1, 8, -21.42, 4.29, 1, 1, 11, 25.9, -0.52999, 1, 2, 8, 31.98, -4.21, 0.80128, 11, -6.55, -3.32, 0.19871, 1, 8, 0.97, 1.89, 1, 1, 11, 9.91, 1.29, 1, 1, 8, 17.31, -0.54, 1 ], + "hull": 24, + "edges": [ 0, 2, 2, 4, 4, 6, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 38, 40, 40, 42, 42, 44, 44, 46, 46, 0, 10, 34, 30, 32, 32, 34, 10, 12, 12, 14, 6, 8, 8, 10, 34, 36, 36, 38, 8, 36 ], + "width": 71, + "height": 75 + } + }, + "L-leg": { + "leg": { + "type": "skinnedmesh", + "uvs": [ 1, 0.23128, 1, 0.29497, 1, 0.37025, 1, 0.44552, 1, 0.50921, 1, 0.65975, 1, 0.71765, 1, 0.87399, 0.73923, 1, 0.2297, 1, 0, 0.89715, 0, 0.64817, 0.01978, 0.59915, 0.08516, 0.43711, 0.10541, 0.38693, 0.13057, 0.32458, 0.15317, 0.26858, 0.17799, 0.20706, 0.26155, 0, 1, 0, 0.61185, 0.12127, 0.51631, 0.54395 ], + "triangles": [ 21, 13, 4, 21, 4, 5, 12, 13, 21, 12, 21, 5, 12, 5, 6, 11, 12, 6, 9, 10, 11, 11, 6, 9, 6, 8, 9, 7, 8, 6, 20, 18, 19, 20, 19, 0, 17, 18, 20, 17, 20, 0, 17, 0, 1, 16, 17, 1, 16, 1, 2, 15, 16, 2, 15, 2, 3, 14, 15, 3, 14, 3, 4, 13, 14, 4 ], + "vertices": [ 1, 2, 11.02, 15.14, 1, 1, 2, 17.31, 14.75, 1, 2, 2, 24.75, 14.29, 0.95576, 5, -14.28, 14.6, 0.04423, 2, 2, 32.18999, 13.82, 0.71873, 5, -6.84, 14.95, 0.28126, 2, 2, 38.48, 13.43, 0.37176, 5, -0.54, 15.25, 0.62822, 2, 2, 53.36, 12.51, 0.00735, 5, 14.34, 15.96, 0.99264, 1, 5, 20.06, 16.23, 1, 1, 5, 35.52, 16.96999, 1, 1, 5, 48.43, 8.18, 1, 1, 5, 49.3, -10.13, 1, 1, 5, 39.52, -18.87, 1, 2, 2, 49.98, -23.34, 0.00312, 5, 14.9, -20.04, 0.99687, 2, 2, 45.18, -22.33, 0.02542, 5, 10.02, -19.56, 0.97457, 2, 2, 29.31, -18.99, 0.4709, 5, -6.1, -17.98, 0.52909, 2, 2, 24.4, -17.95, 0.69967, 5, -11.1, -17.48, 0.30032, 2, 2, 18.29, -16.66, 0.89625, 5, -17.31, -16.87, 0.10374, 2, 2, 12.81, -15.51, 0.97789, 5, -22.89, -16.32, 0.0221, 1, 2, 6.79, -14.24, 1, 1, 2, -13.48, -9.96, 1, 1, 2, -11.83, 16.56, 1, 1, 2, -0.71, 1.87, 1, 1, 5, 3.71, -1.97, 1 ], + "hull": 20, + "edges": [ 36, 38, 20, 22, 18, 20, 16, 18, 16, 14, 22, 24, 24, 10, 10, 12, 12, 14, 12, 22, 24, 26, 10, 8, 26, 8, 8, 6, 26, 28, 6, 28, 28, 30, 6, 4, 30, 4, 4, 2, 30, 32, 2, 32, 32, 34, 34, 36, 2, 0, 0, 38, 34, 0 ], + "width": 36, + "height": 99 + } + }, + "R-arm": { + "arm": { + "type": "skinnedmesh", + "uvs": [ 1, 0.16417, 0.90367, 0.30177, 0.80735, 0.43937, 0.75345, 0.50663, 0.71536, 0.55416, 0.6656, 0.61625, 0.63233, 0.65777, 0.59417, 0.7054, 0.45366, 0.8527, 0.31315, 1, 0.15657, 1, 0, 1, 0, 0.71457, 0.13235, 0.59073, 0.2647, 0.46689, 0.34675, 0.39836, 0.39153, 0.36096, 0.43007, 0.32876, 0.4689, 0.29633, 0.52302, 0.25112, 0.59417, 0.19169, 0.72983, 0.09584, 0.86549, 0, 1, 0, 0.15702, 0.83582, 0.46721, 0.51561, 0.78995, 0.22527, 0.34029, 0.70958, 0.62889, 0.38429 ], + "triangles": [ 10, 24, 9, 9, 27, 8, 9, 24, 27, 10, 11, 24, 11, 12, 24, 8, 27, 7, 12, 13, 24, 24, 13, 27, 13, 14, 27, 27, 25, 7, 25, 14, 15, 25, 27, 14, 7, 25, 6, 22, 23, 0, 26, 22, 0, 1, 26, 0, 6, 25, 5, 18, 4, 17, 28, 4, 18, 4, 28, 3, 15, 16, 25, 16, 17, 25, 25, 17, 5, 17, 4, 5, 3, 28, 2, 28, 26, 2, 2, 26, 1, 18, 19, 28, 19, 20, 28, 28, 20, 26, 20, 21, 26, 26, 21, 22 ], + "vertices": [ 1, 9, -6.97, 5.02, 1, 1, 9, 5.06, 7.92, 1, 1, 9, 17.09, 10.82, 1, 2, 9, 23.33, 11.91, 0.99563, 12, -17.74, 12.48, 0.00436, 2, 9, 27.74, 12.68, 0.95467, 12, -13.3, 13.04, 0.04532, 2, 9, 33.5, 13.68, 0.75827, 12, -7.5, 13.77, 0.24172, 2, 9, 37.34999, 14.35, 0.53963, 12, -3.63, 14.26, 0.46036, 2, 9, 41.75999, 15.12, 0.29362, 12, 0.81, 14.82, 0.70637, 2, 9, 56.59, 16.42, 3.9E-4, 12, 15.69, 15.4, 0.9996, 1, 12, 30.56, 15.99, 1, 1, 12, 38.33, 8.04, 1, 1, 12, 46.1, 0.1, 1, 1, 12, 30.79, -14.86, 1, 2, 9, 59.92, -13.5, 4.7E-4, 12, 17.58, -14.63, 0.99952, 2, 9, 46.71, -13.9, 0.17384, 12, 4.37, -14.41, 0.82615, 2, 9, 38.93999, -13.69, 0.56829, 12, -3.36, -13.83, 0.4317, 2, 9, 34.71, -13.58, 0.79613, 12, -7.59, -13.52, 0.20386, 2, 9, 31.06, -13.49, 0.92361, 12, -11.23, -13.25, 0.07638, 2, 9, 27.38, -13.39, 0.98277, 12, -14.9, -12.98, 0.01722, 1, 9, 22.26, -13.26, 1, 1, 9, 15.53, -13.08, 1, 1, 9, 3.58, -11.78, 1, 1, 9, -8.35999, -10.49, 1, 1, 9, -15.36, -3.99, 1, 1, 12, 29.5, -0.52999, 1, 2, 9, 38.66999, -1.43, 0.57762, 12, -3.06, -1.57, 0.42237, 1, 9, 7.06, -1.77, 1, 1, 12, 13.64, 2.15, 1, 1, 9, 23.56, -0.82, 1 ], + "hull": 24, + "edges": [ 0, 2, 2, 4, 4, 6, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 38, 40, 40, 42, 42, 44, 44, 46, 46, 0, 10, 34, 30, 32, 32, 34, 10, 12, 12, 14, 6, 8, 8, 10, 34, 36, 36, 38, 8, 36 ], + "width": 71, + "height": 75 + } + }, + "R-leg": { + "leg": { + "type": "skinnedmesh", + "uvs": [ 1, 0.23128, 1, 0.29497, 1, 0.37025, 1, 0.44552, 1, 0.50921, 1, 0.65975, 1, 0.71765, 1, 0.87399, 0.73923, 1, 0.2297, 1, 0, 0.89715, 0, 0.64817, 0.01978, 0.59915, 0.08516, 0.43711, 0.10541, 0.38693, 0.13057, 0.32458, 0.15317, 0.26858, 0.17799, 0.20706, 0.26155, 0, 1, 0, 0.61185, 0.12127, 0.51631, 0.54395 ], + "triangles": [ 21, 13, 4, 21, 4, 5, 12, 13, 21, 12, 21, 5, 12, 5, 6, 11, 12, 6, 9, 10, 11, 11, 6, 9, 6, 8, 9, 7, 8, 6, 20, 18, 19, 20, 19, 0, 17, 18, 20, 17, 20, 0, 17, 0, 1, 16, 17, 1, 16, 1, 2, 15, 16, 2, 15, 2, 3, 14, 15, 3, 14, 3, 4, 13, 14, 4 ], + "vertices": [ 1, 3, 7.41, 14.89, 1, 2, 3, 13.7, 15.23, 0.99431, 6, -23.16, 14.24, 0.00568, 2, 3, 21.14, 15.64, 0.9183, 6, -15.74, 14.88, 0.08169, 2, 3, 28.58, 16.04999, 0.65731, 6, -8.31, 15.53, 0.34268, 2, 3, 34.88, 16.4, 0.33128, 6, -2.03, 16.07, 0.66871, 2, 3, 49.76, 17.21999, 0.004, 6, 12.81, 17.36, 0.99598, 1, 6, 18.52, 17.85, 1, 2, 3, 70.94, 18.39, 0, 6, 33.93999, 19.19, 0.99999, 2, 3, 83.91, 9.7, 0, 6, 47.18, 10.92, 0.99999, 2, 3, 84.92, -8.60999, 0, 6, 48.76, -7.35, 1, 2, 3, 75.21, -17.42, 0, 6, 39.33, -16.46999, 1, 2, 3, 50.6, -18.78, 0.01347, 6, 14.78, -18.6, 0.98652, 2, 3, 45.71, -18.34, 0.05686, 6, 9.88, -18.31, 0.94313, 2, 3, 29.56, -16.87, 0.66681, 6, -6.3, -17.35, 0.33318, 2, 3, 24.56, -16.41, 0.86313, 6, -11.31, -17.04999, 0.13686, 2, 3, 18.35, -15.85, 0.97672, 6, -17.54, -16.68, 0.02327, 2, 3, 12.77, -15.34, 0.99935, 6, -23.13, -16.35, 6.4E-4, 1, 3, 6.64, -14.78, 1, 2, 3, -13.98, -12.91, 0.99999, 6, -49.96, -14.76, 0, 2, 3, -15.45, 13.63, 0.99999, 6, -52.25, 11.72, 0, 2, 3, -2.69, 0.33, 0.99999, 6, -39.09, -1.16, 0, 2, 3, 39.27, -0.79, 0.02734, 6, 2.89, -0.97, 0.97265 ], + "hull": 20, + "edges": [ 36, 38, 20, 22, 18, 20, 16, 18, 16, 14, 22, 24, 24, 10, 10, 12, 12, 14, 12, 22, 24, 26, 10, 8, 26, 8, 8, 6, 26, 28, 6, 28, 28, 30, 6, 4, 30, 4, 4, 2, 30, 32, 2, 32, 32, 34, 34, 36, 2, 0, 0, 38, 34, 0 ], + "width": 36, + "height": 99 + } + }, + "head": { + "head": { + "type": "skinnedmesh", + "uvs": [ 0.60755, 0.01863, 0.64145, 0.03354, 0.70226, 0.06028, 0.76687, 0.08869, 0.80695, 0.14523, 0.84157, 0.19407, 1, 0.41294, 1, 0.78561, 0.67348, 1, 0.38213, 1, 0.13934, 0.8937, 0.07948, 0.78807, 0.05898, 0.75189, 0, 0.6478, 0, 0.40213, 0.15055, 0.27783, 0.25631, 0.21733, 0.28424, 0.20136, 0.31116, 0.18596, 0.32033, 0.16739, 0.32984, 0.14813, 0.3317, 0.12797, 0.33358, 0.1076, 0.29622, 0.08869, 0.21778, 0.06977, 0.2514, 0.03194, 0.32658, 0.01699, 0.3752, 0.00732, 0.41202, 0, 0.45684, 0, 0.49046, 0, 0.53154, 0, 0.56516, 0, 0.55022, 0.1049, 0.46057, 0.06437, 0.38587, 0.05086, 0.31116, 0.04815, 0.54649, 0.17515, 0.35972, 0.28864, 0.14308, 0.41294, 0.13187, 0.57777, 0.24766, 0.43185, 0.43816, 0.37511, 0.59878, 0.3616, 0.78181, 0.43726, 0.8976, 0.53994, 0.87616, 0.37786 ], + "triangles": [ 36, 25, 26, 35, 27, 28, 23, 25, 36, 24, 25, 23, 26, 35, 36, 35, 26, 27, 22, 36, 35, 23, 36, 22, 28, 29, 34, 35, 28, 34, 21, 35, 34, 35, 21, 22, 34, 29, 30, 33, 31, 32, 33, 32, 0, 31, 34, 30, 34, 20, 21, 31, 33, 34, 37, 34, 33, 1, 33, 0, 2, 33, 1, 33, 2, 37, 37, 20, 34, 37, 38, 20, 19, 20, 38, 18, 19, 38, 17, 18, 38, 2, 4, 37, 4, 2, 3, 43, 4, 5, 43, 37, 4, 42, 38, 37, 43, 42, 37, 6, 46, 5, 44, 43, 5, 39, 14, 15, 41, 15, 16, 39, 15, 41, 16, 17, 38, 41, 16, 38, 41, 38, 42, 46, 44, 5, 45, 46, 6, 44, 46, 45, 40, 14, 39, 40, 39, 41, 13, 14, 40, 12, 13, 40, 45, 6, 7, 11, 12, 40, 9, 10, 40, 11, 40, 10, 9, 41, 42, 9, 40, 41, 8, 9, 42, 42, 43, 8, 44, 8, 43, 8, 44, 45, 8, 45, 7 ], + "vertices": [ 1, 14, 17.03, -22.65, 1, 3, 10, 187.59, -11.93, 0.00181, 13, 63.97, 5.58, 0.0238, 14, 11.42, -25.01, 0.97437, 2, 10, 182.37, -21.52, 0.62993, 14, 1.35, -29.25, 0.37005, 3, 10, 176.82, -31.71, 0.82289, 13, 64.49, -16.93, 0.07936, 14, -9.33, -33.75, 0.09774, 3, 10, 165.13, -38.41999, 0.8635, 13, 57.69, -28.57, 0.08155, 14, -22.66, -31.7, 0.05493, 3, 10, 155.03, -44.22, 0.89858, 13, 51.83, -38.63, 0.08345, 14, -34.16999, -29.93, 0.01796, 1, 10, 109.8, -70.69999, 1, 1, 10, 30.83, -74.44, 1, 1, 10, -16.95999, -26.54, 1, 1, 10, -19.08, 18.11, 1, 1, 10, 1.67, 56.39, 1, 1, 10, 23.62, 66.62999, 1, 1, 10, 31.14, 70.12999, 1, 1, 10, 52.77, 80.22, 1, 2, 10, 104.83, 82.69, 0.99073, 13, -54.92, 46.39, 0.00926, 3, 10, 132.26, 60.86, 0.88784, 13, -20.26, 41.13, 0.11168, 15, 48.07, 46.13, 4.7E-4, 4, 10, 145.85, 45.25, 0.85196, 13, -0.71, 34.37, 0.12365, 14, 14.48, 45.72, 0.00832, 15, 30.69, 34.9, 0.01603, 4, 10, 149.43, 41.13, 0.84249, 13, 4.44999, 32.58, 0.12681, 14, 14.71, 40.25999, 0.01053, 15, 26.1, 31.93, 0.02015, 4, 10, 152.89, 37.16, 0.83335, 13, 9.43, 30.86, 0.12986, 14, 14.94, 35, 0.01265, 15, 21.68, 29.07, 0.02412, 4, 10, 156.9, 35.93999, 0.60487, 13, 13.5, 31.8, 0.21602, 14, 17.31, 31.55, 0.05833, 15, 19.9, 25.28, 0.12076, 4, 10, 161.05, 34.68, 0.368, 13, 17.73, 32.77, 0.30535, 14, 19.76, 27.97, 0.10568, 15, 18.06, 21.35, 0.22096, 4, 10, 165.33, 34.59999, 0.18496, 13, 21.49, 34.83, 0.23674, 14, 23.06, 25.23, 0.12789, 15, 17.37, 17.12, 0.45039, 3, 13, 25.28, 36.91999, 0.1674, 14, 26.39, 22.46, 0.15034, 15, 16.67, 12.85, 0.68225, 3, 13, 25.58, 43.91, 0.03309, 14, 33, 24.76, 0.02128, 15, 21.99, 8.31, 0.94562, 1, 15, 33.59999, 3.17, 1, 1, 15, 27.7, -4.32, 1, 1, 15, 15.91, -6.38, 1, 1, 15, 8.29, -7.71, 1, 1, 15, 2.51, -8.72, 1, 2, 14, 33.79, -6.23, 0.33703, 15, -4.32, -8.06, 0.66296, 2, 14, 30.77, -10.41, 0.58777, 15, -9.46, -7.57, 0.41222, 2, 14, 27.07, -15.52, 0.81446, 15, -15.74, -6.97, 0.18553, 2, 14, 24.05, -19.7, 0.97838, 15, -20.87, -6.48, 0.02161, 1, 14, 7.36, -4.8, 1, 1, 14, 22.39, 1.29999, 1, 1, 15, 7.54, 1.63, 1, 3, 13, 34.06, 46.61, 0.01617, 14, 38.62, 17.86, 0.00459, 15, 18.89, -0.02, 0.97922, 1, 13, 30.81, 1.67, 1, 3, 10, 131.49, 28.69, 0.99827, 14, -7.07, 41.73, 7.0E-5, 15, 16.33, 51.46, 0.00165, 1, 10, 103.58, 60.65, 1, 1, 10, 68.57, 60.71, 1, 1, 10, 100.33, 44.43, 1, 1, 10, 113.74, 15.79, 1, 1, 10, 117.77, -8.68, 1, 1, 10, 103.06, -37.5, 1, 1, 10, 82.15, -56.28, 1, 3, 10, 116.33, -51.36, 0.97904, 13, 21.84, -64.11, 0.01724, 14, -68.86, -11.37, 0.00371 ], + "hull": 33, + "edges": [ 16, 14, 16, 18, 18, 20, 26, 28, 28, 30, 44, 46, 46, 48, 48, 50, 14, 12, 10, 12, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 62, 64, 2, 0, 0, 64, 2, 4, 4, 6, 20, 22, 22, 24, 24, 26, 80, 82, 82, 84, 84, 86, 86, 88, 88, 90, 90, 12, 80, 26, 34, 36, 30, 32, 32, 34, 36, 38, 38, 40, 40, 42, 42, 44, 12, 92, 6, 8, 8, 10 ], + "width": 136, + "height": 187 + }, + "ragdoll": { + "type": "boundingbox", + "vertices": [ -14.19607, -1.49276, -7.91528, -29.96175, 23.08404, -59.72487, 60.33676, -65.35634, 95.9493, -71.06551, 150.43092, -41.36028, 163.83543, 5.30173, 162.47502, 34.00399, 115.66124, 67.94895, 85.4782, 80.49074, 48.92517, 71.36101, 11.9019, 54.81194, -9.19035, 31.6207 ] + } + }, + "torso": { + "ragdoll": { + "type": "boundingbox", + "vertices": [ 0.62625, -28.95774, 35.77471, -25.70054, 37.14599, 27.3694, 1.96002, 28.88128 ] + }, + "torso": { + "type": "skinnedmesh", + "uvs": [ 0.87097, 0.13351, 1, 0.26702, 1, 0.45027, 1, 0.63351, 1, 0.81675, 1, 1, 0.75, 1, 0.5, 1, 0.25, 1, 0, 1, 0, 0.72402, 0, 0.44804, 0.09822, 0.22402, 0.19645, 0, 0.4692, 0, 0.74194, 0, 0.58868, 0.13131, 0.40099, 0.46062, 0.83539, 0.50155, 0.42394, 0.26749, 0.36228, 0.63165, 0.58838, 0.76773, 0.71972, 0.25772, 0.84057, 0.76485, 0.57726, 0.50305, 0.24069, 0.44015, 0.19158, 0.80079, 0.29694, 0.12288, 0.37842, 0.84005, 0.71037, 0.63432, 0.15888, 0.60895 ], + "triangles": [ 8, 26, 28, 8, 28, 7, 9, 26, 8, 9, 10, 26, 23, 4, 5, 6, 23, 5, 7, 21, 6, 6, 21, 23, 23, 3, 4, 22, 19, 16, 22, 0, 1, 19, 14, 16, 19, 27, 14, 22, 15, 0, 22, 16, 15, 12, 13, 27, 16, 14, 15, 27, 13, 14, 22, 24, 19, 1, 18, 22, 25, 27, 19, 25, 12, 27, 17, 19, 24, 24, 22, 18, 17, 25, 19, 7, 28, 21, 26, 20, 28, 28, 20, 21, 10, 30, 26, 26, 30, 20, 20, 24, 21, 21, 29, 23, 21, 24, 29, 29, 18, 23, 23, 18, 3, 10, 11, 30, 29, 24, 18, 18, 2, 3, 30, 25, 20, 20, 17, 24, 20, 25, 17, 30, 11, 25, 2, 18, 1, 11, 12, 25 ], + "vertices": [ 1, 7, 31.68, -23.15, 1, 2, 4, 57.14, -30.52, 0.39506, 7, 19.06, -31.25, 0.60493, 2, 4, 39.73, -30.66, 0.60493, 7, 1.66, -31.38, 0.39506, 2, 4, 22.33, -30.79, 0.79012, 7, -15.74, -31.52, 0.20987, 1, 2, -7.76, 14.88, 1, 1, 2, 9.47, 12.45, 1, 1, 2, 7.3, -2.89, 1, 2, 2, 5.13, -18.24, 0.488, 3, 5.76, 18.5, 0.51199, 2, 2, 2.96, -33.59, 0.16266, 3, 6.61, 3.02, 0.83733, 3, 4, -12.97, 30.92, 0.26337, 7, -51.04, 30.19, 0.06995, 3, 7.46, -12.45, 0.66666, 1, 3, -18.70999, -13.88, 1, 2, 4, 39.46, 31.33, 0.60493, 7, 1.38, 30.6, 0.39506, 2, 4, 60.79, 25.41, 0.39506, 7, 22.71, 24.68, 0.60493, 1, 7, 44.04, 18.76, 1, 1, 7, 44.17, 1.85, 1, 1, 7, 44.3, -15.05, 1, 1, 7, 31.75, -5.65, 1, 2, 4, 38.46, 6.46, 0.55198, 7, 0.38, 5.73, 0.448, 2, 4, 34.78, -20.49, 0.55198, 7, -3.29, -21.22, 0.448, 1, 7, 18.74, 4.46, 1, 1, 4, 22.19, 8.72999, 1, 2, 4, 9.37, -5.38, 0.52, 2, -15.94, -9.72, 0.48, 1, 7, 19.81, -13.86, 1, 2, 4, 9.77, -21.01, 0.52, 2, -14.02, 5.79, 0.48, 2, 4, 34.50999, -4.48999, 0.55198, 7, -3.55, -5.21999, 0.448, 2, 4, 40.32, 16.42, 0.55198, 7, 2.25, 15.69, 0.448, 2, 4, 6.04, 19.19, 0.584, 3, -12.08, -1.62, 0.41599, 1, 7, 32.41, 12.44, 1, 2, 4, 2.4, 7.58, 0.584, 3, -8.99, 10.14, 0.41599, 1, 4, 22.11, -12.84, 1, 1, 4, 24.25, 21.36, 1 ], + "hull": 16, + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 28, 28, 30, 30, 0 ], + "width": 62, + "height": 95 + } + } + } +}, +"animations": { + "animation": { + "bones": { + "abdomen": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.25, 0, 0.374, 1 ] + }, + { "time": 0.3333, "angle": 2.47 }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "chest": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.25, 0, 0.374, 1 ] + }, + { + "time": 0.3333, + "angle": 21.85, + "curve": [ 0.25, 0, 0.434, 1 ] + }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.348, 0, 0.608, 0.5 ] + }, + { + "time": 0.1, + "angle": -10.88, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.4333, + "angle": 3.79, + "curve": [ 0.803, 0, 0.592, 0.98 ] + }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "R-arm": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.659, -0.5, 0.608, 0.5 ] + }, + { + "time": 0.3333, + "angle": -11.69, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "L-arm": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.25, 0, 0.374, 1 ] + }, + { + "time": 0.3333, + "angle": 53.01, + "curve": [ 0.659, 0.01, 0.734, 0.42 ] + }, + { + "time": 0.7666, + "angle": 56.78, + "curve": [ 0.44, 0.4, 0.695, 1 ] + }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "R-forearm": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.25, 0, 0.374, 1 ] + }, + { + "time": 0.3333, + "angle": 9.78, + "curve": [ 0.25, 0, 0.471, 1 ] + }, + { "time": 1.3333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "L-forearm": { + "rotate": [ + { + "time": 0, + "angle": 14.89, + "curve": [ 0.33, -5.56, 0.527, 1 ] + }, + { + "time": 0.4333, + "angle": 32.07, + "curve": [ 0.641, 0, 0.317, 1 ] + }, + { + "time": 0.6333, + "angle": 9.77, + "curve": [ 0.25, 0, 0.317, 1 ] + }, + { + "time": 0.9, + "angle": 58, + "curve": [ 0.25, 0, 0.628, 1 ] + }, + { "time": 1.3333, "angle": 14.89 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "scalp": { + "rotate": [ + { + "time": 0, + "angle": -7.01, + "curve": [ 0.357, 0, 0.642, 0.45 ] + }, + { + "time": 0.2666, + "angle": 7.61, + "curve": [ 0.208, 0.44, 0.478, 1 ] + }, + { "time": 0.6666, "angle": 0 }, + { "time": 1.3333, "angle": -7.01 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "hair1": { + "rotate": [ + { + "time": 0, + "angle": -8.8, + "curve": [ 0.25, 0, 0.374, 1 ] + }, + { + "time": 0.2666, + "angle": -16.02, + "curve": [ 0.25, 0, 0.535, 1 ] + }, + { + "time": 0.5333, + "angle": 29.38, + "curve": [ 0.25, 0, 0.438, 1 ] + }, + { "time": 1.3333, "angle": -8.8 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "hair2": { + "rotate": [ + { + "time": 0, + "angle": 4.65, + "curve": [ 0.282, 0.3, 0.374, 1 ] + }, + { + "time": 0.2666, + "angle": -17.96, + "curve": [ 0.25, 0, 0.535, 1 ] + }, + { + "time": 0.6333, + "angle": 6.62, + "curve": [ 0.25, 0, 0.438, 1 ] + }, + { "time": 1.3333, "angle": 4.65 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "root": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -0.59, "y": 0 } + ] + }, + "R-foot": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "R-thigh": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "L-foot": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "L-thigh": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ] + } + } + } +} +} \ No newline at end of file diff --git a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json.meta similarity index 58% rename from spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json.meta index e4ffb1d5c..2f3417f5b 100644 --- a/spine-unity/Assets/Examples/Spine/Hero/Hero.atlas.txt.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.json.meta @@ -1,4 +1,4 @@ fileFormatVersion: 2 -guid: 51b2d149fb5a7f7449fdafb65d240843 +guid: e6f1c85da28190c49a9aaa887894ab0d TextScriptImporter: userData: diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png new file mode 100644 index 000000000..cb07c5df1 Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png differ diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta similarity index 89% rename from spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png.meta rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta index 6f346e072..3f00c1513 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/GUI/icon-hingeChain.png.meta +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy.png.meta @@ -1,11 +1,11 @@ fileFormatVersion: 2 -guid: 2c2c6d283dcf3654baf40001c982891c +guid: b29bbacbc2368c94a9c942d176ac6f59 TextureImporter: fileIDToRecycleName: {} serializedVersion: 2 mipmaps: mipMapMode: 0 - enableMipMap: 1 + enableMipMap: 0 linearTexture: 0 correctGamma: 0 fadeOut: 0 @@ -21,8 +21,8 @@ TextureImporter: grayScaleToAlpha: 0 generateCubemap: 0 seamlessCubemap: 0 - textureFormat: -1 - maxTextureSize: 1024 + textureFormat: -3 + maxTextureSize: 2048 textureSettings: filterMode: -1 aniso: -1 diff --git a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset similarity index 68% rename from spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset index f76e1dbf7..6f99b08ed 100644 Binary files a/spine-tk2d/Assets/examples/goblins/Goblins SkeletonData.asset and b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset differ diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset.meta new file mode 100644 index 000000000..28738eda5 --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Atlas.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a9d85e8796d75384199c06f6fdbb0d73 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat similarity index 93% rename from spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat index 4f4fd3fd1..48ee5e073 100644 Binary files a/spine-tk2d/Assets/examples/spineboy/SpineboyAtlas Data/atlas0 material.mat and b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat differ diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat.meta new file mode 100644 index 000000000..58813197c --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_Material.mat.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 4ad4f7167d4983147ad870f93ebc9416 +NativeFormatImporter: + userData: diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset similarity index 59% rename from spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset rename to spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset index e93322ba0..31e9c71fa 100644 Binary files a/spine-tk2d/Assets/examples/spineboy/Spineboy SkeletonData.asset and b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset differ diff --git a/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset.meta b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset.meta new file mode 100644 index 000000000..076aa16cb --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raggedy Spineboy/Raggedy Spineboy_SkeletonData.asset.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 57484171e9b9c7243aa3117bc663e7b9 +NativeFormatImporter: + userData: diff --git a/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes b/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes new file mode 100644 index 000000000..507d86e2e Binary files /dev/null and b/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes differ diff --git a/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes.meta b/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes.meta new file mode 100644 index 000000000..7dae281bc --- /dev/null +++ b/spine-unity/Assets/Examples/Spine/Raptor/raptor.skel.bytes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5d6edb328bfcef44a9d1bf852e5724bc +timeCreated: 1427642224 +licenseType: Free +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/Examples/Spine/dragon.prefab b/spine-unity/Assets/Examples/Spine/dragon.prefab index d11770576..f70e632e4 100644 Binary files a/spine-unity/Assets/Examples/Spine/dragon.prefab and b/spine-unity/Assets/Examples/Spine/dragon.prefab differ diff --git a/spine-unity/Assets/spine-unity/AtlasAsset.cs b/spine-unity/Assets/spine-unity/AtlasAsset.cs index 5096d3869..64d3cddaa 100644 --- a/spine-unity/Assets/spine-unity/AtlasAsset.cs +++ b/spine-unity/Assets/spine-unity/AtlasAsset.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -69,6 +70,77 @@ public class AtlasAsset : ScriptableObject { return null; } } + + public Sprite GenerateSprite (string name, out Material material) { + AtlasRegion region = atlas.FindRegion(name); + + Sprite sprite = null; + material = null; + + if (region != null) { + //sprite.rect + } + + return sprite; + } + + public Mesh GenerateMesh(string name, Mesh mesh, out Material material, float scale = 0.01f){ + AtlasRegion region = atlas.FindRegion(name); + material = null; + if (region != null) { + if (mesh == null) { + mesh = new Mesh(); + mesh.name = name; + } + + Vector3[] verts = new Vector3[4]; + Vector2[] uvs = new Vector2[4]; + Color[] colors = new Color[4]{Color.white, Color.white, Color.white, Color.white}; + int[] triangles = new int[6] { 0, 1, 2, 2, 3, 0 }; + + float left, right, top, bottom; + left = region.width / -2f; + right = left * -1f; + top = region.height / 2f; + bottom = top * -1; + + verts[0] = new Vector3(left, bottom, 0) * scale; + verts[1] = new Vector3(left, top, 0) * scale; + verts[2] = new Vector3(right, top, 0) * scale; + verts[3] = new Vector3(right, bottom, 0) * scale; + float u, v, u2, v2; + u = region.u; + v = region.v; + u2 = region.u2; + v2 = region.v2; + + if (!region.rotate) { + uvs[0] = new Vector2(u, v2); + uvs[1] = new Vector2(u, v); + uvs[2] = new Vector2(u2, v); + uvs[3] = new Vector2(u2, v2); + } else { + uvs[0] = new Vector2(u2, v2); + uvs[1] = new Vector2(u, v2); + uvs[2] = new Vector2(u, v); + uvs[3] = new Vector2(u2, v); + } + + mesh.triangles = new int[0]; + mesh.vertices = verts; + mesh.uv = uvs; + mesh.colors = colors; + mesh.triangles = triangles; + mesh.RecalculateNormals(); + mesh.RecalculateBounds(); + + material = (Material)region.page.rendererObject; + } else { + mesh = null; + } + + return mesh; + } } public class MaterialsTextureLoader : TextureLoader { diff --git a/spine-unity/Assets/spine-unity/AtlasRegionAttacher.cs b/spine-unity/Assets/spine-unity/AtlasRegionAttacher.cs index d3824f521..408f5b19b 100644 --- a/spine-unity/Assets/spine-unity/AtlasRegionAttacher.cs +++ b/spine-unity/Assets/spine-unity/AtlasRegionAttacher.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; using Spine; diff --git a/spine-unity/Assets/spine-unity/BoneFollower.cs b/spine-unity/Assets/spine-unity/BoneFollower.cs index e900ba8ee..24bfaa6d4 100644 --- a/spine-unity/Assets/spine-unity/BoneFollower.cs +++ b/spine-unity/Assets/spine-unity/BoneFollower.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -57,6 +58,8 @@ public class BoneFollower : MonoBehaviour { /// If a bone isn't set, boneName is used to find the bone. + + [SpineBone(dataField: "skeletonRenderer")] public String boneName; public bool resetOnAwake = true; protected Transform cachedTransform; @@ -140,4 +143,4 @@ public class BoneFollower : MonoBehaviour { } } -} \ No newline at end of file +} diff --git a/spine-unity/Assets/spine-unity/BoundingBoxFollower.cs b/spine-unity/Assets/spine-unity/BoundingBoxFollower.cs new file mode 100644 index 000000000..69aa74672 --- /dev/null +++ b/spine-unity/Assets/spine-unity/BoundingBoxFollower.cs @@ -0,0 +1,191 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using Spine; + +[ExecuteInEditMode] +public class BoundingBoxFollower : MonoBehaviour { + + public SkeletonRenderer skeletonRenderer; + + [SpineSlot(dataField: "skeletonRenderer", containsBoundingBoxes: true)] + public string slotName; + + //TODO: not this + [Tooltip("LOL JK, Someone else do it!")] + public bool use3DMeshCollider; + + private Slot slot; + private BoundingBoxAttachment currentAttachment; + private PolygonCollider2D currentCollider; + private string currentAttachmentName; + private bool valid = false; + private bool hasReset; + + public Dictionary colliderTable = new Dictionary(); + public Dictionary attachmentNameTable = new Dictionary(); + + public string CurrentAttachmentName { + get { + return currentAttachmentName; + } + } + + public BoundingBoxAttachment CurrentAttachment { + get { + return currentAttachment; + } + } + + public PolygonCollider2D CurrentCollider { + get { + return currentCollider; + } + } + + public Slot Slot { + get { + return slot; + } + } + + + void OnEnable () { + ClearColliders(); + + if (skeletonRenderer == null) + skeletonRenderer = GetComponentInParent(); + + if (skeletonRenderer != null) { + skeletonRenderer.OnReset -= HandleReset; + skeletonRenderer.OnReset += HandleReset; + } + } + + void OnDisable () { + skeletonRenderer.OnReset -= HandleReset; + } + + void Start () { + if (!hasReset && skeletonRenderer != null) + HandleReset(skeletonRenderer); + } + + public void HandleReset (SkeletonRenderer renderer) { + if (slotName == null || slotName == "") + return; + + hasReset = true; + + ClearColliders(); + colliderTable.Clear(); + + if (skeletonRenderer.skeleton == null) { + skeletonRenderer.OnReset -= HandleReset; + skeletonRenderer.Reset(); + skeletonRenderer.OnReset += HandleReset; + } + + + var skeleton = skeletonRenderer.skeleton; + slot = skeleton.FindSlot(slotName); + int slotIndex = skeleton.FindSlotIndex(slotName); + + foreach (var skin in skeleton.Data.Skins) { + List attachmentNames = new List(); + skin.FindNamesForSlot(slotIndex, attachmentNames); + + foreach (var name in attachmentNames) { + var attachment = skin.GetAttachment(slotIndex, name); + if (attachment is BoundingBoxAttachment) { + var collider = SkeletonUtility.AddBoundingBoxAsComponent((BoundingBoxAttachment)attachment, gameObject, true); + collider.enabled = false; + collider.hideFlags = HideFlags.HideInInspector; + colliderTable.Add((BoundingBoxAttachment)attachment, collider); + attachmentNameTable.Add((BoundingBoxAttachment)attachment, name); + } + } + } + + if (colliderTable.Count == 0) + valid = false; + else + valid = true; + + if (!valid) + Debug.LogWarning("Bounding Box Follower not valid! Slot [" + slotName + "] does not contain any Bounding Box Attachments!"); + } + + void ClearColliders () { + var colliders = GetComponents(); + if (Application.isPlaying) { + foreach (var c in colliders) { + Destroy(c); + } + } else { + foreach (var c in colliders) { + DestroyImmediate(c); + } + } + + colliderTable.Clear(); + attachmentNameTable.Clear(); + } + + void LateUpdate () { + if (!skeletonRenderer.valid) + return; + + if (slot != null) { + if (slot.Attachment != currentAttachment) + SetCurrent((BoundingBoxAttachment)slot.Attachment); + } + } + + void SetCurrent (BoundingBoxAttachment attachment) { + if (currentCollider) + currentCollider.enabled = false; + + if (attachment != null) { + currentCollider = colliderTable[attachment]; + currentCollider.enabled = true; + } else { + currentCollider = null; + } + + currentAttachment = attachment; + + currentAttachmentName = currentAttachment == null ? null : attachmentNameTable[attachment]; + } +} diff --git a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs.meta b/spine-unity/Assets/spine-unity/BoundingBoxFollower.cs.meta similarity index 78% rename from spine-tk2d/Assets/examples/spineboy/Spineboy.cs.meta rename to spine-unity/Assets/spine-unity/BoundingBoxFollower.cs.meta index f72d4bd42..d81fd14af 100644 --- a/spine-tk2d/Assets/examples/spineboy/Spineboy.cs.meta +++ b/spine-unity/Assets/spine-unity/BoundingBoxFollower.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f759d8e3f055a02448de557d18984e50 +guid: 0317ee9ba6e1b1e49a030268e026d372 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/Assets/spine-unity/CustomSkin.cs b/spine-unity/Assets/spine-unity/CustomSkin.cs index 5b98ad66c..67f1647ab 100644 --- a/spine-unity/Assets/spine-unity/CustomSkin.cs +++ b/spine-unity/Assets/spine-unity/CustomSkin.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; using Spine; diff --git a/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs b/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs index 72b0a68d0..93bab1a35 100644 --- a/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/AtlasAssetInspector.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -27,11 +28,13 @@ * 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.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; +using System.IO; using UnityEditor; using UnityEngine; using Spine; @@ -40,13 +43,43 @@ using Spine; [CustomEditor(typeof(AtlasAsset))] public class AtlasAssetInspector : Editor { private SerializedProperty atlasFile, materials; + private AtlasAsset atlasAsset; + private List baked; + private List bakedObjects; void OnEnable () { SpineEditorUtilities.ConfirmInitialization(); atlasFile = serializedObject.FindProperty("atlasFile"); materials = serializedObject.FindProperty("materials"); + atlasAsset = (AtlasAsset)target; + UpdateBakedList(); } + void UpdateBakedList () { + AtlasAsset asset = (AtlasAsset)target; + baked = new List(); + bakedObjects = new List(); + if (atlasFile.objectReferenceValue != null) { + Atlas atlas = asset.GetAtlas(); + FieldInfo field = typeof(Atlas).GetField("regions", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.NonPublic); + List regions = (List)field.GetValue(atlas); + string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); + string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath); + string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); + + + for (int i = 0; i < regions.Count; i++) { + AtlasRegion region = regions[i]; + string bakedPrefabPath = Path.Combine(bakedDirPath, SpineEditorUtilities.GetPathSafeRegionName(region) + ".prefab").Replace("\\", "/"); + GameObject prefab = (GameObject)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(GameObject)); + baked.Add(prefab != null); + bakedObjects.Add(prefab); + } + } + } + + + override public void OnInspectorGUI () { serializedObject.Update(); AtlasAsset asset = (AtlasAsset)target; @@ -70,22 +103,71 @@ public class AtlasAssetInspector : Editor { return; } } - - if (atlasFile.objectReferenceValue != null) { Atlas atlas = asset.GetAtlas(); FieldInfo field = typeof(Atlas).GetField("regions", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.NonPublic); List regions = (List)field.GetValue(atlas); - EditorGUILayout.LabelField("Regions"); + EditorGUILayout.LabelField(new GUIContent("Region Baking", SpineEditorUtilities.Icons.unityIcon)); EditorGUI.indentLevel++; + AtlasPage lastPage = null; for (int i = 0; i < regions.Count; i++) { - EditorGUILayout.LabelField(regions[i].name); + if (lastPage != regions[i].page) { + if (lastPage != null) { + EditorGUILayout.Separator(); + EditorGUILayout.Separator(); + } + lastPage = regions[i].page; + Material mat = ((Material)lastPage.rendererObject); + if (mat != null) { + GUILayout.BeginHorizontal(); + { + EditorGUI.BeginDisabledGroup(true); + EditorGUILayout.ObjectField(mat, typeof(Material), false, GUILayout.Width(250)); + EditorGUI.EndDisabledGroup(); + } + GUILayout.EndHorizontal(); + + } else { + EditorGUILayout.LabelField(new GUIContent("Page missing material!", SpineEditorUtilities.Icons.warning)); + } + } + GUILayout.BeginHorizontal(); + { + //EditorGUILayout.ToggleLeft(baked[i] ? "" : regions[i].name, baked[i]); + bool result = baked[i] ? EditorGUILayout.ToggleLeft("", baked[i], GUILayout.Width(24)) : EditorGUILayout.ToggleLeft(" " + regions[i].name, baked[i]); + if(baked[i]){ + EditorGUILayout.ObjectField(bakedObjects[i], typeof(GameObject), false, GUILayout.Width(250)); + } + if (result && !baked[i]) { + //bake + baked[i] = true; + bakedObjects[i] = SpineEditorUtilities.BakeRegion(atlasAsset, regions[i]); + EditorGUIUtility.PingObject(bakedObjects[i]); + } else if (!result && baked[i]) { + //unbake + bool unbakeResult = EditorUtility.DisplayDialog("Delete Baked Region", "Do you want to delete the prefab for " + regions[i].name, "Yes", "Cancel"); + switch (unbakeResult) { + case true: + //delete + string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); + string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath); + string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); + string bakedPrefabPath = Path.Combine(bakedDirPath, SpineEditorUtilities.GetPathSafeRegionName(regions[i]) + ".prefab").Replace("\\", "/"); + AssetDatabase.DeleteAsset(bakedPrefabPath); + baked[i] = false; + break; + case false: + //do nothing + break; + } + } + } + GUILayout.EndHorizontal(); } EditorGUI.indentLevel--; } - if (serializedObject.ApplyModifiedProperties() || (UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed") ) { diff --git a/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs b/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs index e59610626..1d28e23c2 100644 --- a/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/BoneFollowerInspector.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -27,6 +28,7 @@ * 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; @@ -35,6 +37,7 @@ using UnityEngine; public class BoneFollowerInspector : Editor { private SerializedProperty boneName, skeletonRenderer, followZPosition, followBoneRotation; BoneFollower component; + bool needsReset; void OnEnable () { skeletonRenderer = serializedObject.FindProperty("skeletonRenderer"); @@ -64,6 +67,12 @@ public class BoneFollowerInspector : Editor { } override public void OnInspectorGUI () { + if (needsReset) { + component.Reset(); + component.DoUpdate(); + needsReset = false; + SceneView.RepaintAll(); + } serializedObject.Update(); FindRenderer(); @@ -71,26 +80,16 @@ public class BoneFollowerInspector : Editor { EditorGUILayout.PropertyField(skeletonRenderer); if (component.valid) { - String[] bones = new String[1]; - try { - bones = new String[component.skeletonRenderer.skeleton.Data.Bones.Count + 1]; - } catch { - + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(boneName); + if (EditorGUI.EndChangeCheck()) { + serializedObject.ApplyModifiedProperties(); + needsReset = true; + serializedObject.Update(); } + + - bones[0] = ""; - for (int i = 0; i < bones.Length - 1; i++) - bones[i + 1] = component.skeletonRenderer.skeleton.Data.Bones.Items[i].Name; - Array.Sort(bones); - int boneIndex = Math.Max(0, Array.IndexOf(bones, boneName.stringValue)); - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Bone"); - EditorGUIUtility.LookLikeControls(); - boneIndex = EditorGUILayout.Popup(boneIndex, bones); - EditorGUILayout.EndHorizontal(); - - boneName.stringValue = boneIndex == 0 ? null : bones[boneIndex]; EditorGUILayout.PropertyField(followBoneRotation); EditorGUILayout.PropertyField(followZPosition); } else { diff --git a/spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs b/spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs new file mode 100644 index 000000000..5b3aba77e --- /dev/null +++ b/spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs @@ -0,0 +1,84 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; +using UnityEditor; +using System.Collections; + +[CustomEditor(typeof(BoundingBoxFollower))] +public class BoundingBoxFollowerInspector : Editor { + SerializedProperty skeletonRenderer, slotName; + BoundingBoxFollower follower; + bool needToReset = false; + + void OnEnable () { + skeletonRenderer = serializedObject.FindProperty("skeletonRenderer"); + slotName = serializedObject.FindProperty("slotName"); + follower = (BoundingBoxFollower)target; + } + + public override void OnInspectorGUI () { + if (needToReset) { + follower.HandleReset(null); + needToReset = false; + } + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(skeletonRenderer); + EditorGUILayout.PropertyField(slotName, new GUIContent("Slot")); + + if (EditorGUI.EndChangeCheck()){ + serializedObject.ApplyModifiedProperties(); + needToReset = true; + } + + bool hasBone = follower.GetComponent() != null; + + EditorGUI.BeginDisabledGroup(hasBone || follower.Slot == null); + { + if (GUILayout.Button(new GUIContent("Add Bone Follower", SpineEditorUtilities.Icons.bone))) { + var boneFollower = follower.gameObject.AddComponent(); + boneFollower.boneName = follower.Slot.Data.BoneData.Name; + } + } + EditorGUI.EndDisabledGroup(); + + + + //GUILayout.Space(20); + GUILayout.Label("Attachment Names", EditorStyles.boldLabel); + foreach (var kp in follower.attachmentNameTable) { + string name = kp.Value; + var collider = follower.colliderTable[kp.Key]; + bool isPlaceholder = name != kp.Key.Name; + collider.enabled = EditorGUILayout.ToggleLeft(new GUIContent(!isPlaceholder ? name : name + " [" + kp.Key.Name + "]", isPlaceholder ? SpineEditorUtilities.Icons.skinPlaceholder : SpineEditorUtilities.Icons.boundingBox), collider.enabled); + } + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta b/spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs.meta similarity index 78% rename from spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta rename to spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs.meta index 29dabc13e..e42ba7739 100644 --- a/spine-tk2d/Assets/spine-tk2d/BoneFollower.cs.meta +++ b/spine-unity/Assets/spine-unity/Editor/BoundingBoxFollowerInspector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a1fd8daaed7b64148a34acb96ba14ce1 +guid: 670a3cefa3853bd48b5da53a424fd542 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/Assets/spine-unity/Editor/GUI/icon-boundingBox.png.meta b/spine-unity/Assets/spine-unity/Editor/GUI/icon-boundingBox.png.meta index 49c9ab374..0e5d62848 100644 --- a/spine-unity/Assets/spine-unity/Editor/GUI/icon-boundingBox.png.meta +++ b/spine-unity/Assets/spine-unity/Editor/GUI/icon-boundingBox.png.meta @@ -20,11 +20,8 @@ TextureImporter: isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: -3 maxTextureSize: 1024 textureSettings: filterMode: -1 @@ -33,7 +30,6 @@ TextureImporter: wrapMode: 1 nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 0 spriteExtrude: 1 @@ -49,5 +45,3 @@ TextureImporter: sprites: [] spritePackingTag: userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Editor/GUI/icon-hingeChain.png.meta b/spine-unity/Assets/spine-unity/Editor/GUI/icon-hingeChain.png.meta index 83eb12195..e61da1e82 100644 --- a/spine-unity/Assets/spine-unity/Editor/GUI/icon-hingeChain.png.meta +++ b/spine-unity/Assets/spine-unity/Editor/GUI/icon-hingeChain.png.meta @@ -5,8 +5,8 @@ TextureImporter: serializedVersion: 2 mipmaps: mipMapMode: 0 - enableMipMap: 1 - linearTexture: 0 + enableMipMap: 0 + linearTexture: 1 correctGamma: 0 fadeOut: 0 borderMipMap: 0 @@ -20,20 +20,16 @@ TextureImporter: isReadable: 0 grayScaleToAlpha: 0 generateCubemap: 0 - cubemapConvolution: 0 - cubemapConvolutionSteps: 8 - cubemapConvolutionExponent: 1.5 seamlessCubemap: 0 - textureFormat: -1 + textureFormat: -3 maxTextureSize: 1024 textureSettings: filterMode: -1 - aniso: -1 + aniso: 1 mipBias: -1 - wrapMode: -1 - nPOTScale: 1 + wrapMode: 1 + nPOTScale: 0 lightmap: 0 - rGBM: 0 compressionQuality: 50 spriteMode: 0 spriteExtrude: 1 @@ -42,12 +38,10 @@ TextureImporter: spritePivot: {x: .5, y: .5} spriteBorder: {x: 0, y: 0, z: 0, w: 0} spritePixelsToUnits: 100 - alphaIsTransparency: 0 - textureType: -1 + alphaIsTransparency: 1 + textureType: 2 buildTargetSettings: [] spriteSheet: sprites: [] spritePackingTag: userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Editor/Menus.cs b/spine-unity/Assets/spine-unity/Editor/Menus.cs index 578493228..761db5084 100644 --- a/spine-unity/Assets/spine-unity/Editor/Menus.cs +++ b/spine-unity/Assets/spine-unity/Editor/Menus.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -27,6 +28,7 @@ * 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; diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs index 27a590b19..bd7bdecb1 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimationInspector.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -27,6 +28,7 @@ * 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; @@ -66,6 +68,7 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { } } + EditorGUILayout.Space(); //TODO: Refactor this to use GenericMenu and callbacks to avoid interfering with control by other behaviours. // Animation name. @@ -80,10 +83,7 @@ public class SkeletonAnimationInspector : SkeletonRendererInspector { animationIndex = i + 1; } - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Animation", GUILayout.Width(EditorGUIUtility.labelWidth)); - animationIndex = EditorGUILayout.Popup(animationIndex, animations); - EditorGUILayout.EndHorizontal(); + animationIndex = EditorGUILayout.Popup("Animation", animationIndex, animations); String selectedAnimationName = animationIndex == 0 ? null : animations[animationIndex]; if (component.AnimationName != selectedAnimationName) { diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs index beefec4a2..9c4bdec98 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonAnimatorInspector.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * SkeletonAnimatorInspector created by Mitch Thompson @@ -68,4 +40,4 @@ public class SkeletonAnimatorInspector : SkeletonRendererInspector { } } } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs index db2ba8420..4373a1a22 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * SkeletonBaker added by Mitch Thompson @@ -68,6 +40,7 @@ using Spine; /// FFD (Unity does not provide access to BlendShapes with code) /// Color Keys (Maybe one day when Unity supports full FBX standard and provides access with code) /// InheritScale (Never. Unity and Spine do scaling very differently) +/// Draw Order Keyframes /// public static class SkeletonBaker { @@ -159,7 +132,7 @@ public static class SkeletonBaker { unusedClipNames.Remove(clip.name); } else { AssetDatabase.AddObjectToAsset(clip, controller); -#if UNITY_5_0 +#if UNITY_5 controller.AddMotion(clip); #else UnityEditorInternal.AnimatorController.AddAnimationClipToController(controller, clip); @@ -387,6 +360,7 @@ public static class SkeletonBaker { if (skeletonDataAsset.controller != null) { controller = (UnityEditor.Animations.AnimatorController)skeletonDataAsset.controller; + controllerPath = AssetDatabase.GetAssetPath(controller); } else { if (File.Exists(controllerPath)) { if (EditorUtility.DisplayDialog("Controller Overwrite Warning", "Unknown Controller already exists at: " + controllerPath, "Update", "Overwrite")) { @@ -404,6 +378,7 @@ public static class SkeletonBaker { if (skeletonDataAsset.controller != null) { controller = (UnityEditorInternal.AnimatorController)skeletonDataAsset.controller; + controllerPath = AssetDatabase.GetAssetPath(controller); } else { if (File.Exists(controllerPath)) { if (EditorUtility.DisplayDialog("Controller Overwrite Warning", "Unknown Controller already exists at: " + controllerPath, "Update", "Overwrite")) { @@ -884,6 +859,7 @@ public static class SkeletonBaker { var ev = events[i]; AnimationEvent ae = new AnimationEvent(); + //TODO: Deal with Mecanim's zero-time missed event ae.time = frames[i]; ae.functionName = ev.Data.Name; ae.messageOptions = eventOptions; diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs.meta b/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs.meta index 1e73fe1df..37b13c997 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs.meta +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonBaker.cs.meta @@ -1,10 +1,8 @@ fileFormatVersion: 2 -guid: 8dc542c228b046648ae29be625ecd1b4 +guid: 687d9be457ea4eb44bf09c35c95ee5cd MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs index ed7c90e05..5fc35fe02 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * Automatic import and advanced preview added by Mitch Thompson @@ -48,13 +20,17 @@ public class SkeletonDataAssetInspector : Editor { static bool showAnimationList = true; static bool showSlotList = false; static bool showAttachments = false; - static bool showBaking = true; + static bool showUnity = true; static bool bakeAnimations = true; static bool bakeIK = true; static SendMessageOptions bakeEventOptions = SendMessageOptions.DontRequireReceiver; private SerializedProperty atlasAssets, skeletonJSON, scale, fromAnimation, toAnimation, duration, defaultMix, controller; +#if SPINE_TK2D + private SerializedProperty spriteCollection; +#endif + private bool m_initialized = false; private SkeletonDataAsset m_skeletonDataAsset; private SkeletonData m_skeletonData; @@ -76,6 +52,9 @@ public class SkeletonDataAssetInspector : Editor { duration = serializedObject.FindProperty("duration"); defaultMix = serializedObject.FindProperty("defaultMix"); controller = serializedObject.FindProperty("controller"); +#if SPINE_TK2D + spriteCollection = serializedObject.FindProperty("spriteCollection"); +#endif m_skeletonDataAsset = (SkeletonDataAsset)target; m_skeletonDataAssetGUID = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(m_skeletonDataAsset)); @@ -88,7 +67,7 @@ public class SkeletonDataAssetInspector : Editor { m_skeletonData = m_skeletonDataAsset.GetSkeletonData(true); - showBaking = EditorPrefs.GetBool("SkeletonDataAssetInspector_showBaking", true); + showUnity = EditorPrefs.GetBool("SkeletonDataAssetInspector_showUnity", true); RepopulateWarnings(); } @@ -107,7 +86,14 @@ public class SkeletonDataAssetInspector : Editor { serializedObject.Update(); EditorGUI.BeginChangeCheck(); +#if !SPINE_TK2D EditorGUILayout.PropertyField(atlasAssets, true); +#else + EditorGUI.BeginDisabledGroup(spriteCollection.objectReferenceValue != null); + EditorGUILayout.PropertyField(atlasAssets, true); + EditorGUI.EndDisabledGroup(); + EditorGUILayout.PropertyField(spriteCollection, true); +#endif EditorGUILayout.PropertyField(skeletonJSON); EditorGUILayout.PropertyField(scale); if (EditorGUI.EndChangeCheck()) { @@ -127,11 +113,10 @@ public class SkeletonDataAssetInspector : Editor { if (m_skeletonData != null) { - DrawMecanim(); DrawAnimationStateInfo(); DrawAnimationList(); DrawSlotList(); - DrawBaking(); + DrawUnityTools(); } else { @@ -146,20 +131,35 @@ public class SkeletonDataAssetInspector : Editor { } void DrawMecanim () { + EditorGUILayout.PropertyField(controller, new GUIContent("Controller", SpineEditorUtilities.Icons.controllerIcon)); if (controller.objectReferenceValue == null) { - if (GUILayout.Button(new GUIContent("Generate Mecanim Controller", SpineEditorUtilities.Icons.controllerIcon), GUILayout.Width(195), GUILayout.Height(20))) + GUILayout.BeginHorizontal(); + GUILayout.Space(32); + if (GUILayout.Button(new GUIContent("Generate Mecanim Controller"), EditorStyles.toolbarButton, GUILayout.Width(195), GUILayout.Height(20))) SkeletonBaker.GenerateMecanimAnimationClips(m_skeletonDataAsset); + //GUILayout.Label(new GUIContent("Alternative to SkeletonAnimation, not a requirement.", SpineEditorUtilities.Icons.warning)); + GUILayout.EndHorizontal(); + EditorGUILayout.LabelField("Alternative to SkeletonAnimation, not required", EditorStyles.miniLabel); } + } - void DrawBaking () { - bool pre = showBaking; - showBaking = EditorGUILayout.Foldout(showBaking, new GUIContent("Baking", SpineEditorUtilities.Icons.unityIcon)); - if (pre != showBaking) - EditorPrefs.SetBool("SkeletonDataAssetInspector_showBaking", showBaking); + void DrawUnityTools () { + bool pre = showUnity; + showUnity = EditorGUILayout.Foldout(showUnity, new GUIContent("Unity Tools", SpineEditorUtilities.Icons.unityIcon)); + if (pre != showUnity) + EditorPrefs.SetBool("SkeletonDataAssetInspector_showUnity", showUnity); - if (showBaking) { + if (showUnity) { + EditorGUI.indentLevel++; + EditorGUILayout.LabelField("SkeletonAnimator", EditorStyles.boldLabel); + EditorGUI.indentLevel++; + DrawMecanim(); + EditorGUI.indentLevel--; + GUILayout.Space(32); + EditorGUILayout.LabelField("Baking", EditorStyles.boldLabel); + EditorGUILayout.HelpBox("WARNING!\n\nBaking is NOT the same as SkeletonAnimator!\nDoes not support the following:\n\tFlipX or Y\n\tInheritScale\n\tColor Keys\n\tDraw Order Keys\n\tIK and Curves are sampled at 60fps and are not realtime.\n\tPlease read SkeletonBaker.cs comments for full details.\n\nThe main use of Baking is to export Spine projects to be used without the Spine Runtime (ie: for sale on the Asset Store, or background objects that are animated only with a wind noise generator)", MessageType.Warning, true); EditorGUI.indentLevel++; bakeAnimations = EditorGUILayout.Toggle("Bake Animations", bakeAnimations); EditorGUI.BeginDisabledGroup(bakeAnimations == false); @@ -311,13 +311,13 @@ public class SkeletonDataAssetInspector : Editor { 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))) { + GUI.contentColor = Color.red; + if (GUILayout.Button("\u25BA", EditorStyles.toolbarButton, GUILayout.Width(24))) { StopAnimation(); } GUI.contentColor = Color.white; } else { - if (GUILayout.Button("\u25BA", GUILayout.Width(24))) { + if (GUILayout.Button("\u25BA", EditorStyles.toolbarButton, GUILayout.Width(24))) { PlayAnimation(a.Name, true); } } @@ -441,8 +441,8 @@ public class SkeletonDataAssetInspector : Editor { warnings.Add("Missing Skeleton JSON"); else { - if (SpineEditorUtilities.IsSpineJSON((TextAsset)skeletonJSON.objectReferenceValue) == false) { - warnings.Add("Skeleton JSON is not a Valid JSON file"); + if (SpineEditorUtilities.IsValidSpineData((TextAsset)skeletonJSON.objectReferenceValue) == false) { + warnings.Add("Skeleton data file is not a valid JSON or binary file."); } else { bool detectedNullAtlasEntry = false; List atlasList = new List(); @@ -674,7 +674,9 @@ public class SkeletonDataAssetInspector : Editor { if (!EditorApplication.isPlaying) m_skeletonAnimation.LateUpdate(); - if (drawHandles) { + + + if (drawHandles) { Handles.SetCamera(m_previewUtility.m_Camera); Handles.color = m_originColor; @@ -683,10 +685,47 @@ public class SkeletonDataAssetInspector : Editor { } this.m_previewUtility.m_Camera.Render(); + + if (drawHandles) { + Handles.SetCamera(m_previewUtility.m_Camera); + foreach (var slot in m_skeletonAnimation.skeleton.Slots) { + if (slot.Attachment is BoundingBoxAttachment) { + + DrawBoundingBox(slot.Bone, (BoundingBoxAttachment)slot.Attachment); + } + } + } + go.GetComponent().enabled = false; } + } + + void DrawBoundingBox (Bone bone, BoundingBoxAttachment box) { + float[] worldVerts = new float[box.Vertices.Length]; + box.ComputeWorldVertices(bone, worldVerts); + + Handles.color = Color.green; + Vector3 lastVert = Vector3.back; + Vector3 vert = Vector3.back; + Vector3 firstVert = new Vector3(worldVerts[0], worldVerts[1], -1); + for (int i = 0; i < worldVerts.Length; i += 2) { + vert.x = worldVerts[i]; + vert.y = worldVerts[i + 1]; + + if (i > 0) { + Handles.DrawLine(lastVert, vert); + } + + + lastVert = vert; + } + + Handles.DrawLine(lastVert, firstVert); + + + } void Update () { diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs.meta b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs.meta index 5a602df97..fba64b6e3 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs.meta +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonDataAssetInspector.cs.meta @@ -6,5 +6,3 @@ MonoImporter: executionOrder: 0 icon: {instanceID: 0} userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs index bb8961aac..267a4e4d0 100644 --- a/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs +++ b/spine-unity/Assets/spine-unity/Editor/SkeletonRendererInspector.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -27,14 +28,22 @@ * 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.Reflection; using UnityEditor; using UnityEngine; [CustomEditor(typeof(SkeletonRenderer))] public class SkeletonRendererInspector : Editor { + protected static bool advancedFoldout; + protected SerializedProperty skeletonDataAsset, initialSkinName, normals, tangents, meshes, immutableTriangles, submeshSeparators, front; + private static MethodInfo EditorGUILayoutSortingLayerField; + protected SerializedObject rendererSerializedObject; + protected SerializedProperty sortingLayerIDProperty; + protected virtual void OnEnable () { SpineEditorUtilities.ConfirmInitialization(); skeletonDataAsset = serializedObject.FindProperty("skeletonDataAsset"); @@ -45,11 +54,16 @@ public class SkeletonRendererInspector : Editor { immutableTriangles = serializedObject.FindProperty("immutableTriangles"); submeshSeparators = serializedObject.FindProperty("submeshSeparators"); front = serializedObject.FindProperty("frontFacing"); + + if(EditorGUILayoutSortingLayerField == null) + EditorGUILayoutSortingLayerField = typeof(EditorGUILayout).GetMethod("SortingLayerField", BindingFlags.Static | BindingFlags.NonPublic, null, new Type[] { typeof(GUIContent), typeof(SerializedProperty), typeof(GUIStyle) }, null); + + rendererSerializedObject = new SerializedObject(((SkeletonRenderer)target).GetComponent()); + sortingLayerIDProperty = rendererSerializedObject.FindProperty("m_SortingLayerID"); } protected virtual void gui () { SkeletonRenderer component = (SkeletonRenderer)target; - EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(skeletonDataAsset); float reloadWidth = GUI.skin.label.CalcSize(new GUIContent("Reload")).x + 20; @@ -83,23 +97,50 @@ public class SkeletonRendererInspector : Editor { if (name == initialSkinName.stringValue) skinIndex = i; } - - EditorGUILayout.BeginHorizontal(); - EditorGUILayout.LabelField("Initial Skin", GUILayout.Width(EditorGUIUtility.labelWidth)); - skinIndex = EditorGUILayout.Popup(skinIndex, skins); - EditorGUILayout.EndHorizontal(); - + + skinIndex = EditorGUILayout.Popup("Initial Skin", skinIndex, skins); initialSkinName.stringValue = skins[skinIndex]; } - - EditorGUILayout.PropertyField(meshes, - new GUIContent("Render Meshes", "Disable to optimize rendering for skeletons that don't use meshes")); - EditorGUILayout.PropertyField(immutableTriangles, - new GUIContent("Immutable Triangles", "Enable to optimize rendering for skeletons that never change attachment visbility")); - EditorGUILayout.PropertyField(normals); - EditorGUILayout.PropertyField(tangents); - EditorGUILayout.PropertyField(front); - EditorGUILayout.PropertyField(submeshSeparators, true); + + EditorGUILayout.Space(); + + // Sorting Layers + { + var renderer = component.GetComponent(); + if(renderer != null) { + EditorGUI.BeginChangeCheck(); + + if(EditorGUILayoutSortingLayerField != null && sortingLayerIDProperty != null) { + EditorGUILayoutSortingLayerField.Invoke(null, new object[] { new GUIContent("Sorting Layer"), sortingLayerIDProperty, EditorStyles.popup } ); + } else { + renderer.sortingLayerID = EditorGUILayout.IntField("Sorting Layer ID", renderer.sortingLayerID); + } + + renderer.sortingOrder = EditorGUILayout.IntField("Order in Layer", renderer.sortingOrder); + + if(EditorGUI.EndChangeCheck()) { + rendererSerializedObject.ApplyModifiedProperties(); + EditorUtility.SetDirty(renderer); + } + } + } + + // More Render Options... + { + advancedFoldout = EditorGUILayout.Foldout(advancedFoldout, "Advanced"); + if(advancedFoldout) { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(meshes, + new GUIContent("Render Meshes", "Disable to optimize rendering for skeletons that don't use meshes")); + EditorGUILayout.PropertyField(immutableTriangles, + new GUIContent("Immutable Triangles", "Enable to optimize rendering for skeletons that never change attachment visbility")); + EditorGUILayout.PropertyField(normals); + EditorGUILayout.PropertyField(tangents); + EditorGUILayout.PropertyField(front); + EditorGUILayout.PropertyField(submeshSeparators, true); + EditorGUI.indentLevel--; + } + } } override public void OnInspectorGUI () { @@ -112,4 +153,5 @@ public class SkeletonRendererInspector : Editor { ((SkeletonRenderer)target).Reset(); } } + } diff --git a/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs b/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs index 703b54bad..17810e6e0 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineAttributeDrawers.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 Attribute Drawers created by Mitch Thompson @@ -82,8 +54,8 @@ public class SpineSlotDrawer : PropertyDrawer { } else if (property.serializedObject.targetObject is Component) { var component = (Component)property.serializedObject.targetObject; - if (component.GetComponent() != null) { - var skeletonRenderer = component.GetComponent(); + if (component.GetComponentInChildren() != null) { + var skeletonRenderer = component.GetComponentInChildren(); skeletonDataAsset = skeletonRenderer.skeletonDataAsset; } } @@ -114,8 +86,35 @@ public class SpineSlotDrawer : PropertyDrawer { for (int i = 0; i < data.Slots.Count; i++) { string name = data.Slots.Items[i].Name; - if (name.StartsWith(attrib.startsWith)) - menu.AddItem(new GUIContent(name), name == property.stringValue, HandleSelect, new SpineDrawerValuePair(name, property)); + if (name.StartsWith(attrib.startsWith)) { + if (attrib.containsBoundingBoxes) { + + int slotIndex = i; + + List attachments = new List(); + foreach (var skin in data.Skins) { + skin.FindAttachmentsForSlot(slotIndex, attachments); + } + + bool hasBoundingBox = false; + foreach (var attachment in attachments) { + if (attachment is BoundingBoxAttachment) { + menu.AddItem(new GUIContent(name), name == property.stringValue, HandleSelect, new SpineDrawerValuePair(name, property)); + hasBoundingBox = true; + break; + } + } + + if (!hasBoundingBox) + menu.AddDisabledItem(new GUIContent(name)); + + + } else { + menu.AddItem(new GUIContent(name), name == property.stringValue, HandleSelect, new SpineDrawerValuePair(name, property)); + } + + } + } menu.ShowAsContext(); @@ -160,8 +159,8 @@ public class SpineSkinDrawer : PropertyDrawer { } else if (property.serializedObject.targetObject is Component) { var component = (Component)property.serializedObject.targetObject; - if (component.GetComponent() != null) { - var skeletonRenderer = component.GetComponent(); + if (component.GetComponentInChildren() != null) { + var skeletonRenderer = component.GetComponentInChildren(); skeletonDataAsset = skeletonRenderer.skeletonDataAsset; } } @@ -304,8 +303,8 @@ public class SpineAnimationDrawer : PropertyDrawer { } } else if (property.serializedObject.targetObject is Component) { var component = (Component)property.serializedObject.targetObject; - if (component.GetComponent() != null) { - var skeletonRenderer = component.GetComponent(); + if (component.GetComponentInChildren() != null) { + var skeletonRenderer = component.GetComponentInChildren(); skeletonDataAsset = skeletonRenderer.skeletonDataAsset; } } @@ -384,8 +383,8 @@ public class SpineAttachmentDrawer : PropertyDrawer { } else if (property.serializedObject.targetObject is Component) { var component = (Component)property.serializedObject.targetObject; - if (component.GetComponent() != null) { - skeletonRenderer = component.GetComponent(); + if (component.GetComponentInChildren() != null) { + skeletonRenderer = component.GetComponentInChildren(); skeletonDataAsset = skeletonRenderer.skeletonDataAsset; } } @@ -534,8 +533,8 @@ public class SpineBoneDrawer : PropertyDrawer { } else if (property.serializedObject.targetObject is Component) { var component = (Component)property.serializedObject.targetObject; - if (component.GetComponent() != null) { - var skeletonRenderer = component.GetComponent(); + if (component.GetComponentInChildren() != null) { + var skeletonRenderer = component.GetComponentInChildren(); skeletonDataAsset = skeletonRenderer.skeletonDataAsset; } } @@ -582,4 +581,4 @@ public class SpineBoneDrawer : PropertyDrawer { public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return 18; } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs index 93936e985..19991c208 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs @@ -1,26 +1,26 @@ -#pragma warning disable 0219 /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -29,6 +29,8 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#pragma warning disable 0219 + /***************************************************************************** * Spine Editor Utilities created by Mitch Thompson * Full irrevocable rights and permissions granted to Esoteric Software @@ -149,16 +151,21 @@ public class SpineEditorUtilities : AssetPostprocessor { public static string editorGUIPath = ""; static Dictionary skeletonRendererTable; static Dictionary skeletonUtilityBoneTable; + static Dictionary boundingBoxFollowerTable; public static float defaultScale = 0.01f; public static float defaultMix = 0.2f; public static string defaultShader = "Spine/Skeleton"; public static bool initialized; + const string DEFAULT_MIX_KEY = "SPINE_DEFAULT_MIX"; + static SpineEditorUtilities () { Initialize(); } static void Initialize () { + defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, 0.2f); + 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")); @@ -168,6 +175,7 @@ public class SpineEditorUtilities : AssetPostprocessor { skeletonRendererTable = new Dictionary(); skeletonUtilityBoneTable = new Dictionary(); + boundingBoxFollowerTable = new Dictionary(); EditorApplication.hierarchyWindowChanged += HierarchyWindowChanged; EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItemOnGUI; @@ -184,15 +192,19 @@ public class SpineEditorUtilities : AssetPostprocessor { static void HierarchyWindowChanged () { skeletonRendererTable.Clear(); skeletonUtilityBoneTable.Clear(); + boundingBoxFollowerTable.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); + + BoundingBoxFollower[] bbfArr = Object.FindObjectsOfType(); + foreach (BoundingBoxFollower bbf in bbfArr) + boundingBoxFollowerTable.Add(bbf.gameObject.GetInstanceID(), bbf); } static void HierarchyWindowItemOnGUI (int instanceId, Rect selectionRect) { @@ -222,6 +234,21 @@ public class SpineEditorUtilities : AssetPostprocessor { } } + } else if (boundingBoxFollowerTable.ContainsKey(instanceId)) { + Rect r = new Rect(selectionRect); + r.x -= 26; + + if (boundingBoxFollowerTable[instanceId] != null) { + if (boundingBoxFollowerTable[instanceId].transform.childCount == 0) + r.x += 13; + + r.y += 2; + + r.width = 13; + r.height = 13; + + GUI.DrawTexture(r, Icons.boundingBox); + } } } @@ -247,9 +274,13 @@ public class SpineEditorUtilities : AssetPostprocessor { imagePaths.Add(str); break; case ".json": - TextAsset spineJson = (TextAsset)AssetDatabase.LoadAssetAtPath(str, typeof(TextAsset)); - if (IsSpineJSON(spineJson)) { + if (IsValidSpineData((TextAsset)AssetDatabase.LoadAssetAtPath(str, typeof(TextAsset)))) skeletonPaths.Add(str); + break; + case ".bytes": + if (str.ToLower().EndsWith(".skel.bytes")) { + if (IsValidSpineData((TextAsset)AssetDatabase.LoadAssetAtPath(str, typeof(TextAsset)))) + skeletonPaths.Add(str); } break; } @@ -375,7 +406,7 @@ public class SpineEditorUtilities : AssetPostprocessor { Selection.activeObject = null; skeletonDataAsset.Reset(); - + string guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(skeletonDataAsset)); string lastHash = EditorPrefs.GetString(guid + "_hash"); @@ -399,7 +430,9 @@ public class SpineEditorUtilities : AssetPostprocessor { static bool CheckForValidAtlas (string atlasPath) { - + return false; + //////////////DEPRECATED - always check for new atlas data now + /* string dir = Path.GetDirectoryName(atlasPath); TextAsset textAsset = (TextAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(TextAsset)); DirectoryInfo dirInfo = new DirectoryInfo(dir); @@ -411,12 +444,37 @@ public class SpineEditorUtilities : AssetPostprocessor { var obj = AssetDatabase.LoadAssetAtPath(localPath, typeof(Object)); if (obj is AtlasAsset) { var atlasAsset = (AtlasAsset)obj; - if (atlasAsset.atlasFile == textAsset) + if (atlasAsset.atlasFile == textAsset) { + + + Atlas atlas = atlasAsset.GetAtlas(); + FieldInfo field = typeof(Atlas).GetField("regions", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.NonPublic); + List regions = (List)field.GetValue(atlas); + string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); + string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath); + string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); + + for (int i = 0; i < regions.Count; i++) { + AtlasRegion region = regions[i]; + string bakedPrefabPath = Path.Combine(bakedDirPath, SpineEditorUtilities.GetPathSafeRegionName(region) + ".prefab").Replace("\\", "/"); + GameObject prefab = (GameObject)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(GameObject)); + + if (prefab != null) { + Debug.Log("Updating: " + region.name); + BakeRegion(atlasAsset, region); + } + } + + return true; + } + } } return false; + + */ } static List MultiAtlasDialog (List requiredPaths, string initialDirectory, string header = "") { @@ -511,10 +569,23 @@ public class SpineEditorUtilities : AssetPostprocessor { return (AtlasAsset)obj; } - public static List GetRequiredAtlasRegions (string jsonPath) { + static void AddRequiredAtlasRegionsFromBinary (string skeletonDataPath, List requiredPaths) { + SkeletonBinary binary = new SkeletonBinary(new AtlasRequirementLoader(requiredPaths)); + TextAsset data = (TextAsset)AssetDatabase.LoadAssetAtPath(skeletonDataPath, typeof(TextAsset)); + MemoryStream input = new MemoryStream(data.bytes); + binary.ReadSkeletonData(input); + binary = null; + } + + public static List GetRequiredAtlasRegions (string skeletonDataPath) { List requiredPaths = new List(); - TextAsset spineJson = (TextAsset)AssetDatabase.LoadAssetAtPath(jsonPath, typeof(TextAsset)); + if (skeletonDataPath.Contains(".skel")) { + AddRequiredAtlasRegionsFromBinary(skeletonDataPath, requiredPaths); + return requiredPaths; + } + + TextAsset spineJson = (TextAsset)AssetDatabase.LoadAssetAtPath(skeletonDataPath, typeof(TextAsset)); StringReader reader = new StringReader(spineJson.text); var root = Json.Deserialize(reader) as Dictionary; @@ -524,6 +595,12 @@ public class SpineEditorUtilities : AssetPostprocessor { foreach (KeyValuePair attachmentEntry in ((Dictionary)slotEntry.Value)) { var data = ((Dictionary)attachmentEntry.Value); + if (data.ContainsKey("type")) { + if ((string)data["type"] == "boundingbox") { + continue; + } + + } if (data.ContainsKey("path")) requiredPaths.Add((string)data["path"]); else if (data.ContainsKey("name")) @@ -582,8 +659,14 @@ public class SpineEditorUtilities : AssetPostprocessor { return arr; } - public static bool IsSpineJSON (TextAsset asset) { - object obj = Json.Deserialize(new StringReader(asset.text)); + public static bool IsValidSpineData (TextAsset asset) { + if (asset.name.Contains(".skel")) return true; + + object obj = null; + try { + obj = Json.Deserialize(new StringReader(asset.text)); + } catch (System.Exception) { + } if (obj == null) { Debug.LogError("Is not valid JSON"); return false; @@ -615,9 +698,14 @@ public class SpineEditorUtilities : AssetPostprocessor { AtlasAsset atlasAsset = (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); + List vestigialMaterials = new List(); if (atlasAsset == null) atlasAsset = AtlasAsset.CreateInstance(); + else { + foreach (Material m in atlasAsset.materials) + vestigialMaterials.Add(m); + } atlasAsset.atlasFile = atlasText; @@ -660,6 +748,8 @@ public class SpineEditorUtilities : AssetPostprocessor { if (mat == null) { mat = new Material(Shader.Find(defaultShader)); AssetDatabase.CreateAsset(mat, materialPath); + } else { + vestigialMaterials.Remove(mat); } mat.mainTexture = texture; @@ -670,16 +760,96 @@ public class SpineEditorUtilities : AssetPostprocessor { atlasAsset.materials[i] = mat; } + for (int i = 0; i < vestigialMaterials.Count; i++) + AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(vestigialMaterials[i])); + if (AssetDatabase.GetAssetPath(atlasAsset) == "") AssetDatabase.CreateAsset(atlasAsset, atlasPath); else atlasAsset.Reset(); + EditorUtility.SetDirty(atlasAsset); + AssetDatabase.SaveAssets(); + + //iterate regions and bake marked + Atlas atlas = atlasAsset.GetAtlas(); + FieldInfo field = typeof(Atlas).GetField("regions", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.NonPublic); + List regions = (List)field.GetValue(atlas); + string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); + string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath); + string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); + + bool hasBakedRegions = false; + for (int i = 0; i < regions.Count; i++) { + AtlasRegion region = regions[i]; + string bakedPrefabPath = Path.Combine(bakedDirPath, SpineEditorUtilities.GetPathSafeRegionName(region) + ".prefab").Replace("\\", "/"); + GameObject prefab = (GameObject)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(GameObject)); + + if (prefab != null) { + BakeRegion(atlasAsset, region, false); + hasBakedRegions = true; + } + } + + if (hasBakedRegions) { + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + return (AtlasAsset)AssetDatabase.LoadAssetAtPath(atlasPath, typeof(AtlasAsset)); } + public static GameObject BakeRegion (AtlasAsset atlasAsset, AtlasRegion region, bool autoSave = true) { + Atlas atlas = atlasAsset.GetAtlas(); + string atlasAssetPath = AssetDatabase.GetAssetPath(atlasAsset); + string atlasAssetDirPath = Path.GetDirectoryName(atlasAssetPath); + string bakedDirPath = Path.Combine(atlasAssetDirPath, atlasAsset.name); + string bakedPrefabPath = Path.Combine(bakedDirPath, GetPathSafeRegionName(region) + ".prefab").Replace("\\", "/"); + + GameObject prefab = (GameObject)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(GameObject)); + GameObject root; + Mesh mesh; + bool isNewPrefab = false; + + if (!Directory.Exists(bakedDirPath)) + Directory.CreateDirectory(bakedDirPath); + + if (prefab == null) { + root = new GameObject("temp", typeof(MeshFilter), typeof(MeshRenderer)); + prefab = (GameObject)PrefabUtility.CreatePrefab(bakedPrefabPath, root); + isNewPrefab = true; + Object.DestroyImmediate(root); + } + + mesh = (Mesh)AssetDatabase.LoadAssetAtPath(bakedPrefabPath, typeof(Mesh)); + + Material mat = null; + mesh = atlasAsset.GenerateMesh(region.name, mesh, out mat); + if (isNewPrefab) { + AssetDatabase.AddObjectToAsset(mesh, prefab); + prefab.GetComponent().sharedMesh = mesh; + } + + EditorUtility.SetDirty(mesh); + EditorUtility.SetDirty(prefab); + + if (autoSave) { + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + + + prefab.GetComponent().sharedMaterial = mat; + + return prefab; + } + + public static string GetPathSafeRegionName (AtlasRegion region) { + return region.name.Replace("/", "_"); + } + static SkeletonDataAsset IngestSpineProject (TextAsset spineJson, params AtlasAsset[] atlasAssets) { string primaryName = Path.GetFileNameWithoutExtension(spineJson.name); string assetPath = Path.GetDirectoryName(AssetDatabase.GetAssetPath(spineJson)); @@ -828,7 +998,7 @@ public class SpineEditorUtilities : AssetPostprocessor { public static SkeletonAnimator InstantiateSkeletonAnimator (SkeletonDataAsset skeletonDataAsset, Skin skin = null) { GameObject go = new GameObject(skeletonDataAsset.name.Replace("_SkeletonData", ""), typeof(MeshFilter), typeof(MeshRenderer), typeof(Animator), typeof(SkeletonAnimator)); - if(skeletonDataAsset.controller == null){ + if (skeletonDataAsset.controller == null) { SkeletonBaker.GenerateMecanimAnimationClips(skeletonDataAsset); } @@ -878,4 +1048,108 @@ public class SpineEditorUtilities : AssetPostprocessor { return anim; } -} \ No newline at end of file + + static bool preferencesLoaded = false; + + [PreferenceItem("Spine")] + static void PreferencesGUI () { + if (!preferencesLoaded) { + preferencesLoaded = true; + defaultMix = EditorPrefs.GetFloat(DEFAULT_MIX_KEY, 0.2f); + } + + + EditorGUILayout.LabelField("Auto-Import Settings", EditorStyles.boldLabel); + EditorGUI.BeginChangeCheck(); + defaultMix = EditorGUILayout.FloatField("Default Mix", defaultMix); + if (EditorGUI.EndChangeCheck()) + EditorPrefs.SetFloat(DEFAULT_MIX_KEY, defaultMix); + + GUILayout.Space(20); + EditorGUILayout.LabelField("3rd Party Settings", EditorStyles.boldLabel); + GUILayout.BeginHorizontal(); + EditorGUILayout.PrefixLabel("TK2D"); + + if (GUILayout.Button("Enable", GUILayout.Width(64))) + EnableTK2D(); + if (GUILayout.Button("Disable", GUILayout.Width(64))) + DisableTK2D(); + GUILayout.EndHorizontal(); + } + + + //TK2D Support + const string SPINE_TK2D_DEFINE = "SPINE_TK2D"; + + static void EnableTK2D () { + bool added = false; + foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { + string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); + if (!defines.Contains(SPINE_TK2D_DEFINE)) { + added = true; + if (defines.EndsWith(";")) + defines = defines + SPINE_TK2D_DEFINE; + else + defines = defines + ";" + SPINE_TK2D_DEFINE; + + PlayerSettings.SetScriptingDefineSymbolsForGroup(group, defines); + } + } + + if (added) { + Debug.LogWarning("Setting Scripting Define Symbol " + SPINE_TK2D_DEFINE); + } else { + Debug.LogWarning("Already Set Scripting Define Symbol " + SPINE_TK2D_DEFINE); + } + } + + + static void DisableTK2D () { + bool removed = false; + foreach (BuildTargetGroup group in System.Enum.GetValues(typeof(BuildTargetGroup))) { + string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); + if (defines.Contains(SPINE_TK2D_DEFINE)) { + removed = true; + if (defines.Contains(SPINE_TK2D_DEFINE + ";")) + defines = defines.Replace(SPINE_TK2D_DEFINE + ";", ""); + else + defines = defines.Replace(SPINE_TK2D_DEFINE, ""); + + PlayerSettings.SetScriptingDefineSymbolsForGroup(group, defines); + } + } + + if (removed) { + Debug.LogWarning("Removing Scripting Define Symbol " + SPINE_TK2D_DEFINE); + } else { + Debug.LogWarning("Already Removed Scripting Define Symbol " + SPINE_TK2D_DEFINE); + } + } + + public class AtlasRequirementLoader : AttachmentLoader { + + List requirementList; + public AtlasRequirementLoader (List requirementList) { + this.requirementList = requirementList; + } + + public RegionAttachment NewRegionAttachment (Skin skin, string name, string path) { + requirementList.Add(path); + return new RegionAttachment(name); + } + + public MeshAttachment NewMeshAttachment (Skin skin, string name, string path) { + requirementList.Add(path); + return new MeshAttachment(name); + } + + public SkinnedMeshAttachment NewSkinnedMeshAttachment (Skin skin, string name, string path) { + requirementList.Add(path); + return new SkinnedMeshAttachment(name); + } + + public BoundingBoxAttachment NewBoundingBoxAttachment (Skin skin, string name) { + return new BoundingBoxAttachment(name); + } + } +} diff --git a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs.meta b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs.meta index 858912afe..544e47769 100644 --- a/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs.meta +++ b/spine-unity/Assets/spine-unity/Editor/SpineEditorUtilities.cs.meta @@ -6,5 +6,3 @@ MonoImporter: executionOrder: 0 icon: {instanceID: 0} userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-tk2d/Assets/examples/goblins.meta b/spine-unity/Assets/spine-unity/Ghost.meta similarity index 63% rename from spine-tk2d/Assets/examples/goblins.meta rename to spine-unity/Assets/spine-unity/Ghost.meta index c23c0f726..cc485896c 100644 --- a/spine-tk2d/Assets/examples/goblins.meta +++ b/spine-unity/Assets/spine-unity/Ghost.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9308cf14d9ae5040ad789b02f1b3baf +guid: 13193c9d213765f4c85f4c1faa615711 folderAsset: yes DefaultImporter: userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Shaders.meta b/spine-unity/Assets/spine-unity/Ghost/Shaders.meta similarity index 63% rename from spine-tk2d/Assets/spine-tk2d/Shaders.meta rename to spine-unity/Assets/spine-unity/Ghost/Shaders.meta index 488bc7cd1..0e0bd214c 100644 --- a/spine-tk2d/Assets/spine-tk2d/Shaders.meta +++ b/spine-unity/Assets/spine-unity/Ghost/Shaders.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 9cb3e0bb833385047a0c479316f3d5df +guid: a0cee0de78cef7440ae0b5aac39ae971 folderAsset: yes DefaultImporter: userData: diff --git a/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader b/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader new file mode 100644 index 000000000..1494a89d6 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader @@ -0,0 +1,92 @@ +//Shader written by Alex Dixon +Shader "Spine/SkeletonGhost" +{ + Properties + { + _Color ("Main Color", Color) = (1,1,1,1) + _MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {} + _TextureFade ("Texture Fade Out", Range(0,1)) = 0 + } + SubShader + { + + Tags {"Queue"="Transparent" "IgnoreProjector"="False" "RenderType"="Transparent"} + Fog { Mode Off } + Blend One OneMinusSrcAlpha + ZWrite Off + Cull Off + + Pass + { + Tags {"LightMode" = "Always"} // This Pass tag is important or Unity may not give it the correct light information. + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + //#pragma multi_compile_fwdbase // This line tells Unity to compile this pass for forward base. + + #include "UnityCG.cginc" + //#include "AutoLight.cginc" + + struct vertex_input + { + float4 vertex : POSITION; + float2 texcoord : TEXCOORD0; + float4 color : COLOR; + + }; + + struct vertex_output + { + float4 pos : SV_POSITION; + float2 uv : TEXCOORD0; + + float4 color : COLOR; + }; + + sampler2D _MainTex; + fixed4 _Color; + fixed _TextureFade; + + vertex_output vert (vertex_input v) + { + vertex_output o; + o.pos = mul( UNITY_MATRIX_MVP, v.vertex); + o.uv = v.texcoord.xy; + o.color = v.color; + + + return o; + } + + fixed4 frag(vertex_output i) : COLOR + { + fixed4 tex = tex2D(_MainTex, i.uv); + + tex = fixed4(max(_TextureFade, tex.r), max(_TextureFade, tex.g), max(_TextureFade, tex.b), tex.a); + + return tex * ((i.color * _Color) * tex.a); + + + + //float finalAlpha = tex.a * i.color.a * _Color.a; + + /* + TODO: Add basic lighting stuff in later? + + fixed4 c; + c.rgb = (UNITY_LIGHTMODEL_AMBIENT.rgb * tex.rgb); // Ambient term. Only do this in Forward Base. It only needs calculating once. + c.rgb += tex.rgb; // Diffuse and specular. + //Unity 4: c.rgb = (UNITY_LIGHTMODEL_AMBIENT.rgb * tex.rgb * 2); // Ambient term. Only do this in Forward Base. It only needs calculating once. + //Unity 4: c.rgb += (tex.rgb * _LightColor0.rgb * diff) * (atten * 2); // Diffuse and specular. + c.a = tex.a; // + _LightColor0.a * atten; + + return c; + */ + } + ENDCG + } + + + } + //FallBack "Transparent/Cutout/VertexLit" // Use VertexLit's shadow caster/receiver passes. +} \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader.meta b/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader.meta new file mode 100644 index 000000000..d24d9a340 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ghost/Shaders/SkeletonGhost.shader.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3873d4699ee8a4b4da8fa6b8c229b94d +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs new file mode 100644 index 000000000..fe827aebe --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs @@ -0,0 +1,147 @@ +/***************************************************************************** + * SkeletonGhost created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +[RequireComponent(typeof(SkeletonRenderer))] +public class SkeletonGhost : MonoBehaviour { + public bool ghostingEnabled = true; + public float spawnRate = 0.05f; + public Color32 color = new Color32(0xFF, 0xFF, 0xFF, 0x00); + [Tooltip("Remember to set color alpha to 0 if Additive is true")] + public bool additive = true; + public int maximumGhosts = 10; + public float fadeSpeed = 10; + public Shader ghostShader; + [Tooltip("0 is Color and Alpha, 1 is Alpha only.")] + [Range(0, 1)] + public float textureFade = 1; + + float nextSpawnTime; + SkeletonGhostRenderer[] pool; + int poolIndex = 0; + SkeletonRenderer skeletonRenderer; + MeshRenderer meshRenderer; + MeshFilter meshFilter; + + + Dictionary materialTable = new Dictionary(); + + void Start () { + if (ghostShader == null) + ghostShader = Shader.Find("Spine/SkeletonGhost"); + + skeletonRenderer = GetComponent(); + meshFilter = GetComponent(); + meshRenderer = GetComponent(); + nextSpawnTime = Time.time + spawnRate; + pool = new SkeletonGhostRenderer[maximumGhosts]; + for (int i = 0; i < maximumGhosts; i++) { + GameObject go = new GameObject(gameObject.name + " Ghost", typeof(SkeletonGhostRenderer)); + pool[i] = go.GetComponent(); + go.SetActive(false); + go.hideFlags = HideFlags.HideInHierarchy; + } + + if (skeletonRenderer is SkeletonAnimation) + ((SkeletonAnimation)skeletonRenderer).state.Event += OnEvent; + + } + + //SkeletonAnimation + /* + * Int Value: 0 sets ghostingEnabled to false, 1 sets ghostingEnabled to true + * Float Value: Values greater than 0 set the spawnRate equal the float value + * String Value: Pass RGBA hex color values in to set the color property. IE: "A0FF8BFF" + */ + void OnEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) { + if (e.Data.Name == "Ghosting") { + ghostingEnabled = e.Int > 0; + if (e.Float > 0) + spawnRate = e.Float; + if (e.String != null) { + this.color = HexToColor(e.String); + } + } + } + + //SkeletonAnimator + //SkeletonAnimator or Mecanim based animations only support toggling ghostingEnabled. Be sure not to set anything other than the Int param in Spine or String will take priority. + void Ghosting (float val) { + ghostingEnabled = val > 0; + } + + void Update () { + if (!ghostingEnabled) + return; + + if (Time.time >= nextSpawnTime) { + GameObject go = pool[poolIndex].gameObject; + + Material[] materials = meshRenderer.sharedMaterials; + for (int i = 0; i < materials.Length; i++) { + var originalMat = materials[i]; + Material ghostMat; + if (!materialTable.ContainsKey(originalMat)) { + ghostMat = new Material(originalMat); + ghostMat.shader = ghostShader; + ghostMat.color = Color.white; + if (ghostMat.HasProperty("_TextureFade")) + ghostMat.SetFloat("_TextureFade", textureFade); + materialTable.Add(originalMat, ghostMat); + } else { + ghostMat = materialTable[originalMat]; + } + + materials[i] = ghostMat; + } + + pool[poolIndex].Initialize(meshFilter.sharedMesh, materials, color, additive, fadeSpeed, meshRenderer.sortingOrder - 1); + go.transform.parent = transform; + + go.transform.localPosition = Vector3.zero; + go.transform.localRotation = Quaternion.identity; + go.transform.localScale = Vector3.one; + + go.transform.parent = null; + + poolIndex++; + + if (poolIndex == pool.Length) + poolIndex = 0; + + nextSpawnTime = Time.time + spawnRate; + } + } + + void OnDestroy () { + for (int i = 0; i < maximumGhosts; i++) { + if (pool[i] != null) + pool[i].Cleanup(); + } + + foreach (var mat in materialTable.Values) + Destroy(mat); + } + + + //based on UnifyWiki http://wiki.unity3d.com/index.php?title=HexConverter + static Color32 HexToColor (string hex) { + if (hex.Length < 6) + return Color.magenta; + + hex = hex.Replace("#", ""); + byte r = byte.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); + byte g = byte.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); + byte b = byte.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); + byte a = 0xFF; + if (hex.Length == 8) + a = byte.Parse(hex.Substring(6, 2), System.Globalization.NumberStyles.HexNumber); + + return new Color32(r, g, b, a); + } +} diff --git a/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs.meta b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs.meta new file mode 100644 index 000000000..32cd44c59 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhost.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 02f2fa991881c6d419500ccc40ad443f +timeCreated: 1431858330 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: + - ghostShader: {fileID: 4800000, guid: 3873d4699ee8a4b4da8fa6b8c229b94d, type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs new file mode 100644 index 000000000..ee86a3920 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs @@ -0,0 +1,109 @@ +/***************************************************************************** + * SkeletonGhostRenderer created by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using System.Collections; + +public class SkeletonGhostRenderer : MonoBehaviour { + + public float fadeSpeed = 10; + + Color32[] colors; + Color32 black = new Color32(0, 0, 0, 0); + MeshFilter meshFilter; + MeshRenderer meshRenderer; + + void Awake () { + meshRenderer = gameObject.AddComponent(); + meshFilter = gameObject.AddComponent(); + } + + public void Initialize (Mesh mesh, Material[] materials, Color32 color, bool additive, float speed, int sortingOrder) { + StopAllCoroutines(); + + gameObject.SetActive(true); + + + meshRenderer.sharedMaterials = materials; + meshRenderer.sortingOrder = sortingOrder; + + meshFilter.sharedMesh = (Mesh)Instantiate(mesh); + + colors = meshFilter.sharedMesh.colors32; + + if ((color.a + color.r + color.g + color.b) > 0) { + for (int i = 0; i < colors.Length; i++) { + colors[i] = color; + } + } + + fadeSpeed = speed; + + if (additive) + StartCoroutine(FadeAdditive()); + else + StartCoroutine(Fade()); + } + + IEnumerator Fade () { + Color32 c; + for (int t = 0; t < 500; t++) { + + bool breakout = true; + for (int i = 0; i < colors.Length; i++) { + c = colors[i]; + if (c.a > 0) + breakout = false; + + colors[i] = Color32.Lerp(c, black, Time.deltaTime * fadeSpeed); + } + + meshFilter.sharedMesh.colors32 = colors; + + if (breakout) + break; + yield return null; + } + + Destroy(meshFilter.sharedMesh); + + gameObject.SetActive(false); + } + + IEnumerator FadeAdditive () { + Color32 c; + Color32 black = this.black; + + for (int t = 0; t < 500; t++) { + + bool breakout = true; + for (int i = 0; i < colors.Length; i++) { + c = colors[i]; + black.a = c.a; + if (c.r > 0 || c.g > 0 || c.b > 0) + breakout = false; + + colors[i] = Color32.Lerp(c, black, Time.deltaTime * fadeSpeed); + } + + meshFilter.sharedMesh.colors32 = colors; + + if (breakout) + break; + yield return null; + } + + Destroy(meshFilter.sharedMesh); + + gameObject.SetActive(false); + } + + public void Cleanup () { + if (meshFilter != null && meshFilter.sharedMesh != null) + Destroy(meshFilter.sharedMesh); + + Destroy(gameObject); + } +} diff --git a/spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs.meta b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs.meta similarity index 82% rename from spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs.meta rename to spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs.meta index bc05f26e6..2f9fb1a1a 100644 --- a/spine-unity/Assets/Examples/Scripts/DynamicSpineBone.cs.meta +++ b/spine-unity/Assets/spine-unity/Ghost/SkeletonGhostRenderer.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7dae3f4db9a24bf4abe2059526bfd689 +guid: 58e3a9b80754b7545a1dff4d8475b51f MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta b/spine-unity/Assets/spine-unity/Ragdoll.meta similarity index 63% rename from spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta rename to spine-unity/Assets/spine-unity/Ragdoll.meta index 1211c5e9f..cb9062592 100644 --- a/spine-tk2d/Assets/examples/goblins/GoblinsAtlas Data.meta +++ b/spine-unity/Assets/spine-unity/Ragdoll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 982b49f422d2cb04bbaf38993fef207b +guid: 90af663b37d994841b7ac03ae30fe2a9 folderAsset: yes DefaultImporter: userData: diff --git a/spine-tk2d/Assets/spine-tk2d/Editor.meta b/spine-unity/Assets/spine-unity/Ragdoll/Editor.meta similarity index 63% rename from spine-tk2d/Assets/spine-tk2d/Editor.meta rename to spine-unity/Assets/spine-unity/Ragdoll/Editor.meta index 18a2e4c7e..6cac463d2 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor.meta +++ b/spine-unity/Assets/spine-unity/Ragdoll/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ad07f9d157ce0a1468016aa5b6683e2a +guid: 7220dc1e8d545e849a2eb63e8633349b folderAsset: yes DefaultImporter: userData: diff --git a/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs new file mode 100644 index 000000000..87c3da693 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs @@ -0,0 +1,52 @@ +/***************************************************************************** + * SkeletonRagdoll2D added by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using UnityEditor; +using System.Collections; +using System.Collections.Generic; + +[CustomEditor(typeof(SkeletonRagdoll2D))] +public class SkeletonRagdoll2DInspector : Editor { + SerializedProperty startingBoneName, stopBoneNames, applyOnStart, pinStartBone, enableJointCollision, gravityScale, disableIK, thickness, rotationLimit, colliderLayer, mix, rootMass, massFalloffFactor; + + void OnEnable () { + startingBoneName = serializedObject.FindProperty("startingBoneName"); + stopBoneNames = serializedObject.FindProperty("stopBoneNames"); + applyOnStart = serializedObject.FindProperty("applyOnStart"); + pinStartBone = serializedObject.FindProperty("pinStartBone"); + gravityScale = serializedObject.FindProperty("gravityScale"); + disableIK = serializedObject.FindProperty("disableIK"); + thickness = serializedObject.FindProperty("thickness"); + rotationLimit = serializedObject.FindProperty("rotationLimit"); + colliderLayer = serializedObject.FindProperty("colliderLayer"); + mix = serializedObject.FindProperty("mix"); + rootMass = serializedObject.FindProperty("rootMass"); + massFalloffFactor = serializedObject.FindProperty("massFalloffFactor"); + } + + public override void OnInspectorGUI () { + EditorGUILayout.PropertyField(startingBoneName); + EditorGUILayout.PropertyField(stopBoneNames, true); + EditorGUILayout.PropertyField(applyOnStart); + EditorGUILayout.PropertyField(pinStartBone); + EditorGUILayout.PropertyField(gravityScale); + EditorGUILayout.PropertyField(disableIK); + EditorGUILayout.PropertyField(thickness); + EditorGUILayout.PropertyField(rotationLimit); + EditorGUILayout.PropertyField(rootMass); + EditorGUILayout.PropertyField(massFalloffFactor); + colliderLayer.intValue = EditorGUILayout.LayerField(colliderLayer.displayName, colliderLayer.intValue); + EditorGUILayout.PropertyField(mix); + + + serializedObject.ApplyModifiedProperties(); + } + + void Header (string name) { + GUILayout.Space(20); + EditorGUILayout.LabelField(name, EditorStyles.boldLabel); + } +} diff --git a/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs.meta b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs.meta new file mode 100644 index 000000000..08480207a --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdoll2DInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: b6dd0b99faf3aeb4d803eb9989cb369c +timeCreated: 1431741936 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs new file mode 100644 index 000000000..af1627af4 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs @@ -0,0 +1,53 @@ +/***************************************************************************** + * SkeletonRagdoll added by Mitch Thompson + * Full irrevocable rights and permissions granted to Esoteric Software +*****************************************************************************/ + +using UnityEngine; +using UnityEditor; +using System.Collections; +using System.Collections.Generic; + +[CustomEditor(typeof(SkeletonRagdoll))] +public class SkeletonRagdollInspector : Editor { + SerializedProperty startingBoneName, stopBoneNames, applyOnStart, pinStartBone, enableJointCollision, useGravity, disableIK, thickness, rotationLimit, colliderLayer, mix, rootMass, massFalloffFactor; + + void OnEnable () { + startingBoneName = serializedObject.FindProperty("startingBoneName"); + stopBoneNames = serializedObject.FindProperty("stopBoneNames"); + applyOnStart = serializedObject.FindProperty("applyOnStart"); + pinStartBone = serializedObject.FindProperty("pinStartBone"); + enableJointCollision = serializedObject.FindProperty("enableJointCollision"); + useGravity = serializedObject.FindProperty("useGravity"); + disableIK = serializedObject.FindProperty("disableIK"); + thickness = serializedObject.FindProperty("thickness"); + rotationLimit = serializedObject.FindProperty("rotationLimit"); + colliderLayer = serializedObject.FindProperty("colliderLayer"); + mix = serializedObject.FindProperty("mix"); + rootMass = serializedObject.FindProperty("rootMass"); + massFalloffFactor = serializedObject.FindProperty("massFalloffFactor"); + } + + public override void OnInspectorGUI () { + EditorGUILayout.PropertyField(startingBoneName); + EditorGUILayout.PropertyField(stopBoneNames, true); + EditorGUILayout.PropertyField(applyOnStart); + EditorGUILayout.PropertyField(pinStartBone); + EditorGUILayout.PropertyField(enableJointCollision); + EditorGUILayout.PropertyField(useGravity); + EditorGUILayout.PropertyField(disableIK); + EditorGUILayout.PropertyField(thickness); + EditorGUILayout.PropertyField(rotationLimit); + EditorGUILayout.PropertyField(rootMass); + EditorGUILayout.PropertyField(massFalloffFactor); + colliderLayer.intValue = EditorGUILayout.LayerField(colliderLayer.displayName, colliderLayer.intValue); + EditorGUILayout.PropertyField(mix); + + serializedObject.ApplyModifiedProperties(); + } + + void Header (string name) { + GUILayout.Space(20); + EditorGUILayout.LabelField(name, EditorStyles.boldLabel); + } +} diff --git a/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs.meta b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs.meta new file mode 100644 index 000000000..7c478ae50 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/Editor/SkeletonRagdollInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c95a670c56447c644a0f062e4cdd448e +timeCreated: 1431740230 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs new file mode 100644 index 000000000..24cb9f6c1 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs @@ -0,0 +1,413 @@ +/***************************************************************************** + * SkeletonRagdoll added 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(SkeletonRenderer))] +public class SkeletonRagdoll : MonoBehaviour { + private static Transform helper; + + [Header("Hierarchy")] + [SpineBone] + public string startingBoneName = ""; + [SpineBone] + public List stopBoneNames = new List(); + + [Header("Parameters")] + public bool applyOnStart; + [Tooltip("Set RootRigidbody IsKinematic to true when Apply is called.")] + public bool pinStartBone; + [Tooltip("Enable Collision between adjacent ragdoll elements (IE: Neck and Head)")] + public bool enableJointCollision; + public bool useGravity = true; + [Tooltip("Warning! You will have to re-enable and tune mix values manually if attempting to remove the ragdoll system.")] + public bool disableIK = true; + [Tooltip("If no BoundingBox Attachment is attached to a bone, this becomes the default Width or Radius of a Bone's ragdoll Rigidbody")] + public float thickness = 0.125f; + [Tooltip("Default rotational limit value. Min is negative this value, Max is this value.")] + public float rotationLimit = 20; + public float rootMass = 20; + [Tooltip("If your ragdoll seems unstable or uneffected by limits, try lowering this value.")] + [Range(0.01f, 1f)] + public float massFalloffFactor = 0.4f; + [Tooltip("The layer assigned to all of the rigidbody parts.")] + public int colliderLayer = 0; + [Range(0, 1)] + public float mix = 1; + + public Rigidbody RootRigidbody { + get { + return this.rootRigidbody; + } + } + + public Vector3 RootOffset { + get { + return this.rootOffset; + } + } + + public Vector3 EstimatedSkeletonPosition { + get { + return rootRigidbody.position - rootOffset; + } + } + + public bool IsActive { + get { + return this.isActive; + } + } + + private Rigidbody rootRigidbody; + private ISkeletonAnimation skeletonAnim; + private Skeleton skeleton; + private Dictionary boneTable = new Dictionary(); + private Bone startingBone; + private Transform ragdollRoot; + private Vector3 rootOffset; + private bool isActive; + + IEnumerator Start () { + skeletonAnim = (ISkeletonAnimation)GetComponent(); + if (helper == null) { + helper = (Transform)(new GameObject("Helper")).transform; + helper.hideFlags = HideFlags.HideInHierarchy; + } + + if (applyOnStart) { + yield return null; + Apply(); + } + } + + public Coroutine SmoothMix (float target, float duration) { + return StartCoroutine(SmoothMixCoroutine(target, duration)); + } + + IEnumerator SmoothMixCoroutine (float target, float duration) { + float startTime = Time.time; + float startMix = mix; + while (mix > 0) { + mix = Mathf.SmoothStep(startMix, target, (Time.time - startTime) / duration); + yield return null; + } + } + + public void SetSkeletonPosition (Vector3 worldPosition) { + if (!isActive) { + Debug.LogWarning("Can't call SetSkeletonPosition while Ragdoll is not active!"); + return; + } + + Vector3 offset = worldPosition - transform.position; + transform.position = worldPosition; + foreach (Transform t in boneTable.Values) { + t.position -= offset; + } + + UpdateWorld(null); + skeleton.UpdateWorldTransform(); + } + + public Rigidbody[] GetRigidbodyArray () { + if (!isActive) + return new Rigidbody[0]; + + Rigidbody[] arr = new Rigidbody[boneTable.Count]; + int i = 0; + foreach(Transform t in boneTable.Values){ + arr[i] = t.GetComponent(); + i++; + } + + return arr; + } + + public Rigidbody GetRigidbody (string boneName) { + var bone = skeleton.FindBone(boneName); + if (bone == null) + return null; + + if (boneTable.ContainsKey(bone)) + return boneTable[bone].GetComponent(); + + return null; + } + + public void Remove () { + isActive = false; + foreach (var t in boneTable.Values) { + Destroy(t.gameObject); + } + Destroy(ragdollRoot.gameObject); + + boneTable.Clear(); + skeletonAnim.UpdateWorld -= UpdateWorld; + } + + public void Apply () { + isActive = true; + skeleton = skeletonAnim.Skeleton; + mix = 1; + + var ragdollRootBone = skeleton.FindBone(startingBoneName); + startingBone = ragdollRootBone; + RecursivelyCreateBoneProxies(ragdollRootBone); + + rootRigidbody = boneTable[ragdollRootBone].GetComponent(); + rootRigidbody.isKinematic = pinStartBone; + + rootRigidbody.mass = rootMass; + + List boneColliders = new List(); + + foreach (var pair in boneTable) { + var b = pair.Key; + var t = pair.Value; + Bone parentBone = null; + Transform parentTransform = transform; + + boneColliders.Add(t.GetComponent()); + + if (b != startingBone) { + parentBone = b.Parent; + parentTransform = boneTable[parentBone]; + } else { + ragdollRoot = new GameObject("RagdollRoot").transform; + ragdollRoot.parent = transform; + + if (b == skeleton.RootBone) { + ragdollRoot.localPosition = new Vector3(b.WorldX, b.WorldY, 0); + ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetCompensatedRotationIK(b)); + parentTransform = ragdollRoot; + } else { + ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); + ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetCompensatedRotationIK(b.Parent)); + parentTransform = ragdollRoot; + } + + rootOffset = t.position - transform.position; + } + + var rbParent = parentTransform.GetComponent(); + + if (rbParent != null) { + var joint = t.gameObject.AddComponent(); + joint.connectedBody = rbParent; + Vector3 localPos = parentTransform.InverseTransformPoint(t.position); + localPos.x *= 1; + joint.connectedAnchor = localPos; + joint.axis = Vector3.forward; + joint.GetComponent().mass = joint.connectedBody.mass * massFalloffFactor; + JointLimits limits = new JointLimits(); + limits.min = -rotationLimit; + limits.max = rotationLimit; + joint.limits = limits; + joint.useLimits = true; + joint.enableCollision = enableJointCollision; + } + } + + for (int x = 0; x < boneColliders.Count; x++) { + for (int y = 0; y < boneColliders.Count; y++) { + if (x == y) continue; + Physics.IgnoreCollision(boneColliders[x], boneColliders[y]); + } + } + + var utilityBones = GetComponentsInChildren(); + if (utilityBones.Length > 0) { + List destroyedUtilityBoneNames = new List(); + foreach (var ub in utilityBones) { + if (ub.mode == SkeletonUtilityBone.Mode.Override) { + destroyedUtilityBoneNames.Add(ub.gameObject.name); + Destroy(ub.gameObject); + } + } + + if (destroyedUtilityBoneNames.Count > 0) { + string msg = "Destroyed Utility Bones: "; + for (int i = 0; i < destroyedUtilityBoneNames.Count; i++) { + msg += destroyedUtilityBoneNames[i]; + if (i != destroyedUtilityBoneNames.Count - 1) { + msg += ","; + } + } + Debug.LogWarning(msg); + } + } + + if (disableIK) { + foreach (IkConstraint ik in skeleton.IkConstraints) { + ik.Mix = 0; + } + } + + skeletonAnim.UpdateWorld += UpdateWorld; + } + + void RecursivelyCreateBoneProxies (Bone b) { + if (stopBoneNames.Contains(b.Data.Name)) + return; + + GameObject go = new GameObject(b.Data.Name); + go.layer = colliderLayer; + Transform t = go.transform; + boneTable.Add(b, t); + + t.parent = transform; + + t.localPosition = new Vector3(b.WorldX, b.WorldY, 0); + t.localRotation = Quaternion.Euler(0, 0, b.WorldFlipX ^ b.WorldFlipY ? -b.WorldRotation : b.WorldRotation); + t.localScale = new Vector3(b.WorldScaleX, b.WorldScaleY, 1); + + float length = b.Data.Length; + + var colliders = AttachBoundingBoxRagdollColliders(b); + + if (length == 0) { + //physics + if (colliders.Count == 0) { + var ball = go.AddComponent(); + ball.radius = thickness / 2f; + } + } else { + //physics + if (colliders.Count == 0) { + var box = go.AddComponent(); + box.size = new Vector3(length, thickness, thickness); + box.center = new Vector3((b.WorldFlipX ? -length : length) / 2, 0); + } + } + + var rb = go.AddComponent(); + rb.constraints = RigidbodyConstraints.FreezePositionZ; + foreach (Bone child in b.Children) { + RecursivelyCreateBoneProxies(child); + } + } + + List AttachBoundingBoxRagdollColliders (Bone b) { + List colliders = new List(); + + Transform t = boneTable[b]; + GameObject go = t.gameObject; + var skin = skeleton.Skin; + if (skin == null) + skin = skeleton.Data.DefaultSkin; + + bool flipX = b.WorldFlipX; + bool flipY = b.WorldFlipY; + + List attachments = new List(); + foreach (Slot s in skeleton.Slots) { + if (s.Bone == b) { + skin.FindAttachmentsForSlot(skeleton.Slots.IndexOf(s), attachments); + foreach (var a in attachments) { + if (a is BoundingBoxAttachment) { + if (!a.Name.ToLower().Contains("ragdoll")) + continue; + + var collider = go.AddComponent(); + var bounds = SkeletonUtility.GetBoundingBoxBounds((BoundingBoxAttachment)a, thickness); + + collider.center = bounds.center; + collider.size = bounds.size; + + if (flipX || flipY) { + Vector3 center = collider.center; + + if (flipX) + center.x *= -1; + + if (flipY) + center.y *= -1; + + collider.center = center; + } + + colliders.Add(collider); + } + } + } + } + + return colliders; + } + + void UpdateWorld (SkeletonRenderer skeletonRenderer) { + foreach (var pair in boneTable) { + var b = pair.Key; + var t = pair.Value; + bool flip = false; + bool flipX = false; //TODO: deal with negative scale instead of Flip Key for Spine 3.0 + bool flipY = false; //TODO: deal with negative scale instead of Flip Key for Spine 3.0 + Bone parentBone = null; + Transform parentTransform = transform; + + if (b != startingBone) { + parentBone = b.Parent; + parentTransform = boneTable[parentBone]; + flipX = parentBone.WorldFlipX; + flipY = parentBone.WorldFlipY; + + } else { + parentBone = b.Parent; + parentTransform = ragdollRoot; + if (b.Parent != null) { + flipX = b.worldFlipX; + flipY = b.WorldFlipY; + } else { + flipX = b.Skeleton.FlipX; + flipY = b.Skeleton.FlipY; + } + } + + flip = flipX ^ flipY; + + helper.position = parentTransform.position; + helper.rotation = parentTransform.rotation; + helper.localScale = new Vector3(flipX ? -parentTransform.localScale.x : parentTransform.localScale.x, flipY ? -parentTransform.localScale.y : parentTransform.localScale.y, 1); + + + Vector3 pos = t.position; + pos = helper.InverseTransformPoint(pos); + b.X = Mathf.Lerp(b.X, pos.x, mix); + b.Y = Mathf.Lerp(b.Y, pos.y, mix); + + Vector3 right = helper.InverseTransformDirection(t.right); + + float a = Mathf.Atan2(right.y, right.x) * Mathf.Rad2Deg; + + if (b.WorldFlipX ^ b.WorldFlipY) { + a *= -1; + } + + if (parentBone != null) { + if ((b.WorldFlipX ^ b.WorldFlipY) != flip) { + a -= GetCompensatedRotationIK(parentBone) * 2; + } + } + + b.Rotation = Mathf.Lerp(b.Rotation, a, mix); + b.RotationIK = Mathf.Lerp(b.rotationIK, a, mix); + } + } + + float GetCompensatedRotationIK (Bone b) { + Bone parent = b.Parent; + float a = b.RotationIK; + while (parent != null) { + a += parent.RotationIK; + parent = parent.parent; + } + + return a; + } +} diff --git a/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs.meta b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs.meta new file mode 100644 index 000000000..f19d6808f --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 373527d2bf3351348b9fcc499ce9ea23 +timeCreated: 1430552693 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs new file mode 100644 index 000000000..962acf543 --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs @@ -0,0 +1,423 @@ +/***************************************************************************** + * SkeletonRagdoll2D added 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(SkeletonRenderer))] +public class SkeletonRagdoll2D : MonoBehaviour { + private static Transform helper; + + [Header("Hierarchy")] + [SpineBone] + public string startingBoneName = ""; + [SpineBone] + public List stopBoneNames = new List(); + + [Header("Parameters")] + public bool applyOnStart; + [Tooltip("Set RootRigidbody IsKinematic to true when Apply is called.")] + public bool pinStartBone; + public float gravityScale = 1; + [Tooltip("Warning! You will have to re-enable and tune mix values manually if attempting to remove the ragdoll system.")] + public bool disableIK = true; + [Tooltip("If no BoundingBox Attachment is attached to a bone, this becomes the default Width or Radius of a Bone's ragdoll Rigidbody")] + public float thickness = 0.125f; + [Tooltip("Default rotational limit value. Min is negative this value, Max is this value.")] + public float rotationLimit = 20; + public float rootMass = 20; + [Tooltip("If your ragdoll seems unstable or uneffected by limits, try lowering this value.")] + [Range(0.01f, 1f)] + public float massFalloffFactor = 0.4f; + [Tooltip("The layer assigned to all of the rigidbody parts.")] + public int colliderLayer = 0; + [Range(0, 1)] + public float mix = 1; + + public Rigidbody2D RootRigidbody { + get { + return this.rootRigidbody; + } + } + + public Vector3 RootOffset { + get { + return this.rootOffset; + } + } + + public Vector3 EstimatedSkeletonPosition { + get { + return this.rootRigidbody.position - rootOffset; + } + } + + public bool IsActive { + get { + return this.isActive; + } + } + + private Rigidbody2D rootRigidbody; + private ISkeletonAnimation skeletonAnim; + private Skeleton skeleton; + private Dictionary boneTable = new Dictionary(); + private Bone startingBone; + private Transform ragdollRoot; + private Vector2 rootOffset; + private bool isActive; + + + IEnumerator Start () { + skeletonAnim = (ISkeletonAnimation)GetComponent(); + if (helper == null) { + helper = (Transform)(new GameObject("Helper")).transform; + helper.hideFlags = HideFlags.HideInHierarchy; + } + + if (applyOnStart) { + yield return null; + Apply(); + } + } + + public Coroutine SmoothMix (float target, float duration) { + return StartCoroutine(SmoothMixCoroutine(target, duration)); + } + + IEnumerator SmoothMixCoroutine (float target, float duration) { + float startTime = Time.time; + float startMix = mix; + while (mix > 0) { + mix = Mathf.SmoothStep(startMix, target, (Time.time - startTime) / duration); + yield return null; + } + } + + public void SetSkeletonPosition (Vector3 worldPosition) { + if (!isActive) { + Debug.LogWarning("Can't call SetSkeletonPosition while Ragdoll is not active!"); + return; + } + + Vector3 offset = worldPosition - transform.position; + transform.position = worldPosition; + foreach (Transform t in boneTable.Values) { + t.position -= offset; + } + + UpdateWorld(null); + skeleton.UpdateWorldTransform(); + } + + public Rigidbody2D[] GetRigidbodyArray () { + if (!isActive) + return new Rigidbody2D[0]; + + Rigidbody2D[] arr = new Rigidbody2D[boneTable.Count]; + int i = 0; + foreach (Transform t in boneTable.Values) { + arr[i] = t.GetComponent(); + i++; + } + + return arr; + } + + public Rigidbody2D GetRigidbody (string boneName) { + var bone = skeleton.FindBone(boneName); + if (bone == null) + return null; + + if (boneTable.ContainsKey(bone)) + return boneTable[bone].GetComponent(); + + return null; + } + + public void Remove () { + isActive = false; + foreach (var t in boneTable.Values) { + Destroy(t.gameObject); + } + Destroy(ragdollRoot.gameObject); + + boneTable.Clear(); + skeletonAnim.UpdateWorld -= UpdateWorld; + } + + public void Apply () { + isActive = true; + skeleton = skeletonAnim.Skeleton; + mix = 1; + + var ragdollRootBone = skeleton.FindBone(startingBoneName); + startingBone = ragdollRootBone; + RecursivelyCreateBoneProxies(ragdollRootBone); + + rootRigidbody = boneTable[ragdollRootBone].GetComponent(); + rootRigidbody.isKinematic = pinStartBone; + rootRigidbody.mass = rootMass; + + List boneColliders = new List(); + + foreach (var pair in boneTable) { + var b = pair.Key; + var t = pair.Value; + Bone parentBone = null; + Transform parentTransform = transform; + + boneColliders.Add(t.GetComponent()); + + if (b != startingBone) { + parentBone = b.Parent; + parentTransform = boneTable[parentBone]; + } else { + ragdollRoot = new GameObject("RagdollRoot").transform; + ragdollRoot.parent = transform; + + if (b == skeleton.RootBone) { + ragdollRoot.localPosition = new Vector3(b.WorldX, b.WorldY, 0); + ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetCompensatedRotationIK(b)); + parentTransform = ragdollRoot; + } else { + ragdollRoot.localPosition = new Vector3(b.Parent.WorldX, b.Parent.WorldY, 0); + ragdollRoot.localRotation = Quaternion.Euler(0, 0, GetCompensatedRotationIK(b.Parent)); + parentTransform = ragdollRoot; + } + + rootOffset = t.position - transform.position; + } + + var rbParent = parentTransform.GetComponent(); + + if (rbParent != null) { + var joint = t.gameObject.AddComponent(); + joint.connectedBody = rbParent; + Vector3 localPos = parentTransform.InverseTransformPoint(t.position); + localPos.x *= 1; + joint.connectedAnchor = localPos; + joint.GetComponent().mass = joint.connectedBody.mass * massFalloffFactor; + JointAngleLimits2D limits = new JointAngleLimits2D(); + limits.min = -rotationLimit; + limits.max = rotationLimit; + joint.limits = limits; + joint.useLimits = true; + } + } + + for (int x = 0; x < boneColliders.Count; x++) { + for (int y = 0; y < boneColliders.Count; y++) { + if (x == y) continue; + Physics2D.IgnoreCollision(boneColliders[x], boneColliders[y]); + } + } + + var utilityBones = GetComponentsInChildren(); + if (utilityBones.Length > 0) { + List destroyedUtilityBoneNames = new List(); + foreach (var ub in utilityBones) { + if (ub.mode == SkeletonUtilityBone.Mode.Override) { + destroyedUtilityBoneNames.Add(ub.gameObject.name); + Destroy(ub.gameObject); + } + } + + if (destroyedUtilityBoneNames.Count > 0) { + string msg = "Destroyed Utility Bones: "; + for (int i = 0; i < destroyedUtilityBoneNames.Count; i++) { + msg += destroyedUtilityBoneNames[i]; + if (i != destroyedUtilityBoneNames.Count - 1) { + msg += ","; + } + } + Debug.LogWarning(msg); + } + } + + if (disableIK) { + foreach (IkConstraint ik in skeleton.IkConstraints) { + ik.Mix = 0; + } + } + + skeletonAnim.UpdateWorld += UpdateWorld; + } + + void RecursivelyCreateBoneProxies (Bone b) { + if (stopBoneNames.Contains(b.Data.Name)) + return; + + GameObject go = new GameObject(b.Data.Name); + go.layer = colliderLayer; + Transform t = go.transform; + boneTable.Add(b, t); + + t.parent = transform; + + t.localPosition = new Vector3(b.WorldX, b.WorldY, 0); + //TODO: deal with WorldFlipY + t.localRotation = Quaternion.Euler(0, 0, b.WorldFlipX ? -b.WorldRotation : b.WorldRotation); + t.localScale = new Vector3(b.WorldScaleX, b.WorldScaleY, 0); + + float length = b.Data.Length; + + //TODO proper ragdoll branching + var colliders = AttachBoundingBoxRagdollColliders(b); + + if (length == 0) { + //physics + if (colliders.Count == 0) { + var circle = go.AddComponent(); + circle.radius = thickness / 2f; + } + } else { + //physics + if (colliders.Count == 0) { + var box = go.AddComponent(); + box.size = new Vector2(length, thickness); +#if UNITY_5 + box.offset = new Vector2((b.WorldFlipX ? -length : length) / 2, 0); +#else + box.center = new Vector2((b.WorldFlipX ? -length : length) / 2, 0); +#endif + } + } + + var rb = go.AddComponent(); + rb.gravityScale = gravityScale; + + foreach (Bone child in b.Children) { + RecursivelyCreateBoneProxies(child); + } + } + + List AttachBoundingBoxRagdollColliders (Bone b) { + List colliders = new List(); + Transform t = boneTable[b]; + GameObject go = t.gameObject; + var skin = skeleton.Skin; + if (skin == null) + skin = skeleton.Data.DefaultSkin; + + bool flipX = b.WorldFlipX; + bool flipY = b.WorldFlipY; + + List attachments = new List(); + foreach (Slot s in skeleton.Slots) { + if (s.Bone == b) { + skin.FindAttachmentsForSlot(skeleton.Slots.IndexOf(s), attachments); + foreach (var a in attachments) { + if (a is BoundingBoxAttachment) { + if (!a.Name.ToLower().Contains("ragdoll")) + continue; + + var collider = SkeletonUtility.AddBoundingBoxAsComponent((BoundingBoxAttachment)a, go, false); + + if (flipX || flipY) { + Vector2[] points = collider.points; + + for (int i = 0; i < points.Length; i++) { + if (flipX) + points[i].x *= -1; + + if (flipY) + points[i].y *= -1; + } + + collider.points = points; + } + + colliders.Add(collider); + } + } + } + } + + return colliders; + } + + void UpdateWorld (SkeletonRenderer skeletonRenderer) { + foreach (var pair in boneTable) { + var b = pair.Key; + var t = pair.Value; + bool flip = false; + bool flipX = false; //TODO: deal with negative scale instead of Flip Key + bool flipY = false; //TODO: deal with negative scale instead of Flip Key + Bone parentBone = null; + Transform parentTransform = transform; + + if (b != startingBone) { + parentBone = b.Parent; + parentTransform = boneTable[parentBone]; + flipX = parentBone.WorldFlipX; + flipY = parentBone.WorldFlipY; + + } else { + parentBone = b.Parent; + parentTransform = ragdollRoot; + if (b.Parent != null) { + flipX = b.worldFlipX; + flipY = b.WorldFlipY; + } else { + flipX = b.Skeleton.FlipX; + flipY = b.Skeleton.FlipY; + } + } + + flip = flipX ^ flipY; + + helper.position = parentTransform.position; + helper.rotation = parentTransform.rotation; + helper.localScale = new Vector3(flipX ? -parentTransform.localScale.x : parentTransform.localScale.x, flipY ? -parentTransform.localScale.y : parentTransform.localScale.y, 1); + + + Vector3 pos = t.position; + pos = helper.InverseTransformPoint(pos); + b.X = Mathf.Lerp(b.X, pos.x, mix); + b.Y = Mathf.Lerp(b.Y, pos.y, mix); + + Vector3 right = helper.InverseTransformDirection(t.right); + + float a = Mathf.Atan2(right.y, right.x) * Mathf.Rad2Deg; + + if (b.WorldFlipX ^ b.WorldFlipY) { + a *= -1; + } + + if (parentBone != null) { + if ((b.WorldFlipX ^ b.WorldFlipY) != flip) { + a -= GetCompensatedRotationIK(parentBone) * 2; + } + } + + b.Rotation = Mathf.Lerp(b.Rotation, a, mix); + b.RotationIK = Mathf.Lerp(b.rotationIK, a, mix); + } + } + + float GetCompensatedRotationIK (Bone b) { + Bone parent = b.Parent; + float a = b.RotationIK; + while (parent != null) { + a += parent.RotationIK; + parent = parent.parent; + } + + return a; + } + + void OnDrawGizmosSelected () { + if (isActive) { + Gizmos.DrawWireSphere(transform.position, thickness * 1.2f); + Vector3 newTransformPos = rootRigidbody.position - rootOffset; + Gizmos.DrawLine(transform.position, newTransformPos); + Gizmos.DrawWireSphere(newTransformPos, thickness * 1.2f); + } + } + +} diff --git a/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs.meta b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs.meta new file mode 100644 index 000000000..ed29795fe --- /dev/null +++ b/spine-unity/Assets/spine-unity/Ragdoll/SkeletonRagdoll2D.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e74a49a26242a214d9084fde00bfe3ab +timeCreated: 1431497383 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs index 07ebca526..0384417bd 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimation.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimation.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -41,7 +42,7 @@ public class SkeletonAnimation : SkeletonRenderer, ISkeletonAnimation { public bool loop; public Spine.AnimationState state; - + public event UpdateBonesDelegate UpdateLocal { add { _UpdateLocal += value; } @@ -62,6 +63,12 @@ public class SkeletonAnimation : SkeletonRenderer, ISkeletonAnimation { protected event UpdateBonesDelegate _UpdateWorld; protected event UpdateBonesDelegate _UpdateComplete; + public Skeleton Skeleton { + get { + return this.skeleton; + } + } + [SerializeField] private String _animationName; diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimationInterface.cs b/spine-unity/Assets/spine-unity/SkeletonAnimationInterface.cs index e06b3085c..520114fd8 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimationInterface.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimationInterface.cs @@ -1,5 +1,37 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; +using Spine; public delegate void UpdateBonesDelegate (SkeletonRenderer skeletonRenderer); public interface ISkeletonAnimation { @@ -8,4 +40,5 @@ public interface ISkeletonAnimation { event UpdateBonesDelegate UpdateComplete; void LateUpdate (); -} \ No newline at end of file + Skeleton Skeleton { get; } +} diff --git a/spine-unity/Assets/spine-unity/SkeletonAnimator.cs b/spine-unity/Assets/spine-unity/SkeletonAnimator.cs index 3eac9332d..7994a661f 100644 --- a/spine-unity/Assets/spine-unity/SkeletonAnimator.cs +++ b/spine-unity/Assets/spine-unity/SkeletonAnimator.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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. - *****************************************************************************/ + /***************************************************************************** * SkeletonAnimator created by Mitch Thompson @@ -43,6 +15,10 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { public enum MixMode { AlwaysMix, MixNext, SpineStyle } public MixMode[] layerMixModes = new MixMode[0]; + public Skeleton GetSkeleton () { + return this.skeleton; + + } public event UpdateBonesDelegate UpdateLocal { add { _UpdateLocal += value; } remove { _UpdateLocal -= value; } @@ -62,9 +38,16 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { protected event UpdateBonesDelegate _UpdateWorld; protected event UpdateBonesDelegate _UpdateComplete; + public Skeleton Skeleton { + get { + return this.skeleton; + } + } + Dictionary animationTable = new Dictionary(); Dictionary clipNameHashCodeTable = new Dictionary(); Animator animator; + float lastTime; public override void Reset () { base.Reset(); @@ -82,7 +65,7 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { animator = GetComponent(); - + lastTime = Time.time; } void Update () { @@ -92,12 +75,13 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { if (layerMixModes.Length != animator.layerCount) { System.Array.Resize(ref layerMixModes, animator.layerCount); } + float deltaTime = Time.time - lastTime; skeleton.Update(Time.deltaTime); //apply int layerCount = animator.layerCount; - float deltaTime = Time.deltaTime; + for (int i = 0; i < layerCount; i++) { float layerWeight = animator.GetLayerWeight(i); @@ -203,6 +187,8 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { if (_UpdateComplete != null) { _UpdateComplete(this); } + + lastTime = Time.time; } private int GetAnimationClipNameHashCode(AnimationClip clip) { @@ -214,4 +200,4 @@ public class SkeletonAnimator : SkeletonRenderer, ISkeletonAnimation { return clipNameHashCode; } -} +} \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs b/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs index 327ba4640..d378a338c 100644 --- a/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs +++ b/spine-unity/Assets/spine-unity/SkeletonDataAsset.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -36,6 +37,9 @@ using Spine; public class SkeletonDataAsset : ScriptableObject { public AtlasAsset[] atlasAssets; +#if SPINE_TK2D + public tk2dSpriteCollectionData spriteCollection; +#endif public TextAsset skeletonJSON; public float scale = 1; public String[] fromAnimation; @@ -67,12 +71,17 @@ public class SkeletonDataAsset : ScriptableObject { return null; } - - +#if !SPINE_TK2D if (atlasAssets.Length == 0) { Reset(); return null; } +#else + if (atlasAssets.Length == 0 && spriteCollection == null) { + Reset(); + return null; + } +#endif Atlas[] atlasArr = new Atlas[atlasAssets.Length]; for (int i = 0; i < atlasAssets.Length; i++) { @@ -89,11 +98,45 @@ public class SkeletonDataAsset : ScriptableObject { if (skeletonData != null) return skeletonData; + + AttachmentLoader attachmentLoader; + float skeletonDataScale; + +#if !SPINE_TK2D + attachmentLoader = new AtlasAttachmentLoader(atlasArr); + skeletonDataScale = scale; +#else + if (spriteCollection != null) { + attachmentLoader = new SpriteCollectionAttachmentLoader(spriteCollection); + skeletonDataScale = (1.0f / (spriteCollection.invOrthoSize * spriteCollection.halfTargetHeight) * scale) * 100f; + } else { + if (atlasArr.Length == 0) { + Reset(); + if (!quiet) Debug.LogError("Atlas not set for SkeletonData asset: " + name, this); + return null; + } + attachmentLoader = new AtlasAttachmentLoader(atlasArr); + skeletonDataScale = scale; + } +#endif - SkeletonJson json = new SkeletonJson(atlasArr); - json.Scale = scale; try { - skeletonData = json.ReadSkeletonData(new StringReader(skeletonJSON.text)); + //var stopwatch = new System.Diagnostics.Stopwatch(); + if (skeletonJSON.name.ToLower().Contains(".skel")) { + var input = new MemoryStream(skeletonJSON.bytes); + var binary = new SkeletonBinary(attachmentLoader); + binary.Scale = skeletonDataScale; + //stopwatch.Start(); + skeletonData = binary.ReadSkeletonData(input); + } else { + var input = new StringReader(skeletonJSON.text); + var json = new SkeletonJson(attachmentLoader); + json.Scale = skeletonDataScale; + //stopwatch.Start(); + skeletonData = json.ReadSkeletonData(input); + } + //stopwatch.Stop(); + //Debug.Log(stopwatch.Elapsed); } catch (Exception ex) { if (!quiet) Debug.LogError("Error reading skeleton JSON file for SkeletonData asset: " + name + "\n" + ex.Message + "\n" + ex.StackTrace, this); diff --git a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs index e1dad6e58..9bf5e8b3f 100644 --- a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs +++ b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -39,70 +11,110 @@ using Spine; public static class SkeletonExtensions { - public static void SetColor(this Slot slot, Color color) { + public static void SetColor (this Skeleton skeleton, Color color) { + skeleton.A = color.a; + skeleton.R = color.r; + skeleton.G = color.g; + skeleton.B = color.b; + } + + public static void SetColor (this Skeleton skeleton, Color32 color) { + skeleton.A = color.a / 255f; + skeleton.R = color.r / 255f; + skeleton.G = color.g / 255f; + skeleton.B = color.b / 255f; + } + + 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; } + public static Attachment AttachUnitySprite (this Skeleton skeleton, string slotName, Sprite sprite, string shaderName = "Spine/Skeleton") { + var att = sprite.ToRegionAttachment(shaderName); + skeleton.FindSlot(slotName).Attachment = att; + + return att; + } + + public static Attachment AddUnitySprite (this SkeletonData skeletonData, string slotName, Sprite sprite, string skinName = "", string shaderName = "Spine/Skeleton") { + var att = sprite.ToRegionAttachment(shaderName); + + var slotIndex = skeletonData.FindSlotIndex(slotName); + Skin skin = skeletonData.defaultSkin; + if (skinName != "") + skin = skeletonData.FindSkin(skinName); + + skin.AddAttachment(slotIndex, att.Name, att); + + return att; + } + + public static RegionAttachment ToRegionAttachment (this Sprite sprite, string shaderName = "Spine/Skeleton") { + var loader = new SpriteAttachmentLoader(sprite, Shader.Find(shaderName)); + var att = loader.NewRegionAttachment(null, sprite.name, ""); + loader = null; + return att; + } } \ No newline at end of file diff --git a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta index 0ec145755..427cdd10a 100644 --- a/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta +++ b/spine-unity/Assets/spine-unity/SkeletonExtensions.cs.meta @@ -6,5 +6,3 @@ MonoImporter: executionOrder: 0 icon: {instanceID: 0} userData: - assetBundleName: - assetBundleVariant: diff --git a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs index a89e18f2e..d5d122826 100644 --- a/spine-unity/Assets/spine-unity/SkeletonRenderer.cs +++ b/spine-unity/Assets/spine-unity/SkeletonRenderer.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -58,8 +59,7 @@ public class SkeletonRenderer : MonoBehaviour { [HideInInspector] public List submeshSeparatorSlots = new List(); - - private Renderer meshRenderer; + private MeshRenderer meshRenderer; private MeshFilter meshFilter; private Mesh mesh1, mesh2; private bool useMesh1; @@ -69,9 +69,10 @@ public class SkeletonRenderer : MonoBehaviour { private Color32[] colors; private Vector2[] uvs; private Material[] sharedMaterials = new Material[0]; - private LastState lastState = new LastState(); private readonly ExposedList submeshMaterials = new ExposedList(); private readonly ExposedList submeshes = new ExposedList(); + private SkeletonUtilitySubmeshRenderer[] submeshRenderers; + private LastState lastState = new LastState(); public void RequestMeshUpdate() { meshUpdateRequested = true; @@ -81,8 +82,8 @@ public class SkeletonRenderer : MonoBehaviour { if (meshFilter != null) meshFilter.sharedMesh = null; - if (meshRenderer != null) - meshRenderer.sharedMaterial = null; + meshRenderer = GetComponent(); + if (meshRenderer != null) meshRenderer.sharedMaterial = null; if (mesh1 != null) { if (Application.isPlaying) @@ -122,7 +123,7 @@ public class SkeletonRenderer : MonoBehaviour { valid = true; meshFilter = GetComponent(); - meshRenderer = GetComponent(); + meshRenderer = GetComponent(); mesh1 = newMesh(); mesh2 = newMesh(); vertices = new Vector3[0]; @@ -136,10 +137,18 @@ public class SkeletonRenderer : MonoBehaviour { submeshSeparatorSlots.Add(skeleton.FindSlot(submeshSeparators[i])); } + CollectSubmeshRenderers(); + + LateUpdate(); + if (OnReset != null) OnReset(this); } + public void CollectSubmeshRenderers () { + submeshRenderers = GetComponentsInChildren(); + } + public virtual void Awake () { Reset(); } @@ -237,7 +246,11 @@ public class SkeletonRenderer : MonoBehaviour { } // Populate submesh when material changes. +#if !SPINE_TK2D Material material = (Material)((AtlasRegion)rendererObject).page.rendererObject; +#else + Material material = (rendererObject.GetType() == typeof(Material)) ? (Material)rendererObject : (Material)((AtlasRegion)rendererObject).page.rendererObject; +#endif if ((lastMaterial != null && lastMaterial.GetInstanceID() != material.GetInstanceID()) || (submeshSeparatorSlotsCount > 0 && submeshSeparatorSlots.Contains(slot))) { addSubmeshArgumentsTemp.Add( @@ -339,11 +352,11 @@ public class SkeletonRenderer : MonoBehaviour { vertices[vertexIndex + 3].y = tempVertices[RegionAttachment.Y3]; vertices[vertexIndex + 3].z = z; - color.a = slot.data.additiveBlending ? (byte) 0 : (byte)(a * slot.a * regionAttachment.a); + color.a = (byte)(a * slot.a * regionAttachment.a); 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.blendMode == BlendMode.additive) color.a = 0; colors[vertexIndex] = color; colors[vertexIndex + 1] = color; colors[vertexIndex + 2] = color; @@ -406,10 +419,11 @@ public class SkeletonRenderer : MonoBehaviour { this.tempVertices = tempVertices = new float[meshVertexCount]; meshAttachment.ComputeWorldVertices(slot, tempVertices); - color.a = slot.data.additiveBlending ? (byte) 0 : (byte)(a * slot.a * meshAttachment.a); + 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.blendMode == BlendMode.additive) color.a = 0; float[] meshUVs = meshAttachment.uvs; float z = i * zSpacing; @@ -438,10 +452,11 @@ public class SkeletonRenderer : MonoBehaviour { this.tempVertices = tempVertices = new float[meshVertexCount]; skinnedMeshAttachment.ComputeWorldVertices(slot, tempVertices); - color.a = slot.data.additiveBlending ? (byte) 0 : (byte)(a * slot.a * skinnedMeshAttachment.a); + color.a = (byte)(a * slot.a * skinnedMeshAttachment.a); color.r = (byte)(r * slot.r * skinnedMeshAttachment.r * color.a); color.g = (byte)(g * slot.g * skinnedMeshAttachment.g * color.a); color.b = (byte)(b * slot.b * skinnedMeshAttachment.b * color.a); + if (slot.data.blendMode == BlendMode.additive) color.a = 0; float[] meshUVs = skinnedMeshAttachment.uvs; float z = i * zSpacing; @@ -533,6 +548,17 @@ public class SkeletonRenderer : MonoBehaviour { addSubmeshArgumentsCurrentMesh.Count = addSubmeshArgumentsTemp.Count; addSubmeshArgumentsTemp.CopyTo(addSubmeshArgumentsCurrentMesh.Items); + if (submeshRenderers.Length > 0) { + for (int i = 0; i < submeshRenderers.Length; i++) { + SkeletonUtilitySubmeshRenderer submeshRenderer = submeshRenderers[i]; + if (submeshRenderer.submeshIndex < sharedMaterials.Length) { + submeshRenderer.SetMesh(meshRenderer, useMesh1 ? mesh1 : mesh2, sharedMaterials[submeshRenderer.submeshIndex]); + } else { + submeshRenderer.GetComponent().enabled = false; + } + } + } + useMesh1 = !useMesh1; } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs index 52f3f71b3..6fc3ae8d1 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityBoneInspector.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -49,7 +21,10 @@ public class SkeletonUtilityBoneInspector : Editor { SkeletonUtilityBone utilityBone; SkeletonUtility skeletonUtility; bool canCreateHingeChain = false; - + + Dictionary> boundingBoxTable = new Dictionary>(); + string currentSkinName = ""; + void OnEnable () { mode = this.serializedObject.FindProperty("mode"); boneName = this.serializedObject.FindProperty("boneName"); @@ -69,6 +44,43 @@ public class SkeletonUtilityBoneInspector : Editor { } canCreateHingeChain = CanCreateHingeChain(); + + boundingBoxTable.Clear(); + + if (multiObject) + return; + + if (utilityBone.bone == null) + return; + + var skeleton = utilityBone.bone.Skeleton; + int slotCount = skeleton.Slots.Count; + Skin skin = skeleton.Skin; + if (skeleton.Skin == null) + skin = skeleton.Data.DefaultSkin; + + currentSkinName = skin.Name; + for(int i = 0; i < slotCount; i++){ + Slot slot = skeletonUtility.skeletonRenderer.skeleton.Slots.Items[i]; + if (slot.Bone == utilityBone.bone) { + List attachments = new List(); + + + skin.FindAttachmentsForSlot(skeleton.FindSlotIndex(slot.Data.Name), attachments); + + List boundingBoxes = new List(); + foreach (var att in attachments) { + if (att is BoundingBoxAttachment) { + boundingBoxes.Add((BoundingBoxAttachment)att); + } + } + + if (boundingBoxes.Count > 0) { + boundingBoxTable.Add(slot, boundingBoxes); + } + } + } + } void EvaluateFlags () { @@ -180,6 +192,37 @@ public class SkeletonUtilityBoneInspector : Editor { } GUILayout.EndHorizontal(); + EditorGUI.BeginDisabledGroup(multiObject || boundingBoxTable.Count == 0); + EditorGUILayout.LabelField(new GUIContent("Bounding Boxes", SpineEditorUtilities.Icons.boundingBox), EditorStyles.boldLabel); + + foreach(var entry in boundingBoxTable){ + EditorGUI.indentLevel++; + EditorGUILayout.LabelField(entry.Key.Data.Name); + EditorGUI.indentLevel++; + foreach (var box in entry.Value) { + GUILayout.BeginHorizontal(); + GUILayout.Space(30); + if (GUILayout.Button(box.Name, GUILayout.Width(200))) { + var child = utilityBone.transform.FindChild("[BoundingBox]" + box.Name); + if (child != null) { + var originalCollider = child.GetComponent(); + var updatedCollider = SkeletonUtility.AddBoundingBoxAsComponent(box, child.gameObject, originalCollider.isTrigger); + originalCollider.points = updatedCollider.points; + if (EditorApplication.isPlaying) + Destroy(updatedCollider); + else + DestroyImmediate(updatedCollider); + } else { + utilityBone.AddBoundingBox(currentSkinName, entry.Key.Data.Name, box.Name); + } + + } + GUILayout.EndHorizontal(); + } + } + + EditorGUI.EndDisabledGroup(); + serializedObject.ApplyModifiedProperties(); } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs index e955bbd71..b2a3c657e 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilityInspector.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs new file mode 100644 index 000000000..bcbaca61e --- /dev/null +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs @@ -0,0 +1,79 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; +using UnityEditor; +using System; +using System.Collections; +using System.Reflection; + +[CustomEditor(typeof(SkeletonUtilitySubmeshRenderer))] +public class SkeletonUtilitySubmeshRendererInspector : Editor { + + private static MethodInfo EditorGUILayoutSortingLayerField; + protected SerializedObject rendererSerializedObject; + protected SerializedProperty sortingLayerIDProperty; + + SkeletonUtilitySubmeshRenderer component; + + void OnEnable () { + component = (SkeletonUtilitySubmeshRenderer)target; + + if (EditorGUILayoutSortingLayerField == null) + EditorGUILayoutSortingLayerField = typeof(EditorGUILayout).GetMethod("SortingLayerField", BindingFlags.Static | BindingFlags.NonPublic, null, new Type[] { typeof(GUIContent), typeof(SerializedProperty), typeof(GUIStyle) }, null); + + rendererSerializedObject = new SerializedObject(((SkeletonUtilitySubmeshRenderer)target).GetComponent()); + sortingLayerIDProperty = rendererSerializedObject.FindProperty("m_SortingLayerID"); + } + + public override void OnInspectorGUI () { + // Sorting Layers + { + var renderer = component.GetComponent(); + if (renderer != null) { + EditorGUI.BeginChangeCheck(); + + if (EditorGUILayoutSortingLayerField != null && sortingLayerIDProperty != null) { + EditorGUILayoutSortingLayerField.Invoke(null, new object[] { new GUIContent("Sorting Layer"), sortingLayerIDProperty, EditorStyles.popup }); + } else { + renderer.sortingLayerID = EditorGUILayout.IntField("Sorting Layer ID", renderer.sortingLayerID); + } + + renderer.sortingOrder = EditorGUILayout.IntField("Order in Layer", renderer.sortingOrder); + + if (EditorGUI.EndChangeCheck()) { + rendererSerializedObject.ApplyModifiedProperties(); + EditorUtility.SetDirty(renderer); + } + } + } + } +} diff --git a/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs.meta similarity index 78% rename from spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta rename to spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs.meta index a5cf9ae89..3b5bd3485 100644 --- a/spine-tk2d/Assets/spine-tk2d/Editor/BoneFollowerInspector.cs.meta +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/Editor/SkeletonUtilitySubmeshRendererInspector.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c71ca35fd6241cb49a0b0756a664fcf7 +guid: 67418e462bd4dc24e8c234b92f1d4d9b MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs index 3ae9873bc..60eb7bab5 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtility.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -57,6 +29,88 @@ public class SkeletonUtility : MonoBehaviour { #endif } + public static PolygonCollider2D AddBoundingBox (Skeleton skeleton, string skinName, string slotName, string attachmentName, Transform parent, bool isTrigger = true) { + // List attachments = new List(); + Skin skin; + + if (skinName == "") + skinName = skeleton.Data.DefaultSkin.Name; + + skin = skeleton.Data.FindSkin(skinName); + + if (skin == null) { + Debug.LogError("Skin " + skinName + " not found!"); + return null; + } + + var attachment = skin.GetAttachment(skeleton.FindSlotIndex(slotName), attachmentName); + if (attachment is BoundingBoxAttachment) { + GameObject go = new GameObject("[BoundingBox]" + attachmentName); + go.transform.parent = parent; + go.transform.localPosition = Vector3.zero; + go.transform.localRotation = Quaternion.identity; + go.transform.localScale = Vector3.one; + var collider = go.AddComponent(); + collider.isTrigger = isTrigger; + var boundingBox = (BoundingBoxAttachment)attachment; + float[] floats = boundingBox.Vertices; + int floatCount = floats.Length; + int vertCount = floatCount / 2; + + Vector2[] verts = new Vector2[vertCount]; + int v = 0; + for (int i = 0; i < floatCount; i += 2, v++) { + verts[v].x = floats[i]; + verts[v].y = floats[i+1]; + } + + collider.SetPath(0, verts); + + return collider; + + } + + return null; + } + + public static PolygonCollider2D AddBoundingBoxAsComponent (BoundingBoxAttachment boundingBox, GameObject gameObject, bool isTrigger = true) { + if (boundingBox == null) + return null; + + var collider = gameObject.AddComponent(); + collider.isTrigger = isTrigger; + float[] floats = boundingBox.Vertices; + int floatCount = floats.Length; + int vertCount = floatCount / 2; + + Vector2[] verts = new Vector2[vertCount]; + int v = 0; + for (int i = 0; i < floatCount; i += 2, v++) { + verts[v].x = floats[i]; + verts[v].y = floats[i + 1]; + } + + collider.SetPath(0, verts); + + return collider; + } + + public static Bounds GetBoundingBoxBounds (BoundingBoxAttachment boundingBox, float depth = 0) { + float[] floats = boundingBox.Vertices; + int floatCount = floats.Length; + + Bounds bounds = new Bounds(); + + bounds.center = new Vector3(floats[0], floats[1], 0); + for (int i = 2; i < floatCount; i += 2) { + bounds.Encapsulate(new Vector3(floats[i], floats[i + 1], 0)); + } + Vector3 size = bounds.size; + size.z = depth; + bounds.size = size; + + return bounds; + } public delegate void SkeletonUtilityDelegate (); @@ -338,12 +392,12 @@ public class SkeletonUtility : MonoBehaviour { go.transform.localScale = Vector3.one; SkeletonUtilitySubmeshRenderer s = go.AddComponent(); - s.sortingOrder = i * 10; + s.GetComponent().sortingOrder = i * 10; s.submeshIndex = i; - s.Initialize(GetComponent()); - s.Update(); } + skeletonRenderer.CollectSubmeshRenderers(); + if (disablePrimaryRenderer) GetComponent().enabled = false; } diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs index dc42d4677..fcf2c2280 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 @@ -287,6 +259,10 @@ public class SkeletonUtilityBone : MonoBehaviour { transform.localRotation = Quaternion.Euler(euler); } + public void AddBoundingBox (string skinName, string slotName, string attachmentName) { + SkeletonUtility.AddBoundingBox(bone.skeleton, skinName, slotName, attachmentName, transform); + } + void OnDrawGizmos () { if (NonUniformScaleWarning) { Gizmos.DrawIcon(transform.position + new Vector3(0, 0.128f, 0), "icon-warning"); diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs index 3be62228c..4f2b1cd9b 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityConstraint.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; [RequireComponent(typeof(SkeletonUtilityBone)), ExecuteInEditMode] diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs index 6aefded5a..b19cdcc6e 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityEyeConstraint.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { @@ -53,4 +84,4 @@ public class SkeletonUtilityEyeConstraint : SkeletonUtilityConstraint { } } -} \ No newline at end of file +} diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs index b9608e9bc..2cf37db78 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityGroundConstraint.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; [RequireComponent(typeof(SkeletonUtilityBone)), ExecuteInEditMode] diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs index a636792be..ca32891ba 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityKinematicShadow.cs @@ -1,4 +1,35 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; using System.Collections; using System.Collections.Generic; @@ -80,4 +111,4 @@ public class SkeletonUtilityKinematicShadow : MonoBehaviour { pair.Value.localRotation = pair.Key.localRotation; } } -} \ No newline at end of file +} diff --git a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs index c20e61998..a756314ba 100644 --- a/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs +++ b/spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilitySubmeshRenderer.cs @@ -1,104 +1,70 @@ -using UnityEngine; +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +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; - SkeletonRenderer parentSkeletonRenderer; MeshFilter filter; Material[] sharedMaterials; - MeshFilter parentFilter; - bool isFirstUpdate = true; void Awake () { cachedRenderer = GetComponent(); - sharedMaterials = cachedRenderer.sharedMaterials; filter = GetComponent(); - - if (parentRenderer != null) - Initialize(parentRenderer); + sharedMaterials = new Material[0]; } - 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; - parentSkeletonRenderer = parentRenderer.GetComponent(); - Debug.Log("Mesh: " + (mesh == null ? "null" : mesh.name), parentFilter); - } - - public void Update () { + public void SetMesh (Renderer parentRenderer, Mesh mesh, Material mat) { if (cachedRenderer == null) - cachedRenderer = GetComponent(); - - if (isFirstUpdate || cachedRenderer.enabled) { - parentSkeletonRenderer.RequestMeshUpdate(); - isFirstUpdate = false; - } - - if (mesh == null || mesh != parentFilter.sharedMesh) { - mesh = parentFilter.sharedMesh; - filter.sharedMesh = mesh; - } - - if (mesh == null || submeshIndex > mesh.subMeshCount - 1) { - cachedRenderer.enabled = false; return; - } else { - cachedRenderer.enabled = true; - } - bool changed = false; - - if (sharedMaterials.Length != parentRenderer.sharedMaterials.Length) { + cachedRenderer.enabled = true; + filter.sharedMesh = mesh; + if (cachedRenderer.sharedMaterials.Length != parentRenderer.sharedMaterials.Length) { sharedMaterials = parentRenderer.sharedMaterials; - changed = true; } - - - for (int i = 0; i < GetComponent().sharedMaterials.Length; i++) { + for (int i = 0; i < sharedMaterials.Length; i++) { if (i == submeshIndex) - continue; - - if (sharedMaterials[i] != hiddenPassMaterial) { + sharedMaterials[i] = mat; + else 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; + cachedRenderer.sharedMaterials = sharedMaterials; } } diff --git a/spine-unity/Assets/spine-unity/SpineAttributes.cs b/spine-unity/Assets/spine-unity/SpineAttributes.cs index 1bf15bca2..d59515b71 100644 --- a/spine-unity/Assets/spine-unity/SpineAttributes.cs +++ b/spine-unity/Assets/spine-unity/SpineAttributes.cs @@ -1,32 +1,4 @@ -/****************************************************************************** - * 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 Attributes created by Mitch Thompson @@ -38,6 +10,7 @@ using System.Collections; public class SpineSlot : PropertyAttribute { public string startsWith = ""; public string dataField = ""; + public bool containsBoundingBoxes = false; /// /// Smart popup menu for Spine Slots @@ -47,9 +20,11 @@ public class SpineSlot : PropertyAttribute { /// Valid types are SkeletonDataAsset and SkeletonRenderer (and derivatives). /// If left empty and the script the attribute is applied to is derived from Component, GetComponent() will be called as a fallback. /// - public SpineSlot(string startsWith = "", string dataField = "") { + /// Disables popup results that don't contain bounding box attachments when true. + public SpineSlot(string startsWith = "", string dataField = "", bool containsBoundingBoxes = false) { this.startsWith = startsWith; this.dataField = dataField; + this.containsBoundingBoxes = containsBoundingBoxes; } } diff --git a/spine-unity/Assets/spine-unity/SpriteAttacher.cs b/spine-unity/Assets/spine-unity/SpriteAttacher.cs new file mode 100644 index 000000000..e6018b410 --- /dev/null +++ b/spine-unity/Assets/spine-unity/SpriteAttacher.cs @@ -0,0 +1,199 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.3 + * + * Copyright (c) 2013-2015, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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 SOFTWARE 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. + *****************************************************************************/ + +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using Spine; + +public class SpriteAttacher : MonoBehaviour { + + + public bool attachOnStart = true; + public bool keepLoaderInMemory = true; + + public Sprite sprite; + + [SpineSlot] + public string slot; + + private SpriteAttachmentLoader loader; + private RegionAttachment attachment; + + void Start () { + if (attachOnStart) + Attach(); + } + + public void Attach () { + var skeletonRenderer = GetComponent(); + + if (loader == null) + //create loader instance, tell it what sprite and shader to use + loader = new SpriteAttachmentLoader(sprite, Shader.Find("Spine/Skeleton")); + + if (attachment == null) + attachment = loader.NewRegionAttachment(null, sprite.name, ""); + + skeletonRenderer.skeleton.FindSlot(slot).Attachment = attachment; + + if (!keepLoaderInMemory) + loader = null; + } +} + +public class SpriteAttachmentLoader : AttachmentLoader { + + //TODO: Memory cleanup functions + + //IMPORTANT: Make sure you clear this when you don't need it anymore. Goodluck. + public static Dictionary atlasTable = new Dictionary(); + + //Shouldn't need to clear this, should just prevent redoing premultiply alpha pass on packed atlases + public static List premultipliedAtlasIds = new List(); + + Sprite sprite; + Shader shader; + + public SpriteAttachmentLoader (Sprite sprite, Shader shader) { + + if (sprite.packed && sprite.packingMode == SpritePackingMode.Tight) { + Debug.LogError("Tight Packer Policy not supported yet!"); + return; + } + + this.sprite = sprite; + this.shader = shader; + + Texture2D tex = sprite.texture; + //premultiply texture if it hasn't been yet + int instanceId = tex.GetInstanceID(); + if (!premultipliedAtlasIds.Contains(instanceId)) { + try { + var colors = tex.GetPixels(); + Color c; + float a; + for (int i = 0; i < colors.Length; i++) { + c = colors[i]; + a = c.a; + c.r *= a; + c.g *= a; + c.b *= a; + colors[i] = c; + } + + tex.SetPixels(colors); + tex.Apply(); + + premultipliedAtlasIds.Add(instanceId); + } catch { + //texture is not readable! Can't pre-multiply it, you're on your own. + } + } + } + + public RegionAttachment NewRegionAttachment (Skin skin, string name, string path) { + RegionAttachment attachment = new RegionAttachment(name); + + Texture2D tex = sprite.texture; + int instanceId = tex.GetInstanceID(); + AtlasRegion atlasRegion; + + //check cache first + if (atlasTable.ContainsKey(instanceId)) { + atlasRegion = atlasTable[instanceId]; + } else { + //Setup new material + Material mat = new Material(shader); + if (sprite.packed) + mat.name = "Unity Packed Sprite Material"; + else + mat.name = sprite.name + " Sprite Material"; + mat.mainTexture = tex; + + //create faux-region to play nice with SkeletonRenderer + atlasRegion = new AtlasRegion(); + AtlasPage page = new AtlasPage(); + page.rendererObject = mat; + atlasRegion.page = page; + + //cache it + atlasTable[instanceId] = atlasRegion; + } + + Rect texRect = sprite.textureRect; + + //normalize rect to UV space of packed atlas + texRect.x = Mathf.InverseLerp(0, tex.width, texRect.x); + texRect.y = Mathf.InverseLerp(0, tex.height, texRect.y); + texRect.width = Mathf.InverseLerp(0, tex.width, texRect.width); + texRect.height = Mathf.InverseLerp(0, tex.height, texRect.height); + + Bounds bounds = sprite.bounds; + Vector3 size = bounds.size; + + //TODO: make sure this rotation thing actually works + bool rotated = false; + if (sprite.packed) + rotated = sprite.packingRotation == SpritePackingRotation.Any; + + //do some math and assign UVs and sizes + attachment.SetUVs(texRect.xMin, texRect.yMax, texRect.xMax, texRect.yMin, rotated); + attachment.RendererObject = atlasRegion; + attachment.SetColor(Color.white); + attachment.ScaleX = 1; + attachment.ScaleY = 1; + attachment.RegionOffsetX = sprite.rect.width * (0.5f - Mathf.InverseLerp(bounds.min.x, bounds.max.x, 0)) / sprite.pixelsPerUnit; + attachment.RegionOffsetY = sprite.rect.height * (0.5f - Mathf.InverseLerp(bounds.min.y, bounds.max.y, 0)) / sprite.pixelsPerUnit; + attachment.Width = size.x; + attachment.Height = size.y; + attachment.RegionWidth = size.x; + attachment.RegionHeight = size.y; + attachment.RegionOriginalWidth = size.x; + attachment.RegionOriginalHeight = size.y; + attachment.UpdateOffset(); + + return attachment; + } + + public MeshAttachment NewMeshAttachment (Skin skin, string name, string path) { + //TODO: Unity 5 only + throw new System.NotImplementedException(); + } + + public SkinnedMeshAttachment NewSkinnedMeshAttachment (Skin skin, string name, string path) { + throw new System.NotImplementedException(); + } + + public BoundingBoxAttachment NewBoundingBoxAttachment (Skin skin, string name) { + throw new System.NotImplementedException(); + } +} diff --git a/spine-unity/Assets/spine-unity/SpriteAttacher.cs.meta b/spine-unity/Assets/spine-unity/SpriteAttacher.cs.meta new file mode 100644 index 000000000..6f79b89c2 --- /dev/null +++ b/spine-unity/Assets/spine-unity/SpriteAttacher.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ee7b5e36685e2445a0097de42940987 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs b/spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs similarity index 85% rename from spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs rename to spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs index e4099552f..3b6235532 100644 --- a/spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs +++ b/spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -28,6 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ +#if SPINE_TK2D using System; using UnityEngine; using Spine; @@ -160,3 +162,4 @@ public class SpriteCollectionAttachmentLoader : AttachmentLoader { return new BoundingBoxAttachment(name); } } +#endif diff --git a/spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs.meta b/spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs.meta similarity index 78% rename from spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs.meta rename to spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs.meta index 6cc8612ae..671d5c768 100644 --- a/spine-tk2d/Assets/spine-tk2d/SpriteCollectionAttachmentLoader.cs.meta +++ b/spine-unity/Assets/spine-unity/SpriteCollectionAttachmentLoader.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2ad5a031e905ab0469fe2e19ff1b94ee +guid: 03238e4a73953c045a6cb289162532f3 MonoImporter: serializedVersion: 2 defaultReferences: [] diff --git a/spine-unity/README.md b/spine-unity/README.md index 3ce9aa1aa..3f5de98de 100644 --- a/spine-unity/README.md +++ b/spine-unity/README.md @@ -1,12 +1,14 @@ # spine-unity -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). +The spine-unity runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [Unity](http://unity3d.com/). spine-unity is based on [spine-csharp](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-csharp). + +While spine-unity can render directly with Unity, without the need for any other plugins, it also works with [2D Toolkit](http://www.unikronsoftware.com/2dtoolkit/) and render skeletons from a TK2D texture atlas. 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. ## 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 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 diff --git a/spine-xna/example/data/raptor.skel b/spine-xna/example/data/raptor.skel new file mode 100644 index 000000000..507d86e2e Binary files /dev/null and b/spine-xna/example/data/raptor.skel differ diff --git a/spine-xna/example/src/ExampleGame.cs b/spine-xna/example/src/ExampleGame.cs index e07434f56..419badd54 100644 --- a/spine-xna/example/src/ExampleGame.cs +++ b/spine-xna/example/src/ExampleGame.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -76,12 +77,25 @@ namespace Spine { // String name = "spineboy"; // String name = "goblins-mesh"; String name = "raptor"; + bool binaryData = true; Atlas atlas = new Atlas(assetsFolder + name + ".atlas", new XnaTextureLoader(GraphicsDevice)); - SkeletonJson json = new SkeletonJson(atlas); - if (name == "spineboy") json.Scale = 0.6f; - if (name == "raptor") json.Scale = 0.5f; - skeleton = new Skeleton(json.ReadSkeletonData(assetsFolder + name + ".json")); + + float scale = 1; + if (name == "spineboy") scale = 0.6f; + if (name == "raptor") scale = 0.5f; + + SkeletonData skeletonData; + if (binaryData) { + SkeletonBinary binary = new SkeletonBinary(atlas); + binary.Scale = scale; + skeletonData = binary.ReadSkeletonData(assetsFolder + name + ".skel"); + } else { + SkeletonJson json = new SkeletonJson(atlas); + json.Scale = scale; + skeletonData = json.ReadSkeletonData(assetsFolder + name + ".json"); + } + skeleton = new Skeleton(skeletonData); if (name == "goblins-mesh") skeleton.SetSkin("goblin"); // Define mixing between animations. diff --git a/spine-xna/src/MeshBatcher.cs b/spine-xna/src/MeshBatcher.cs index 751d19a7a..f2d4cd592 100644 --- a/spine-xna/src/MeshBatcher.cs +++ b/spine-xna/src/MeshBatcher.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software + * Version 2.3 + * + * Copyright (c) 2013-2015, 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. - * + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-xna/src/RegionBatcher.cs b/spine-xna/src/RegionBatcher.cs index edb326fd4..d05973d71 100644 --- a/spine-xna/src/RegionBatcher.cs +++ b/spine-xna/src/RegionBatcher.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 - * - * Copyright (c) 2013, Esoteric Software + * Version 2.3 + * + * Copyright (c) 2013-2015, 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. - * + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, diff --git a/spine-xna/src/SkeletonMeshRenderer.cs b/spine-xna/src/SkeletonMeshRenderer.cs index 48697ba4e..bf60c2e0b 100644 --- a/spine-xna/src/SkeletonMeshRenderer.cs +++ b/spine-xna/src/SkeletonMeshRenderer.cs @@ -1,25 +1,26 @@ -/****************************************************************************** +/****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -96,7 +97,7 @@ namespace Spine { Attachment attachment = slot.Attachment; if (attachment is RegionAttachment) { RegionAttachment regionAttachment = (RegionAttachment)attachment; - BlendState blend = slot.Data.AdditiveBlending ? BlendState.Additive : defaultBlendState; + BlendState blend = slot.Data.BlendMode == BlendMode.additive ? BlendState.Additive : defaultBlendState; if (device.BlendState != blend) { End(); device.BlendState = blend; diff --git a/spine-xna/src/SkeletonRegionRenderer.cs b/spine-xna/src/SkeletonRegionRenderer.cs index d9d7448ec..2189b01a3 100644 --- a/spine-xna/src/SkeletonRegionRenderer.cs +++ b/spine-xna/src/SkeletonRegionRenderer.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -88,7 +89,7 @@ namespace Spine { Slot slot = drawOrder[i]; RegionAttachment regionAttachment = slot.Attachment as RegionAttachment; if (regionAttachment != null) { - BlendState blend = slot.Data.AdditiveBlending ? BlendState.Additive : defaultBlendState; + BlendState blend = slot.Data.BlendMode == BlendMode.additive ? BlendState.Additive : defaultBlendState; if (device.BlendState != blend) { End(); device.BlendState = blend; diff --git a/spine-xna/src/Util.cs b/spine-xna/src/Util.cs index a871c7083..1df35a44d 100644 --- a/spine-xna/src/Util.cs +++ b/spine-xna/src/Util.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -28,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -using System; +using System; using System.IO; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; diff --git a/spine-xna/src/XnaTextureLoader.cs b/spine-xna/src/XnaTextureLoader.cs index 15e33f3a4..30359bc93 100644 --- a/spine-xna/src/XnaTextureLoader.cs +++ b/spine-xna/src/XnaTextureLoader.cs @@ -1,25 +1,26 @@ /****************************************************************************** * Spine Runtimes Software License - * Version 2.1 + * Version 2.3 * - * Copyright (c) 2013, Esoteric Software + * Copyright (c) 2013-2015, 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. + * non-transferable license to use, install, execute and perform the Spine + * Runtimes Software (the "Software") and derivative works solely for personal + * or internal use. Without the written permission of Esoteric Software (see + * Section 2 of the Spine Software License Agreement), 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, + * EVENT SHALL ESOTERIC SOFTWARE 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, @@ -28,7 +29,7 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ -using System; +using System; using System.IO; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics;