diff --git a/.gitignore b/.gitignore index 946f62dd2..682b3cb5e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,15 +25,9 @@ spine-libgdx/libs/* spine-cocos2dx/2/cocos2dx/ !spine-cocos2dx/2/cocos2dx/Place cocos2dx here.txt spine-cocos2dx/2/example/proj.win32/Debug -spine-cocos2dx/3.0/cocos2dx/ -!spine-cocos2dx/3.0/cocos2dx/Place cocos2dx here.txt -spine-cocos2dx/3.0/example/proj.win32/Debug -spine-cocos2dx/3.1/cocos2dx/ -!spine-cocos2dx/3.1/cocos2dx/Place cocos2dx here.txt -spine-cocos2dx/3.1/example/proj.win32/Debug -spine-cocos2dx/3.2/cocos2dx/ -!spine-cocos2dx/3.2/cocos2dx/Place cocos2dx here.txt -spine-cocos2dx/3.2/example/proj.win32/Debug +spine-cocos2dx/3/cocos2dx/ +!spine-cocos2dx/3/cocos2dx/Place cocos2dx here.txt +spine-cocos2dx/3/example/proj.win32/Debug xcuserdata spine-cocos2d-iphone/2/cocos2d/* diff --git a/spine-cocos2dx/3.0/README.md b/spine-cocos2dx/3.0/README.md deleted file mode 100644 index cdb3d42f8..000000000 --- a/spine-cocos2dx/3.0/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# spine-cocos2dx v3.0 - -The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-c](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-c). - -## 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. Place the contents of a cocos2d-x version 3.0 distribution into the `spine-cocos2dx/3.0/cocos2dx` directory. -1. Open the XCode (Mac) or Visual C++ 2012 Express (Windows) project file from the `spine-cocos2dx/3.0/example` directory. Build files are also provided for Android. - -Alternatively, the contents of the `spine-c/src`, `spine-c/include` and `spine-cocos2dx/3.0/src` directories can be copied into your project. Be sure your header search path will find the contents of the `spine-c/include` and `spine-cocos2dx/3.0/src` directories. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. - -## Notes - -- Images are no longer premultiplied by cocos2d-x as they where in cocos2d-x v2, so the Spine atlas images *should* use premultiplied alpha. - -## Examples - -[Spineboy](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/3.0/example/Classes/SpineboyExample.cpp) -[Golbins](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/3.0/example/Classes/GoblinsExample.cpp) \ No newline at end of file diff --git a/spine-cocos2dx/3.0/example/Classes/AppDelegate.cpp b/spine-cocos2dx/3.0/example/Classes/AppDelegate.cpp deleted file mode 100644 index ed90b2b75..000000000 --- a/spine-cocos2dx/3.0/example/Classes/AppDelegate.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "AppDelegate.h" - -#include -#include - -#include "SpineboyExample.h" -#include "AppMacros.h" - -USING_NS_CC; -using namespace std; - -AppDelegate::AppDelegate () { -} - -AppDelegate::~AppDelegate () { -} - -bool AppDelegate::applicationDidFinishLaunching () { - // initialize director - auto director = Director::getInstance(); - auto glview = director->getOpenGLView(); - - // Set the design resolution -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL); -#else - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); -#endif - - Size frameSize = glview->getFrameSize(); - - vector searchPath; - - // In this demo, we select resource according to the frame's height. - // If the resource size is different from design resolution size, you need to set contentScaleFactor. - // We use the ratio of resource's height to the height of design resolution, - // this can make sure that the resource's height could fit for the height of design resolution. - if (frameSize.height > mediumResource.size.height) { - // if the frame's height is larger than the height of medium resource size, select large resource. - searchPath.push_back(largeResource.directory); - director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width)); - } else if (frameSize.height > smallResource.size.height) { - // if the frame's height is larger than the height of small resource size, select medium resource. - searchPath.push_back(mediumResource.directory); - director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width)); - } else { - // if the frame's height is smaller than the height of medium resource size, select small resource. - searchPath.push_back(smallResource.directory); - director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width)); - } - - searchPath.push_back("common"); - - // set searching path - FileUtils::getInstance()->setSearchPaths(searchPath); - - // turn on display FPS - director->setDisplayStats(true); - - // set FPS. the default value is 1.0/60 if you don't call this - director->setAnimationInterval(1.0 / 60); - - // create a scene. it's an autorelease object - auto scene = SpineboyExample::scene(); - - // run - director->runWithScene(scene); - - return true; -} - -// This function will be called when the app is inactive. When comes a phone call,it's be invoked too -void AppDelegate::applicationDidEnterBackground () { - Director::getInstance()->stopAnimation(); - - // if you use SimpleAudioEngine, it must be paused - // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); -} - -// this function will be called when the app is active again -void AppDelegate::applicationWillEnterForeground () { - Director::getInstance()->startAnimation(); - - // if you use SimpleAudioEngine, it must resume here - // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); -} diff --git a/spine-cocos2dx/3.0/example/Classes/AppDelegate.h b/spine-cocos2dx/3.0/example/Classes/AppDelegate.h deleted file mode 100644 index 318fc27f4..000000000 --- a/spine-cocos2dx/3.0/example/Classes/AppDelegate.h +++ /dev/null @@ -1,18 +0,0 @@ - - -#ifndef _APPDELEGATE_H_ -#define _APPDELEGATE_H_ - -#include "cocos2d.h" - -class AppDelegate: private cocos2d::CCApplication { -public: - AppDelegate (); - virtual ~AppDelegate (); - - virtual bool applicationDidFinishLaunching (); - virtual void applicationDidEnterBackground (); - virtual void applicationWillEnterForeground (); -}; - -#endif // _APPDELEGATE_H_ \ No newline at end of file diff --git a/spine-cocos2dx/3.0/example/Classes/AppMacros.h b/spine-cocos2dx/3.0/example/Classes/AppMacros.h deleted file mode 100644 index 3f3a06e0e..000000000 --- a/spine-cocos2dx/3.0/example/Classes/AppMacros.h +++ /dev/null @@ -1,61 +0,0 @@ - - -#ifndef _APPMACROS_H_ -#define _APPMACROS_H_ - -#include "cocos2d.h" - -/* For demonstrating using one design resolution to match different resources, - or one resource to match different design resolutions. - - [Situation 1] Using one design resolution to match different resources. - Please look into Appdelegate::applicationDidFinishLaunching. - We check current device frame size to decide which resource need to be selected. - So if you want to test this situation which said in title '[Situation 1]', - you should change ios simulator to different device(e.g. iphone, iphone-retina3.5, iphone-retina4.0, ipad, ipad-retina), - or change the window size in "proj.XXX/main.cpp" by "CCEGLView::setFrameSize" if you are using win32 or linux plaform - and modify "proj.mac/AppController.mm" by changing the window rectangle. - - [Situation 2] Using one resource to match different design resolutions. - The coordinates in your codes is based on your current design resolution rather than resource size. - Therefore, your design resolution could be very large and your resource size could be small. - To test this, just define the marco 'TARGET_DESIGN_RESOLUTION_SIZE' to 'DESIGN_RESOLUTION_2048X1536' - and open iphone simulator or create a window of 480x320 size. - - [Note] Normally, developer just need to define one design resolution(e.g. 960x640) with one or more resources. - */ - -#define DESIGN_RESOLUTION_480X320 0 -#define DESIGN_RESOLUTION_960x640 1 -#define DESIGN_RESOLUTION_1024X768 2 -#define DESIGN_RESOLUTION_2048X1536 3 - -/* If you want to switch design resolution, change next line */ -#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_960x640 - -typedef struct tagResource { - cocos2d::Size size; - char directory[100]; -} Resource; - -static Resource smallResource = {cocos2d::Size(480, 320), "iphone"}; -static Resource mediumResource = {cocos2d::Size(960, 640), "iphone-retina"}; -static Resource largeResource = {cocos2d::Size(1024, 768), "ipad"}; -static Resource extralargeResource = {cocos2d::Size(2048, 1536), "ipad-retina"}; - -#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(480, 320); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_960x640) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(960, 640); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(1024, 768); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(2048, 1536); -#else -#error unknown target design resolution! -#endif - -// 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 diff --git a/spine-cocos2dx/3.0/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/3.0/example/Classes/GoblinsExample.cpp deleted file mode 100644 index 4f7bee35e..000000000 --- a/spine-cocos2dx/3.0/example/Classes/GoblinsExample.cpp +++ /dev/null @@ -1,73 +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. - *****************************************************************************/ - -#include "GoblinsExample.h" -#include "SpineboyExample.h" -#include -#include -#include - -USING_NS_CC; -using namespace spine; -using namespace std; - -Scene* GoblinsExample::scene () { - Scene *scene = Scene::create(); - scene->addChild(GoblinsExample::create()); - return scene; -} - -bool GoblinsExample::init () { - if (!LayerColor::initWithColor(Color4B(128, 128, 128, 255))) return false; - - skeletonNode = SkeletonAnimation::createWithFile("goblins-ffd.json", "goblins-ffd.atlas", 1.5f); - skeletonNode->setAnimation(0, "walk", true); - skeletonNode->setSkin("goblin"); - - Size windowSize = Director::getInstance()->getWinSize(); - skeletonNode->setPosition(Point(windowSize.width / 2, 20)); - addChild(skeletonNode); - - scheduleUpdate(); - - EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create(); - listener->onTouchBegan = [this] (Touch* touch, Event* event) -> bool { - if (!skeletonNode->debugBones) - skeletonNode->debugBones = true; - else if (skeletonNode->timeScale == 1) - skeletonNode->timeScale = 0.3f; - else - Director::getInstance()->replaceScene(SpineboyExample::scene()); - return true; - }; - _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); - - return true; -} diff --git a/spine-cocos2dx/3.0/example/Classes/SpineboyExample.cpp b/spine-cocos2dx/3.0/example/Classes/SpineboyExample.cpp deleted file mode 100644 index 838d1fa78..000000000 --- a/spine-cocos2dx/3.0/example/Classes/SpineboyExample.cpp +++ /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. - *****************************************************************************/ - -#include "SpineboyExample.h" -#include "GoblinsExample.h" -#include -#include -#include - -USING_NS_CC; -using namespace spine; -using namespace std; - -Scene* SpineboyExample::scene () { - Scene *scene = Scene::create(); - scene->addChild(SpineboyExample::create()); - return scene; -} - -bool SpineboyExample::init () { - if (!LayerColor::initWithColor(Color4B(128, 128, 128, 255))) return false; - - skeletonNode = SkeletonAnimation::createWithFile("spineboy.json", "spineboy.atlas", 0.6f); - - skeletonNode->startListener = [this] (int trackIndex) { - spTrackEntry* entry = spAnimationState_getCurrent(skeletonNode->state, trackIndex); - const char* animationName = (entry && entry->animation) ? entry->animation->name : 0; - log("%d start: %s", trackIndex, animationName); - }; - skeletonNode->endListener = [] (int trackIndex) { - log("%d end", trackIndex); - }; - skeletonNode->completeListener = [] (int trackIndex, int loopCount) { - log("%d complete: %d", trackIndex, loopCount); - }; - skeletonNode->eventListener = [] (int trackIndex, spEvent* event) { - log("%d event: %s, %d, %f, %s", trackIndex, event->data->name, event->intValue, event->floatValue, event->stringValue); - }; - - skeletonNode->setMix("walk", "jump", 0.2f); - skeletonNode->setMix("jump", "run", 0.2f); - skeletonNode->setAnimation(0, "walk", true); - spTrackEntry* jumpEntry = skeletonNode->addAnimation(0, "jump", false, 3); - skeletonNode->addAnimation(0, "run", true); - - skeletonNode->setStartListener(jumpEntry, [] (int trackIndex) { - log("jumped!"); - }); - - // skeletonNode->addAnimation(1, "test", true); - // skeletonNode->runAction(RepeatForever::create(Sequence::create(FadeOut::create(1), FadeIn::create(1), DelayTime::create(5), NULL))); - - Size windowSize = Director::getInstance()->getWinSize(); - skeletonNode->setPosition(Point(windowSize.width / 2, 20)); - addChild(skeletonNode); - - scheduleUpdate(); - - EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create(); - listener->onTouchBegan = [this] (Touch* touch, Event* event) -> bool { - if (!skeletonNode->debugBones) - skeletonNode->debugBones = true; - else if (skeletonNode->timeScale == 1) - skeletonNode->timeScale = 0.3f; - else - Director::getInstance()->replaceScene(GoblinsExample::scene()); - return true; - }; - _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); - - return true; -} - -void SpineboyExample::update (float deltaTime) { - // Test releasing memory. - // Director::getInstance()->replaceScene(SpineboyExample::scene()); -} - diff --git a/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.atlas b/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.png b/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/ipad-retina/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/ipad-retina/spineboy.png b/spine-cocos2dx/3.0/example/Resources/ipad-retina/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/ipad-retina/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.atlas b/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.png b/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/ipad/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/ipad/spineboy.png b/spine-cocos2dx/3.0/example/Resources/ipad/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/ipad/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.atlas b/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.png b/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/iphone-retina/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/iphone-retina/spineboy.png b/spine-cocos2dx/3.0/example/Resources/iphone-retina/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/iphone-retina/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.atlas b/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.png b/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/iphone/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/Resources/iphone/spineboy.png b/spine-cocos2dx/3.0/example/Resources/iphone/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.0/example/Resources/iphone/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj b/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj deleted file mode 100644 index 7341fc837..000000000 --- a/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj +++ /dev/null @@ -1,171 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF} - spine - Win32Proj - spine-cocos2dx - - - - Application - Unicode - true - v100 - v110 - v110_xp - - - Application - Unicode - v100 - v110 - v110_xp - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - true - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - AllRules.ruleset - - - AllRules.ruleset - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - - Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\src;$(ProjectDir)..\..\..\..\spine-c\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - EditAndContinue - 4267;4251;4244;%(DisableSpecificWarnings) - CompileAsCpp - - - %(AdditionalDependencies) - $(OutDir)$(ProjectName).exe - $(OutDir);%(AdditionalLibraryDirectories) - true - Windows - MachineX86 - - - false - libcmt.lib;msvcrt.lib;libcmtd.lib - - - - - - - - - MaxSpeed - true - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;..\Classes;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - ProgramDatabase - 4267;4251;4244;%(DisableSpecificWarnings) - - - opengl32.lib;glew32.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).exe - $(OutDir);%(AdditionalLibraryDirectories) - true - Windows - true - true - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {5d74934a-7512-45ee-8402-7b95d3642e85} - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - false - false - true - false - - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - - - - - - \ No newline at end of file diff --git a/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj.filters b/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj.filters deleted file mode 100644 index ad5c9ffc3..000000000 --- a/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.vcxproj.filters +++ /dev/null @@ -1,69 +0,0 @@ - - - - - {ef769de4-53ac-449d-92e6-e67ec8d7414e} - - - {0dcd52ca-d521-4ba1-a1fa-c0d58a2df402} - - - {54b66b2b-0990-4335-a821-332c44b6f83e} - - - - - win32 - - - Classes - - - Classes - - - src - - - src - - - src - - - src - - - Classes - - - Classes - - - - - win32 - - - Classes - - - src - - - src - - - src - - - src - - - Classes - - - Classes - - - \ No newline at end of file diff --git a/spine-cocos2dx/3.0/src/spine/PolygonBatch.cpp b/spine-cocos2dx/3.0/src/spine/PolygonBatch.cpp deleted file mode 100644 index b0cc2b431..000000000 --- a/spine-cocos2dx/3.0/src/spine/PolygonBatch.cpp +++ /dev/null @@ -1,113 +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. - *****************************************************************************/ - -#include -#include - -USING_NS_CC; - -namespace spine { - -PolygonBatch* PolygonBatch::createWithCapacity (int capacity) { - PolygonBatch* batch = new PolygonBatch(); - batch->initWithCapacity(capacity); - batch->autorelease(); - return batch; -} - -PolygonBatch::PolygonBatch () : - capacity(0), - vertices(nullptr), verticesCount(0), - triangles(nullptr), trianglesCount(0), - texture(nullptr) -{} - -bool PolygonBatch::initWithCapacity (int capacity) { - // 32767 is max index, so 32767 / 3 - (32767 / 3 % 3) = 10920. - CCASSERT(capacity <= 10920, "capacity cannot be > 10920"); - CCASSERT(capacity >= 0, "capacity cannot be < 0"); - this->capacity = capacity; - vertices = MALLOC(V2F_C4B_T2F, capacity); - triangles = MALLOC(GLushort, capacity * 3); - return true; -} - -PolygonBatch::~PolygonBatch () { - FREE(vertices); - FREE(triangles); -} - -void PolygonBatch::add (const Texture2D* addTexture, - const float* addVertices, const float* uvs, int addVerticesCount, - const int* addTriangles, int addTrianglesCount, - Color4B* color) { - - if ( - addTexture != texture - || verticesCount + (addVerticesCount >> 1) > capacity - || trianglesCount + addTrianglesCount > capacity * 3) { - this->flush(); - texture = addTexture; - } - - for (int i = 0; i < addTrianglesCount; ++i, ++trianglesCount) - triangles[trianglesCount] = addTriangles[i] + verticesCount; - - for (int i = 0; i < addVerticesCount; i += 2, ++verticesCount) { - V2F_C4B_T2F* vertex = vertices + verticesCount; - vertex->vertices.x = addVertices[i]; - vertex->vertices.y = addVertices[i + 1]; - vertex->colors = *color; - vertex->texCoords.u = uvs[i]; - vertex->texCoords.v = uvs[i + 1]; - } -} - -void PolygonBatch::flush () { - if (!verticesCount) return; - - GL::bindTexture2D(texture->getName()); - GL::bindVAO(0); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), &vertices[0].vertices); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(V2F_C4B_T2F), &vertices[0].colors); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), &vertices[0].texCoords); - - glDrawElements(GL_TRIANGLES, trianglesCount, GL_UNSIGNED_SHORT, triangles); - - verticesCount = 0; - trianglesCount = 0; - - CHECK_GL_ERROR_DEBUG(); -} - -} diff --git a/spine-cocos2dx/3.0/src/spine/PolygonBatch.h b/spine-cocos2dx/3.0/src/spine/PolygonBatch.h deleted file mode 100644 index 904f4ae8f..000000000 --- a/spine-cocos2dx/3.0/src/spine/PolygonBatch.h +++ /dev/null @@ -1,67 +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. - *****************************************************************************/ - -#ifndef SPINE_POLYGONBATCH_H_ -#define SPINE_POLYGONBATCH_H_ - -#include "cocos2d.h" - -namespace spine { - -class PolygonBatch : public cocos2d::Ref { -public: - static PolygonBatch* createWithCapacity (int capacity); - - /** @js ctor */ - PolygonBatch(); - - /** @js NA - * @lua NA */ - virtual ~PolygonBatch(); - - bool initWithCapacity (int capacity); - void add (const cocos2d::Texture2D* texture, - const float* vertices, const float* uvs, int verticesCount, - const int* triangles, int trianglesCount, - cocos2d::Color4B* color); - void flush (); - -private: - int capacity; - cocos2d::V2F_C4B_T2F* vertices; - int verticesCount; - GLushort* triangles; - int trianglesCount; - const cocos2d::Texture2D* texture; -}; - -} - -#endif // SPINE_POLYGONBATCH_H_ diff --git a/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.cpp deleted file mode 100644 index 611916ea3..000000000 --- a/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.cpp +++ /dev/null @@ -1,229 +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. - *****************************************************************************/ - -#include -#include -#include -#include - -USING_NS_CC; -using std::min; -using std::max; -using std::vector; - -namespace spine { - -void animationCallback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) { - ((SkeletonAnimation*)state->rendererObject)->onAnimationStateEvent(trackIndex, type, event, loopCount); -} - -void trackEntryCallback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) { - ((SkeletonAnimation*)state->rendererObject)->onTrackEntryEvent(trackIndex, type, event, loopCount); -} - -typedef struct _TrackEntryListeners { - StartListener startListener; - EndListener endListener; - CompleteListener completeListener; - EventListener eventListener; -} _TrackEntryListeners; - -static _TrackEntryListeners* getListeners (spTrackEntry* entry) { - if (!entry->rendererObject) { - entry->rendererObject = NEW(spine::_TrackEntryListeners); - entry->listener = trackEntryCallback; - } - return (_TrackEntryListeners*)entry->rendererObject; -} - -void disposeTrackEntry (spTrackEntry* entry) { - if (entry->rendererObject) FREE(entry->rendererObject); - _spTrackEntry_dispose(entry); -} - -// - -SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonData); - node->autorelease(); - return node; -} - -SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlas, scale); - node->autorelease(); - return node; -} - -SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlasFile, scale); - node->autorelease(); - return node; -} - -void SkeletonAnimation::initialize () { - ownsAnimationStateData = true; - state = spAnimationState_create(spAnimationStateData_create(skeleton->data)); - state->rendererObject = this; - state->listener = animationCallback; - - _spAnimationState* stateInternal = (_spAnimationState*)state; - stateInternal->disposeTrackEntry = disposeTrackEntry; -} - -SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData) - : SkeletonRenderer(skeletonData) { - initialize(); -} - -SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale) - : SkeletonRenderer(skeletonDataFile, atlas, scale) { - initialize(); -} - -SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale) - : SkeletonRenderer(skeletonDataFile, atlasFile, scale) { - initialize(); -} - -SkeletonAnimation::~SkeletonAnimation () { - if (ownsAnimationStateData) spAnimationStateData_dispose(state->data); - spAnimationState_dispose(state); -} - -void SkeletonAnimation::update (float deltaTime) { - super::update(deltaTime); - - deltaTime *= timeScale; - spAnimationState_update(state, deltaTime); - spAnimationState_apply(state, skeleton); - spSkeleton_updateWorldTransform(skeleton); -} - -void SkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) { - CCASSERT(stateData, "stateData cannot be null."); - - if (ownsAnimationStateData) spAnimationStateData_dispose(state->data); - spAnimationState_dispose(state); - - ownsAnimationStateData = false; - state = spAnimationState_create(stateData); - state->rendererObject = this; - state->listener = animationCallback; -} - -void SkeletonAnimation::setMix (const char* fromAnimation, const char* toAnimation, float duration) { - spAnimationStateData_setMixByName(state->data, fromAnimation, toAnimation, duration); -} - -spTrackEntry* SkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) { - spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); - if (!animation) { - log("Spine: Animation not found: %s", name); - return 0; - } - return spAnimationState_setAnimation(state, trackIndex, animation, loop); -} - -spTrackEntry* SkeletonAnimation::addAnimation (int trackIndex, const char* name, bool loop, float delay) { - spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); - if (!animation) { - log("Spine: Animation not found: %s", name); - return 0; - } - return spAnimationState_addAnimation(state, trackIndex, animation, loop, delay); -} - -spTrackEntry* SkeletonAnimation::getCurrent (int trackIndex) { - return spAnimationState_getCurrent(state, trackIndex); -} - -void SkeletonAnimation::clearTracks () { - spAnimationState_clearTracks(state); -} - -void SkeletonAnimation::clearTrack (int trackIndex) { - spAnimationState_clearTrack(state, trackIndex); -} - -void SkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) { - switch (type) { - case SP_ANIMATION_START: - if (startListener) startListener(trackIndex); - break; - case SP_ANIMATION_END: - if (endListener) endListener(trackIndex); - break; - case SP_ANIMATION_COMPLETE: - if (completeListener) completeListener(trackIndex, loopCount); - break; - case SP_ANIMATION_EVENT: - if (eventListener) eventListener(trackIndex, event); - break; - } -} - -void SkeletonAnimation::onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) { - spTrackEntry* entry = spAnimationState_getCurrent(state, trackIndex); - if (!entry->rendererObject) return; - _TrackEntryListeners* listeners = (_TrackEntryListeners*)entry->rendererObject; - switch (type) { - case SP_ANIMATION_START: - if (listeners->startListener) listeners->startListener(trackIndex); - break; - case SP_ANIMATION_END: - if (listeners->endListener) listeners->endListener(trackIndex); - break; - case SP_ANIMATION_COMPLETE: - if (listeners->completeListener) listeners->completeListener(trackIndex, loopCount); - break; - case SP_ANIMATION_EVENT: - if (listeners->eventListener) listeners->eventListener(trackIndex, event); - break; - } -} - -void SkeletonAnimation::setStartListener (spTrackEntry* entry, StartListener listener) { - getListeners(entry)->startListener = listener; -} - -void SkeletonAnimation::setEndListener (spTrackEntry* entry, EndListener listener) { - getListeners(entry)->endListener = listener; -} - -void SkeletonAnimation::setCompleteListener (spTrackEntry* entry, CompleteListener listener) { - getListeners(entry)->completeListener = listener; -} - -void SkeletonAnimation::setEventListener (spTrackEntry* entry, spine::EventListener listener) { - getListeners(entry)->eventListener = listener; -} - -} diff --git a/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.h b/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.h deleted file mode 100644 index ce5da45bb..000000000 --- a/spine-cocos2dx/3.0/src/spine/SkeletonAnimation.h +++ /dev/null @@ -1,96 +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. - *****************************************************************************/ - -#ifndef SPINE_SKELETONANIMATION_H_ -#define SPINE_SKELETONANIMATION_H_ - -#include -#include -#include "cocos2d.h" - -namespace spine { - -typedef std::function StartListener; -typedef std::function EndListener; -typedef std::function CompleteListener; -typedef std::function EventListener; - -/** Draws an animated skeleton, providing an AnimationState for applying one or more animations and queuing animations to be - * played later. */ -class SkeletonAnimation: public SkeletonRenderer { -public: - spAnimationState* state; - - static SkeletonAnimation* createWithData (spSkeletonData* skeletonData); - static SkeletonAnimation* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - static SkeletonAnimation* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - SkeletonAnimation (spSkeletonData* skeletonData); - SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - virtual ~SkeletonAnimation (); - - virtual void update (float deltaTime); - - void setAnimationStateData (spAnimationStateData* stateData); - void setMix (const char* fromAnimation, const char* toAnimation, float duration); - - spTrackEntry* setAnimation (int trackIndex, const char* name, bool loop); - spTrackEntry* addAnimation (int trackIndex, const char* name, bool loop, float delay = 0); - spTrackEntry* getCurrent (int trackIndex = 0); - void clearTracks (); - void clearTrack (int trackIndex = 0); - - StartListener startListener; - EndListener endListener; - CompleteListener completeListener; - EventListener eventListener; - void setStartListener (spTrackEntry* entry, StartListener listener); - void setEndListener (spTrackEntry* entry, EndListener listener); - void setCompleteListener (spTrackEntry* entry, CompleteListener listener); - void setEventListener (spTrackEntry* entry, EventListener listener); - - virtual void onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount); - virtual void onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount); - -protected: - SkeletonAnimation (); - -private: - typedef SkeletonRenderer super; - bool ownsAnimationStateData; - - void initialize (); -}; - -} - -#endif /* SPINE_SKELETONANIMATION_H_ */ diff --git a/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.cpp deleted file mode 100644 index 0635a7a4b..000000000 --- a/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.cpp +++ /dev/null @@ -1,366 +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. - *****************************************************************************/ - -#include -#include -#include -#include -#include - -USING_NS_CC; -using std::min; -using std::max; - -namespace spine { - -static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; - -SkeletonRenderer* SkeletonRenderer::createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonData, ownsSkeletonData); - node->autorelease(); - return node; -} - -SkeletonRenderer* SkeletonRenderer::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonDataFile, atlas, scale); - node->autorelease(); - return node; -} - -SkeletonRenderer* SkeletonRenderer::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonDataFile, atlasFile, scale); - node->autorelease(); - return node; -} - -void SkeletonRenderer::initialize () { - atlas = 0; - debugSlots = false; - debugBones = false; - timeScale = 1; - - worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. - - batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch. - batch->retain(); - - blendFunc = BlendFunc::ALPHA_PREMULTIPLIED; - setOpacityModifyRGB(true); - - setShaderProgram(ShaderCache::getInstance()->getProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR)); - scheduleUpdate(); -} - -void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsSkeletonData) { - skeleton = spSkeleton_create(skeletonData); - rootBone = skeleton->bones[0]; - this->ownsSkeletonData = ownsSkeletonData; -} - -SkeletonRenderer::SkeletonRenderer () { - initialize(); -} - -SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) { - initialize(); - - setSkeletonData(skeletonData, ownsSkeletonData); -} - -SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale) { - initialize(); - - spSkeletonJson* json = spSkeletonJson_create(atlas); - json->scale = scale; - spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile); - CCASSERT(skeletonData, json->error ? json->error : "Error reading skeleton data."); - spSkeletonJson_dispose(json); - - setSkeletonData(skeletonData, true); -} - -SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale) { - initialize(); - - atlas = spAtlas_createFromFile(atlasFile, 0); - CCASSERT(atlas, "Error reading atlas file."); - - spSkeletonJson* json = spSkeletonJson_create(atlas); - json->scale = scale; - spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile); - CCASSERT(skeletonData, json->error ? json->error : "Error reading skeleton data file."); - spSkeletonJson_dispose(json); - - setSkeletonData(skeletonData, true); -} - -SkeletonRenderer::~SkeletonRenderer () { - if (ownsSkeletonData) spSkeletonData_dispose(skeleton->data); - if (atlas) spAtlas_dispose(atlas); - spSkeleton_dispose(skeleton); - batch->release(); - FREE(worldVertices); -} - -void SkeletonRenderer::update (float deltaTime) { - spSkeleton_update(skeleton, deltaTime * timeScale); -} - -void SkeletonRenderer::draw(Renderer* renderer, const kmMat4& transform, bool transformUpdated) { - drawCommand.init(_globalZOrder); - drawCommand.func = CC_CALLBACK_0(SkeletonRenderer::drawSkeleton, this, transform, transformUpdated); - renderer->addCommand(&drawCommand); -} - -void SkeletonRenderer::drawSkeleton (const kmMat4& transform, bool transformUpdated) { - getShaderProgram()->use(); - getShaderProgram()->setUniformsForBuiltins(transform); - GL::bindVAO(0); - - Color3B nodeColor = getColor(); - skeleton->r = nodeColor.r / (float)255; - skeleton->g = nodeColor.g / (float)255; - skeleton->b = nodeColor.b / (float)255; - skeleton->a = getDisplayedOpacity() / (float)255; - - int additive = -1; - Color4B color; - const float* uvs = nullptr; - int verticesCount = 0; - const int* triangles = nullptr; - int trianglesCount = 0; - float r = 0, g = 0, b = 0, a = 0; - for (int i = 0, n = skeleton->slotCount; i < n; i++) { - spSlot* slot = skeleton->drawOrder[i]; - if (!slot->attachment) continue; - Texture2D *texture = nullptr; - switch (slot->attachment->type) { - case SP_ATTACHMENT_REGION: { - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = 8; - triangles = quadTriangles; - trianglesCount = 6; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - case SP_ATTACHMENT_MESH: { - spMeshAttachment* attachment = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = attachment->verticesCount; - triangles = attachment->triangles; - trianglesCount = attachment->trianglesCount; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - case SP_ATTACHMENT_SKINNED_MESH: { - spSkinnedMeshAttachment* attachment = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = attachment->uvsCount; - triangles = attachment->triangles; - trianglesCount = attachment->trianglesCount; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - } - if (texture) { - if (slot->data->additiveBlending != additive) { - batch->flush(); - GL::blendFunc(blendFunc.src, slot->data->additiveBlending ? GL_ONE : blendFunc.dst); - additive = slot->data->additiveBlending; - } - color.a = skeleton->a * slot->a * a * 255; - float multiplier = premultipliedAlpha ? color.a : 255; - color.r = skeleton->r * slot->r * r * multiplier; - color.g = skeleton->g * slot->g * g * multiplier; - color.b = skeleton->b * slot->b * b * multiplier; - batch->add(texture, worldVertices, uvs, verticesCount, triangles, trianglesCount, &color); - } - } - batch->flush(); - - if (debugSlots || debugBones) { - kmGLPushMatrix(); - kmGLLoadMatrix(&transform); - if (debugSlots) { - // Slots. - DrawPrimitives::setDrawColor4B(0, 0, 255, 255); - glLineWidth(1); - Point points[4]; - V3F_C4B_T2F_Quad quad; - for (int i = 0, n = skeleton->slotCount; i < n; i++) { - spSlot* slot = skeleton->drawOrder[i]; - if (!slot->attachment || slot->attachment->type != SP_ATTACHMENT_REGION) continue; - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - points[0] = Point(worldVertices[0], worldVertices[1]); - points[1] = Point(worldVertices[2], worldVertices[3]); - points[2] = Point(worldVertices[4], worldVertices[5]); - points[3] = Point(worldVertices[6], worldVertices[7]); - DrawPrimitives::drawPoly(points, 4, true); - } - } - if (debugBones) { - // Bone lengths. - glLineWidth(2); - DrawPrimitives::setDrawColor4B(255, 0, 0, 255); - for (int i = 0, n = skeleton->boneCount; i < n; i++) { - spBone *bone = skeleton->bones[i]; - float x = bone->data->length * bone->m00 + bone->worldX; - float y = bone->data->length * bone->m10 + bone->worldY; - DrawPrimitives::drawLine(Point(bone->worldX, bone->worldY), Point(x, y)); - } - // Bone origins. - DrawPrimitives::setPointSize(4); - DrawPrimitives::setDrawColor4B(0, 0, 255, 255); // Root bone is blue. - for (int i = 0, n = skeleton->boneCount; i < n; i++) { - spBone *bone = skeleton->bones[i]; - DrawPrimitives::drawPoint(Point(bone->worldX, bone->worldY)); - if (i == 0) DrawPrimitives::setDrawColor4B(0, 255, 0, 255); - } - } - kmGLPopMatrix(); - } -} - -Texture2D* SkeletonRenderer::getTexture (spRegionAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Texture2D* SkeletonRenderer::getTexture (spMeshAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Texture2D* SkeletonRenderer::getTexture (spSkinnedMeshAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Rect SkeletonRenderer::getBoundingBox () const { - float minX = FLT_MAX, minY = FLT_MAX, maxX = FLT_MIN, maxY = FLT_MIN; - float scaleX = getScaleX(), scaleY = getScaleY(); - for (int i = 0; i < skeleton->slotCount; ++i) { - spSlot* slot = skeleton->slots[i]; - if (!slot->attachment) continue; - int verticesCount; - if (slot->attachment->type == SP_ATTACHMENT_REGION) { - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - verticesCount = 8; - } else if (slot->attachment->type == SP_ATTACHMENT_MESH) { - spMeshAttachment* mesh = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - verticesCount = mesh->verticesCount; - } else if (slot->attachment->type == SP_ATTACHMENT_SKINNED_MESH) { - spSkinnedMeshAttachment* mesh = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, 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; - minX = min(minX, x); - minY = min(minY, y); - maxX = max(maxX, x); - maxY = max(maxY, y); - } - } - Point position = getPosition(); - return Rect(position.x + minX, position.y + minY, maxX - minX, maxY - minY); -} - -// --- Convenience methods for Skeleton_* functions. - -void SkeletonRenderer::updateWorldTransform () { - spSkeleton_updateWorldTransform(skeleton); -} - -void SkeletonRenderer::setToSetupPose () { - spSkeleton_setToSetupPose(skeleton); -} -void SkeletonRenderer::setBonesToSetupPose () { - spSkeleton_setBonesToSetupPose(skeleton); -} -void SkeletonRenderer::setSlotsToSetupPose () { - spSkeleton_setSlotsToSetupPose(skeleton); -} - -spBone* SkeletonRenderer::findBone (const char* boneName) const { - return spSkeleton_findBone(skeleton, boneName); -} - -spSlot* SkeletonRenderer::findSlot (const char* slotName) const { - return spSkeleton_findSlot(skeleton, slotName); -} - -bool SkeletonRenderer::setSkin (const char* skinName) { - return spSkeleton_setSkinByName(skeleton, skinName) ? true : false; -} - -spAttachment* SkeletonRenderer::getAttachment (const char* slotName, const char* attachmentName) const { - return spSkeleton_getAttachmentForSlotName(skeleton, slotName, attachmentName); -} -bool SkeletonRenderer::setAttachment (const char* slotName, const char* attachmentName) { - return spSkeleton_setAttachment(skeleton, slotName, attachmentName) ? true : false; -} - -// --- CCBlendProtocol - -const BlendFunc& SkeletonRenderer::getBlendFunc () const { - return blendFunc; -} - -void SkeletonRenderer::setBlendFunc (const BlendFunc &blendFunc) { - this->blendFunc = blendFunc; -} - -void SkeletonRenderer::setOpacityModifyRGB (bool value) { - premultipliedAlpha = value; -} - -bool SkeletonRenderer::isOpacityModifyRGB () { - return premultipliedAlpha; -} - -} diff --git a/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.h b/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.h deleted file mode 100644 index e8a2fc655..000000000 --- a/spine-cocos2dx/3.0/src/spine/SkeletonRenderer.h +++ /dev/null @@ -1,113 +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. - *****************************************************************************/ - -#ifndef SPINE_SKELETONRENDERER_H_ -#define SPINE_SKELETONRENDERER_H_ - -#include -#include "cocos2d.h" - -namespace spine { - -class PolygonBatch; - -/** Draws a skeleton. */ -class SkeletonRenderer: public cocos2d::Node, public cocos2d::BlendProtocol { -public: - spSkeleton* skeleton; - spBone* rootBone; - float timeScale; - bool debugSlots; - bool debugBones; - bool premultipliedAlpha; - - static SkeletonRenderer* createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false); - static SkeletonRenderer* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - static SkeletonRenderer* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false); - SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - virtual ~SkeletonRenderer (); - - virtual void update (float deltaTime) override; - virtual void draw(cocos2d::Renderer* renderer, const kmMat4& transform, bool transformUpdated) override; - virtual void drawSkeleton (const kmMat4& transform, bool transformUpdated); - virtual cocos2d::Rect getBoundingBox () const override; - - // --- Convenience methods for common Skeleton_* functions. - void updateWorldTransform (); - - void setToSetupPose (); - void setBonesToSetupPose (); - void setSlotsToSetupPose (); - - /* Returns 0 if the bone was not found. */ - spBone* findBone (const char* boneName) const; - /* Returns 0 if the slot was not found. */ - spSlot* findSlot (const char* slotName) const; - - /* 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.*/ - bool setSkin (const char* skinName); - - /* Returns 0 if the slot or attachment was not found. */ - spAttachment* getAttachment (const char* slotName, const char* attachmentName) const; - /* Returns false if the slot or attachment was not found. */ - bool setAttachment (const char* slotName, const char* attachmentName); - - // --- BlendProtocol - virtual void setBlendFunc (const cocos2d::BlendFunc& blendFunc); - virtual const cocos2d::BlendFunc& getBlendFunc () const; - virtual void setOpacityModifyRGB (bool value); - virtual bool isOpacityModifyRGB (); - -protected: - SkeletonRenderer (); - void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData); - virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const; - virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const; - virtual cocos2d::Texture2D* getTexture (spSkinnedMeshAttachment* attachment) const; - -private: - bool ownsSkeletonData; - spAtlas* atlas; - cocos2d::CustomCommand drawCommand; - cocos2d::BlendFunc blendFunc; - PolygonBatch* batch; - float* worldVertices; - void initialize (); -}; - -} - -#endif /* SPINE_SKELETONRENDERER_H_ */ diff --git a/spine-cocos2dx/3.1/README.md b/spine-cocos2dx/3.1/README.md deleted file mode 100644 index 5409fd81c..000000000 --- a/spine-cocos2dx/3.1/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# spine-cocos2dx v3.1 - -The spine-cocos2dx runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-x](http://www.cocos2d-x.org/). spine-cocos2dx is based on [spine-c](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-c). - -## 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. Place the contents of a cocos2d-x version 3.1 distribution into the `spine-cocos2dx/3.1/cocos2dx` directory. -1. Run the `python download-deps.py` script in the `spine-cocos2dx/3.1/cocos2dx` directory. -1. Open the XCode (Mac) or Visual C++ 2012 Express (Windows) project file from the `spine-cocos2dx/3.1/example` directory. Build files are also provided for Android. - -Alternatively, the contents of the `spine-c/src`, `spine-c/include` and `spine-cocos2dx/3.1/src` directories can be copied into your project. Be sure your header search path will find the contents of the `spine-c/include` and `spine-cocos2dx/3.1/src` directories. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. - -## Notes - -- Images are no longer premultiplied by cocos2d-x as they where in cocos2d-x v2, so the Spine atlas images *should* use premultiplied alpha. - -## Examples - -[Spineboy](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/3.1/example/Classes/SpineboyExample.cpp) -[Golbins](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2dx/3.1/example/Classes/GoblinsExample.cpp) diff --git a/spine-cocos2dx/3.1/example/Classes/AppDelegate.cpp b/spine-cocos2dx/3.1/example/Classes/AppDelegate.cpp deleted file mode 100644 index ed90b2b75..000000000 --- a/spine-cocos2dx/3.1/example/Classes/AppDelegate.cpp +++ /dev/null @@ -1,87 +0,0 @@ -#include "AppDelegate.h" - -#include -#include - -#include "SpineboyExample.h" -#include "AppMacros.h" - -USING_NS_CC; -using namespace std; - -AppDelegate::AppDelegate () { -} - -AppDelegate::~AppDelegate () { -} - -bool AppDelegate::applicationDidFinishLaunching () { - // initialize director - auto director = Director::getInstance(); - auto glview = director->getOpenGLView(); - - // Set the design resolution -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL); -#else - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); -#endif - - Size frameSize = glview->getFrameSize(); - - vector searchPath; - - // In this demo, we select resource according to the frame's height. - // If the resource size is different from design resolution size, you need to set contentScaleFactor. - // We use the ratio of resource's height to the height of design resolution, - // this can make sure that the resource's height could fit for the height of design resolution. - if (frameSize.height > mediumResource.size.height) { - // if the frame's height is larger than the height of medium resource size, select large resource. - searchPath.push_back(largeResource.directory); - director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width)); - } else if (frameSize.height > smallResource.size.height) { - // if the frame's height is larger than the height of small resource size, select medium resource. - searchPath.push_back(mediumResource.directory); - director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width)); - } else { - // if the frame's height is smaller than the height of medium resource size, select small resource. - searchPath.push_back(smallResource.directory); - director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width)); - } - - searchPath.push_back("common"); - - // set searching path - FileUtils::getInstance()->setSearchPaths(searchPath); - - // turn on display FPS - director->setDisplayStats(true); - - // set FPS. the default value is 1.0/60 if you don't call this - director->setAnimationInterval(1.0 / 60); - - // create a scene. it's an autorelease object - auto scene = SpineboyExample::scene(); - - // run - director->runWithScene(scene); - - return true; -} - -// This function will be called when the app is inactive. When comes a phone call,it's be invoked too -void AppDelegate::applicationDidEnterBackground () { - Director::getInstance()->stopAnimation(); - - // if you use SimpleAudioEngine, it must be paused - // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); -} - -// this function will be called when the app is active again -void AppDelegate::applicationWillEnterForeground () { - Director::getInstance()->startAnimation(); - - // if you use SimpleAudioEngine, it must resume here - // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); -} diff --git a/spine-cocos2dx/3.1/example/Classes/AppDelegate.h b/spine-cocos2dx/3.1/example/Classes/AppDelegate.h deleted file mode 100644 index 318fc27f4..000000000 --- a/spine-cocos2dx/3.1/example/Classes/AppDelegate.h +++ /dev/null @@ -1,18 +0,0 @@ - - -#ifndef _APPDELEGATE_H_ -#define _APPDELEGATE_H_ - -#include "cocos2d.h" - -class AppDelegate: private cocos2d::CCApplication { -public: - AppDelegate (); - virtual ~AppDelegate (); - - virtual bool applicationDidFinishLaunching (); - virtual void applicationDidEnterBackground (); - virtual void applicationWillEnterForeground (); -}; - -#endif // _APPDELEGATE_H_ \ No newline at end of file diff --git a/spine-cocos2dx/3.1/example/Classes/AppMacros.h b/spine-cocos2dx/3.1/example/Classes/AppMacros.h deleted file mode 100644 index 3f3a06e0e..000000000 --- a/spine-cocos2dx/3.1/example/Classes/AppMacros.h +++ /dev/null @@ -1,61 +0,0 @@ - - -#ifndef _APPMACROS_H_ -#define _APPMACROS_H_ - -#include "cocos2d.h" - -/* For demonstrating using one design resolution to match different resources, - or one resource to match different design resolutions. - - [Situation 1] Using one design resolution to match different resources. - Please look into Appdelegate::applicationDidFinishLaunching. - We check current device frame size to decide which resource need to be selected. - So if you want to test this situation which said in title '[Situation 1]', - you should change ios simulator to different device(e.g. iphone, iphone-retina3.5, iphone-retina4.0, ipad, ipad-retina), - or change the window size in "proj.XXX/main.cpp" by "CCEGLView::setFrameSize" if you are using win32 or linux plaform - and modify "proj.mac/AppController.mm" by changing the window rectangle. - - [Situation 2] Using one resource to match different design resolutions. - The coordinates in your codes is based on your current design resolution rather than resource size. - Therefore, your design resolution could be very large and your resource size could be small. - To test this, just define the marco 'TARGET_DESIGN_RESOLUTION_SIZE' to 'DESIGN_RESOLUTION_2048X1536' - and open iphone simulator or create a window of 480x320 size. - - [Note] Normally, developer just need to define one design resolution(e.g. 960x640) with one or more resources. - */ - -#define DESIGN_RESOLUTION_480X320 0 -#define DESIGN_RESOLUTION_960x640 1 -#define DESIGN_RESOLUTION_1024X768 2 -#define DESIGN_RESOLUTION_2048X1536 3 - -/* If you want to switch design resolution, change next line */ -#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_960x640 - -typedef struct tagResource { - cocos2d::Size size; - char directory[100]; -} Resource; - -static Resource smallResource = {cocos2d::Size(480, 320), "iphone"}; -static Resource mediumResource = {cocos2d::Size(960, 640), "iphone-retina"}; -static Resource largeResource = {cocos2d::Size(1024, 768), "ipad"}; -static Resource extralargeResource = {cocos2d::Size(2048, 1536), "ipad-retina"}; - -#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(480, 320); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_960x640) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(960, 640); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(1024, 768); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) -static cocos2d::CCSize designResolutionSize = cocos2d::Size(2048, 1536); -#else -#error unknown target design resolution! -#endif - -// 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 diff --git a/spine-cocos2dx/3.1/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/3.1/example/Classes/GoblinsExample.cpp deleted file mode 100644 index d9954d39e..000000000 --- a/spine-cocos2dx/3.1/example/Classes/GoblinsExample.cpp +++ /dev/null @@ -1,73 +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. - *****************************************************************************/ - -#include "GoblinsExample.h" -#include "SpineboyExample.h" -#include -#include -#include - -USING_NS_CC; -using namespace spine; -using namespace std; - -Scene* GoblinsExample::scene () { - Scene *scene = Scene::create(); - scene->addChild(GoblinsExample::create()); - return scene; -} - -bool GoblinsExample::init () { - if (!LayerColor::initWithColor(Color4B(128, 128, 128, 255))) return false; - - skeletonNode = SkeletonAnimation::createWithFile("goblins-ffd.json", "goblins-ffd.atlas", 1.5f); - skeletonNode->setAnimation(0, "walk", true); - skeletonNode->setSkin("goblin"); - - Size windowSize = Director::getInstance()->getWinSize(); - skeletonNode->setPosition(Vec2(windowSize.width / 2, 20)); - addChild(skeletonNode); - - scheduleUpdate(); - - EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create(); - listener->onTouchBegan = [this] (Touch* touch, Event* event) -> bool { - if (!skeletonNode->debugBones) - skeletonNode->debugBones = true; - else if (skeletonNode->timeScale == 1) - skeletonNode->timeScale = 0.3f; - else - Director::getInstance()->replaceScene(SpineboyExample::scene()); - return true; - }; - _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); - - return true; -} diff --git a/spine-cocos2dx/3.1/example/Classes/GoblinsExample.h b/spine-cocos2dx/3.1/example/Classes/GoblinsExample.h deleted file mode 100644 index b74ecaaf8..000000000 --- a/spine-cocos2dx/3.1/example/Classes/GoblinsExample.h +++ /dev/null @@ -1,48 +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. - *****************************************************************************/ - -#ifndef _GOBLINSEXAMPLE_H_ -#define _GOBLINSEXAMPLE_H_ - -#include "cocos2d.h" -#include - -class GoblinsExample : public cocos2d::LayerColor { -public: - static cocos2d::Scene* scene (); - - virtual bool init (); - - CREATE_FUNC (GoblinsExample); -private: - spine::SkeletonAnimation* skeletonNode; -}; - -#endif // _GOBLINSEXAMPLE_H_ diff --git a/spine-cocos2dx/3.1/example/Classes/SpineboyExample.cpp b/spine-cocos2dx/3.1/example/Classes/SpineboyExample.cpp deleted file mode 100644 index 10a11fc97..000000000 --- a/spine-cocos2dx/3.1/example/Classes/SpineboyExample.cpp +++ /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. - *****************************************************************************/ - -#include "SpineboyExample.h" -#include "GoblinsExample.h" -#include -#include -#include - -USING_NS_CC; -using namespace spine; -using namespace std; - -Scene* SpineboyExample::scene () { - Scene *scene = Scene::create(); - scene->addChild(SpineboyExample::create()); - return scene; -} - -bool SpineboyExample::init () { - if (!LayerColor::initWithColor(Color4B(128, 128, 128, 255))) return false; - - skeletonNode = SkeletonAnimation::createWithFile("spineboy.json", "spineboy.atlas", 0.6f); - - skeletonNode->startListener = [this] (int trackIndex) { - spTrackEntry* entry = spAnimationState_getCurrent(skeletonNode->state, trackIndex); - const char* animationName = (entry && entry->animation) ? entry->animation->name : 0; - log("%d start: %s", trackIndex, animationName); - }; - skeletonNode->endListener = [] (int trackIndex) { - log("%d end", trackIndex); - }; - skeletonNode->completeListener = [] (int trackIndex, int loopCount) { - log("%d complete: %d", trackIndex, loopCount); - }; - skeletonNode->eventListener = [] (int trackIndex, spEvent* event) { - log("%d event: %s, %d, %f, %s", trackIndex, event->data->name, event->intValue, event->floatValue, event->stringValue); - }; - - skeletonNode->setMix("walk", "jump", 0.2f); - skeletonNode->setMix("jump", "run", 0.2f); - skeletonNode->setAnimation(0, "walk", true); - spTrackEntry* jumpEntry = skeletonNode->addAnimation(0, "jump", false, 3); - skeletonNode->addAnimation(0, "run", true); - - skeletonNode->setStartListener(jumpEntry, [] (int trackIndex) { - log("jumped!"); - }); - - // skeletonNode->addAnimation(1, "test", true); - // skeletonNode->runAction(RepeatForever::create(Sequence::create(FadeOut::create(1), FadeIn::create(1), DelayTime::create(5), NULL))); - - Size windowSize = Director::getInstance()->getWinSize(); - skeletonNode->setPosition(Vec2(windowSize.width / 2, 20)); - addChild(skeletonNode); - - scheduleUpdate(); - - EventListenerTouchOneByOne* listener = EventListenerTouchOneByOne::create(); - listener->onTouchBegan = [this] (Touch* touch, Event* event) -> bool { - if (!skeletonNode->debugBones) - skeletonNode->debugBones = true; - else if (skeletonNode->timeScale == 1) - skeletonNode->timeScale = 0.3f; - else - Director::getInstance()->replaceScene(GoblinsExample::scene()); - return true; - }; - _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); - - return true; -} - -void SpineboyExample::update (float deltaTime) { - // Test releasing memory. - // Director::getInstance()->replaceScene(SpineboyExample::scene()); -} - diff --git a/spine-cocos2dx/3.1/example/Classes/SpineboyExample.h b/spine-cocos2dx/3.1/example/Classes/SpineboyExample.h deleted file mode 100644 index 641834609..000000000 --- a/spine-cocos2dx/3.1/example/Classes/SpineboyExample.h +++ /dev/null @@ -1,49 +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. - *****************************************************************************/ - -#ifndef _SPINEBOYEXAMPLE_H_ -#define _SPINEBOYEXAMPLE_H_ - -#include "cocos2d.h" -#include - -class SpineboyExample : public cocos2d::LayerColor { -public: - static cocos2d::Scene* scene (); - - virtual bool init (); - virtual void update (float deltaTime); - - CREATE_FUNC (SpineboyExample); -private: - spine::SkeletonAnimation* skeletonNode; -}; - -#endif // _SPINEBOYEXAMPLE_H_ diff --git a/spine-cocos2dx/3.1/example/Resources/common/goblins-ffd.json b/spine-cocos2dx/3.1/example/Resources/common/goblins-ffd.json deleted file mode 100644 index b35360ad1..000000000 --- a/spine-cocos2dx/3.1/example/Resources/common/goblins-ffd.json +++ /dev/null @@ -1,1081 +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": [ 5, 6, 4, 6, 7, 4, 4, 7, 3, 2, 9, 1, 9, 10, 1, 10, 12, 1, 12, 13, 1, 1, 13, 0, 10, 11, 12, 3, 8, 2, 8, 9, 2, 7, 8, 3 ], - "vertices": [ 1, 20, 38.54, -10.88, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.58, 0.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": [ 0, 12, 13, 11, 12, 0, 0, 1, 2, 9, 10, 11, 3, 11, 0, 3, 0, 2, 8, 11, 3, 9, 11, 8, 5, 6, 7, 4, 5, 8, 4, 8, 3, 5, 7, 8 ], - "vertices": [ 15.49, -12.82, 21.13, -13.57, 20.16, -20.49, 13.15, -21.67, 8.13, -58.56, -5.13, -77.04, -9.92, -76.36, -7.79, -53.6, -0.03, -20.36, -5.6, -17.04, -4.63, -10.17, 1.12, -10.93, 7.46, 30.24, 26.93, 27.49 ], - "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": [ 26, 20, 19, 21, 20, 26, 15, 14, 13, 12, 15, 13, 11, 16, 15, 11, 15, 12, 26, 17, 25, 18, 26, 19, 17, 26, 18, 30, 25, 17, 30, 17, 16, 30, 16, 11, 1, 22, 21, 23, 22, 1, 2, 1, 21, 2, 21, 26, 29, 30, 11, 29, 11, 10, 28, 25, 30, 0, 23, 1, 9, 29, 10, 25, 3, 2, 25, 2, 26, 29, 27, 28, 29, 28, 30, 24, 3, 25, 24, 25, 28, 24, 28, 27, 8, 29, 9, 27, 29, 8, 4, 3, 24, 5, 24, 27, 4, 24, 5, 7, 6, 27, 7, 27, 8, 5, 27, 6 ], - "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": [ 6, 7, 8, 5, 6, 8, 0, 5, 8, 0, 1, 2, 5, 0, 2, 4, 5, 2, 3, 4, 2 ], - "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": [ 0, 9, 8, 10, 0, 8, 10, 8, 7, 11, 10, 7, 11, 7, 6, 1, 0, 10, 11, 6, 5, 3, 1, 10, 4, 10, 11, 4, 11, 5, 3, 10, 4, 2, 1, 3 ], - "vertices": [ 2.28, 13.07, -1.76, -1.64, 3.59, -7.8, 20.25, -6.04, 37.91, -5.27, 58.12, -3.71, 57.31, 3.34, 47.78, 9.51, 31.95, 15.05, 21.99, 24.11, 24.03, 0.75, 42.21, 1.16 ], - "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, 0, 1, 0, 5, 6, 6, 7, 0, 0, 7, 8, 3, 4, 0, 4, 5, 0, 2, 3, 0 ], - "vertices": [ -3.11, 15.42, 10.83, 22.27, 15.5, 14.55, 18.35, -8.96, 9.48, -14.32, -4.58, -14.3, -11.63, -2.63, -14.89, 13.68, -7.75, 17.99 ], - "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": [ 10, 8, 9, 1, 7, 10, 7, 8, 10, 0, 1, 10, 1, 4, 7, 3, 1, 2, 5, 6, 7, 7, 4, 5, 1, 3, 4 ], - "vertices": [ -0.19, 6.82, 30.97, 10.96, 37.97, 17.33, 53.88, 12.6, 57.58, 6.31, 59.34, 0.08, 55.04, -8.63, 32.99, -9.33, 20.79, -17.43, -7.27, -21.56, -8.19, -18.29 ], - "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": [ 5, 6, 7, 4, 5, 7, 4, 7, 0, 3, 4, 0, 3, 0, 1, 3, 1, 2 ], - "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": [ 7, 8, 0, 5, 6, 7, 0, 1, 7, 4, 5, 7, 1, 4, 7, 2, 4, 1, 3, 4, 2 ], - "vertices": [ 2.33, 13.06, 33.5, 12.57, 51, 9.34, 66.32, 4.31, 63, -10.71, 43.13, -20.58, 8.91, -20.04, -6.79, -2.64, -6.61, 9.1 ], - "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": [ 6, 8, 9, 6, 9, 0, 7, 8, 6, 10, 5, 6, 0, 10, 6, 10, 0, 1, 3, 4, 5, 2, 5, 10, 2, 10, 1, 3, 5, 2 ], - "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, 2, 3, 1, 3, 0 ], - "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": [ 6, 7, 0, 2, 3, 5, 4, 5, 3, 1, 6, 0, 6, 2, 5, 1, 2, 6 ], - "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": [ 1, 10, 11, 1, 13, 0, 14, 1, 2, 1, 12, 13, 12, 1, 11, 14, 10, 1, 15, 14, 2, 15, 2, 3, 9, 10, 14, 15, 3, 4, 7, 8, 9, 14, 7, 9, 6, 14, 15, 5, 6, 15, 7, 14, 6, 4, 5, 15 ], - "vertices": [ 17.36, 25.99, 29.13, 15.44, 39.89, 10.8, 48.14, 7.24, 53.84, -2.38, 49.43, -6, 34.84, -6.39, 16.84, -6.87, -2.4, -7.38, -7.58, -3.86, -7.78, 3.7, -7.95, 10.1, -2.57, 22.36, 10.84, 25.97, 22.14, 2.75, 37.31, 2.03 ], - "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": [ 8, 10, 9, 0, 10, 1, 8, 2, 1, 8, 1, 10, 7, 3, 8, 3, 2, 8, 4, 3, 7, 5, 7, 6, 4, 7, 5 ], - "vertices": [ -10.82, -9.45, 5.95, -15.34, 18.88, -14.9, 24, -7.5, 25.69, 5.16, 25.31, 16.07, 18.61, 17.44, 15.84, 14.74, 6.84, 15.02, 0.81, 19.18, -11.41, 7.83 ], - "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": [ 1, 0, 4, 2, 1, 4, 3, 2, 4 ], - "vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ], - "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": [ 1, 10, 0, 9, 10, 1, 8, 9, 1, 2, 8, 1, 4, 2, 3, 6, 7, 8, 5, 6, 8, 2, 5, 8, 4, 5, 2 ], - "vertices": [ 6.26, 8.46, 23.32, 8.04, 37.1, 12.89, 41.45, 20.82, 53.07, 21.46, 61.33, 10.06, 65.77, -1.03, 58.99, -9.19, 43.02, -9.81, 16.33, -20, -12.79, -9.26 ], - "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": [ 2, 3, 0, 2, 0, 1, 7, 0, 3, 4, 5, 6, 4, 7, 3, 4, 6, 7 ], - "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": [ 9, 8, 7, 9, 1, 0, 6, 9, 7, 6, 1, 9, 2, 1, 6, 4, 3, 2, 6, 4, 2, 5, 4, 6 ], - "vertices": [ -9.85, -10.37, 2.17, -14.07, 35.49, -13.66, 47.29, -12.11, 52.61, -2.26, 51.63, 5.16, 40.51, 10.18, 19.13, 18.47, 2.85, 16.32, -8.4, 6.14 ], - "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": [ 0, 15, 14, 20, 14, 13, 20, 13, 12, 1, 0, 14, 20, 12, 11, 20, 1, 14, 22, 20, 11, 22, 11, 10, 19, 1, 20, 19, 20, 22, 2, 1, 19, 18, 22, 10, 18, 10, 9, 19, 22, 18, 18, 9, 8, 21, 18, 8, 21, 8, 7, 17, 2, 19, 21, 17, 19, 21, 19, 18, 3, 2, 17, 16, 21, 7, 17, 21, 16, 4, 3, 17, 5, 17, 16, 4, 17, 5, 6, 16, 7, 5, 16, 6 ], - "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": [ 6, 7, 8, 6, 8, 0, 3, 1, 2, 5, 0, 1, 6, 0, 5, 4, 1, 3, 5, 1, 4 ], - "vertices": [ -10.56, 12.87, 6.53, 9.9, 25.62, 17.71, 25.62, 10.56, 11.97, 2.41, -9.09, 2.41, -31, 16.39, -31, 21.41, -23.92, 21.41 ], - "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": [ 6, 8, 7, 0, 9, 8, 11, 8, 6, 0, 8, 11, 5, 11, 6, 10, 11, 5, 1, 0, 11, 1, 11, 10, 3, 2, 1, 10, 3, 1, 4, 10, 5, 3, 10, 4 ], - "vertices": [ -13.22, 5.56, -8, -2.47, -5.49, -14.27, -0.64, -14.36, 4.78, -14.45, 15.27, -2.59, 22.22, 6.11, 22.92, 14.05, 3.75, 9.44, -13.08, 13.71, 4.21, -2.59, 4.03, 2.05 ], - "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 - } - } - }, - "goblingirl": { - "eyes": { - "eyes closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.54, "rotation": -87.04, "width": 37, "height": 21 } - }, - "head": { - "head": { "name": "goblingirl/head", "x": 27.71, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 } - }, - "left arm": { - "left arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.42, "rotation": 33.05, "width": 37, "height": 35 } - }, - "left foot": { - "left foot": { "name": "goblingirl/left-foot", "x": 25.17, "y": 7.92, "rotation": 3.32, "width": 65, "height": 31 } - }, - "left hand": { - "left hand": { - "name": "goblingirl/left-hand", - "x": 4.34, - "y": 2.39, - "scaleX": 0.896, - "scaleY": 0.896, - "rotation": 30.34, - "width": 35, - "height": 40 - } - }, - "left lower leg": { - "left lower leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.6, "rotation": 105.75, "width": 33, "height": 70 } - }, - "left shoulder": { - "left shoulder": { "name": "goblingirl/left-shoulder", "x": 19.8, "y": -0.42, "rotation": 61.21, "width": 28, "height": 46 } - }, - "left upper leg": { - "left upper leg": { "name": "goblingirl/left-upper-leg", "x": 30.21, "y": -2.95, "rotation": 89.09, "width": 33, "height": 70 } - }, - "neck": { - "neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.14, "rotation": -98.86, "width": 35, "height": 41 } - }, - "pelvis": { - "pelvis": { "name": "goblingirl/pelvis", "x": -3.87, "y": 3.18, "width": 62, "height": 43 } - }, - "right arm": { - "right arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.52, "width": 28, "height": 50 } - }, - "right foot": { - "right foot": { "name": "goblingirl/right-foot", "x": 23.46, "y": 9.66, "rotation": 1.52, "width": 63, "height": 33 } - }, - "right hand": { - "right hand": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } - }, - "right hand thumb": { - "right hand thumb": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } - }, - "right lower leg": { - "right lower leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.27, "rotation": 111.83, "width": 36, "height": 76 } - }, - "right shoulder": { - "right shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.45, "rotation": 129.85, "width": 39, "height": 45 } - }, - "right upper leg": { - "right upper leg": { "name": "goblingirl/right-upper-leg", "x": 19.69, "y": 2.13, "rotation": 97.49, "width": 34, "height": 63 } - }, - "torso": { - "torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.74, "width": 68, "height": 96 } - }, - "undie straps": { - "undie straps": { "name": "goblingirl/undie-straps", "x": -1.51, "y": 14.18, "width": 55, "height": 19 } - }, - "undies": { - "undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.7, "width": 36, "height": 29 } - } - } -}, -"animations": { - "walk": { - "slots": { - "eyes": { - "attachment": [ - { "time": 0.7, "name": "eyes closed" }, - { "time": 0.8, "name": null } - ] - } - }, - "bones": { - "left upper leg": { - "rotate": [ - { "time": 0, "angle": -26.55 }, - { "time": 0.1333, "angle": -8.78 }, - { "time": 0.2333, "angle": 9.51 }, - { "time": 0.3666, "angle": 30.74 }, - { "time": 0.5, "angle": 25.33 }, - { "time": 0.6333, "angle": 26.11 }, - { "time": 0.7333, "angle": 7.45 }, - { "time": 0.8666, "angle": -21.19 }, - { "time": 1, "angle": -26.55 } - ], - "translate": [ - { "time": 0, "x": -1.32, "y": 1.7 }, - { "time": 0.3666, "x": -0.06, "y": 2.42 }, - { "time": 1, "x": -1.32, "y": 1.7 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 42.45 }, - { - "time": 0.1333, - "angle": 49.86, - "curve": [ 0.414, 0, 0.705, 0.99 ] - }, - { "time": 0.2333, "angle": 22.51 }, - { "time": 0.5, "angle": -16.93 }, - { "time": 0.6333, "angle": 1.89 }, - { - "time": 0.7333, - "angle": 34.86, - "curve": [ 0.462, 0.11, 1, 1 ] - }, - { - "time": 0.8666, - "angle": 58.68, - "curve": [ 0.5, 0.02, 1, 1 ] - }, - { "time": 1, "angle": 42.45 } - ], - "translate": [ - { "time": 0, "x": 6.23, "y": 0 }, - { "time": 0.2333, "x": 2.14, "y": 2.4 }, - { "time": 0.5, "x": 2.44, "y": 4.8 }, - { "time": 1, "x": 6.23, "y": 0 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -18.05 }, - { "time": 0.1333, "angle": -63.5 }, - { "time": 0.2333, "angle": -83.01 }, - { "time": 0.5, "angle": 5.11 }, - { "time": 0.6333, "angle": -28.29 }, - { "time": 0.7333, "angle": -27.52 }, - { "time": 0.8666, "angle": 3.53 }, - { "time": 1, "angle": -18.05 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { "time": 0.2333, "x": 2.55, "y": -0.47 }, - { "time": 0.5, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1, "x": 0, "y": 0 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": -14.56 }, - { "time": 0.1333, "angle": -10.42 }, - { "time": 0.2333, "angle": -5.01 }, - { "time": 0.3, "angle": 6.67 }, - { "time": 0.3666, "angle": 3.87 }, - { "time": 0.5, "angle": -3.87 }, - { "time": 0.6333, "angle": 2.78 }, - { "time": 0.7333, "angle": -11.99 }, - { "time": 0.8666, "angle": -12.45 }, - { "time": 1, "angle": -14.56 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 5.29, - "curve": [ 0.264, 0, 0.75, 1 ] - }, - { "time": 0.6333, "angle": 6.65 }, - { "time": 1, "angle": 5.29 } - ] - }, - "right arm": { - "rotate": [ - { - "time": 0, - "angle": -4.02, - "curve": [ 0.267, 0, 0.804, 0.99 ] - }, - { - "time": 0.6333, - "angle": 19.78, - "curve": [ 0.307, 0, 0.787, 0.99 ] - }, - { "time": 1, "angle": -4.02 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 8.98 }, - { "time": 0.6333, "angle": 0.51 }, - { "time": 1, "angle": 8.98 } - ] - }, - "left shoulder": { - "rotate": [ - { - "time": 0, - "angle": 6.25, - "curve": [ 0.339, 0, 0.683, 1 ] - }, - { - "time": 0.5, - "angle": -11.78, - "curve": [ 0.281, 0, 0.686, 0.99 ] - }, - { "time": 1, "angle": 6.25 } - ], - "translate": [ - { "time": 0, "x": 1.15, "y": 0.23 } - ] - }, - "left hand": { - "rotate": [ - { - "time": 0, - "angle": -21.23, - "curve": [ 0.295, 0, 0.755, 0.98 ] - }, - { - "time": 0.5, - "angle": -27.28, - "curve": [ 0.241, 0, 0.75, 0.97 ] - }, - { "time": 1, "angle": -21.23 } - ] - }, - "left arm": { - "rotate": [ - { - "time": 0, - "angle": 28.37, - "curve": [ 0.339, 0, 0.683, 1 ] - }, - { - "time": 0.5, - "angle": 60.09, - "curve": [ 0.281, 0, 0.686, 0.99 ] - }, - { "time": 1, "angle": 28.37 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -10.28 }, - { - "time": 0.1333, - "angle": -15.38, - "curve": [ 0.545, 0, 0.818, 1 ] - }, - { - "time": 0.3666, - "angle": -9.78, - "curve": [ 0.58, 0.17, 0.669, 0.99 ] - }, - { - "time": 0.6333, - "angle": -15.75, - "curve": [ 0.235, 0.01, 0.795, 1 ] - }, - { - "time": 0.8666, - "angle": -7.06, - "curve": [ 0.209, 0, 0.816, 0.98 ] - }, - { "time": 1, "angle": -10.28 } - ], - "translate": [ - { "time": 0, "x": -3.72, "y": -0.01 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": -5.25 }, - { "time": 0.2333, "angle": -17.76 }, - { "time": 0.3666, "angle": -20.09 }, - { "time": 0.5, "angle": -19.73 }, - { "time": 0.7333, "angle": -11.68 }, - { "time": 0.8, "angle": 4.46 }, - { "time": 0.8666, "angle": 0.46 }, - { "time": 1, "angle": -5.25 } - ] - }, - "right lower leg": { - "rotate": [ - { - "time": 0, - "angle": -3.39, - "curve": [ 0.316, 0.01, 0.741, 0.98 ] - }, - { - "time": 0.1333, - "angle": -43.21, - "curve": [ 0.414, 0, 0.705, 0.99 ] - }, - { "time": 0.2333, "angle": -25.98 }, - { "time": 0.5, "angle": -19.53 }, - { "time": 0.6333, "angle": -64.8 }, - { - "time": 0.7333, - "angle": -89.54, - "curve": [ 0.557, 0.18, 1, 1 ] - }, - { "time": 1, "angle": -3.39 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.5, "x": 0, "y": 0 }, - { "time": 0.6333, "x": 2.18, "y": 0.21 }, - { "time": 1, "x": 0, "y": 0 } - ] - }, - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 1, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": -8.4 }, - { - "time": 0.1333, - "x": 0, - "y": -9.35, - "curve": [ 0.326, 0.05, 0.674, 0.93 ] - }, - { - "time": 0.2333, - "x": 0, - "y": -0.59, - "curve": [ 0.325, 0.39, 0.643, 0.7 ] - }, - { "time": 0.3666, "x": 0, "y": -3.96 }, - { "time": 0.5, "x": 0, "y": -8.4 }, - { - "time": 0.6333, - "x": 0, - "y": -10, - "curve": [ 0.359, 0.47, 0.646, 0.74 ] - }, - { - "time": 0.7333, - "x": 0, - "y": -5.29, - "curve": [ 0.333, 0.36, 0.662, 0.69 ] - }, - { - "time": 0.8, - "x": 0, - "y": -2.49, - "curve": [ 0.322, 0.35, 0.651, 0.68 ] - }, - { "time": 0.8666, "x": 0, "y": -3.96 }, - { "time": 1, "x": 0, "y": -8.4 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 3.6 }, - { "time": 0.1333, "angle": 17.49 }, - { "time": 0.2333, "angle": 6.1 }, - { "time": 0.3666, "angle": 3.45 }, - { "time": 0.5, "angle": 5.17 }, - { "time": 0.6333, "angle": 18.36 }, - { "time": 0.7333, "angle": 6.09 }, - { "time": 0.8666, "angle": 2.28 }, - { "time": 1, "angle": 3.6 } - ] - }, - "head": { - "rotate": [ - { - "time": 0, - "angle": 3.6, - "curve": [ 0, 0, 0.704, 1.17 ] - }, - { "time": 0.1333, "angle": -0.2 }, - { "time": 0.2333, "angle": 6.1 }, - { "time": 0.3666, "angle": 3.45 }, - { - "time": 0.5, - "angle": 5.17, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.6666, "angle": 1.1 }, - { "time": 0.7333, "angle": 6.09 }, - { "time": 0.8666, "angle": 2.28 }, - { "time": 1, "angle": 3.6 } - ] - }, - "pelvis": { - "rotate": [ - { "time": 0, "angle": -1.33 } - ], - "translate": [ - { "time": 0, "x": 0.39, "y": -0.78 } - ] - }, - "spear1": { - "rotate": [ - { "time": 0, "angle": 1.84 }, - { "time": 0.2, "angle": -5.38 }, - { "time": 0.5, "angle": 2.95 }, - { "time": 0.7333, "angle": -3.67 }, - { "time": 1, "angle": 1.84 } - ] - }, - "spear2": { - "rotate": [ - { "time": 0, "angle": 1.84 }, - { "time": 0.2, "angle": -5.38 }, - { "time": 0.5, "angle": 2.95 }, - { "time": 0.7333, "angle": -3.67 }, - { "time": 1, "angle": 1.84 } - ] - }, - "spear3": { - "rotate": [ - { "time": 0, "angle": 3.64 }, - { "time": 0.2, "angle": -3.59 }, - { "time": 0.5, "angle": 4.74 }, - { "time": 0.7333, "angle": -1.87 }, - { "time": 1, "angle": 3.64 } - ] - } - }, - "ffd": { - "default": { - "left hand item": { - "spear": [ - { "time": 0 } - ] - }, - "right hand item": { - "dagger": [ - { - "time": 0, - "offset": 26, - "vertices": [ 2.34, 0.14 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.5, - "offset": 8, - "vertices": [ -1.19, 4.31, 0.07, 6.41, 1.66, 6.18, 1.75, 3.59 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1, - "offset": 26, - "vertices": [ 2.34, 0.14 ] - } - ] - } - }, - "goblin": { - "head": { - "head": [ - { - "time": 0, - "curve": [ 0.632, 0, 0.75, 1 ] - }, - { - "time": 0.2, - "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08, -1.08, 0.08, -1.08, 0.08, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.3666, - "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09, 1.47, 0.09, 1.47, 0.09, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09 ], - "curve": [ 0.621, 0, 0.75, 1 ] - }, - { - "time": 0.7, - "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17, -1.17, -0.17, -1.17, -0.17, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.8666, - "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08, 0.38, 0.08, 0.38, 0.08, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { "time": 1 } - ] - }, - "left foot": { - "left foot": [ - { - "time": 0, - "offset": 8, - "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] - }, - { "time": 0.1333 }, - { - "time": 0.2333, - "offset": 8, - "vertices": [ -3.96, -2.34, -5.8, -12.47, -2.23, -12.99, 2.02, -9.1, 0, 0, 0, 0, 0, 0, -1.35, -5.28 ] - }, - { - "time": 0.3666, - "offset": 8, - "vertices": [ 0.66, 0.33, 0.33, 2.69, -0.48, 2.54, -1.13, 1.38, 0, 0, 0, 0, 0, 0, -0.11, 0.79 ] - }, - { "time": 0.5, "curve": "stepped" }, - { "time": 0.6333 }, - { - "time": 0.7333, - "offset": 8, - "vertices": [ -2.97, 9.4, -6.91, 19.92, -10.55, 18.41, -12.37, 12.38, -4.72, 6.3, 0, 0, -1.48, 4.88, -7.06, 10.7 ] - }, - { - "time": 0.8333, - "offset": 6, - "vertices": [ 1.05, 1.56, -2.52, 7.99, -5.52, 17.14, -8.93, 15.79, -10.73, 10.22, -4.23, 5.36, 0, 0, 0, 0, -5.83, 8.55 ] - }, - { - "time": 1, - "offset": 8, - "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] - } - ] - }, - "pelvis": { - "pelvis": [ - { "time": 0 }, - { - "time": 0.1333, - "offset": 6, - "vertices": [ -0.68, -4.13 ] - }, - { - "time": 0.3333, - "offset": 6, - "vertices": [ -1.04, -3.1 ] - }, - { - "time": 0.7, - "offset": 6, - "vertices": [ -1.42, -6.3 ] - }, - { - "time": 0.8666, - "offset": 6, - "vertices": [ -1.13, -1.79 ] - }, - { "time": 1 } - ] - }, - "right foot": { - "right foot": [ - { "time": 0 }, - { - "time": 0.1333, - "offset": 2, - "vertices": [ -2.81, 2.63, -2.35, 3.89, -1.99, 4.86, -0.93, 5.57, -0.48, 5.09, -0.34, 3.42, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31, 1.91, -1.32, 3.65 ] - }, - { - "time": 0.2333, - "offset": 2, - "vertices": [ -6.39, 6.41, -7.74, 8.27, -7.02, 11.35, -4.03, 13.93, -2.5, 12.62, -1.46, 7.58, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84, 2.61, -4.53, 7.92 ] - }, - { - "time": 0.3, - "offset": 2, - "vertices": [ -8.27, 6.68, -9.29, 10.13, -8.62, 14.71, -4.58, 18.81, -2.2, 17.1, -0.07, 9.9, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94, 2.38, -4.59, 10.01 ] - }, - { - "time": 0.3666, - "offset": 2, - "vertices": [ -10.47, 9.44, -13.36, 12.4, -14.32, 16.94, -9.24, 23.55, -5.51, 21.51, -1.19, 11.53, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14, 2.29, -6.63, 11.37 ] - }, - { - "time": 0.5, - "offset": 2, - "vertices": [ -5.42, 4.36, -10.59, 7.04, -11.64, 11.55, -6.19, 20.12, -1.45, 18.05, 4.86, 6.41, 2.81, 0.27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96, 4.94 ] - }, - { "time": 0.6333 }, - { - "time": 0.7333, - "offset": 4, - "vertices": [ 1.31, -6.84, -0.87, -12.54, -5.98, -14.08, -7.15, -11.63, -5.67, -4.83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06, -6.93 ] - }, - { - "time": 0.8, - "offset": 4, - "vertices": [ 0.65, -3.42, -0.43, -6.27, -2.99, -7.04, -3.57, -5.81, -2.83, -2.41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79, -1.28, 0, 0, 0, 0, -1.03, -3.46 ] - }, - { "time": 0.8666 } - ] - }, - "right hand": { - "right hand": [ - { - "time": 0, - "offset": 4, - "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] - }, - { "time": 0.5 }, - { - "time": 1, - "offset": 4, - "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] - } - ] - }, - "right lower leg": { - "right lower leg": [ - { "time": 0 }, - { - "time": 0.6, - "offset": 6, - "vertices": [ 1.8, -1.56 ] - }, - { "time": 1 } - ] - }, - "right upper leg": { - "right upper leg": [ - { - "time": 0, - "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] - }, - { "time": 0.3333 }, - { - "time": 0.8666, - "offset": 14, - "vertices": [ 0.13, -2.35, -1.33, -5.99, -1.35, -4.43 ] - }, - { - "time": 1, - "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] - } - ] - }, - "torso": { - "torso": [ - { - "time": 0, - "offset": 14, - "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] - }, - { - "time": 0.1333, - "offset": 14, - "vertices": [ 1.31, -0.59, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] - }, - { - "time": 0.3, - "offset": 14, - "vertices": [ 6.03, -3.13, 7.55, -1.38, 6.79, 0.31, 4.23, 1.14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.07, -5.16, 0, 0, 4, 0.27, 0, 0, 0, 0, 3.43, -3.52 ] - }, - { - "time": 0.5, - "offset": 14, - "vertices": [ 2.25, -0.87, 2.57, -0.56, 3.17, -0.57, 1.48, 0.99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.22, -4.43, 0, 0, 1.48, 0.01, 0, 0, 0, 0, 0.31, -3.28, -1.53, 0.17 ] - }, - { - "time": 0.6333, - "offset": 14, - "vertices": [ 0.75, -1.51, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] - }, - { - "time": 0.8666, - "offset": 14, - "vertices": [ 0.62, -1.26, 0.38, -2.2, 3.25, -0.5, 2.41, 2.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.66, -3.1, 0, 0, 2.3, -1.15, 0, 0, 0, 0, -0.07, -3.63, -0.93, 0.1 ] - }, - { - "time": 1, - "offset": 14, - "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] - } - ] - }, - "undie straps": { - "undie straps": [ - { - "time": 0, - "offset": 2, - "vertices": [ -1.77, 0.54, -0.96, -1.03, -0.39, -0.24, -1.77, 0.54 ] - }, - { - "time": 0.1333, - "offset": 2, - "vertices": [ -2.25, -1.03, -1.49, -4.23, -0.74, -2.84, -1.9, 0.54 ] - }, - { - "time": 0.3333, - "offset": 2, - "vertices": [ -2.37, -0.05, -0.49, 0.19, -0.9, 1.16, -1.6, 2.7, 0.96, 0.8 ] - }, - { - "time": 0.7, - "offset": 2, - "vertices": [ -0.91, -2.76, -0.62, -3.63, -0.84, -2.26, -2.56, 0.52 ] - }, - { - "time": 0.8666, - "offset": 2, - "vertices": [ -2.56, 0.52, -1.58, 0.32, -1.38, 0.32, -2.56, 0.52 ] - }, - { - "time": 1, - "offset": 2, - "vertices": [ -1.77, 0.54, -0.8, 0.53, -0.8, 0.53, -1.77, 0.54 ] - } - ] - }, - "undies": { - "undies": [ - { - "time": 0, - "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] - }, - { - "time": 0.1333, - "vertices": [ 0.72, 0.43, 7.2, -0.16, 1.37, 0, 1.37, 0, 1.37, 0, 1.25, 0.04, -0.99, -2.95, -1.37, -3.07, 1.37, 0, 0.35, -0.29, 2.99, -0.07, 3.9, -0.14 ] - }, - { - "time": 0.3333, - "vertices": [ 1.16, 0, 2.1, -0.23, 0, 0, 0, 0, 0, 0, 2.24, -0.24, -0.43, 0.6, -1.55, 0.48 ] - }, - { - "time": 0.5333, - "vertices": [ 1.16, 0, -0.23, -0.93, -2.92, 0.35, 0, 0, 0, 0, 0.49, -0.24, -0.64, -2.07, -0.64, -2.07 ] - }, - { - "time": 0.7, - "vertices": [ 1.86, -0.11, 4.66, -0.09, -1.76, 0.21, 0, 0, -0.56, 0.32, -1.13, -1.15, -2.19, -3.47, -1.29, -3.47, 0, 0, 0, 0, 1.58, -0.04, 2.65, 0.16 ] - }, - { - "time": 0.8333, - "vertices": [ 2.41, -0.2, 8.58, 0.58, -0.83, 0.1, 0, 0, -1.02, 0.59, -2.44, -1.87, -1.62, 0, 0, 0, 0, 0, 0, 0, 2.85, -0.08, 4.78, 0.3 ] - }, - { - "time": 0.8666, - "vertices": [ 2.01, -0.02, 8.98, 0.44, -0.2, 0.08, 0.45, 0, -0.35, 0.47, -1.84, -1.44, -0.79, 1.26, 0.53, 1.23, 0.45, 0, 0.11, -0.09, 3.28, -0.09, 5.13, 0.19 ] - }, - { - "time": 1, - "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] - } - ] - } - } - } - } -} -} \ No newline at end of file diff --git a/spine-cocos2dx/3.1/example/Resources/common/spineboy.json b/spine-cocos2dx/3.1/example/Resources/common/spineboy.json deleted file mode 100644 index 1ffa7aad5..000000000 --- a/spine-cocos2dx/3.1/example/Resources/common/spineboy.json +++ /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-cocos2dx/3.1/example/Resources/common/sprite.png b/spine-cocos2dx/3.1/example/Resources/common/sprite.png deleted file mode 100644 index 91dd46533..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/common/sprite.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.atlas b/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.png b/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/ipad-retina/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.atlas b/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.png b/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/ipad-retina/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.atlas b/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.png b/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/ipad/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.atlas b/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.png b/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/ipad/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.atlas b/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.png b/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/iphone-retina/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.atlas b/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.png b/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/iphone-retina/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.atlas b/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.atlas deleted file mode 100644 index b977b07f6..000000000 --- a/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.atlas +++ /dev/null @@ -1,292 +0,0 @@ - -goblins-ffd.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -dagger - rotate: false - xy: 2, 28 - size: 26, 108 - orig: 26, 108 - offset: 0, 0 - index: -1 -goblin/eyes-closed - rotate: false - xy: 137, 29 - size: 34, 12 - orig: 34, 12 - offset: 0, 0 - index: -1 -goblin/head - rotate: false - xy: 26, 357 - size: 103, 66 - orig: 103, 66 - offset: 0, 0 - index: -1 -goblin/left-arm - rotate: false - xy: 30, 28 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblin/left-foot - rotate: false - xy: 134, 260 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblin/left-hand - rotate: false - xy: 69, 25 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/left-lower-leg - rotate: false - xy: 134, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblin/left-shoulder - rotate: false - xy: 137, 43 - size: 29, 44 - orig: 29, 44 - offset: 0, 0 - index: -1 -goblin/left-upper-leg - rotate: false - xy: 30, 65 - size: 33, 73 - orig: 33, 73 - offset: 0, 0 - index: -1 -goblin/neck - rotate: false - xy: 201, 387 - size: 36, 41 - orig: 36, 41 - offset: 0, 0 - index: -1 -goblin/pelvis - rotate: false - xy: 26, 140 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblin/right-arm - rotate: false - xy: 171, 84 - size: 23, 50 - orig: 23, 50 - offset: 0, 0 - index: -1 -goblin/right-foot - rotate: false - xy: 134, 225 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblin/right-hand - rotate: false - xy: 204, 258 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblin/right-lower-leg - rotate: false - xy: 201, 430 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblin/right-shoulder - rotate: false - xy: 130, 89 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblin/right-upper-leg - rotate: false - xy: 98, 214 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblin/torso - rotate: false - xy: 131, 410 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblin/undie-straps - rotate: false - xy: 2, 7 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblin/undies - rotate: false - xy: 199, 227 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -goblingirl/eyes-closed - rotate: false - xy: 59, 2 - size: 37, 21 - orig: 37, 21 - offset: 0, 0 - index: -1 -goblingirl/head - rotate: false - xy: 26, 425 - size: 103, 81 - orig: 103, 81 - offset: 0, 0 - index: -1 -goblingirl/left-arm - rotate: false - xy: 201, 190 - size: 37, 35 - orig: 37, 35 - offset: 0, 0 - index: -1 -goblingirl/left-foot - rotate: false - xy: 134, 192 - size: 65, 31 - orig: 65, 31 - offset: 0, 0 - index: -1 -goblingirl/left-hand - rotate: false - xy: 196, 109 - size: 35, 40 - orig: 35, 40 - offset: 0, 0 - index: -1 -goblingirl/left-lower-leg - rotate: false - xy: 169, 293 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/left-shoulder - rotate: false - xy: 107, 30 - size: 28, 46 - orig: 28, 46 - offset: 0, 0 - index: -1 -goblingirl/left-upper-leg - rotate: false - xy: 65, 68 - size: 33, 70 - orig: 33, 70 - offset: 0, 0 - index: -1 -goblingirl/neck - rotate: false - xy: 204, 297 - size: 35, 41 - orig: 35, 41 - offset: 0, 0 - index: -1 -goblingirl/pelvis - rotate: false - xy: 131, 365 - size: 62, 43 - orig: 62, 43 - offset: 0, 0 - index: -1 -goblingirl/right-arm - rotate: false - xy: 100, 97 - size: 28, 50 - orig: 28, 50 - offset: 0, 0 - index: -1 -goblingirl/right-foot - rotate: false - xy: 134, 157 - size: 63, 33 - orig: 63, 33 - offset: 0, 0 - index: -1 -goblingirl/right-hand - rotate: false - xy: 199, 151 - size: 36, 37 - orig: 36, 37 - offset: 0, 0 - index: -1 -goblingirl/right-lower-leg - rotate: false - xy: 96, 279 - size: 36, 76 - orig: 36, 76 - offset: 0, 0 - index: -1 -goblingirl/right-shoulder - rotate: false - xy: 204, 340 - size: 39, 45 - orig: 39, 45 - offset: 0, 0 - index: -1 -goblingirl/right-upper-leg - rotate: false - xy: 98, 149 - size: 34, 63 - orig: 34, 63 - offset: 0, 0 - index: -1 -goblingirl/torso - rotate: false - xy: 26, 259 - size: 68, 96 - orig: 68, 96 - offset: 0, 0 - index: -1 -goblingirl/undie-straps - rotate: false - xy: 134, 136 - size: 55, 19 - orig: 55, 19 - offset: 0, 0 - index: -1 -goblingirl/undies - rotate: false - xy: 196, 78 - size: 36, 29 - orig: 36, 29 - offset: 0, 0 - index: -1 -shield - rotate: false - xy: 26, 185 - size: 70, 72 - orig: 70, 72 - offset: 0, 0 - index: -1 -spear - rotate: false - xy: 2, 138 - size: 22, 368 - orig: 22, 368 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.png b/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.png deleted file mode 100644 index f172361f2..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/iphone/goblins-ffd.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.atlas b/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.png b/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.png deleted file mode 100644 index b43262310..000000000 Binary files a/spine-cocos2dx/3.1/example/Resources/iphone/spineboy.png and /dev/null differ diff --git a/spine-cocos2dx/3.1/example/proj.win32/main.cpp b/spine-cocos2dx/3.1/example/proj.win32/main.cpp deleted file mode 100644 index 801cba97d..000000000 --- a/spine-cocos2dx/3.1/example/proj.win32/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "main.h" -#include "../Classes/AppDelegate.h" - -USING_NS_CC; - -int APIENTRY _tWinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPTSTR lpCmdLine, - int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - // create the application instance - AppDelegate app; - - auto director = Director::getInstance(); - auto glview = GLView::create("Spine Example"); - glview->setFrameSize(960, 640); - director->setOpenGLView(glview); - return Application::getInstance()->run(); -} diff --git a/spine-cocos2dx/3.1/example/proj.win32/main.h b/spine-cocos2dx/3.1/example/proj.win32/main.h deleted file mode 100644 index 1eec81188..000000000 --- a/spine-cocos2dx/3.1/example/proj.win32/main.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __MAIN_H__ -#define __MAIN_H__ - -#define WIN32_LEAN_AND_MEAN - -#include -#include - -#endif // __MAIN_H__ diff --git a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.sln b/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.sln deleted file mode 100644 index 98c48b343..000000000 --- a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.sln +++ /dev/null @@ -1,53 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 2012 for Windows Desktop -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-cocos2dx", "spine-cocos2dx.vcxproj", "{DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\cocos2dx\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\cocos2dx\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-c", "..\..\..\..\spine-c\spine-c.vcxproj", "{5D74934A-7512-45EE-8402-7B95D3642E85}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Debug|Win32.ActiveCfg = Debug|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Debug|Win32.Build.0 = Debug|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Release|Win32.ActiveCfg = Release|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Release|Win32.Build.0 = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Debug|Win32.ActiveCfg = Debug|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Debug|Win32.Build.0 = Debug|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Release|Win32.ActiveCfg = Release|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection -EndGlobal diff --git a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj b/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj deleted file mode 100644 index 7341fc837..000000000 --- a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj +++ /dev/null @@ -1,171 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF} - spine - Win32Proj - spine-cocos2dx - - - - Application - Unicode - true - v100 - v110 - v110_xp - - - Application - Unicode - v100 - v110 - v110_xp - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.40219.1 - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - true - $(SolutionDir)$(Configuration).win32\ - $(Configuration).win32\ - false - AllRules.ruleset - - - AllRules.ruleset - - - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - $(MSBuildProgramFiles32)\Microsoft SDKs\Windows\v7.1A\lib;$(LibraryPath) - - - - Disabled - $(ProjectDir)..\Classes;$(ProjectDir)..\..\src;$(ProjectDir)..\..\..\..\spine-c\include;%(AdditionalIncludeDirectories) - WIN32;_DEBUG;_WINDOWS;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL - - - Level3 - EditAndContinue - 4267;4251;4244;%(DisableSpecificWarnings) - CompileAsCpp - - - %(AdditionalDependencies) - $(OutDir)$(ProjectName).exe - $(OutDir);%(AdditionalLibraryDirectories) - true - Windows - MachineX86 - - - false - libcmt.lib;msvcrt.lib;libcmtd.lib - - - - - - - - - MaxSpeed - true - $(ProjectDir)..\..\..\..\cocos2dx;$(ProjectDir)..\..\..\..\cocos2dx\include;$(ProjectDir)..\..\..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\..\..\cocos2dx\platform\third_party\win32\OGLES;..\Classes;%(AdditionalIncludeDirectories) - WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - MultiThreadedDLL - true - - - Level3 - ProgramDatabase - 4267;4251;4244;%(DisableSpecificWarnings) - - - opengl32.lib;glew32.lib;libcocos2d.lib;%(AdditionalDependencies) - $(OutDir)$(ProjectName).exe - $(OutDir);%(AdditionalLibraryDirectories) - true - Windows - true - true - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {5d74934a-7512-45ee-8402-7b95d3642e85} - - - {98a51ba8-fc3a-415b-ac8f-8c7bd464e93e} - false - false - false - true - false - - - {207bc7a9-ccf1-4f2f-a04d-45f72242ae25} - - - - - - \ No newline at end of file diff --git a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj.filters b/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj.filters deleted file mode 100644 index ad5c9ffc3..000000000 --- a/spine-cocos2dx/3.1/example/proj.win32/spine-cocos2dx.vcxproj.filters +++ /dev/null @@ -1,69 +0,0 @@ - - - - - {ef769de4-53ac-449d-92e6-e67ec8d7414e} - - - {0dcd52ca-d521-4ba1-a1fa-c0d58a2df402} - - - {54b66b2b-0990-4335-a821-332c44b6f83e} - - - - - win32 - - - Classes - - - Classes - - - src - - - src - - - src - - - src - - - Classes - - - Classes - - - - - win32 - - - Classes - - - src - - - src - - - src - - - src - - - Classes - - - Classes - - - \ No newline at end of file diff --git a/spine-cocos2dx/3.1/src/spine/PolygonBatch.cpp b/spine-cocos2dx/3.1/src/spine/PolygonBatch.cpp deleted file mode 100644 index b0cc2b431..000000000 --- a/spine-cocos2dx/3.1/src/spine/PolygonBatch.cpp +++ /dev/null @@ -1,113 +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. - *****************************************************************************/ - -#include -#include - -USING_NS_CC; - -namespace spine { - -PolygonBatch* PolygonBatch::createWithCapacity (int capacity) { - PolygonBatch* batch = new PolygonBatch(); - batch->initWithCapacity(capacity); - batch->autorelease(); - return batch; -} - -PolygonBatch::PolygonBatch () : - capacity(0), - vertices(nullptr), verticesCount(0), - triangles(nullptr), trianglesCount(0), - texture(nullptr) -{} - -bool PolygonBatch::initWithCapacity (int capacity) { - // 32767 is max index, so 32767 / 3 - (32767 / 3 % 3) = 10920. - CCASSERT(capacity <= 10920, "capacity cannot be > 10920"); - CCASSERT(capacity >= 0, "capacity cannot be < 0"); - this->capacity = capacity; - vertices = MALLOC(V2F_C4B_T2F, capacity); - triangles = MALLOC(GLushort, capacity * 3); - return true; -} - -PolygonBatch::~PolygonBatch () { - FREE(vertices); - FREE(triangles); -} - -void PolygonBatch::add (const Texture2D* addTexture, - const float* addVertices, const float* uvs, int addVerticesCount, - const int* addTriangles, int addTrianglesCount, - Color4B* color) { - - if ( - addTexture != texture - || verticesCount + (addVerticesCount >> 1) > capacity - || trianglesCount + addTrianglesCount > capacity * 3) { - this->flush(); - texture = addTexture; - } - - for (int i = 0; i < addTrianglesCount; ++i, ++trianglesCount) - triangles[trianglesCount] = addTriangles[i] + verticesCount; - - for (int i = 0; i < addVerticesCount; i += 2, ++verticesCount) { - V2F_C4B_T2F* vertex = vertices + verticesCount; - vertex->vertices.x = addVertices[i]; - vertex->vertices.y = addVertices[i + 1]; - vertex->colors = *color; - vertex->texCoords.u = uvs[i]; - vertex->texCoords.v = uvs[i + 1]; - } -} - -void PolygonBatch::flush () { - if (!verticesCount) return; - - GL::bindTexture2D(texture->getName()); - GL::bindVAO(0); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_POSITION); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_COLOR); - glEnableVertexAttribArray(GLProgram::VERTEX_ATTRIB_TEX_COORDS); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_POSITION, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), &vertices[0].vertices); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_COLOR, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(V2F_C4B_T2F), &vertices[0].colors); - glVertexAttribPointer(GLProgram::VERTEX_ATTRIB_TEX_COORDS, 2, GL_FLOAT, GL_FALSE, sizeof(V2F_C4B_T2F), &vertices[0].texCoords); - - glDrawElements(GL_TRIANGLES, trianglesCount, GL_UNSIGNED_SHORT, triangles); - - verticesCount = 0; - trianglesCount = 0; - - CHECK_GL_ERROR_DEBUG(); -} - -} diff --git a/spine-cocos2dx/3.1/src/spine/PolygonBatch.h b/spine-cocos2dx/3.1/src/spine/PolygonBatch.h deleted file mode 100644 index 904f4ae8f..000000000 --- a/spine-cocos2dx/3.1/src/spine/PolygonBatch.h +++ /dev/null @@ -1,67 +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. - *****************************************************************************/ - -#ifndef SPINE_POLYGONBATCH_H_ -#define SPINE_POLYGONBATCH_H_ - -#include "cocos2d.h" - -namespace spine { - -class PolygonBatch : public cocos2d::Ref { -public: - static PolygonBatch* createWithCapacity (int capacity); - - /** @js ctor */ - PolygonBatch(); - - /** @js NA - * @lua NA */ - virtual ~PolygonBatch(); - - bool initWithCapacity (int capacity); - void add (const cocos2d::Texture2D* texture, - const float* vertices, const float* uvs, int verticesCount, - const int* triangles, int trianglesCount, - cocos2d::Color4B* color); - void flush (); - -private: - int capacity; - cocos2d::V2F_C4B_T2F* vertices; - int verticesCount; - GLushort* triangles; - int trianglesCount; - const cocos2d::Texture2D* texture; -}; - -} - -#endif // SPINE_POLYGONBATCH_H_ diff --git a/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.cpp deleted file mode 100644 index 611916ea3..000000000 --- a/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.cpp +++ /dev/null @@ -1,229 +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. - *****************************************************************************/ - -#include -#include -#include -#include - -USING_NS_CC; -using std::min; -using std::max; -using std::vector; - -namespace spine { - -void animationCallback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) { - ((SkeletonAnimation*)state->rendererObject)->onAnimationStateEvent(trackIndex, type, event, loopCount); -} - -void trackEntryCallback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) { - ((SkeletonAnimation*)state->rendererObject)->onTrackEntryEvent(trackIndex, type, event, loopCount); -} - -typedef struct _TrackEntryListeners { - StartListener startListener; - EndListener endListener; - CompleteListener completeListener; - EventListener eventListener; -} _TrackEntryListeners; - -static _TrackEntryListeners* getListeners (spTrackEntry* entry) { - if (!entry->rendererObject) { - entry->rendererObject = NEW(spine::_TrackEntryListeners); - entry->listener = trackEntryCallback; - } - return (_TrackEntryListeners*)entry->rendererObject; -} - -void disposeTrackEntry (spTrackEntry* entry) { - if (entry->rendererObject) FREE(entry->rendererObject); - _spTrackEntry_dispose(entry); -} - -// - -SkeletonAnimation* SkeletonAnimation::createWithData (spSkeletonData* skeletonData) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonData); - node->autorelease(); - return node; -} - -SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlas, scale); - node->autorelease(); - return node; -} - -SkeletonAnimation* SkeletonAnimation::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - SkeletonAnimation* node = new SkeletonAnimation(skeletonDataFile, atlasFile, scale); - node->autorelease(); - return node; -} - -void SkeletonAnimation::initialize () { - ownsAnimationStateData = true; - state = spAnimationState_create(spAnimationStateData_create(skeleton->data)); - state->rendererObject = this; - state->listener = animationCallback; - - _spAnimationState* stateInternal = (_spAnimationState*)state; - stateInternal->disposeTrackEntry = disposeTrackEntry; -} - -SkeletonAnimation::SkeletonAnimation (spSkeletonData *skeletonData) - : SkeletonRenderer(skeletonData) { - initialize(); -} - -SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale) - : SkeletonRenderer(skeletonDataFile, atlas, scale) { - initialize(); -} - -SkeletonAnimation::SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale) - : SkeletonRenderer(skeletonDataFile, atlasFile, scale) { - initialize(); -} - -SkeletonAnimation::~SkeletonAnimation () { - if (ownsAnimationStateData) spAnimationStateData_dispose(state->data); - spAnimationState_dispose(state); -} - -void SkeletonAnimation::update (float deltaTime) { - super::update(deltaTime); - - deltaTime *= timeScale; - spAnimationState_update(state, deltaTime); - spAnimationState_apply(state, skeleton); - spSkeleton_updateWorldTransform(skeleton); -} - -void SkeletonAnimation::setAnimationStateData (spAnimationStateData* stateData) { - CCASSERT(stateData, "stateData cannot be null."); - - if (ownsAnimationStateData) spAnimationStateData_dispose(state->data); - spAnimationState_dispose(state); - - ownsAnimationStateData = false; - state = spAnimationState_create(stateData); - state->rendererObject = this; - state->listener = animationCallback; -} - -void SkeletonAnimation::setMix (const char* fromAnimation, const char* toAnimation, float duration) { - spAnimationStateData_setMixByName(state->data, fromAnimation, toAnimation, duration); -} - -spTrackEntry* SkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) { - spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); - if (!animation) { - log("Spine: Animation not found: %s", name); - return 0; - } - return spAnimationState_setAnimation(state, trackIndex, animation, loop); -} - -spTrackEntry* SkeletonAnimation::addAnimation (int trackIndex, const char* name, bool loop, float delay) { - spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); - if (!animation) { - log("Spine: Animation not found: %s", name); - return 0; - } - return spAnimationState_addAnimation(state, trackIndex, animation, loop, delay); -} - -spTrackEntry* SkeletonAnimation::getCurrent (int trackIndex) { - return spAnimationState_getCurrent(state, trackIndex); -} - -void SkeletonAnimation::clearTracks () { - spAnimationState_clearTracks(state); -} - -void SkeletonAnimation::clearTrack (int trackIndex) { - spAnimationState_clearTrack(state, trackIndex); -} - -void SkeletonAnimation::onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) { - switch (type) { - case SP_ANIMATION_START: - if (startListener) startListener(trackIndex); - break; - case SP_ANIMATION_END: - if (endListener) endListener(trackIndex); - break; - case SP_ANIMATION_COMPLETE: - if (completeListener) completeListener(trackIndex, loopCount); - break; - case SP_ANIMATION_EVENT: - if (eventListener) eventListener(trackIndex, event); - break; - } -} - -void SkeletonAnimation::onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount) { - spTrackEntry* entry = spAnimationState_getCurrent(state, trackIndex); - if (!entry->rendererObject) return; - _TrackEntryListeners* listeners = (_TrackEntryListeners*)entry->rendererObject; - switch (type) { - case SP_ANIMATION_START: - if (listeners->startListener) listeners->startListener(trackIndex); - break; - case SP_ANIMATION_END: - if (listeners->endListener) listeners->endListener(trackIndex); - break; - case SP_ANIMATION_COMPLETE: - if (listeners->completeListener) listeners->completeListener(trackIndex, loopCount); - break; - case SP_ANIMATION_EVENT: - if (listeners->eventListener) listeners->eventListener(trackIndex, event); - break; - } -} - -void SkeletonAnimation::setStartListener (spTrackEntry* entry, StartListener listener) { - getListeners(entry)->startListener = listener; -} - -void SkeletonAnimation::setEndListener (spTrackEntry* entry, EndListener listener) { - getListeners(entry)->endListener = listener; -} - -void SkeletonAnimation::setCompleteListener (spTrackEntry* entry, CompleteListener listener) { - getListeners(entry)->completeListener = listener; -} - -void SkeletonAnimation::setEventListener (spTrackEntry* entry, spine::EventListener listener) { - getListeners(entry)->eventListener = listener; -} - -} diff --git a/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.h b/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.h deleted file mode 100644 index ce5da45bb..000000000 --- a/spine-cocos2dx/3.1/src/spine/SkeletonAnimation.h +++ /dev/null @@ -1,96 +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. - *****************************************************************************/ - -#ifndef SPINE_SKELETONANIMATION_H_ -#define SPINE_SKELETONANIMATION_H_ - -#include -#include -#include "cocos2d.h" - -namespace spine { - -typedef std::function StartListener; -typedef std::function EndListener; -typedef std::function CompleteListener; -typedef std::function EventListener; - -/** Draws an animated skeleton, providing an AnimationState for applying one or more animations and queuing animations to be - * played later. */ -class SkeletonAnimation: public SkeletonRenderer { -public: - spAnimationState* state; - - static SkeletonAnimation* createWithData (spSkeletonData* skeletonData); - static SkeletonAnimation* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - static SkeletonAnimation* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - SkeletonAnimation (spSkeletonData* skeletonData); - SkeletonAnimation (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - SkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - virtual ~SkeletonAnimation (); - - virtual void update (float deltaTime); - - void setAnimationStateData (spAnimationStateData* stateData); - void setMix (const char* fromAnimation, const char* toAnimation, float duration); - - spTrackEntry* setAnimation (int trackIndex, const char* name, bool loop); - spTrackEntry* addAnimation (int trackIndex, const char* name, bool loop, float delay = 0); - spTrackEntry* getCurrent (int trackIndex = 0); - void clearTracks (); - void clearTrack (int trackIndex = 0); - - StartListener startListener; - EndListener endListener; - CompleteListener completeListener; - EventListener eventListener; - void setStartListener (spTrackEntry* entry, StartListener listener); - void setEndListener (spTrackEntry* entry, EndListener listener); - void setCompleteListener (spTrackEntry* entry, CompleteListener listener); - void setEventListener (spTrackEntry* entry, EventListener listener); - - virtual void onAnimationStateEvent (int trackIndex, spEventType type, spEvent* event, int loopCount); - virtual void onTrackEntryEvent (int trackIndex, spEventType type, spEvent* event, int loopCount); - -protected: - SkeletonAnimation (); - -private: - typedef SkeletonRenderer super; - bool ownsAnimationStateData; - - void initialize (); -}; - -} - -#endif /* SPINE_SKELETONANIMATION_H_ */ diff --git a/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.cpp deleted file mode 100644 index 784952983..000000000 --- a/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.cpp +++ /dev/null @@ -1,369 +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. - *****************************************************************************/ - -#include -#include -#include -#include -#include - -USING_NS_CC; -using std::min; -using std::max; - -namespace spine { - -static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; - -SkeletonRenderer* SkeletonRenderer::createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonData, ownsSkeletonData); - node->autorelease(); - return node; -} - -SkeletonRenderer* SkeletonRenderer::createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonDataFile, atlas, scale); - node->autorelease(); - return node; -} - -SkeletonRenderer* SkeletonRenderer::createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale) { - SkeletonRenderer* node = new SkeletonRenderer(skeletonDataFile, atlasFile, scale); - node->autorelease(); - return node; -} - -void SkeletonRenderer::initialize () { - atlas = 0; - debugSlots = false; - debugBones = false; - timeScale = 1; - - worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. - - batch = PolygonBatch::createWithCapacity(2000); // Max number of vertices and triangles per batch. - batch->retain(); - - blendFunc = BlendFunc::ALPHA_PREMULTIPLIED; - setOpacityModifyRGB(true); - - setGLProgram(ShaderCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR)); - scheduleUpdate(); -} - -void SkeletonRenderer::setSkeletonData (spSkeletonData *skeletonData, bool ownsSkeletonData) { - skeleton = spSkeleton_create(skeletonData); - rootBone = skeleton->bones[0]; - this->ownsSkeletonData = ownsSkeletonData; -} - -SkeletonRenderer::SkeletonRenderer () { - initialize(); -} - -SkeletonRenderer::SkeletonRenderer (spSkeletonData *skeletonData, bool ownsSkeletonData) { - initialize(); - - setSkeletonData(skeletonData, ownsSkeletonData); -} - -SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale) { - initialize(); - - spSkeletonJson* json = spSkeletonJson_create(atlas); - json->scale = scale; - spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile); - CCASSERT(skeletonData, json->error ? json->error : "Error reading skeleton data."); - spSkeletonJson_dispose(json); - - setSkeletonData(skeletonData, true); -} - -SkeletonRenderer::SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale) { - initialize(); - - atlas = spAtlas_createFromFile(atlasFile, 0); - CCASSERT(atlas, "Error reading atlas file."); - - spSkeletonJson* json = spSkeletonJson_create(atlas); - json->scale = scale; - spSkeletonData* skeletonData = spSkeletonJson_readSkeletonDataFile(json, skeletonDataFile); - CCASSERT(skeletonData, json->error ? json->error : "Error reading skeleton data file."); - spSkeletonJson_dispose(json); - - setSkeletonData(skeletonData, true); -} - -SkeletonRenderer::~SkeletonRenderer () { - if (ownsSkeletonData) spSkeletonData_dispose(skeleton->data); - if (atlas) spAtlas_dispose(atlas); - spSkeleton_dispose(skeleton); - batch->release(); - FREE(worldVertices); -} - -void SkeletonRenderer::update (float deltaTime) { - spSkeleton_update(skeleton, deltaTime * timeScale); -} - -void SkeletonRenderer::draw (Renderer* renderer, const Mat4& transform, bool transformUpdated) { - drawCommand.init(_globalZOrder); - drawCommand.func = CC_CALLBACK_0(SkeletonRenderer::drawSkeleton, this, transform, transformUpdated); - renderer->addCommand(&drawCommand); -} - -void SkeletonRenderer::drawSkeleton (const Mat4 &transform, bool transformUpdated) { - getGLProgram()->use(); - getGLProgram()->setUniformsForBuiltins(transform); - GL::bindVAO(0); - - Color3B nodeColor = getColor(); - skeleton->r = nodeColor.r / (float)255; - skeleton->g = nodeColor.g / (float)255; - skeleton->b = nodeColor.b / (float)255; - skeleton->a = getDisplayedOpacity() / (float)255; - - int additive = -1; - Color4B color; - const float* uvs = nullptr; - int verticesCount = 0; - const int* triangles = nullptr; - int trianglesCount = 0; - float r = 0, g = 0, b = 0, a = 0; - for (int i = 0, n = skeleton->slotCount; i < n; i++) { - spSlot* slot = skeleton->drawOrder[i]; - if (!slot->attachment) continue; - Texture2D *texture = nullptr; - switch (slot->attachment->type) { - case SP_ATTACHMENT_REGION: { - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = 8; - triangles = quadTriangles; - trianglesCount = 6; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - case SP_ATTACHMENT_MESH: { - spMeshAttachment* attachment = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = attachment->verticesCount; - triangles = attachment->triangles; - trianglesCount = attachment->trianglesCount; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - case SP_ATTACHMENT_SKINNED_MESH: { - spSkinnedMeshAttachment* attachment = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - texture = getTexture(attachment); - uvs = attachment->uvs; - verticesCount = attachment->uvsCount; - triangles = attachment->triangles; - trianglesCount = attachment->trianglesCount; - r = attachment->r; - g = attachment->g; - b = attachment->b; - a = attachment->a; - break; - } - default: ; - } - if (texture) { - if (slot->data->additiveBlending != additive) { - batch->flush(); - GL::blendFunc(blendFunc.src, slot->data->additiveBlending ? GL_ONE : blendFunc.dst); - additive = slot->data->additiveBlending; - } - color.a = skeleton->a * slot->a * a * 255; - float multiplier = premultipliedAlpha ? color.a : 255; - color.r = skeleton->r * slot->r * r * multiplier; - color.g = skeleton->g * slot->g * g * multiplier; - color.b = skeleton->b * slot->b * b * multiplier; - batch->add(texture, worldVertices, uvs, verticesCount, triangles, trianglesCount, &color); - } - } - batch->flush(); - - if (debugSlots || debugBones) { - Director* director = Director::getInstance(); - director->pushMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); - director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, transform); - - if (debugSlots) { - // Slots. - DrawPrimitives::setDrawColor4B(0, 0, 255, 255); - glLineWidth(1); - Vec2 points[4]; - V3F_C4B_T2F_Quad quad; - for (int i = 0, n = skeleton->slotCount; i < n; i++) { - spSlot* slot = skeleton->drawOrder[i]; - if (!slot->attachment || slot->attachment->type != SP_ATTACHMENT_REGION) continue; - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - points[0] = Vec2(worldVertices[0], worldVertices[1]); - points[1] = Vec2(worldVertices[2], worldVertices[3]); - points[2] = Vec2(worldVertices[4], worldVertices[5]); - points[3] = Vec2(worldVertices[6], worldVertices[7]); - DrawPrimitives::drawPoly(points, 4, true); - } - } - if (debugBones) { - // Bone lengths. - glLineWidth(2); - DrawPrimitives::setDrawColor4B(255, 0, 0, 255); - for (int i = 0, n = skeleton->boneCount; i < n; i++) { - spBone *bone = skeleton->bones[i]; - float x = bone->data->length * bone->m00 + bone->worldX; - float y = bone->data->length * bone->m10 + bone->worldY; - DrawPrimitives::drawLine(Vec2(bone->worldX, bone->worldY), Vec2(x, y)); - } - // Bone origins. - DrawPrimitives::setPointSize(4); - DrawPrimitives::setDrawColor4B(0, 0, 255, 255); // Root bone is blue. - for (int i = 0, n = skeleton->boneCount; i < n; i++) { - spBone *bone = skeleton->bones[i]; - DrawPrimitives::drawPoint(Vec2(bone->worldX, bone->worldY)); - if (i == 0) DrawPrimitives::setDrawColor4B(0, 255, 0, 255); - } - } - director->popMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); - } -} - -Texture2D* SkeletonRenderer::getTexture (spRegionAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Texture2D* SkeletonRenderer::getTexture (spMeshAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Texture2D* SkeletonRenderer::getTexture (spSkinnedMeshAttachment* attachment) const { - return (Texture2D*)((spAtlasRegion*)attachment->rendererObject)->page->rendererObject; -} - -Rect SkeletonRenderer::getBoundingBox () const { - float minX = FLT_MAX, minY = FLT_MAX, maxX = FLT_MIN, maxY = FLT_MIN; - float scaleX = getScaleX(), scaleY = getScaleY(); - for (int i = 0; i < skeleton->slotCount; ++i) { - spSlot* slot = skeleton->slots[i]; - if (!slot->attachment) continue; - int verticesCount; - if (slot->attachment->type == SP_ATTACHMENT_REGION) { - spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; - spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); - verticesCount = 8; - } else if (slot->attachment->type == SP_ATTACHMENT_MESH) { - spMeshAttachment* mesh = (spMeshAttachment*)slot->attachment; - spMeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); - verticesCount = mesh->verticesCount; - } else if (slot->attachment->type == SP_ATTACHMENT_SKINNED_MESH) { - spSkinnedMeshAttachment* mesh = (spSkinnedMeshAttachment*)slot->attachment; - spSkinnedMeshAttachment_computeWorldVertices(mesh, slot->skeleton->x, slot->skeleton->y, 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; - minX = min(minX, x); - minY = min(minY, y); - maxX = max(maxX, x); - maxY = max(maxY, y); - } - } - Vec2 position = getPosition(); - return Rect(position.x + minX, position.y + minY, maxX - minX, maxY - minY); -} - -// --- Convenience methods for Skeleton_* functions. - -void SkeletonRenderer::updateWorldTransform () { - spSkeleton_updateWorldTransform(skeleton); -} - -void SkeletonRenderer::setToSetupPose () { - spSkeleton_setToSetupPose(skeleton); -} -void SkeletonRenderer::setBonesToSetupPose () { - spSkeleton_setBonesToSetupPose(skeleton); -} -void SkeletonRenderer::setSlotsToSetupPose () { - spSkeleton_setSlotsToSetupPose(skeleton); -} - -spBone* SkeletonRenderer::findBone (const char* boneName) const { - return spSkeleton_findBone(skeleton, boneName); -} - -spSlot* SkeletonRenderer::findSlot (const char* slotName) const { - return spSkeleton_findSlot(skeleton, slotName); -} - -bool SkeletonRenderer::setSkin (const char* skinName) { - return spSkeleton_setSkinByName(skeleton, skinName) ? true : false; -} - -spAttachment* SkeletonRenderer::getAttachment (const char* slotName, const char* attachmentName) const { - return spSkeleton_getAttachmentForSlotName(skeleton, slotName, attachmentName); -} -bool SkeletonRenderer::setAttachment (const char* slotName, const char* attachmentName) { - return spSkeleton_setAttachment(skeleton, slotName, attachmentName) ? true : false; -} - -// --- CCBlendProtocol - -const BlendFunc& SkeletonRenderer::getBlendFunc () const { - return blendFunc; -} - -void SkeletonRenderer::setBlendFunc (const BlendFunc &blendFunc) { - this->blendFunc = blendFunc; -} - -void SkeletonRenderer::setOpacityModifyRGB (bool value) { - premultipliedAlpha = value; -} - -bool SkeletonRenderer::isOpacityModifyRGB () { - return premultipliedAlpha; -} - -} diff --git a/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.h b/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.h deleted file mode 100644 index 3e891cfb1..000000000 --- a/spine-cocos2dx/3.1/src/spine/SkeletonRenderer.h +++ /dev/null @@ -1,113 +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. - *****************************************************************************/ - -#ifndef SPINE_SKELETONRENDERER_H_ -#define SPINE_SKELETONRENDERER_H_ - -#include -#include "cocos2d.h" - -namespace spine { - -class PolygonBatch; - -/** Draws a skeleton. */ -class SkeletonRenderer: public cocos2d::Node, public cocos2d::BlendProtocol { -public: - spSkeleton* skeleton; - spBone* rootBone; - float timeScale; - bool debugSlots; - bool debugBones; - bool premultipliedAlpha; - - static SkeletonRenderer* createWithData (spSkeletonData* skeletonData, bool ownsSkeletonData = false); - static SkeletonRenderer* createWithFile (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - static SkeletonRenderer* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - SkeletonRenderer (spSkeletonData* skeletonData, bool ownsSkeletonData = false); - SkeletonRenderer (const char* skeletonDataFile, spAtlas* atlas, float scale = 0); - SkeletonRenderer (const char* skeletonDataFile, const char* atlasFile, float scale = 0); - - virtual ~SkeletonRenderer (); - - virtual void update (float deltaTime) override; - virtual void draw (cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, bool transformUpdated) override; - virtual void drawSkeleton (const cocos2d::Mat4& transform, bool transformUpdated); - virtual cocos2d::Rect getBoundingBox () const override; - - // --- Convenience methods for common Skeleton_* functions. - void updateWorldTransform (); - - void setToSetupPose (); - void setBonesToSetupPose (); - void setSlotsToSetupPose (); - - /* Returns 0 if the bone was not found. */ - spBone* findBone (const char* boneName) const; - /* Returns 0 if the slot was not found. */ - spSlot* findSlot (const char* slotName) const; - - /* 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.*/ - bool setSkin (const char* skinName); - - /* Returns 0 if the slot or attachment was not found. */ - spAttachment* getAttachment (const char* slotName, const char* attachmentName) const; - /* Returns false if the slot or attachment was not found. */ - bool setAttachment (const char* slotName, const char* attachmentName); - - // --- BlendProtocol - virtual void setBlendFunc (const cocos2d::BlendFunc& blendFunc); - virtual const cocos2d::BlendFunc& getBlendFunc () const; - virtual void setOpacityModifyRGB (bool value); - virtual bool isOpacityModifyRGB (); - -protected: - SkeletonRenderer (); - void setSkeletonData (spSkeletonData* skeletonData, bool ownsSkeletonData); - virtual cocos2d::Texture2D* getTexture (spRegionAttachment* attachment) const; - virtual cocos2d::Texture2D* getTexture (spMeshAttachment* attachment) const; - virtual cocos2d::Texture2D* getTexture (spSkinnedMeshAttachment* attachment) const; - -private: - bool ownsSkeletonData; - spAtlas* atlas; - cocos2d::CustomCommand drawCommand; - cocos2d::BlendFunc blendFunc; - PolygonBatch* batch; - float* worldVertices; - void initialize (); -}; - -} - -#endif /* SPINE_SKELETONRENDERER_H_ */ diff --git a/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.cpp b/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.cpp deleted file mode 100644 index 5ab0c1d71..000000000 --- a/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.cpp +++ /dev/null @@ -1,55 +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. - *****************************************************************************/ - -#include -#include - -USING_NS_CC; - -void _spAtlasPage_createTexture (spAtlasPage* self, const char* path) { - Texture2D* texture = Director::getInstance()->getTextureCache()->addImage(path); - texture->retain(); - self->rendererObject = texture; - self->width = texture->getPixelsWide(); - self->height = texture->getPixelsHigh(); -} - -void _spAtlasPage_disposeTexture (spAtlasPage* self) { - ((Texture2D*)self->rendererObject)->release(); -} - -char* _spUtil_readFile (const char* path, int* length) { - Data data = FileUtils::getInstance()->getDataFromFile( - FileUtils::getInstance()->fullPathForFilename(path).c_str()); - *length = data.getSize(); - char* bytes = MALLOC(char, *length); - memcpy(bytes, data.getBytes(), *length); - return bytes; -} diff --git a/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.h b/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.h deleted file mode 100644 index 3409012f3..000000000 --- a/spine-cocos2dx/3.1/src/spine/spine-cocos2dx.h +++ /dev/null @@ -1,39 +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. - *****************************************************************************/ - -#ifndef SPINE_COCOS2DX_H_ -#define SPINE_COCOS2DX_H_ - -#include -#include "cocos2d.h" -#include -#include - -#endif /* SPINE_COCOS2DX_H_ */ diff --git a/spine-cocos2dx/3.2/cocos2dx/Place cocos2dx here.txt b/spine-cocos2dx/3.2/cocos2dx/Place cocos2dx here.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/spine-cocos2dx/3.2/example/Classes/GoblinsExample.h b/spine-cocos2dx/3.2/example/Classes/GoblinsExample.h deleted file mode 100644 index b74ecaaf8..000000000 --- a/spine-cocos2dx/3.2/example/Classes/GoblinsExample.h +++ /dev/null @@ -1,48 +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. - *****************************************************************************/ - -#ifndef _GOBLINSEXAMPLE_H_ -#define _GOBLINSEXAMPLE_H_ - -#include "cocos2d.h" -#include - -class GoblinsExample : public cocos2d::LayerColor { -public: - static cocos2d::Scene* scene (); - - virtual bool init (); - - CREATE_FUNC (GoblinsExample); -private: - spine::SkeletonAnimation* skeletonNode; -}; - -#endif // _GOBLINSEXAMPLE_H_ diff --git a/spine-cocos2dx/3.2/example/Classes/SpineboyExample.h b/spine-cocos2dx/3.2/example/Classes/SpineboyExample.h deleted file mode 100644 index 641834609..000000000 --- a/spine-cocos2dx/3.2/example/Classes/SpineboyExample.h +++ /dev/null @@ -1,49 +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. - *****************************************************************************/ - -#ifndef _SPINEBOYEXAMPLE_H_ -#define _SPINEBOYEXAMPLE_H_ - -#include "cocos2d.h" -#include - -class SpineboyExample : public cocos2d::LayerColor { -public: - static cocos2d::Scene* scene (); - - virtual bool init (); - virtual void update (float deltaTime); - - CREATE_FUNC (SpineboyExample); -private: - spine::SkeletonAnimation* skeletonNode; -}; - -#endif // _SPINEBOYEXAMPLE_H_ diff --git a/spine-cocos2dx/3.2/example/Resources/common/goblins-ffd.json b/spine-cocos2dx/3.2/example/Resources/common/goblins-ffd.json deleted file mode 100644 index b35360ad1..000000000 --- a/spine-cocos2dx/3.2/example/Resources/common/goblins-ffd.json +++ /dev/null @@ -1,1081 +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": [ 5, 6, 4, 6, 7, 4, 4, 7, 3, 2, 9, 1, 9, 10, 1, 10, 12, 1, 12, 13, 1, 1, 13, 0, 10, 11, 12, 3, 8, 2, 8, 9, 2, 7, 8, 3 ], - "vertices": [ 1, 20, 38.54, -10.88, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.58, 0.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": [ 0, 12, 13, 11, 12, 0, 0, 1, 2, 9, 10, 11, 3, 11, 0, 3, 0, 2, 8, 11, 3, 9, 11, 8, 5, 6, 7, 4, 5, 8, 4, 8, 3, 5, 7, 8 ], - "vertices": [ 15.49, -12.82, 21.13, -13.57, 20.16, -20.49, 13.15, -21.67, 8.13, -58.56, -5.13, -77.04, -9.92, -76.36, -7.79, -53.6, -0.03, -20.36, -5.6, -17.04, -4.63, -10.17, 1.12, -10.93, 7.46, 30.24, 26.93, 27.49 ], - "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": [ 26, 20, 19, 21, 20, 26, 15, 14, 13, 12, 15, 13, 11, 16, 15, 11, 15, 12, 26, 17, 25, 18, 26, 19, 17, 26, 18, 30, 25, 17, 30, 17, 16, 30, 16, 11, 1, 22, 21, 23, 22, 1, 2, 1, 21, 2, 21, 26, 29, 30, 11, 29, 11, 10, 28, 25, 30, 0, 23, 1, 9, 29, 10, 25, 3, 2, 25, 2, 26, 29, 27, 28, 29, 28, 30, 24, 3, 25, 24, 25, 28, 24, 28, 27, 8, 29, 9, 27, 29, 8, 4, 3, 24, 5, 24, 27, 4, 24, 5, 7, 6, 27, 7, 27, 8, 5, 27, 6 ], - "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": [ 6, 7, 8, 5, 6, 8, 0, 5, 8, 0, 1, 2, 5, 0, 2, 4, 5, 2, 3, 4, 2 ], - "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": [ 0, 9, 8, 10, 0, 8, 10, 8, 7, 11, 10, 7, 11, 7, 6, 1, 0, 10, 11, 6, 5, 3, 1, 10, 4, 10, 11, 4, 11, 5, 3, 10, 4, 2, 1, 3 ], - "vertices": [ 2.28, 13.07, -1.76, -1.64, 3.59, -7.8, 20.25, -6.04, 37.91, -5.27, 58.12, -3.71, 57.31, 3.34, 47.78, 9.51, 31.95, 15.05, 21.99, 24.11, 24.03, 0.75, 42.21, 1.16 ], - "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, 0, 1, 0, 5, 6, 6, 7, 0, 0, 7, 8, 3, 4, 0, 4, 5, 0, 2, 3, 0 ], - "vertices": [ -3.11, 15.42, 10.83, 22.27, 15.5, 14.55, 18.35, -8.96, 9.48, -14.32, -4.58, -14.3, -11.63, -2.63, -14.89, 13.68, -7.75, 17.99 ], - "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": [ 10, 8, 9, 1, 7, 10, 7, 8, 10, 0, 1, 10, 1, 4, 7, 3, 1, 2, 5, 6, 7, 7, 4, 5, 1, 3, 4 ], - "vertices": [ -0.19, 6.82, 30.97, 10.96, 37.97, 17.33, 53.88, 12.6, 57.58, 6.31, 59.34, 0.08, 55.04, -8.63, 32.99, -9.33, 20.79, -17.43, -7.27, -21.56, -8.19, -18.29 ], - "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": [ 5, 6, 7, 4, 5, 7, 4, 7, 0, 3, 4, 0, 3, 0, 1, 3, 1, 2 ], - "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": [ 7, 8, 0, 5, 6, 7, 0, 1, 7, 4, 5, 7, 1, 4, 7, 2, 4, 1, 3, 4, 2 ], - "vertices": [ 2.33, 13.06, 33.5, 12.57, 51, 9.34, 66.32, 4.31, 63, -10.71, 43.13, -20.58, 8.91, -20.04, -6.79, -2.64, -6.61, 9.1 ], - "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": [ 6, 8, 9, 6, 9, 0, 7, 8, 6, 10, 5, 6, 0, 10, 6, 10, 0, 1, 3, 4, 5, 2, 5, 10, 2, 10, 1, 3, 5, 2 ], - "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, 2, 3, 1, 3, 0 ], - "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": [ 6, 7, 0, 2, 3, 5, 4, 5, 3, 1, 6, 0, 6, 2, 5, 1, 2, 6 ], - "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": [ 1, 10, 11, 1, 13, 0, 14, 1, 2, 1, 12, 13, 12, 1, 11, 14, 10, 1, 15, 14, 2, 15, 2, 3, 9, 10, 14, 15, 3, 4, 7, 8, 9, 14, 7, 9, 6, 14, 15, 5, 6, 15, 7, 14, 6, 4, 5, 15 ], - "vertices": [ 17.36, 25.99, 29.13, 15.44, 39.89, 10.8, 48.14, 7.24, 53.84, -2.38, 49.43, -6, 34.84, -6.39, 16.84, -6.87, -2.4, -7.38, -7.58, -3.86, -7.78, 3.7, -7.95, 10.1, -2.57, 22.36, 10.84, 25.97, 22.14, 2.75, 37.31, 2.03 ], - "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": [ 8, 10, 9, 0, 10, 1, 8, 2, 1, 8, 1, 10, 7, 3, 8, 3, 2, 8, 4, 3, 7, 5, 7, 6, 4, 7, 5 ], - "vertices": [ -10.82, -9.45, 5.95, -15.34, 18.88, -14.9, 24, -7.5, 25.69, 5.16, 25.31, 16.07, 18.61, 17.44, 15.84, 14.74, 6.84, 15.02, 0.81, 19.18, -11.41, 7.83 ], - "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": [ 1, 0, 4, 2, 1, 4, 3, 2, 4 ], - "vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ], - "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": [ 1, 10, 0, 9, 10, 1, 8, 9, 1, 2, 8, 1, 4, 2, 3, 6, 7, 8, 5, 6, 8, 2, 5, 8, 4, 5, 2 ], - "vertices": [ 6.26, 8.46, 23.32, 8.04, 37.1, 12.89, 41.45, 20.82, 53.07, 21.46, 61.33, 10.06, 65.77, -1.03, 58.99, -9.19, 43.02, -9.81, 16.33, -20, -12.79, -9.26 ], - "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": [ 2, 3, 0, 2, 0, 1, 7, 0, 3, 4, 5, 6, 4, 7, 3, 4, 6, 7 ], - "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": [ 9, 8, 7, 9, 1, 0, 6, 9, 7, 6, 1, 9, 2, 1, 6, 4, 3, 2, 6, 4, 2, 5, 4, 6 ], - "vertices": [ -9.85, -10.37, 2.17, -14.07, 35.49, -13.66, 47.29, -12.11, 52.61, -2.26, 51.63, 5.16, 40.51, 10.18, 19.13, 18.47, 2.85, 16.32, -8.4, 6.14 ], - "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": [ 0, 15, 14, 20, 14, 13, 20, 13, 12, 1, 0, 14, 20, 12, 11, 20, 1, 14, 22, 20, 11, 22, 11, 10, 19, 1, 20, 19, 20, 22, 2, 1, 19, 18, 22, 10, 18, 10, 9, 19, 22, 18, 18, 9, 8, 21, 18, 8, 21, 8, 7, 17, 2, 19, 21, 17, 19, 21, 19, 18, 3, 2, 17, 16, 21, 7, 17, 21, 16, 4, 3, 17, 5, 17, 16, 4, 17, 5, 6, 16, 7, 5, 16, 6 ], - "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": [ 6, 7, 8, 6, 8, 0, 3, 1, 2, 5, 0, 1, 6, 0, 5, 4, 1, 3, 5, 1, 4 ], - "vertices": [ -10.56, 12.87, 6.53, 9.9, 25.62, 17.71, 25.62, 10.56, 11.97, 2.41, -9.09, 2.41, -31, 16.39, -31, 21.41, -23.92, 21.41 ], - "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": [ 6, 8, 7, 0, 9, 8, 11, 8, 6, 0, 8, 11, 5, 11, 6, 10, 11, 5, 1, 0, 11, 1, 11, 10, 3, 2, 1, 10, 3, 1, 4, 10, 5, 3, 10, 4 ], - "vertices": [ -13.22, 5.56, -8, -2.47, -5.49, -14.27, -0.64, -14.36, 4.78, -14.45, 15.27, -2.59, 22.22, 6.11, 22.92, 14.05, 3.75, 9.44, -13.08, 13.71, 4.21, -2.59, 4.03, 2.05 ], - "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 - } - } - }, - "goblingirl": { - "eyes": { - "eyes closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.54, "rotation": -87.04, "width": 37, "height": 21 } - }, - "head": { - "head": { "name": "goblingirl/head", "x": 27.71, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 } - }, - "left arm": { - "left arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.42, "rotation": 33.05, "width": 37, "height": 35 } - }, - "left foot": { - "left foot": { "name": "goblingirl/left-foot", "x": 25.17, "y": 7.92, "rotation": 3.32, "width": 65, "height": 31 } - }, - "left hand": { - "left hand": { - "name": "goblingirl/left-hand", - "x": 4.34, - "y": 2.39, - "scaleX": 0.896, - "scaleY": 0.896, - "rotation": 30.34, - "width": 35, - "height": 40 - } - }, - "left lower leg": { - "left lower leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.6, "rotation": 105.75, "width": 33, "height": 70 } - }, - "left shoulder": { - "left shoulder": { "name": "goblingirl/left-shoulder", "x": 19.8, "y": -0.42, "rotation": 61.21, "width": 28, "height": 46 } - }, - "left upper leg": { - "left upper leg": { "name": "goblingirl/left-upper-leg", "x": 30.21, "y": -2.95, "rotation": 89.09, "width": 33, "height": 70 } - }, - "neck": { - "neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.14, "rotation": -98.86, "width": 35, "height": 41 } - }, - "pelvis": { - "pelvis": { "name": "goblingirl/pelvis", "x": -3.87, "y": 3.18, "width": 62, "height": 43 } - }, - "right arm": { - "right arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.52, "width": 28, "height": 50 } - }, - "right foot": { - "right foot": { "name": "goblingirl/right-foot", "x": 23.46, "y": 9.66, "rotation": 1.52, "width": 63, "height": 33 } - }, - "right hand": { - "right hand": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } - }, - "right hand thumb": { - "right hand thumb": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } - }, - "right lower leg": { - "right lower leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.27, "rotation": 111.83, "width": 36, "height": 76 } - }, - "right shoulder": { - "right shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.45, "rotation": 129.85, "width": 39, "height": 45 } - }, - "right upper leg": { - "right upper leg": { "name": "goblingirl/right-upper-leg", "x": 19.69, "y": 2.13, "rotation": 97.49, "width": 34, "height": 63 } - }, - "torso": { - "torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.74, "width": 68, "height": 96 } - }, - "undie straps": { - "undie straps": { "name": "goblingirl/undie-straps", "x": -1.51, "y": 14.18, "width": 55, "height": 19 } - }, - "undies": { - "undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.7, "width": 36, "height": 29 } - } - } -}, -"animations": { - "walk": { - "slots": { - "eyes": { - "attachment": [ - { "time": 0.7, "name": "eyes closed" }, - { "time": 0.8, "name": null } - ] - } - }, - "bones": { - "left upper leg": { - "rotate": [ - { "time": 0, "angle": -26.55 }, - { "time": 0.1333, "angle": -8.78 }, - { "time": 0.2333, "angle": 9.51 }, - { "time": 0.3666, "angle": 30.74 }, - { "time": 0.5, "angle": 25.33 }, - { "time": 0.6333, "angle": 26.11 }, - { "time": 0.7333, "angle": 7.45 }, - { "time": 0.8666, "angle": -21.19 }, - { "time": 1, "angle": -26.55 } - ], - "translate": [ - { "time": 0, "x": -1.32, "y": 1.7 }, - { "time": 0.3666, "x": -0.06, "y": 2.42 }, - { "time": 1, "x": -1.32, "y": 1.7 } - ] - }, - "right upper leg": { - "rotate": [ - { "time": 0, "angle": 42.45 }, - { - "time": 0.1333, - "angle": 49.86, - "curve": [ 0.414, 0, 0.705, 0.99 ] - }, - { "time": 0.2333, "angle": 22.51 }, - { "time": 0.5, "angle": -16.93 }, - { "time": 0.6333, "angle": 1.89 }, - { - "time": 0.7333, - "angle": 34.86, - "curve": [ 0.462, 0.11, 1, 1 ] - }, - { - "time": 0.8666, - "angle": 58.68, - "curve": [ 0.5, 0.02, 1, 1 ] - }, - { "time": 1, "angle": 42.45 } - ], - "translate": [ - { "time": 0, "x": 6.23, "y": 0 }, - { "time": 0.2333, "x": 2.14, "y": 2.4 }, - { "time": 0.5, "x": 2.44, "y": 4.8 }, - { "time": 1, "x": 6.23, "y": 0 } - ] - }, - "left lower leg": { - "rotate": [ - { "time": 0, "angle": -18.05 }, - { "time": 0.1333, "angle": -63.5 }, - { "time": 0.2333, "angle": -83.01 }, - { "time": 0.5, "angle": 5.11 }, - { "time": 0.6333, "angle": -28.29 }, - { "time": 0.7333, "angle": -27.52 }, - { "time": 0.8666, "angle": 3.53 }, - { "time": 1, "angle": -18.05 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0 }, - { "time": 0.2333, "x": 2.55, "y": -0.47 }, - { "time": 0.5, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 1, "x": 0, "y": 0 } - ] - }, - "left foot": { - "rotate": [ - { "time": 0, "angle": -14.56 }, - { "time": 0.1333, "angle": -10.42 }, - { "time": 0.2333, "angle": -5.01 }, - { "time": 0.3, "angle": 6.67 }, - { "time": 0.3666, "angle": 3.87 }, - { "time": 0.5, "angle": -3.87 }, - { "time": 0.6333, "angle": 2.78 }, - { "time": 0.7333, "angle": -11.99 }, - { "time": 0.8666, "angle": -12.45 }, - { "time": 1, "angle": -14.56 } - ] - }, - "right shoulder": { - "rotate": [ - { - "time": 0, - "angle": 5.29, - "curve": [ 0.264, 0, 0.75, 1 ] - }, - { "time": 0.6333, "angle": 6.65 }, - { "time": 1, "angle": 5.29 } - ] - }, - "right arm": { - "rotate": [ - { - "time": 0, - "angle": -4.02, - "curve": [ 0.267, 0, 0.804, 0.99 ] - }, - { - "time": 0.6333, - "angle": 19.78, - "curve": [ 0.307, 0, 0.787, 0.99 ] - }, - { "time": 1, "angle": -4.02 } - ] - }, - "right hand": { - "rotate": [ - { "time": 0, "angle": 8.98 }, - { "time": 0.6333, "angle": 0.51 }, - { "time": 1, "angle": 8.98 } - ] - }, - "left shoulder": { - "rotate": [ - { - "time": 0, - "angle": 6.25, - "curve": [ 0.339, 0, 0.683, 1 ] - }, - { - "time": 0.5, - "angle": -11.78, - "curve": [ 0.281, 0, 0.686, 0.99 ] - }, - { "time": 1, "angle": 6.25 } - ], - "translate": [ - { "time": 0, "x": 1.15, "y": 0.23 } - ] - }, - "left hand": { - "rotate": [ - { - "time": 0, - "angle": -21.23, - "curve": [ 0.295, 0, 0.755, 0.98 ] - }, - { - "time": 0.5, - "angle": -27.28, - "curve": [ 0.241, 0, 0.75, 0.97 ] - }, - { "time": 1, "angle": -21.23 } - ] - }, - "left arm": { - "rotate": [ - { - "time": 0, - "angle": 28.37, - "curve": [ 0.339, 0, 0.683, 1 ] - }, - { - "time": 0.5, - "angle": 60.09, - "curve": [ 0.281, 0, 0.686, 0.99 ] - }, - { "time": 1, "angle": 28.37 } - ] - }, - "torso": { - "rotate": [ - { "time": 0, "angle": -10.28 }, - { - "time": 0.1333, - "angle": -15.38, - "curve": [ 0.545, 0, 0.818, 1 ] - }, - { - "time": 0.3666, - "angle": -9.78, - "curve": [ 0.58, 0.17, 0.669, 0.99 ] - }, - { - "time": 0.6333, - "angle": -15.75, - "curve": [ 0.235, 0.01, 0.795, 1 ] - }, - { - "time": 0.8666, - "angle": -7.06, - "curve": [ 0.209, 0, 0.816, 0.98 ] - }, - { "time": 1, "angle": -10.28 } - ], - "translate": [ - { "time": 0, "x": -3.72, "y": -0.01 } - ] - }, - "right foot": { - "rotate": [ - { "time": 0, "angle": -5.25 }, - { "time": 0.2333, "angle": -17.76 }, - { "time": 0.3666, "angle": -20.09 }, - { "time": 0.5, "angle": -19.73 }, - { "time": 0.7333, "angle": -11.68 }, - { "time": 0.8, "angle": 4.46 }, - { "time": 0.8666, "angle": 0.46 }, - { "time": 1, "angle": -5.25 } - ] - }, - "right lower leg": { - "rotate": [ - { - "time": 0, - "angle": -3.39, - "curve": [ 0.316, 0.01, 0.741, 0.98 ] - }, - { - "time": 0.1333, - "angle": -43.21, - "curve": [ 0.414, 0, 0.705, 0.99 ] - }, - { "time": 0.2333, "angle": -25.98 }, - { "time": 0.5, "angle": -19.53 }, - { "time": 0.6333, "angle": -64.8 }, - { - "time": 0.7333, - "angle": -89.54, - "curve": [ 0.557, 0.18, 1, 1 ] - }, - { "time": 1, "angle": -3.39 } - ], - "translate": [ - { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, - { "time": 0.5, "x": 0, "y": 0 }, - { "time": 0.6333, "x": 2.18, "y": 0.21 }, - { "time": 1, "x": 0, "y": 0 } - ] - }, - "hip": { - "rotate": [ - { "time": 0, "angle": 0, "curve": "stepped" }, - { "time": 1, "angle": 0 } - ], - "translate": [ - { "time": 0, "x": 0, "y": -8.4 }, - { - "time": 0.1333, - "x": 0, - "y": -9.35, - "curve": [ 0.326, 0.05, 0.674, 0.93 ] - }, - { - "time": 0.2333, - "x": 0, - "y": -0.59, - "curve": [ 0.325, 0.39, 0.643, 0.7 ] - }, - { "time": 0.3666, "x": 0, "y": -3.96 }, - { "time": 0.5, "x": 0, "y": -8.4 }, - { - "time": 0.6333, - "x": 0, - "y": -10, - "curve": [ 0.359, 0.47, 0.646, 0.74 ] - }, - { - "time": 0.7333, - "x": 0, - "y": -5.29, - "curve": [ 0.333, 0.36, 0.662, 0.69 ] - }, - { - "time": 0.8, - "x": 0, - "y": -2.49, - "curve": [ 0.322, 0.35, 0.651, 0.68 ] - }, - { "time": 0.8666, "x": 0, "y": -3.96 }, - { "time": 1, "x": 0, "y": -8.4 } - ] - }, - "neck": { - "rotate": [ - { "time": 0, "angle": 3.6 }, - { "time": 0.1333, "angle": 17.49 }, - { "time": 0.2333, "angle": 6.1 }, - { "time": 0.3666, "angle": 3.45 }, - { "time": 0.5, "angle": 5.17 }, - { "time": 0.6333, "angle": 18.36 }, - { "time": 0.7333, "angle": 6.09 }, - { "time": 0.8666, "angle": 2.28 }, - { "time": 1, "angle": 3.6 } - ] - }, - "head": { - "rotate": [ - { - "time": 0, - "angle": 3.6, - "curve": [ 0, 0, 0.704, 1.17 ] - }, - { "time": 0.1333, "angle": -0.2 }, - { "time": 0.2333, "angle": 6.1 }, - { "time": 0.3666, "angle": 3.45 }, - { - "time": 0.5, - "angle": 5.17, - "curve": [ 0, 0, 0.704, 1.61 ] - }, - { "time": 0.6666, "angle": 1.1 }, - { "time": 0.7333, "angle": 6.09 }, - { "time": 0.8666, "angle": 2.28 }, - { "time": 1, "angle": 3.6 } - ] - }, - "pelvis": { - "rotate": [ - { "time": 0, "angle": -1.33 } - ], - "translate": [ - { "time": 0, "x": 0.39, "y": -0.78 } - ] - }, - "spear1": { - "rotate": [ - { "time": 0, "angle": 1.84 }, - { "time": 0.2, "angle": -5.38 }, - { "time": 0.5, "angle": 2.95 }, - { "time": 0.7333, "angle": -3.67 }, - { "time": 1, "angle": 1.84 } - ] - }, - "spear2": { - "rotate": [ - { "time": 0, "angle": 1.84 }, - { "time": 0.2, "angle": -5.38 }, - { "time": 0.5, "angle": 2.95 }, - { "time": 0.7333, "angle": -3.67 }, - { "time": 1, "angle": 1.84 } - ] - }, - "spear3": { - "rotate": [ - { "time": 0, "angle": 3.64 }, - { "time": 0.2, "angle": -3.59 }, - { "time": 0.5, "angle": 4.74 }, - { "time": 0.7333, "angle": -1.87 }, - { "time": 1, "angle": 3.64 } - ] - } - }, - "ffd": { - "default": { - "left hand item": { - "spear": [ - { "time": 0 } - ] - }, - "right hand item": { - "dagger": [ - { - "time": 0, - "offset": 26, - "vertices": [ 2.34, 0.14 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.5, - "offset": 8, - "vertices": [ -1.19, 4.31, 0.07, 6.41, 1.66, 6.18, 1.75, 3.59 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 1, - "offset": 26, - "vertices": [ 2.34, 0.14 ] - } - ] - } - }, - "goblin": { - "head": { - "head": [ - { - "time": 0, - "curve": [ 0.632, 0, 0.75, 1 ] - }, - { - "time": 0.2, - "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08, -1.08, 0.08, -1.08, 0.08, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.3666, - "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09, 1.47, 0.09, 1.47, 0.09, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09 ], - "curve": [ 0.621, 0, 0.75, 1 ] - }, - { - "time": 0.7, - "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17, -1.17, -0.17, -1.17, -0.17, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { - "time": 0.8666, - "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08, 0.38, 0.08, 0.38, 0.08, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08 ], - "curve": [ 0.25, 0, 0.75, 1 ] - }, - { "time": 1 } - ] - }, - "left foot": { - "left foot": [ - { - "time": 0, - "offset": 8, - "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] - }, - { "time": 0.1333 }, - { - "time": 0.2333, - "offset": 8, - "vertices": [ -3.96, -2.34, -5.8, -12.47, -2.23, -12.99, 2.02, -9.1, 0, 0, 0, 0, 0, 0, -1.35, -5.28 ] - }, - { - "time": 0.3666, - "offset": 8, - "vertices": [ 0.66, 0.33, 0.33, 2.69, -0.48, 2.54, -1.13, 1.38, 0, 0, 0, 0, 0, 0, -0.11, 0.79 ] - }, - { "time": 0.5, "curve": "stepped" }, - { "time": 0.6333 }, - { - "time": 0.7333, - "offset": 8, - "vertices": [ -2.97, 9.4, -6.91, 19.92, -10.55, 18.41, -12.37, 12.38, -4.72, 6.3, 0, 0, -1.48, 4.88, -7.06, 10.7 ] - }, - { - "time": 0.8333, - "offset": 6, - "vertices": [ 1.05, 1.56, -2.52, 7.99, -5.52, 17.14, -8.93, 15.79, -10.73, 10.22, -4.23, 5.36, 0, 0, 0, 0, -5.83, 8.55 ] - }, - { - "time": 1, - "offset": 8, - "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] - } - ] - }, - "pelvis": { - "pelvis": [ - { "time": 0 }, - { - "time": 0.1333, - "offset": 6, - "vertices": [ -0.68, -4.13 ] - }, - { - "time": 0.3333, - "offset": 6, - "vertices": [ -1.04, -3.1 ] - }, - { - "time": 0.7, - "offset": 6, - "vertices": [ -1.42, -6.3 ] - }, - { - "time": 0.8666, - "offset": 6, - "vertices": [ -1.13, -1.79 ] - }, - { "time": 1 } - ] - }, - "right foot": { - "right foot": [ - { "time": 0 }, - { - "time": 0.1333, - "offset": 2, - "vertices": [ -2.81, 2.63, -2.35, 3.89, -1.99, 4.86, -0.93, 5.57, -0.48, 5.09, -0.34, 3.42, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31, 1.91, -1.32, 3.65 ] - }, - { - "time": 0.2333, - "offset": 2, - "vertices": [ -6.39, 6.41, -7.74, 8.27, -7.02, 11.35, -4.03, 13.93, -2.5, 12.62, -1.46, 7.58, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84, 2.61, -4.53, 7.92 ] - }, - { - "time": 0.3, - "offset": 2, - "vertices": [ -8.27, 6.68, -9.29, 10.13, -8.62, 14.71, -4.58, 18.81, -2.2, 17.1, -0.07, 9.9, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94, 2.38, -4.59, 10.01 ] - }, - { - "time": 0.3666, - "offset": 2, - "vertices": [ -10.47, 9.44, -13.36, 12.4, -14.32, 16.94, -9.24, 23.55, -5.51, 21.51, -1.19, 11.53, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14, 2.29, -6.63, 11.37 ] - }, - { - "time": 0.5, - "offset": 2, - "vertices": [ -5.42, 4.36, -10.59, 7.04, -11.64, 11.55, -6.19, 20.12, -1.45, 18.05, 4.86, 6.41, 2.81, 0.27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96, 4.94 ] - }, - { "time": 0.6333 }, - { - "time": 0.7333, - "offset": 4, - "vertices": [ 1.31, -6.84, -0.87, -12.54, -5.98, -14.08, -7.15, -11.63, -5.67, -4.83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06, -6.93 ] - }, - { - "time": 0.8, - "offset": 4, - "vertices": [ 0.65, -3.42, -0.43, -6.27, -2.99, -7.04, -3.57, -5.81, -2.83, -2.41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79, -1.28, 0, 0, 0, 0, -1.03, -3.46 ] - }, - { "time": 0.8666 } - ] - }, - "right hand": { - "right hand": [ - { - "time": 0, - "offset": 4, - "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] - }, - { "time": 0.5 }, - { - "time": 1, - "offset": 4, - "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] - } - ] - }, - "right lower leg": { - "right lower leg": [ - { "time": 0 }, - { - "time": 0.6, - "offset": 6, - "vertices": [ 1.8, -1.56 ] - }, - { "time": 1 } - ] - }, - "right upper leg": { - "right upper leg": [ - { - "time": 0, - "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] - }, - { "time": 0.3333 }, - { - "time": 0.8666, - "offset": 14, - "vertices": [ 0.13, -2.35, -1.33, -5.99, -1.35, -4.43 ] - }, - { - "time": 1, - "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] - } - ] - }, - "torso": { - "torso": [ - { - "time": 0, - "offset": 14, - "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] - }, - { - "time": 0.1333, - "offset": 14, - "vertices": [ 1.31, -0.59, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] - }, - { - "time": 0.3, - "offset": 14, - "vertices": [ 6.03, -3.13, 7.55, -1.38, 6.79, 0.31, 4.23, 1.14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.07, -5.16, 0, 0, 4, 0.27, 0, 0, 0, 0, 3.43, -3.52 ] - }, - { - "time": 0.5, - "offset": 14, - "vertices": [ 2.25, -0.87, 2.57, -0.56, 3.17, -0.57, 1.48, 0.99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.22, -4.43, 0, 0, 1.48, 0.01, 0, 0, 0, 0, 0.31, -3.28, -1.53, 0.17 ] - }, - { - "time": 0.6333, - "offset": 14, - "vertices": [ 0.75, -1.51, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] - }, - { - "time": 0.8666, - "offset": 14, - "vertices": [ 0.62, -1.26, 0.38, -2.2, 3.25, -0.5, 2.41, 2.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.66, -3.1, 0, 0, 2.3, -1.15, 0, 0, 0, 0, -0.07, -3.63, -0.93, 0.1 ] - }, - { - "time": 1, - "offset": 14, - "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] - } - ] - }, - "undie straps": { - "undie straps": [ - { - "time": 0, - "offset": 2, - "vertices": [ -1.77, 0.54, -0.96, -1.03, -0.39, -0.24, -1.77, 0.54 ] - }, - { - "time": 0.1333, - "offset": 2, - "vertices": [ -2.25, -1.03, -1.49, -4.23, -0.74, -2.84, -1.9, 0.54 ] - }, - { - "time": 0.3333, - "offset": 2, - "vertices": [ -2.37, -0.05, -0.49, 0.19, -0.9, 1.16, -1.6, 2.7, 0.96, 0.8 ] - }, - { - "time": 0.7, - "offset": 2, - "vertices": [ -0.91, -2.76, -0.62, -3.63, -0.84, -2.26, -2.56, 0.52 ] - }, - { - "time": 0.8666, - "offset": 2, - "vertices": [ -2.56, 0.52, -1.58, 0.32, -1.38, 0.32, -2.56, 0.52 ] - }, - { - "time": 1, - "offset": 2, - "vertices": [ -1.77, 0.54, -0.8, 0.53, -0.8, 0.53, -1.77, 0.54 ] - } - ] - }, - "undies": { - "undies": [ - { - "time": 0, - "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] - }, - { - "time": 0.1333, - "vertices": [ 0.72, 0.43, 7.2, -0.16, 1.37, 0, 1.37, 0, 1.37, 0, 1.25, 0.04, -0.99, -2.95, -1.37, -3.07, 1.37, 0, 0.35, -0.29, 2.99, -0.07, 3.9, -0.14 ] - }, - { - "time": 0.3333, - "vertices": [ 1.16, 0, 2.1, -0.23, 0, 0, 0, 0, 0, 0, 2.24, -0.24, -0.43, 0.6, -1.55, 0.48 ] - }, - { - "time": 0.5333, - "vertices": [ 1.16, 0, -0.23, -0.93, -2.92, 0.35, 0, 0, 0, 0, 0.49, -0.24, -0.64, -2.07, -0.64, -2.07 ] - }, - { - "time": 0.7, - "vertices": [ 1.86, -0.11, 4.66, -0.09, -1.76, 0.21, 0, 0, -0.56, 0.32, -1.13, -1.15, -2.19, -3.47, -1.29, -3.47, 0, 0, 0, 0, 1.58, -0.04, 2.65, 0.16 ] - }, - { - "time": 0.8333, - "vertices": [ 2.41, -0.2, 8.58, 0.58, -0.83, 0.1, 0, 0, -1.02, 0.59, -2.44, -1.87, -1.62, 0, 0, 0, 0, 0, 0, 0, 2.85, -0.08, 4.78, 0.3 ] - }, - { - "time": 0.8666, - "vertices": [ 2.01, -0.02, 8.98, 0.44, -0.2, 0.08, 0.45, 0, -0.35, 0.47, -1.84, -1.44, -0.79, 1.26, 0.53, 1.23, 0.45, 0, 0.11, -0.09, 3.28, -0.09, 5.13, 0.19 ] - }, - { - "time": 1, - "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] - } - ] - } - } - } - } -} -} \ No newline at end of file diff --git a/spine-cocos2dx/3.2/example/Resources/common/spineboy.json b/spine-cocos2dx/3.2/example/Resources/common/spineboy.json deleted file mode 100644 index 1ffa7aad5..000000000 --- a/spine-cocos2dx/3.2/example/Resources/common/spineboy.json +++ /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-cocos2dx/3.2/example/Resources/common/sprite.png b/spine-cocos2dx/3.2/example/Resources/common/sprite.png deleted file mode 100644 index 91dd46533..000000000 Binary files a/spine-cocos2dx/3.2/example/Resources/common/sprite.png and /dev/null differ diff --git a/spine-cocos2dx/3.2/example/Resources/ipad-retina/spineboy.atlas b/spine-cocos2dx/3.2/example/Resources/ipad-retina/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.2/example/Resources/ipad-retina/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.2/example/Resources/ipad/spineboy.atlas b/spine-cocos2dx/3.2/example/Resources/ipad/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.2/example/Resources/ipad/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.2/example/Resources/iphone-retina/spineboy.atlas b/spine-cocos2dx/3.2/example/Resources/iphone-retina/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.2/example/Resources/iphone-retina/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.2/example/Resources/iphone/spineboy.atlas b/spine-cocos2dx/3.2/example/Resources/iphone/spineboy.atlas deleted file mode 100644 index 19c0934b1..000000000 --- a/spine-cocos2dx/3.2/example/Resources/iphone/spineboy.atlas +++ /dev/null @@ -1,194 +0,0 @@ - -spineboy.png -format: RGBA8888 -filter: Linear,Linear -repeat: none -eye_indifferent - rotate: true - xy: 389, 5 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -eye_surprised - rotate: false - xy: 580, 34 - size: 56, 53 - orig: 56, 53 - offset: 0, 0 - index: -1 -front_bracer - rotate: false - xy: 732, 85 - size: 35, 48 - orig: 35, 48 - offset: 0, 0 - index: -1 -front_fist_closed - rotate: false - xy: 556, 91 - size: 45, 49 - orig: 45, 49 - offset: 0, 0 - index: -1 -front_fist_open - rotate: false - xy: 668, 32 - size: 52, 52 - orig: 52, 52 - offset: 0, 0 - index: -1 -front_foot - rotate: false - xy: 924, 201 - size: 76, 41 - orig: 76, 41 - offset: 0, 0 - index: -1 -front_foot_bend1 - rotate: false - xy: 845, 200 - size: 77, 42 - orig: 77, 42 - offset: 0, 0 - index: -1 -front_foot_bend2 - rotate: false - xy: 778, 186 - size: 65, 56 - orig: 65, 56 - offset: 0, 0 - index: -1 -front_shin - rotate: true - xy: 444, 91 - size: 49, 110 - orig: 49, 110 - offset: 0, 0 - index: -1 -front_thigh - rotate: true - xy: 603, 89 - size: 29, 67 - orig: 29, 67 - offset: 0, 0 - index: -1 -front_upper_arm - rotate: true - xy: 672, 86 - size: 32, 58 - orig: 32, 58 - offset: 0, 0 - index: -1 -goggles - rotate: false - xy: 444, 142 - size: 157, 100 - orig: 157, 100 - offset: 0, 0 - index: -1 -gun - rotate: false - xy: 603, 120 - size: 126, 122 - orig: 126, 122 - offset: 0, 0 - index: -1 -head - rotate: false - xy: 279, 63 - size: 163, 179 - orig: 163, 179 - offset: 0, 0 - index: -1 -mouth_grind - rotate: false - xy: 845, 163 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_oooo - rotate: false - xy: 842, 126 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -mouth_smile - rotate: false - xy: 769, 97 - size: 56, 35 - orig: 56, 35 - offset: 0, 0 - index: -1 -muzzle - rotate: false - xy: 2, 2 - size: 275, 240 - orig: 277, 240 - offset: 0, 0 - index: -1 -neck - rotate: false - xy: 903, 173 - size: 22, 25 - orig: 22, 25 - offset: 0, 0 - index: -1 -rear_bracer - rotate: false - xy: 722, 40 - size: 34, 43 - orig: 34, 43 - offset: 0, 0 - index: -1 -rear_foot - rotate: false - xy: 444, 11 - size: 68, 36 - orig: 68, 36 - offset: 0, 0 - index: -1 -rear_foot_bend1 - rotate: false - xy: 444, 49 - size: 70, 40 - orig: 70, 40 - offset: 0, 0 - index: -1 -rear_foot_bend2 - rotate: false - xy: 778, 134 - size: 62, 50 - orig: 62, 50 - offset: 0, 0 - index: -1 -rear_shin - rotate: false - xy: 731, 135 - size: 45, 107 - orig: 45, 107 - offset: 0, 0 - index: -1 -rear_thigh - rotate: true - xy: 516, 50 - size: 39, 62 - orig: 39, 62 - offset: 0, 0 - index: -1 -rear_upper_arm - rotate: false - xy: 638, 35 - size: 28, 52 - orig: 28, 52 - offset: 0, 0 - index: -1 -torso - rotate: true - xy: 279, 2 - size: 59, 108 - orig: 59, 108 - offset: 0, 0 - index: -1 diff --git a/spine-cocos2dx/3.2/example/proj.win32/main.cpp b/spine-cocos2dx/3.2/example/proj.win32/main.cpp deleted file mode 100644 index 801cba97d..000000000 --- a/spine-cocos2dx/3.2/example/proj.win32/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "main.h" -#include "../Classes/AppDelegate.h" - -USING_NS_CC; - -int APIENTRY _tWinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPTSTR lpCmdLine, - int nCmdShow) -{ - UNREFERENCED_PARAMETER(hPrevInstance); - UNREFERENCED_PARAMETER(lpCmdLine); - - // create the application instance - AppDelegate app; - - auto director = Director::getInstance(); - auto glview = GLView::create("Spine Example"); - glview->setFrameSize(960, 640); - director->setOpenGLView(glview); - return Application::getInstance()->run(); -} diff --git a/spine-cocos2dx/3.2/example/proj.win32/main.h b/spine-cocos2dx/3.2/example/proj.win32/main.h deleted file mode 100644 index 1eec81188..000000000 --- a/spine-cocos2dx/3.2/example/proj.win32/main.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef __MAIN_H__ -#define __MAIN_H__ - -#define WIN32_LEAN_AND_MEAN - -#include -#include - -#endif // __MAIN_H__ diff --git a/spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.sln b/spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.sln deleted file mode 100644 index 98c48b343..000000000 --- a/spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.sln +++ /dev/null @@ -1,53 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Express 2012 for Windows Desktop -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-cocos2dx", "spine-cocos2dx.vcxproj", "{DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}" - ProjectSection(ProjectDependencies) = postProject - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} = {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\cocos2dx\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\cocos2dx\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-c", "..\..\..\..\spine-c\spine-c.vcxproj", "{5D74934A-7512-45EE-8402-7B95D3642E85}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Debug|Win32.ActiveCfg = Debug|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Debug|Win32.Build.0 = Debug|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Release|Win32.ActiveCfg = Release|Win32 - {DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}.Release|Win32.Build.0 = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 - {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 - {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Debug|Win32.ActiveCfg = Debug|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Debug|Win32.Build.0 = Debug|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Release|Win32.ActiveCfg = Release|Win32 - {5D74934A-7512-45EE-8402-7B95D3642E85}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection - GlobalSection(DPCodeReviewSolutionGUID) = preSolution - DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} - EndGlobalSection -EndGlobal diff --git a/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.cpp b/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.cpp deleted file mode 100644 index 5ab0c1d71..000000000 --- a/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.cpp +++ /dev/null @@ -1,55 +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. - *****************************************************************************/ - -#include -#include - -USING_NS_CC; - -void _spAtlasPage_createTexture (spAtlasPage* self, const char* path) { - Texture2D* texture = Director::getInstance()->getTextureCache()->addImage(path); - texture->retain(); - self->rendererObject = texture; - self->width = texture->getPixelsWide(); - self->height = texture->getPixelsHigh(); -} - -void _spAtlasPage_disposeTexture (spAtlasPage* self) { - ((Texture2D*)self->rendererObject)->release(); -} - -char* _spUtil_readFile (const char* path, int* length) { - Data data = FileUtils::getInstance()->getDataFromFile( - FileUtils::getInstance()->fullPathForFilename(path).c_str()); - *length = data.getSize(); - char* bytes = MALLOC(char, *length); - memcpy(bytes, data.getBytes(), *length); - return bytes; -} diff --git a/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.h b/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.h deleted file mode 100644 index 3409012f3..000000000 --- a/spine-cocos2dx/3.2/src/spine/spine-cocos2dx.h +++ /dev/null @@ -1,39 +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. - *****************************************************************************/ - -#ifndef SPINE_COCOS2DX_H_ -#define SPINE_COCOS2DX_H_ - -#include -#include "cocos2d.h" -#include -#include - -#endif /* SPINE_COCOS2DX_H_ */ diff --git a/spine-cocos2dx/3.2/README.md b/spine-cocos2dx/3/README.md similarity index 100% rename from spine-cocos2dx/3.2/README.md rename to spine-cocos2dx/3/README.md diff --git a/spine-cocos2dx/3.1/cocos2dx/Place cocos2dx here.txt b/spine-cocos2dx/3/cocos2dx/Place cocos2dx here.txt similarity index 100% rename from spine-cocos2dx/3.1/cocos2dx/Place cocos2dx here.txt rename to spine-cocos2dx/3/cocos2dx/Place cocos2dx here.txt diff --git a/spine-cocos2dx/3.2/example/Classes/AppDelegate.cpp b/spine-cocos2dx/3/example/Classes/AppDelegate.cpp similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/AppDelegate.cpp rename to spine-cocos2dx/3/example/Classes/AppDelegate.cpp diff --git a/spine-cocos2dx/3.2/example/Classes/AppDelegate.h b/spine-cocos2dx/3/example/Classes/AppDelegate.h similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/AppDelegate.h rename to spine-cocos2dx/3/example/Classes/AppDelegate.h diff --git a/spine-cocos2dx/3.2/example/Classes/AppMacros.h b/spine-cocos2dx/3/example/Classes/AppMacros.h similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/AppMacros.h rename to spine-cocos2dx/3/example/Classes/AppMacros.h diff --git a/spine-cocos2dx/3.2/example/Classes/GoblinsExample.cpp b/spine-cocos2dx/3/example/Classes/GoblinsExample.cpp similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/GoblinsExample.cpp rename to spine-cocos2dx/3/example/Classes/GoblinsExample.cpp diff --git a/spine-cocos2dx/3.0/example/Classes/GoblinsExample.h b/spine-cocos2dx/3/example/Classes/GoblinsExample.h similarity index 100% rename from spine-cocos2dx/3.0/example/Classes/GoblinsExample.h rename to spine-cocos2dx/3/example/Classes/GoblinsExample.h diff --git a/spine-cocos2dx/3.2/example/Classes/RaptorExample.cpp b/spine-cocos2dx/3/example/Classes/RaptorExample.cpp similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/RaptorExample.cpp rename to spine-cocos2dx/3/example/Classes/RaptorExample.cpp diff --git a/spine-cocos2dx/3.2/example/Classes/RaptorExample.h b/spine-cocos2dx/3/example/Classes/RaptorExample.h similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/RaptorExample.h rename to spine-cocos2dx/3/example/Classes/RaptorExample.h diff --git a/spine-cocos2dx/3.2/example/Classes/SpineboyExample.cpp b/spine-cocos2dx/3/example/Classes/SpineboyExample.cpp similarity index 100% rename from spine-cocos2dx/3.2/example/Classes/SpineboyExample.cpp rename to spine-cocos2dx/3/example/Classes/SpineboyExample.cpp diff --git a/spine-cocos2dx/3.0/example/Classes/SpineboyExample.h b/spine-cocos2dx/3/example/Classes/SpineboyExample.h similarity index 100% rename from spine-cocos2dx/3.0/example/Classes/SpineboyExample.h rename to spine-cocos2dx/3/example/Classes/SpineboyExample.h diff --git a/spine-cocos2dx/3.0/example/Resources/common/goblins-ffd.json b/spine-cocos2dx/3/example/Resources/common/goblins-ffd.json similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/common/goblins-ffd.json rename to spine-cocos2dx/3/example/Resources/common/goblins-ffd.json diff --git a/spine-cocos2dx/3.2/example/Resources/common/raptor.atlas b/spine-cocos2dx/3/example/Resources/common/raptor.atlas similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/common/raptor.atlas rename to spine-cocos2dx/3/example/Resources/common/raptor.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/common/raptor.json b/spine-cocos2dx/3/example/Resources/common/raptor.json similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/common/raptor.json rename to spine-cocos2dx/3/example/Resources/common/raptor.json diff --git a/spine-cocos2dx/3.2/example/Resources/common/raptor.png b/spine-cocos2dx/3/example/Resources/common/raptor.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/common/raptor.png rename to spine-cocos2dx/3/example/Resources/common/raptor.png diff --git a/spine-cocos2dx/3.0/example/Resources/common/spineboy.json b/spine-cocos2dx/3/example/Resources/common/spineboy.json similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/common/spineboy.json rename to spine-cocos2dx/3/example/Resources/common/spineboy.json diff --git a/spine-cocos2dx/3.0/example/Resources/common/sprite.png b/spine-cocos2dx/3/example/Resources/common/sprite.png similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/common/sprite.png rename to spine-cocos2dx/3/example/Resources/common/sprite.png diff --git a/spine-cocos2dx/3.2/example/Resources/ipad-retina/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad-retina/goblins-ffd.atlas rename to spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/ipad-retina/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad-retina/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/ipad-retina/goblins-ffd.png diff --git a/spine-cocos2dx/3.0/example/Resources/ipad-retina/spineboy.atlas b/spine-cocos2dx/3/example/Resources/ipad-retina/spineboy.atlas similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/ipad-retina/spineboy.atlas rename to spine-cocos2dx/3/example/Resources/ipad-retina/spineboy.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/ipad-retina/spineboy.png b/spine-cocos2dx/3/example/Resources/ipad-retina/spineboy.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad-retina/spineboy.png rename to spine-cocos2dx/3/example/Resources/ipad-retina/spineboy.png diff --git a/spine-cocos2dx/3.2/example/Resources/ipad/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad/goblins-ffd.atlas rename to spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/ipad/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/ipad/goblins-ffd.png diff --git a/spine-cocos2dx/3.0/example/Resources/ipad/spineboy.atlas b/spine-cocos2dx/3/example/Resources/ipad/spineboy.atlas similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/ipad/spineboy.atlas rename to spine-cocos2dx/3/example/Resources/ipad/spineboy.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/ipad/spineboy.png b/spine-cocos2dx/3/example/Resources/ipad/spineboy.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/ipad/spineboy.png rename to spine-cocos2dx/3/example/Resources/ipad/spineboy.png diff --git a/spine-cocos2dx/3.2/example/Resources/iphone-retina/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone-retina/goblins-ffd.atlas rename to spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/iphone-retina/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone-retina/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/iphone-retina/goblins-ffd.png diff --git a/spine-cocos2dx/3.0/example/Resources/iphone-retina/spineboy.atlas b/spine-cocos2dx/3/example/Resources/iphone-retina/spineboy.atlas similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/iphone-retina/spineboy.atlas rename to spine-cocos2dx/3/example/Resources/iphone-retina/spineboy.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/iphone-retina/spineboy.png b/spine-cocos2dx/3/example/Resources/iphone-retina/spineboy.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone-retina/spineboy.png rename to spine-cocos2dx/3/example/Resources/iphone-retina/spineboy.png diff --git a/spine-cocos2dx/3.2/example/Resources/iphone/goblins-ffd.atlas b/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone/goblins-ffd.atlas rename to spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/iphone/goblins-ffd.png b/spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone/goblins-ffd.png rename to spine-cocos2dx/3/example/Resources/iphone/goblins-ffd.png diff --git a/spine-cocos2dx/3.0/example/Resources/iphone/spineboy.atlas b/spine-cocos2dx/3/example/Resources/iphone/spineboy.atlas similarity index 100% rename from spine-cocos2dx/3.0/example/Resources/iphone/spineboy.atlas rename to spine-cocos2dx/3/example/Resources/iphone/spineboy.atlas diff --git a/spine-cocos2dx/3.2/example/Resources/iphone/spineboy.png b/spine-cocos2dx/3/example/Resources/iphone/spineboy.png similarity index 100% rename from spine-cocos2dx/3.2/example/Resources/iphone/spineboy.png rename to spine-cocos2dx/3/example/Resources/iphone/spineboy.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.pbxproj b/spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.pbxproj similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.pbxproj rename to spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.pbxproj diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun-EyeCandy.xccheckout b/spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun-EyeCandy.xccheckout similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun-EyeCandy.xccheckout rename to spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun-EyeCandy.xccheckout diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun.xccheckout b/spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun.xccheckout similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun.xccheckout rename to spine-cocos2dx/3/example/proj.ios_mac/Spine.xcodeproj/project.xcworkspace/xcshareddata/LiquidFun.xccheckout diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/AppController.h b/spine-cocos2dx/3/example/proj.ios_mac/ios/AppController.h similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/AppController.h rename to spine-cocos2dx/3/example/proj.ios_mac/ios/AppController.h diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/AppController.mm b/spine-cocos2dx/3/example/proj.ios_mac/ios/AppController.mm similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/AppController.mm rename to spine-cocos2dx/3/example/proj.ios_mac/ios/AppController.mm diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default-568h@2x.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Default-568h@2x.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default-568h@2x.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Default-568h@2x.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Default.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Default.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default@2x.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Default@2x.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Default@2x.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Default@2x.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-100.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-100.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-100.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-100.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-114.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-114.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-114.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-114.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-120.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-120.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-120.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-120.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-144.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-144.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-144.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-144.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-152.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-152.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-152.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-152.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-29.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-29.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-29.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-29.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-40.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-40.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-40.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-40.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-50.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-50.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-50.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-50.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-57.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-57.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-57.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-57.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-58.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-58.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-58.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-58.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-72.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-72.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-72.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-72.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-76.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-76.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-76.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-76.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-80.png b/spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-80.png similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Icon-80.png rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Icon-80.png diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Info.plist b/spine-cocos2dx/3/example/proj.ios_mac/ios/Info.plist similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Info.plist rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Info.plist diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/Prefix.pch b/spine-cocos2dx/3/example/proj.ios_mac/ios/Prefix.pch similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/Prefix.pch rename to spine-cocos2dx/3/example/proj.ios_mac/ios/Prefix.pch diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/RootViewController.h b/spine-cocos2dx/3/example/proj.ios_mac/ios/RootViewController.h similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/RootViewController.h rename to spine-cocos2dx/3/example/proj.ios_mac/ios/RootViewController.h diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/RootViewController.mm b/spine-cocos2dx/3/example/proj.ios_mac/ios/RootViewController.mm similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/RootViewController.mm rename to spine-cocos2dx/3/example/proj.ios_mac/ios/RootViewController.mm diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/ios/main.m b/spine-cocos2dx/3/example/proj.ios_mac/ios/main.m similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/ios/main.m rename to spine-cocos2dx/3/example/proj.ios_mac/ios/main.m diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/mac/Icon.icns b/spine-cocos2dx/3/example/proj.ios_mac/mac/Icon.icns similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/mac/Icon.icns rename to spine-cocos2dx/3/example/proj.ios_mac/mac/Icon.icns diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/mac/Info.plist b/spine-cocos2dx/3/example/proj.ios_mac/mac/Info.plist similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/mac/Info.plist rename to spine-cocos2dx/3/example/proj.ios_mac/mac/Info.plist diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/mac/Prefix.pch b/spine-cocos2dx/3/example/proj.ios_mac/mac/Prefix.pch similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/mac/Prefix.pch rename to spine-cocos2dx/3/example/proj.ios_mac/mac/Prefix.pch diff --git a/spine-cocos2dx/3.2/example/proj.ios_mac/mac/main.cpp b/spine-cocos2dx/3/example/proj.ios_mac/mac/main.cpp similarity index 100% rename from spine-cocos2dx/3.2/example/proj.ios_mac/mac/main.cpp rename to spine-cocos2dx/3/example/proj.ios_mac/mac/main.cpp diff --git a/spine-cocos2dx/3.0/example/proj.win32/main.cpp b/spine-cocos2dx/3/example/proj.win32/main.cpp similarity index 100% rename from spine-cocos2dx/3.0/example/proj.win32/main.cpp rename to spine-cocos2dx/3/example/proj.win32/main.cpp diff --git a/spine-cocos2dx/3.0/example/proj.win32/main.h b/spine-cocos2dx/3/example/proj.win32/main.h similarity index 100% rename from spine-cocos2dx/3.0/example/proj.win32/main.h rename to spine-cocos2dx/3/example/proj.win32/main.h diff --git a/spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.sln b/spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.sln similarity index 100% rename from spine-cocos2dx/3.0/example/proj.win32/spine-cocos2dx.sln rename to spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.sln diff --git a/spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.vcxproj b/spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.vcxproj similarity index 100% rename from spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.vcxproj rename to spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.vcxproj diff --git a/spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.vcxproj.filters b/spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.vcxproj.filters similarity index 100% rename from spine-cocos2dx/3.2/example/proj.win32/spine-cocos2dx.vcxproj.filters rename to spine-cocos2dx/3/example/proj.win32/spine-cocos2dx.vcxproj.filters diff --git a/spine-cocos2dx/3.2/src/spine/PolygonBatch.cpp b/spine-cocos2dx/3/src/spine/PolygonBatch.cpp similarity index 100% rename from spine-cocos2dx/3.2/src/spine/PolygonBatch.cpp rename to spine-cocos2dx/3/src/spine/PolygonBatch.cpp diff --git a/spine-cocos2dx/3.2/src/spine/PolygonBatch.h b/spine-cocos2dx/3/src/spine/PolygonBatch.h similarity index 100% rename from spine-cocos2dx/3.2/src/spine/PolygonBatch.h rename to spine-cocos2dx/3/src/spine/PolygonBatch.h diff --git a/spine-cocos2dx/3.2/src/spine/SkeletonAnimation.cpp b/spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp similarity index 100% rename from spine-cocos2dx/3.2/src/spine/SkeletonAnimation.cpp rename to spine-cocos2dx/3/src/spine/SkeletonAnimation.cpp diff --git a/spine-cocos2dx/3.2/src/spine/SkeletonAnimation.h b/spine-cocos2dx/3/src/spine/SkeletonAnimation.h similarity index 100% rename from spine-cocos2dx/3.2/src/spine/SkeletonAnimation.h rename to spine-cocos2dx/3/src/spine/SkeletonAnimation.h diff --git a/spine-cocos2dx/3.2/src/spine/SkeletonRenderer.cpp b/spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp similarity index 100% rename from spine-cocos2dx/3.2/src/spine/SkeletonRenderer.cpp rename to spine-cocos2dx/3/src/spine/SkeletonRenderer.cpp diff --git a/spine-cocos2dx/3.2/src/spine/SkeletonRenderer.h b/spine-cocos2dx/3/src/spine/SkeletonRenderer.h similarity index 100% rename from spine-cocos2dx/3.2/src/spine/SkeletonRenderer.h rename to spine-cocos2dx/3/src/spine/SkeletonRenderer.h diff --git a/spine-cocos2dx/3.0/src/spine/spine-cocos2dx.cpp b/spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp similarity index 100% rename from spine-cocos2dx/3.0/src/spine/spine-cocos2dx.cpp rename to spine-cocos2dx/3/src/spine/spine-cocos2dx.cpp diff --git a/spine-cocos2dx/3.0/src/spine/spine-cocos2dx.h b/spine-cocos2dx/3/src/spine/spine-cocos2dx.h similarity index 100% rename from spine-cocos2dx/3.0/src/spine/spine-cocos2dx.h rename to spine-cocos2dx/3/src/spine/spine-cocos2dx.h