Browse Source

Merge branch 'vinova-master'

NathanSweet 12 năm trước cách đây
mục cha
commit
9d18556f15
85 tập tin đã thay đổi với 2538 bổ sung322 xóa
  1. 5 2
      .gitignore
  2. 0 0
      spine-cocos2dx/cocos2dx/Place cocos2dx here.txt
  3. 94 0
      spine-cocos2dx/example/Classes/AppDelegate.cpp
  4. 38 0
      spine-cocos2dx/example/Classes/AppDelegate.h
  5. 60 0
      spine-cocos2dx/example/Classes/AppMacros.h
  6. 4 3
      spine-cocos2dx/example/Classes/ExampleScene.cpp
  7. 0 0
      spine-cocos2dx/example/Classes/ExampleScene.h
  8. 204 0
      spine-cocos2dx/example/Resources/common/spineboy-bow.json
  9. 372 0
      spine-cocos2dx/example/Resources/common/spineboy-jump.json
  10. 13 10
      spine-cocos2dx/example/Resources/common/spineboy-skeleton.json
  11. 0 0
      spine-cocos2dx/example/Resources/common/spineboy-walk.json
  12. BIN
      spine-cocos2dx/example/Resources/iphone-retina/spineboy.png
  13. 93 87
      spine-cocos2dx/example/Resources/iphone-retina/spineboy.txt
  14. BIN
      spine-cocos2dx/example/Resources/iphone/spineboy.png
  15. 172 0
      spine-cocos2dx/example/Resources/iphone/spineboy.txt
  16. 33 0
      spine-cocos2dx/example/proj.ios/AppController.h
  17. 134 0
      spine-cocos2dx/example/proj.ios/AppController.mm
  18. BIN
      spine-cocos2dx/example/proj.ios/[email protected]
  19. BIN
      spine-cocos2dx/example/proj.ios/Default.png
  20. BIN
      spine-cocos2dx/example/proj.ios/[email protected]
  21. 65 0
      spine-cocos2dx/example/proj.ios/ExampleSpine-Info.plist
  22. 618 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.pbxproj
  23. 7 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  24. BIN
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/UserInterfaceState.xcuserstate
  25. 10 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/WorkspaceSettings.xcsettings
  26. 5 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  27. 86 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/HelloCpp.xcscheme
  28. 22 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/xcschememanagement.plist
  29. 8 0
      spine-cocos2dx/example/proj.ios/ExampleSpine_Prefix.pch
  30. BIN
      spine-cocos2dx/example/proj.ios/Icon-114.png
  31. BIN
      spine-cocos2dx/example/proj.ios/Icon-144.png
  32. BIN
      spine-cocos2dx/example/proj.ios/Icon-57.png
  33. BIN
      spine-cocos2dx/example/proj.ios/Icon-72.png
  34. 33 0
      spine-cocos2dx/example/proj.ios/RootViewController.h
  35. 94 0
      spine-cocos2dx/example/proj.ios/RootViewController.mm
  36. 17 0
      spine-cocos2dx/example/proj.ios/main.mm
  37. 23 0
      spine-cocos2dx/example/proj.win32/main.cpp
  38. 0 0
      spine-cocos2dx/example/proj.win32/main.h
  39. 6 6
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.sln
  40. 20 19
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj
  41. 123 129
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj.filters
  42. BIN
      spine-cocos2dx/example/raw/images/bow.png
  43. BIN
      spine-cocos2dx/example/raw/images/eyes-closed.png
  44. BIN
      spine-cocos2dx/example/raw/images/eyes.png
  45. BIN
      spine-cocos2dx/example/raw/images/head.png
  46. BIN
      spine-cocos2dx/example/raw/images/left-ankle.png
  47. BIN
      spine-cocos2dx/example/raw/images/left-arm.png
  48. BIN
      spine-cocos2dx/example/raw/images/left-foot.png
  49. BIN
      spine-cocos2dx/example/raw/images/left-hand.png
  50. BIN
      spine-cocos2dx/example/raw/images/left-lower-leg.png
  51. BIN
      spine-cocos2dx/example/raw/images/left-pant-bottom.png
  52. BIN
      spine-cocos2dx/example/raw/images/left-shoulder.png
  53. BIN
      spine-cocos2dx/example/raw/images/left-upper-leg.png
  54. BIN
      spine-cocos2dx/example/raw/images/neck.png
  55. 8 0
      spine-cocos2dx/example/raw/images/pack.json
  56. BIN
      spine-cocos2dx/example/raw/images/pelvis.png
  57. BIN
      spine-cocos2dx/example/raw/images/right-ankle.png
  58. BIN
      spine-cocos2dx/example/raw/images/right-arm.png
  59. BIN
      spine-cocos2dx/example/raw/images/right-foot-idle.png
  60. BIN
      spine-cocos2dx/example/raw/images/right-foot.png
  61. BIN
      spine-cocos2dx/example/raw/images/right-hand.png
  62. BIN
      spine-cocos2dx/example/raw/images/right-lower-leg.png
  63. BIN
      spine-cocos2dx/example/raw/images/right-pant-bottom.png
  64. BIN
      spine-cocos2dx/example/raw/images/right-shoulder.png
  65. BIN
      spine-cocos2dx/example/raw/images/right-upper-leg.png
  66. BIN
      spine-cocos2dx/example/raw/images/torso.png
  67. BIN
      spine-cocos2dx/example/raw/spineboy.project
  68. 171 0
      spine-cocos2dx/example/raw/spineboy.tps
  69. 0 0
      spine-cocos2dx/include/spine-cocos2dx/Atlas.h
  70. 0 0
      spine-cocos2dx/include/spine-cocos2dx/AtlasAttachmentLoader.h
  71. 0 0
      spine-cocos2dx/include/spine-cocos2dx/CCSkeleton.h
  72. 0 0
      spine-cocos2dx/include/spine-cocos2dx/RegionAttachment.h
  73. 0 0
      spine-cocos2dx/include/spine-cocos2dx/Skeleton.h
  74. 0 0
      spine-cocos2dx/include/spine-cocos2dx/SkeletonJson.h
  75. 0 0
      spine-cocos2dx/include/spine-cocos2dx/spine.h
  76. BIN
      spine-cocos2dx/spine-cocos2dx/data/spineboy.png
  77. 0 39
      spine-cocos2dx/spine-cocos2dx/example/AppDelegate.cpp
  78. 0 16
      spine-cocos2dx/spine-cocos2dx/example/AppDelegate.h
  79. 0 11
      spine-cocos2dx/spine-cocos2dx/proj.win32/main.cpp
  80. 0 0
      spine-cocos2dx/src/spine-cocos2dx/Atlas.cpp
  81. 0 0
      spine-cocos2dx/src/spine-cocos2dx/AtlasAttachmentLoader.cpp
  82. 0 0
      spine-cocos2dx/src/spine-cocos2dx/CCSkeleton.cpp
  83. 0 0
      spine-cocos2dx/src/spine-cocos2dx/RegionAttachment.cpp
  84. 0 0
      spine-cocos2dx/src/spine-cocos2dx/Skeleton.cpp
  85. 0 0
      spine-cocos2dx/src/spine-cocos2dx/SkeletonJson.cpp

+ 5 - 2
.gitignore

@@ -3,9 +3,12 @@ spine-sfml/Debug/*
 spine-libgdx/bin/*
 spine-libgdx/libs/*
 target
-*Debug.win32*
+*Debug.win32
 *.sdf
 *.opensdf
 *.user
 *.suo
-spine-cocos2dx/cocos2dx
+spine-cocos2dx/
+!spine-cocos2dx/Place cocos2dx here.txt
+*.swp
+.DS_Store

+ 0 - 0
spine-cocos2dx/cocos2dx/Place cocos2dx here.txt


+ 94 - 0
spine-cocos2dx/example/Classes/AppDelegate.cpp

@@ -0,0 +1,94 @@
+#include "AppDelegate.h"
+
+#include <vector>
+#include <string>
+
+#include "ExampleScene.h"
+#include "AppMacros.h"
+
+USING_NS_CC;
+using namespace std;
+
+AppDelegate::AppDelegate() {
+  
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+  // initialize director
+  CCDirector* pDirector = CCDirector::sharedDirector();
+  CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
+  
+  pDirector->setOpenGLView(pEGLView);
+  
+  // Set the design resolution
+  pEGLView->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, kResolutionNoBorder);
+  
+	CCSize frameSize = pEGLView->getFrameSize();
+  
+  vector<string> 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 the frame's height is larger than the height of medium resource size, select large resource.
+	if (frameSize.height > mediumResource.size.height)
+	{
+    searchPath.push_back(largeResource.directory);
+    
+    pDirector->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width));
+	}
+  // if the frame's height is larger than the height of small resource size, select medium resource.
+  else if (frameSize.height > smallResource.size.height)
+  {
+    searchPath.push_back(mediumResource.directory);
+    
+    pDirector->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width));
+  }
+  // if the frame's height is smaller than the height of medium resource size, select small resource.
+	else
+  {
+    searchPath.push_back(smallResource.directory);
+    
+    pDirector->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width));
+  }
+  
+  searchPath.push_back("common");
+  // set searching path
+  CCFileUtils::sharedFileUtils()->setSearchPaths(searchPath);
+	
+  // turn on display FPS
+  pDirector->setDisplayStats(true);
+  
+  // set FPS. the default value is 1.0/60 if you don't call this
+  pDirector->setAnimationInterval(1.0 / 60);
+  
+  // create a scene. it's an autorelease object
+  CCScene *pScene = ExampleScene::scene();
+  
+  // run
+  pDirector->runWithScene(pScene);
+  
+  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() {
+  CCDirector::sharedDirector()->stopAnimation();
+  
+  // if you use SimpleAudioEngine, it must be pause
+  // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+  CCDirector::sharedDirector()->startAnimation();
+  
+  // if you use SimpleAudioEngine, it must resume here
+  // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
+}

+ 38 - 0
spine-cocos2dx/example/Classes/AppDelegate.h

@@ -0,0 +1,38 @@
+#ifndef  _APP_DELEGATE_H_
+#define  _APP_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+ @brief    The cocos2d Application.
+ 
+ The reason for implement as private inheritance is to hide some interface call by CCDirector.
+ */
+class  AppDelegate : private cocos2d::CCApplication
+{
+public:
+  AppDelegate();
+  virtual ~AppDelegate();
+  
+  /**
+   @brief    Implement CCDirector and CCScene init code here.
+   @return true    Initialize success, app continue.
+   @return false   Initialize failed, app terminate.
+   */
+  virtual bool applicationDidFinishLaunching();
+  
+  /**
+   @brief  The function be called when the application enter background
+   @param  the pointer of the application
+   */
+  virtual void applicationDidEnterBackground();
+  
+  /**
+   @brief  The function be called when the application enter foreground
+   @param  the pointer of the application
+   */
+  virtual void applicationWillEnterForeground();
+};
+
+#endif // _APP_DELEGATE_H_
+

+ 60 - 0
spine-cocos2dx/example/Classes/AppMacros.h

@@ -0,0 +1,60 @@
+#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_480X320
+
+typedef struct tagResource
+{
+    cocos2d::CCSize size;
+    char directory[100];
+}Resource;
+
+static Resource smallResource  =  { cocos2d::CCSizeMake(480, 320),   "iphone" };
+static Resource mediumResource  =  { cocos2d::CCSizeMake(960, 640),   "iphone-retina" };
+static Resource largeResource =  { cocos2d::CCSizeMake(1024, 768),  "ipad"   };
+static Resource extralargeResource  =  { cocos2d::CCSizeMake(2048, 1536), "ipadhd" };
+
+#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320)
+static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(480, 320);
+#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_960x640)
+static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(960, 640);
+#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768)
+static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(1024, 768);
+#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536)
+static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(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::CCEGLView::sharedOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24)
+
+#endif /* __APPMACROS_H__ */

+ 4 - 3
spine-cocos2dx/spine-cocos2dx/example/ExampleScene.cpp → spine-cocos2dx/example/Classes/ExampleScene.cpp

@@ -17,10 +17,11 @@ CCScene* ExampleScene::scene() {
 bool ExampleScene::init() {
 	if (!CCLayer::init()) return false;
 
-	Atlas *atlas = new Atlas("../data/spineboy.atlas");
+	Atlas *atlas = new Atlas("spineboy.txt");
 	SkeletonJson json(atlas);
-	SkeletonData *skeletonData = json.readSkeletonData("../data/spineboy-skeleton.json");
-	Animation *animation = json.readAnimation("../data/spineboy-walk.json", skeletonData);
+  json.scale = 0.5;
+	SkeletonData *skeletonData = json.readSkeletonData("spineboy-skeleton.json");
+	Animation *animation = json.readAnimation("spineboy-walk.json", skeletonData);
 
 	CCSkeleton* skeletonNode = new CCSkeleton(skeletonData);
 	skeletonNode->state->setAnimation(animation, true);

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/example/ExampleScene.h → spine-cocos2dx/example/Classes/ExampleScene.h


+ 204 - 0
spine-cocos2dx/example/Resources/common/spineboy-bow.json

@@ -0,0 +1,204 @@
+{
+"bones": {
+	"torso": {
+		"rotate": [
+			{
+				"time": 0,
+				"angle": -16.96,
+				"curve": [ 0.356, 0.01, 0.827, 0.82 ]
+			},
+			{
+				"time": 0.7333,
+				"angle": -33.3,
+				"curve": [ 0.137, 0.2, 0.652, 0.86 ]
+			},
+			{ "time": 1.6, "angle": -8.18 },
+			{ "time": 2.3333, "angle": 1.82 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"neck": {
+		"rotate": [
+			{ "time": 0, "angle": 10.71 },
+			{
+				"time": 0.7333,
+				"angle": -12.37,
+				"curve": [ 0.137, 0.2, 0.652, 0.86 ]
+			},
+			{ "time": 2.3333, "angle": 12.74 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{
+				"time": 0.7333,
+				"x": -1.67,
+				"y": -3.3,
+				"curve": [ 0.137, 0.2, 0.652, 0.86 ]
+			},
+			{ "time": 2.3333, "x": -1.04, "y": -0.38 }
+		]
+	},
+	"head": {
+		"rotate": [
+			{ "time": 0, "angle": 12.63 },
+			{
+				"time": 0.7333,
+				"angle": 10.39,
+				"curve": [ 0.137, 0.2, 0.652, 0.86 ]
+			},
+			{ "time": 2.3333, "angle": -11.41 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{ "time": 0.7333, "x": -0.85, "y": -5.38 },
+			{ "time": 2.3333, "x": 1.02, "y": 4.99 }
+		]
+	},
+	"right shoulder": {
+		"rotate": [
+			{ "time": 0, "angle": -7.36 },
+			{ "time": 0.7333, "angle": -229.15 },
+			{ "time": 1.9666, "angle": -12.04 },
+			{ "time": 2.5666, "angle": -39.4 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{ "time": 0.7333, "x": -3.78, "y": -8.32 },
+			{
+				"time": 1.2666,
+				"x": -2.26,
+				"y": 1.26,
+				"curve": [ 0.08, 0.08, 0.75, 1 ]
+			},
+			{ "time": 1.9666, "x": -5.25, "y": 7.6 },
+			{ "time": 2.5666, "x": -5.58, "y": 13.32 }
+		]
+	},
+	"right arm": {
+		"rotate": [
+			{ "time": 0, "angle": 6.19 },
+			{ "time": 0.7333, "angle": 19.54 },
+			{
+				"time": 1.2666,
+				"angle": 90.5,
+				"curve": [ 0.08, 0.08, 0.75, 1 ]
+			},
+			{ "time": 1.9666, "angle": 124.15 },
+			{ "time": 2.5666, "angle": 133.59 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"left shoulder": {
+		"rotate": [
+			{ "time": 0, "angle": -21.47 },
+			{ "time": 0.7333, "angle": 94.34 },
+			{
+				"time": 1.4333,
+				"angle": 60.17,
+				"curve": [ 0.08, 0.08, 0.75, 1 ]
+			},
+			{ "time": 1.8666, "angle": 78.57 },
+			{ "time": 2.3333, "angle": 68.5 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{ "time": 0.7333, "x": -8.29, "y": 5.93 },
+			{ "time": 1.8666, "x": -4.3, "y": -5.12 }
+		]
+	},
+	"left arm": {
+		"rotate": [
+			{ "time": 0, "angle": 56.2 },
+			{ "time": 0.7333, "angle": -28.44 },
+			{
+				"time": 1.2666,
+				"angle": -10.8,
+				"curve": [ 0.08, 0.08, 0.75, 1 ]
+			},
+			{ "time": 1.8666, "angle": -43.07 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{ "time": 1.8666, "x": 2.71, "y": 0.13 }
+		]
+	},
+	"right hand": {
+		"rotate": [
+			{ "time": 0, "angle": 0 },
+			{ "time": 0.7333, "angle": -18.22 },
+			{
+				"time": 1.2666,
+				"angle": -33.49,
+				"curve": [ 0.08, 0.08, 0.75, 1 ]
+			},
+			{ "time": 1.9666, "angle": -3.98 },
+			{ "time": 2.5666, "angle": 1.45 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"left hand": {
+		"rotate": [
+			{ "time": 0, "angle": 0 },
+			{ "time": 0.7333, "angle": -30.39 },
+			{ "time": 1.9666, "angle": -11.61 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 },
+			{ "time": 1.8666, "x": 2.71, "y": -0.04 }
+		]
+	},
+	"hip": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"left upper leg": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"left lower leg": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"left foot": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"right upper leg": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"right lower leg": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	},
+	"right foot": {
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0 }
+		]
+	}
+},
+"slots": {
+	"left hand item": {
+		"attachment": [
+			{ "time": 0, "name": "bow" }
+		]
+	},
+	"left hand": {
+		"attachment": [
+			{ "time": 0, "name": null }
+		]
+	}
+}
+}

+ 372 - 0
spine-cocos2dx/example/Resources/common/spineboy-jump.json

@@ -0,0 +1,372 @@
+{
+"bones": {
+	"hip": {
+		"rotate": [
+			{ "time": 0, "angle": 0, "curve": "stepped" },
+			{ "time": 0.9333, "angle": 0, "curve": "stepped" },
+			{ "time": 1.3666, "angle": 0 }
+		],
+		"translate": [
+			{ "time": 0, "x": -11.57, "y": -3 },
+			{ "time": 0.2333, "x": -16.2, "y": -19.43 },
+			{ "time": 0.3333, "x": 7.66, "y": -8.47 },
+			{ "time": 0.3666, "x": 15.38, "y": 5.01 },
+			{ "time": 0.4666, "x": -7.84, "y": 57.22 },
+			{ "time": 0.6, "x": -10.81, "y": 96.34 },
+			{ "time": 0.7332, "x": -7.01, "y": 54.7 },
+			{ "time": 0.8, "x": -10.58, "y": 32.2 },
+			{ "time": 0.9333, "x": -31.99, "y": 0.45 },
+			{ "time": 1.0666, "x": -12.48, "y": -29.47 },
+			{ "time": 1.3666, "x": -11.57, "y": -3 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left upper leg": {
+		"rotate": [
+			{ "time": 0, "angle": 17.12 },
+			{ "time": 0.2333, "angle": 44.35 },
+			{ "time": 0.3333, "angle": 16.45 },
+			{ "time": 0.4, "angle": -9.88 },
+			{ "time": 0.4666, "angle": -11.42 },
+			{ "time": 0.5666, "angle": 23.46 },
+			{ "time": 0.7666, "angle": 71.82 },
+			{ "time": 0.9333, "angle": 65.53 },
+			{ "time": 1.0666, "angle": 51.01 },
+			{ "time": 1.3666, "angle": 17.12 }
+		],
+		"translate": [
+			{ "time": 0, "x": -3, "y": -2.25, "curve": "stepped" },
+			{ "time": 0.9333, "x": -3, "y": -2.25, "curve": "stepped" },
+			{ "time": 1.3666, "x": -3, "y": -2.25 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left lower leg": {
+		"rotate": [
+			{ "time": 0, "angle": -16.25 },
+			{ "time": 0.2333, "angle": -52.21 },
+			{ "time": 0.4, "angle": 15.04 },
+			{ "time": 0.4666, "angle": -8.95 },
+			{ "time": 0.5666, "angle": -39.53 },
+			{ "time": 0.7666, "angle": -27.27 },
+			{ "time": 0.9333, "angle": -3.52 },
+			{ "time": 1.0666, "angle": -61.92 },
+			{ "time": 1.3666, "angle": -16.25 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left foot": {
+		"rotate": [
+			{ "time": 0, "angle": 0.33 },
+			{ "time": 0.2333, "angle": 6.2 },
+			{ "time": 0.3333, "angle": 14.73 },
+			{ "time": 0.4, "angle": -15.54 },
+			{ "time": 0.4333, "angle": -21.2 },
+			{ "time": 0.5666, "angle": -7.55 },
+			{ "time": 0.7666, "angle": -0.67 },
+			{ "time": 0.9333, "angle": -0.58 },
+			{ "time": 1.0666, "angle": 14.64 },
+			{ "time": 1.3666, "angle": 0.33 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right upper leg": {
+		"rotate": [
+			{ "time": 0, "angle": 25.97 },
+			{ "time": 0.2333, "angle": 46.43 },
+			{ "time": 0.3333, "angle": 22.61 },
+			{ "time": 0.4, "angle": 2.13 },
+			{ "time": 0.4666, "angle": 0.04 },
+			{ "time": 0.6, "angle": 65.55 },
+			{ "time": 0.7666, "angle": 64.93 },
+			{ "time": 0.9333, "angle": 41.08 },
+			{ "time": 1.0666, "angle": 66.25 },
+			{ "time": 1.3666, "angle": 25.97 }
+		],
+		"translate": [
+			{ "time": 0, "x": 5.74, "y": 0.61 },
+			{ "time": 0.2333, "x": 4.79, "y": 1.79 },
+			{ "time": 0.3333, "x": 6.05, "y": -4.55 },
+			{ "time": 0.9333, "x": 4.79, "y": 1.79, "curve": "stepped" },
+			{ "time": 1.0666, "x": 4.79, "y": 1.79 },
+			{ "time": 1.3666, "x": 5.74, "y": 0.61 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right lower leg": {
+		"rotate": [
+			{ "time": 0, "angle": -27.46 },
+			{ "time": 0.2333, "angle": -64.03 },
+			{ "time": 0.4, "angle": -48.36 },
+			{ "time": 0.5666, "angle": -76.86 },
+			{ "time": 0.7666, "angle": -26.89 },
+			{ "time": 0.9, "angle": -18.96 },
+			{ "time": 0.9333, "angle": -14.18 },
+			{ "time": 1.0666, "angle": -80.44 },
+			{ "time": 1.3666, "angle": -27.46 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right foot": {
+		"rotate": [
+			{ "time": 0, "angle": 1.08 },
+			{ "time": 0.2333, "angle": 16.02 },
+			{ "time": 0.3, "angle": 12.94 },
+			{ "time": 0.3333, "angle": 15.16 },
+			{ "time": 0.4, "angle": -14.7 },
+			{ "time": 0.4333, "angle": -12.85 },
+			{ "time": 0.4666, "angle": -19.18 },
+			{ "time": 0.5666, "angle": -15.82 },
+			{ "time": 0.6, "angle": -3.59 },
+			{ "time": 0.7666, "angle": -3.56 },
+			{ "time": 0.9333, "angle": 1.86 },
+			{ "time": 1.0666, "angle": 16.02 },
+			{ "time": 1.3666, "angle": 1.08 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"torso": {
+		"rotate": [
+			{ "time": 0, "angle": -13.35 },
+			{ "time": 0.2333, "angle": -48.95 },
+			{ "time": 0.4333, "angle": -35.77 },
+			{ "time": 0.6, "angle": -4.59 },
+			{ "time": 0.7666, "angle": 14.61 },
+			{ "time": 0.9333, "angle": 15.74 },
+			{ "time": 1.0666, "angle": -32.43 },
+			{ "time": 1.3666, "angle": -13.35 }
+		],
+		"translate": [
+			{ "time": 0, "x": -3.67, "y": 1.68, "curve": "stepped" },
+			{ "time": 0.9333, "x": -3.67, "y": 1.68, "curve": "stepped" },
+			{ "time": 1.3666, "x": -3.67, "y": 1.68 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"neck": {
+		"rotate": [
+			{ "time": 0, "angle": 12.78 },
+			{ "time": 0.2333, "angle": 16.45 },
+			{ "time": 0.4, "angle": 26.49 },
+			{ "time": 0.6, "angle": 15.51 },
+			{ "time": 0.7666, "angle": 1.34 },
+			{ "time": 0.9333, "angle": 2.34 },
+			{ "time": 1.0666, "angle": 6.08 },
+			{ "time": 1.3, "angle": 21.23 },
+			{ "time": 1.3666, "angle": 12.78 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"head": {
+		"rotate": [
+			{ "time": 0, "angle": 5.19 },
+			{ "time": 0.2333, "angle": 20.27 },
+			{ "time": 0.4, "angle": 15.27 },
+			{ "time": 0.6, "angle": -24.69 },
+			{ "time": 0.7666, "angle": -11.02 },
+			{ "time": 0.9333, "angle": -24.38 },
+			{ "time": 1.0666, "angle": 11.99 },
+			{ "time": 1.3, "angle": 4.86 },
+			{ "time": 1.3666, "angle": 5.19 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left shoulder": {
+		"rotate": [
+			{ "time": 0, "angle": 0.05 },
+			{ "time": 0.2333, "angle": 279.66 },
+			{ "time": 0.5, "angle": 62.27 },
+			{ "time": 0.9333, "angle": 28.91 },
+			{ "time": 1.0666, "angle": -8.62 },
+			{ "time": 1.1666, "angle": -18.43 },
+			{ "time": 1.3666, "angle": 0.05 }
+		],
+		"translate": [
+			{ "time": 0, "x": -1.76, "y": 0.56, "curve": "stepped" },
+			{ "time": 0.9333, "x": -1.76, "y": 0.56, "curve": "stepped" },
+			{ "time": 1.3666, "x": -1.76, "y": 0.56 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left hand": {
+		"rotate": [
+			{ "time": 0, "angle": 11.58, "curve": "stepped" },
+			{ "time": 0.9333, "angle": 11.58, "curve": "stepped" },
+			{ "time": 1.3666, "angle": 11.58 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"left arm": {
+		"rotate": [
+			{ "time": 0, "angle": 0.51 },
+			{ "time": 0.4333, "angle": 12.82 },
+			{ "time": 0.6, "angle": 47.55 },
+			{ "time": 0.9333, "angle": 12.82 },
+			{ "time": 1.1666, "angle": -6.5 },
+			{ "time": 1.3666, "angle": 0.51 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right shoulder": {
+		"rotate": [
+			{ "time": 0, "angle": 43.82 },
+			{ "time": 0.2333, "angle": -8.74 },
+			{ "time": 0.5333, "angle": -208.02 },
+			{ "time": 0.9333, "angle": -246.72 },
+			{ "time": 1.0666, "angle": -307.13 },
+			{ "time": 1.1666, "angle": 37.15 },
+			{ "time": 1.3666, "angle": 43.82 }
+		],
+		"translate": [
+			{ "time": 0, "x": -7.84, "y": 7.19, "curve": "stepped" },
+			{ "time": 0.9333, "x": -7.84, "y": 7.19, "curve": "stepped" },
+			{ "time": 1.3666, "x": -7.84, "y": 7.19 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right arm": {
+		"rotate": [
+			{ "time": 0, "angle": -4.02 },
+			{ "time": 0.6, "angle": 17.5 },
+			{ "time": 0.9333, "angle": -4.02 },
+			{ "time": 1.1666, "angle": -16.71 },
+			{ "time": 1.3666, "angle": -4.02 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"right hand": {
+		"rotate": [
+			{ "time": 0, "angle": 22.92, "curve": "stepped" },
+			{ "time": 0.9333, "angle": 22.92, "curve": "stepped" },
+			{ "time": 1.3666, "angle": 22.92 }
+		],
+		"translate": [
+			{ "time": 0, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" },
+			{ "time": 1.3666, "x": 0, "y": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 0.9333, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	},
+	"root": {
+		"rotate": [
+			{ "time": 0, "angle": 0 },
+			{ "time": 0.4333, "angle": -14.52 },
+			{ "time": 0.8, "angle": 9.85 },
+			{ "time": 1.3666, "angle": 0 }
+		],
+		"scale": [
+			{ "time": 0, "x": 1, "y": 1, "curve": "stepped" },
+			{ "time": 1.3666, "x": 1, "y": 1 }
+		]
+	}
+}
+}

+ 13 - 10
spine-cocos2dx/spine-cocos2dx/data/spineboy-skeleton.json → spine-cocos2dx/example/Resources/common/spineboy-skeleton.json

@@ -1,7 +1,7 @@
 {
 "bones": [
-	{ "name": "root", "length": 0 },
-	{ "name": "hip", "parent": "root", "length": 0, "x": 0.64, "y": 114.41 },
+	{ "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": "left lower leg", "parent": "left upper leg", "length": 56.45, "x": 51.78, "y": 3.46, "rotation": -16.65 },
 	{ "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 64.02, "y": -8.67, "rotation": 102.43 },
@@ -15,16 +15,15 @@
 	{ "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 49.95, "y": -0.12, "rotation": 40.12 },
 	{ "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 },
 	{ "name": "left shoulder", "parent": "torso", "length": 44.19, "x": 78.96, "y": -15.75, "rotation": -156.96 },
-	{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 28.16 },
+	{ "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 44.19, "y": -0.01, "rotation": 44.77 },
 	{ "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 },
-	{ "name": "pelvis", "parent": "hip", "length": 0, "x": 1.41, "y": -6.57 }
+	{ "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }
 ],
 "slots": [
-	{ "name": "template", "bone": "root", "color": "ff898c86" },
 	{ "name": "left shoulder", "bone": "left shoulder", "attachment": "left-shoulder" },
 	{ "name": "left arm", "bone": "left arm", "attachment": "left-arm" },
-	{ "name": "left hand", "bone": "left hand", "attachment": "left-hand" },
 	{ "name": "left foot", "bone": "left foot", "attachment": "left-foot" },
+	{ "name": "left hand", "bone": "left hand", "attachment": "left-hand" },
 	{ "name": "left lower leg", "bone": "left lower leg", "attachment": "left-lower-leg" },
 	{ "name": "left upper leg", "bone": "left upper leg", "attachment": "left-upper-leg" },
 	{ "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" },
@@ -37,7 +36,8 @@
 	{ "name": "eyes", "bone": "head", "attachment": "eyes" },
 	{ "name": "right shoulder", "bone": "right shoulder", "attachment": "right-shoulder" },
 	{ "name": "right arm", "bone": "right arm", "attachment": "right-arm" },
-	{ "name": "right hand", "bone": "right hand", "attachment": "right-hand" }
+	{ "name": "right hand", "bone": "right hand", "attachment": "right-hand" },
+	{ "name": "left hand item", "bone": "left hand" }
 ],
 "skins": {
 	"default": {
@@ -47,12 +47,12 @@
 		"left arm": {
 			"left-arm": { "x": 15.11, "y": -0.44, "rotation": 33.84, "width": 35, "height": 29 }
 		},
-		"left hand": {
-			"left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 }
-		},
 		"left foot": {
 			"left-foot": { "x": 24.35, "y": 8.88, "rotation": 3.32, "width": 65, "height": 30 }
 		},
+		"left hand": {
+			"left-hand": { "x": 0.75, "y": 1.86, "rotation": 31.14, "width": 35, "height": 38 }
+		},
 		"left lower leg": {
 			"left-lower-leg": { "x": 24.55, "y": -1.92, "rotation": 105.75, "width": 49, "height": 64 }
 		},
@@ -92,6 +92,9 @@
 		},
 		"right hand": {
 			"right-hand": { "x": 6.82, "y": 1.25, "rotation": 91.96, "width": 32, "height": 32 }
+		},
+		"left hand item": {
+			"bow": { "x": -20.35, "y": 9.68, "rotation": 4.85, "width": 65, "height": 261 }
 		}
 	}
 }

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/data/spineboy-walk.json → spine-cocos2dx/example/Resources/common/spineboy-walk.json


BIN
spine-cocos2dx/example/Resources/iphone-retina/spineboy.png


+ 93 - 87
spine-cocos2dx/spine-cocos2dx/data/spineboy.atlas → spine-cocos2dx/example/Resources/iphone-retina/spineboy.txt

@@ -1,165 +1,171 @@
-
-../data/spineboy.png
+spineboy.png
 format: RGBA8888
-filter: Nearest,Nearest
+filter: Linear,Linear
 repeat: none
-head
+left-ankle
   rotate: false
-  xy: 1, 122
-  size: 121, 132
-  orig: 121, 132
+  xy: 67, 644
+  size: 25, 32
+  orig: 25, 32
   offset: 0, 0
   index: -1
-torso
+left-lower-leg
   rotate: false
-  xy: 1, 28
-  size: 68, 92
-  orig: 68, 92
+  xy: 74, 208
+  size: 49, 64
+  orig: 49, 64
   offset: 0, 0
   index: -1
 left-pant-bottom
   rotate: false
-  xy: 1, 4
+  xy: 69, 567
   size: 44, 22
   orig: 44, 22
   offset: 0, 0
   index: -1
-right-pant-bottom
+right-shoulder
   rotate: false
-  xy: 47, 8
-  size: 46, 18
-  orig: 46, 18
+  xy: 71, 274
+  size: 52, 51
+  orig: 52, 51
   offset: 0, 0
   index: -1
-right-upper-leg
+right-ankle
   rotate: false
-  xy: 71, 50
-  size: 44, 70
-  orig: 44, 70
+  xy: 94, 628
+  size: 25, 30
+  orig: 25, 30
   offset: 0, 0
   index: -1
-pelvis
+right-pant-bottom
   rotate: false
-  xy: 95, 1
-  size: 63, 47
-  orig: 63, 47
+  xy: 69, 524
+  size: 46, 18
+  orig: 46, 18
   offset: 0, 0
   index: -1
-left-upper-leg
+head
   rotate: false
-  xy: 117, 53
-  size: 33, 67
-  orig: 33, 67
+  xy: 2, 2
+  size: 121, 132
+  orig: 121, 132
   offset: 0, 0
   index: -1
-right-foot
-  rotate: false
-  xy: 160, 224
-  size: 67, 30
-  orig: 67, 30
+eyes
+  rotate: true
+  xy: 96, 136
+  size: 27, 34
+  orig: 34, 27
   offset: 0, 0
   index: -1
-left-shoulder
-  rotate: false
-  xy: 124, 201
-  size: 34, 53
-  orig: 34, 53
+eyes-closed
+  rotate: true
+  xy: 96, 172
+  size: 27, 34
+  orig: 34, 27
   offset: 0, 0
   index: -1
-left-ankle
-  rotate: false
-  xy: 229, 222
-  size: 25, 32
-  orig: 25, 32
+torso
+  rotate: true
+  xy: 2, 136
+  size: 92, 68
+  orig: 68, 92
   offset: 0, 0
   index: -1
 left-foot
   rotate: false
-  xy: 160, 192
+  xy: 2, 582
   size: 65, 30
   orig: 65, 30
   offset: 0, 0
   index: -1
 neck
   rotate: false
-  xy: 124, 171
+  xy: 33, 614
   size: 34, 28
   orig: 34, 28
   offset: 0, 0
   index: -1
-right-arm
+right-foot
   rotate: false
-  xy: 124, 124
-  size: 21, 45
-  orig: 21, 45
+  xy: 2, 287
+  size: 67, 30
+  orig: 67, 30
   offset: 0, 0
   index: -1
-right-ankle
-  rotate: false
-  xy: 227, 190
-  size: 25, 30
-  orig: 25, 30
+left-shoulder
+  rotate: true
+  xy: 69, 327
+  size: 53, 34
+  orig: 34, 53
   offset: 0, 0
   index: -1
-left-hand
-  rotate: false
-  xy: 147, 131
-  size: 35, 38
-  orig: 35, 38
+right-upper-leg
+  rotate: true
+  xy: 2, 206
+  size: 70, 44
+  orig: 44, 70
   offset: 0, 0
   index: -1
 left-arm
-  rotate: false
-  xy: 184, 161
-  size: 35, 29
+  rotate: true
+  xy: 2, 628
+  size: 29, 35
   orig: 35, 29
   offset: 0, 0
   index: -1
-eyes-closed
-  rotate: false
-  xy: 221, 161
-  size: 34, 27
-  orig: 34, 27
+left-hand
+  rotate: true
+  xy: 69, 591
+  size: 38, 35
+  orig: 35, 38
   offset: 0, 0
   index: -1
-right-lower-leg
+bow
   rotate: false
-  xy: 152, 65
-  size: 51, 64
-  orig: 51, 64
+  xy: 2, 319
+  size: 65, 261
+  orig: 65, 261
+  offset: 0, 0
+  index: -1
+right-arm
+  rotate: true
+  xy: 69, 544
+  size: 45, 21
+  orig: 21, 45
   offset: 0, 0
   index: -1
 right-foot-idle
   rotate: false
-  xy: 184, 131
+  xy: 69, 363
   size: 53, 28
   orig: 53, 28
   offset: 0, 0
   index: -1
-left-lower-leg
+right-lower-leg
   rotate: false
-  xy: 205, 65
-  size: 49, 64
-  orig: 49, 64
+  xy: 69, 393
+  size: 51, 64
+  orig: 51, 64
   offset: 0, 0
   index: -1
-right-shoulder
-  rotate: false
-  xy: 160, 12
-  size: 52, 51
-  orig: 52, 51
+pelvis
+  rotate: true
+  xy: 69, 459
+  size: 47, 63
+  orig: 63, 47
   offset: 0, 0
   index: -1
-eyes
-  rotate: false
-  xy: 214, 36
-  size: 34, 27
-  orig: 34, 27
+left-upper-leg
+  rotate: true
+  xy: 2, 252
+  size: 67, 33
+  orig: 33, 67
   offset: 0, 0
   index: -1
 right-hand
   rotate: false
-  xy: 214, 2
+  xy: 33, 644
   size: 32, 32
   orig: 32, 32
   offset: 0, 0

BIN
spine-cocos2dx/example/Resources/iphone/spineboy.png


+ 172 - 0
spine-cocos2dx/example/Resources/iphone/spineboy.txt

@@ -0,0 +1,172 @@
+spineboy.png
+format: RGBA8888
+filter: Linear,Linear
+repeat: none
+left-ankle
+  rotate: true
+  xy: 168, 92
+  size: 16, 13
+  orig: 13, 16
+  offset: 0, 0
+  index: -1
+left-lower-leg
+  rotate: false
+  xy: 101, 37
+  size: 25, 32
+  orig: 25, 32
+  offset: 0, 0
+  index: -1
+left-pant-bottom
+  rotate: false
+  xy: 152, 61
+  size: 22, 11
+  orig: 22, 11
+  offset: 0, 0
+  index: -1
+right-shoulder
+  rotate: false
+  xy: 127, 74
+  size: 26, 26
+  orig: 26, 26
+  offset: 0, 0
+  index: -1
+right-ankle
+  rotate: false
+  xy: 148, 107
+  size: 13, 15
+  orig: 13, 15
+  offset: 0, 0
+  index: -1
+right-pant-bottom
+  rotate: true
+  xy: 152, 36
+  size: 9, 23
+  orig: 23, 9
+  offset: 0, 0
+  index: -1
+head
+  rotate: false
+  xy: 2, 37
+  size: 61, 66
+  orig: 61, 66
+  offset: 0, 0
+  index: -1
+eyes
+  rotate: true
+  xy: 112, 105
+  size: 14, 17
+  orig: 17, 14
+  offset: 0, 0
+  index: -1
+eyes-closed
+  rotate: false
+  xy: 163, 107
+  size: 17, 14
+  orig: 17, 14
+  offset: 0, 0
+  index: -1
+torso
+  rotate: false
+  xy: 65, 37
+  size: 34, 46
+  orig: 34, 46
+  offset: 0, 0
+  index: -1
+left-foot
+  rotate: true
+  xy: 163, 2
+  size: 15, 33
+  orig: 33, 15
+  offset: 0, 0
+  index: -1
+neck
+  rotate: true
+  xy: 96, 105
+  size: 14, 17
+  orig: 17, 14
+  offset: 0, 0
+  index: -1
+right-foot
+  rotate: false
+  xy: 65, 85
+  size: 34, 15
+  orig: 34, 15
+  offset: 0, 0
+  index: -1
+left-shoulder
+  rotate: true
+  xy: 38, 105
+  size: 27, 17
+  orig: 17, 27
+  offset: 0, 0
+  index: -1
+right-upper-leg
+  rotate: false
+  xy: 128, 37
+  size: 22, 35
+  orig: 22, 35
+  offset: 0, 0
+  index: -1
+left-arm
+  rotate: true
+  xy: 163, 37
+  size: 15, 18
+  orig: 18, 15
+  offset: 0, 0
+  index: -1
+left-hand
+  rotate: false
+  xy: 128, 102
+  size: 18, 19
+  orig: 18, 19
+  offset: 0, 0
+  index: -1
+bow
+  rotate: true
+  xy: 2, 2
+  size: 131, 33
+  orig: 33, 131
+  offset: 0, 0
+  index: -1
+right-arm
+  rotate: false
+  xy: 155, 74
+  size: 11, 23
+  orig: 11, 23
+  offset: 0, 0
+  index: -1
+right-foot-idle
+  rotate: false
+  xy: 67, 102
+  size: 27, 14
+  orig: 27, 14
+  offset: 0, 0
+  index: -1
+right-lower-leg
+  rotate: false
+  xy: 135, 2
+  size: 26, 32
+  orig: 26, 32
+  offset: 0, 0
+  index: -1
+pelvis
+  rotate: true
+  xy: 101, 71
+  size: 24, 32
+  orig: 32, 24
+  offset: 0, 0
+  index: -1
+left-upper-leg
+  rotate: true
+  xy: 2, 105
+  size: 34, 17
+  orig: 17, 34
+  offset: 0, 0
+  index: -1
+right-hand
+  rotate: false
+  xy: 168, 74
+  size: 16, 16
+  orig: 16, 16
+  offset: 0, 0
+  index: -1

+ 33 - 0
spine-cocos2dx/example/proj.ios/AppController.h

@@ -0,0 +1,33 @@
+/****************************************************************************
+ Copyright (c) 2010 cocos2d-x.org
+ 
+ http://www.cocos2d-x.org
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+@class RootViewController;
+
+@interface AppController : NSObject <UIAccelerometerDelegate, UIAlertViewDelegate, UITextFieldDelegate,UIApplicationDelegate> {
+    UIWindow *window;
+    RootViewController    *viewController;
+}
+
+@end
+

+ 134 - 0
spine-cocos2dx/example/proj.ios/AppController.mm

@@ -0,0 +1,134 @@
+/****************************************************************************
+ Copyright (c) 2010 cocos2d-x.org
+ 
+ http://www.cocos2d-x.org
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+#import <UIKit/UIKit.h>
+#import "AppController.h"
+#import "cocos2d.h"
+#import "EAGLView.h"
+#import "AppDelegate.h"
+
+#import "RootViewController.h"
+
+@implementation AppController
+
+#pragma mark -
+#pragma mark Application lifecycle
+
+// cocos2d application instance
+static AppDelegate s_sharedApplication;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
+    
+    // Override point for customization after application launch.
+
+    // Add the view controller's view to the window and display.
+    window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
+    EAGLView *__glView = [EAGLView viewWithFrame: [window bounds]
+                                        pixelFormat: kEAGLColorFormatRGBA8
+                                        depthFormat: GL_DEPTH_COMPONENT16
+                                 preserveBackbuffer: NO
+                                                                                 sharegroup:nil
+                                                                          multiSampling:NO
+                                                                    numberOfSamples:0];
+    
+    // Use RootViewController manage EAGLView 
+    viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
+    viewController.wantsFullScreenLayout = YES;
+    viewController.view = __glView;
+
+    // Set RootViewController to window
+    if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
+    {
+        // warning: addSubView doesn't work on iOS6
+        [window addSubview: viewController.view];
+    }
+    else
+    {
+        // use this method on ios6
+        [window setRootViewController:viewController];
+    }
+    
+    [window makeKeyAndVisible];
+
+    [[UIApplication sharedApplication] setStatusBarHidden: YES];
+    
+    cocos2d::CCApplication::sharedApplication()->run();
+    return YES;
+}
+
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+    /*
+     Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+     Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+     */
+    cocos2d::CCDirector::sharedDirector()->pause();
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+    /*
+     Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+     */
+    cocos2d::CCDirector::sharedDirector()->resume();
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application {
+    /*
+     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
+     If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
+     */
+    cocos2d::CCApplication::sharedApplication()->applicationDidEnterBackground();
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application {
+    /*
+     Called as part of  transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
+     */
+    cocos2d::CCApplication::sharedApplication()->applicationWillEnterForeground();
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+    /*
+     Called when the application is about to terminate.
+     See also applicationDidEnterBackground:.
+     */
+}
+
+
+#pragma mark -
+#pragma mark Memory management
+
+- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
+    /*
+     Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later.
+     */
+}
+
+
+- (void)dealloc {
+    [super dealloc];
+}
+
+
+@end
+

BIN
spine-cocos2dx/example/proj.ios/[email protected]


BIN
spine-cocos2dx/example/proj.ios/Default.png


BIN
spine-cocos2dx/example/proj.ios/[email protected]


+ 65 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine-Info.plist

@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>English</string>
+	<key>CFBundleDisplayName</key>
+	<string>ExampleSpine</string>
+	<key>CFBundleExecutable</key>
+	<string>ExampleSpine</string>
+	<key>CFBundleIconFile</key>
+	<string>Icon-57.png</string>
+	<key>CFBundleIconFiles</key>
+	<array>
+		<string>Icon.png</string>
+		<string>[email protected]</string>
+		<string>Icon-57.png</string>
+		<string>Icon-114.png</string>
+		<string>Icon-72.png</string>
+		<string>Icon-144.png</string>
+	</array>
+	<key>CFBundleIcons</key>
+	<dict>
+		<key>CFBundlePrimaryIcon</key>
+		<dict>
+			<key>CFBundleIconFiles</key>
+			<array>
+				<string>Icon.png</string>
+				<string>[email protected]</string>
+				<string>Icon-57.png</string>
+				<string>Icon-114.png</string>
+				<string>Icon-72.png</string>
+				<string>Icon-144.png</string>
+			</array>
+			<key>UIPrerenderedIcon</key>
+			<true/>
+		</dict>
+	</dict>
+	<key>CFBundleIdentifier</key>
+	<string>org.cocos2d-x.ExampleSpine</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>ExampleSpine</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string></string>
+	<key>CFBundleSignature</key>
+	<string>????</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>LSRequiresIPhoneOS</key>
+	<true/>
+	<key>NSMainNibFile</key>
+	<string></string>
+	<key>UIPrerenderedIcon</key>
+	<true/>
+	<key>UISupportedInterfaceOrientations</key>
+	<array>
+		<string>UIInterfaceOrientationLandscapeRight</string>
+		<string>UIInterfaceOrientationLandscapeLeft</string>
+	</array>
+</dict>
+</plist>

+ 618 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.pbxproj

@@ -0,0 +1,618 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+		288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+		2FC812261700449A00A93590 /* iphone in Resources */ = {isa = PBXBuildFile; fileRef = 2FC812241700449A00A93590 /* iphone */; };
+		2FC812271700449A00A93590 /* iphone-retina in Resources */ = {isa = PBXBuildFile; fileRef = 2FC812251700449A00A93590 /* iphone-retina */; };
+		2FC812291700479600A93590 /* common in Resources */ = {isa = PBXBuildFile; fileRef = 2FC812281700479600A93590 /* common */; };
+		2FEE8527170030A20013E4C9 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE8522170030A20013E4C9 /* AppDelegate.cpp */; };
+		2FEE8528170030A20013E4C9 /* ExampleScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE8525170030A20013E4C9 /* ExampleScene.cpp */; };
+		2FEE85931700331D0013E4C9 /* Atlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE858D1700331D0013E4C9 /* Atlas.cpp */; };
+		2FEE85941700331D0013E4C9 /* AtlasAttachmentLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE858E1700331D0013E4C9 /* AtlasAttachmentLoader.cpp */; };
+		2FEE85951700331D0013E4C9 /* CCSkeleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE858F1700331D0013E4C9 /* CCSkeleton.cpp */; };
+		2FEE85961700331D0013E4C9 /* RegionAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85901700331D0013E4C9 /* RegionAttachment.cpp */; };
+		2FEE85971700331D0013E4C9 /* Skeleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85911700331D0013E4C9 /* Skeleton.cpp */; };
+		2FEE85981700331D0013E4C9 /* SkeletonJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85921700331D0013E4C9 /* SkeletonJson.cpp */; };
+		2FEE85B91700333C0013E4C9 /* json_internalarray.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2FEE85B31700333C0013E4C9 /* json_internalarray.inl */; };
+		2FEE85BA1700333C0013E4C9 /* json_internalmap.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2FEE85B41700333C0013E4C9 /* json_internalmap.inl */; };
+		2FEE85BB1700333C0013E4C9 /* json_reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85B51700333C0013E4C9 /* json_reader.cpp */; };
+		2FEE85BC1700333C0013E4C9 /* json_value.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85B61700333C0013E4C9 /* json_value.cpp */; };
+		2FEE85BD1700333C0013E4C9 /* json_valueiterator.inl in Resources */ = {isa = PBXBuildFile; fileRef = 2FEE85B71700333C0013E4C9 /* json_valueiterator.inl */; };
+		2FEE85BE1700333C0013E4C9 /* json_writer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85B81700333C0013E4C9 /* json_writer.cpp */; };
+		2FEE85CC170033410013E4C9 /* Animation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85BF170033410013E4C9 /* Animation.cpp */; };
+		2FEE85CD170033410013E4C9 /* AnimationState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C0170033410013E4C9 /* AnimationState.cpp */; };
+		2FEE85CE170033410013E4C9 /* AnimationStateData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C1170033410013E4C9 /* AnimationStateData.cpp */; };
+		2FEE85CF170033410013E4C9 /* BaseAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C2170033410013E4C9 /* BaseAtlas.cpp */; };
+		2FEE85D0170033410013E4C9 /* BaseRegionAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C3170033410013E4C9 /* BaseRegionAttachment.cpp */; };
+		2FEE85D1170033410013E4C9 /* BaseSkeleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C4170033410013E4C9 /* BaseSkeleton.cpp */; };
+		2FEE85D2170033410013E4C9 /* BaseSkeletonJson.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C5170033410013E4C9 /* BaseSkeletonJson.cpp */; };
+		2FEE85D3170033410013E4C9 /* Bone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C6170033410013E4C9 /* Bone.cpp */; };
+		2FEE85D4170033410013E4C9 /* BoneData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C7170033410013E4C9 /* BoneData.cpp */; };
+		2FEE85D5170033410013E4C9 /* SkeletonData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C8170033410013E4C9 /* SkeletonData.cpp */; };
+		2FEE85D6170033410013E4C9 /* Skin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85C9170033410013E4C9 /* Skin.cpp */; };
+		2FEE85D7170033410013E4C9 /* Slot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85CA170033410013E4C9 /* Slot.cpp */; };
+		2FEE85D8170033410013E4C9 /* SlotData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2FEE85CB170033410013E4C9 /* SlotData.cpp */; };
+		4319B8781700D68D00C1D7A9 /* libcocos2dx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4319B8771700D66C00C1D7A9 /* libcocos2dx.a */; };
+		BF1373EF128A898400D9F789 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF492D4B1289302400A09262 /* OpenGLES.framework */; };
+		BF1373F0128A899500D9F789 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF492C21128924A800A09262 /* libxml2.dylib */; };
+		BF1373F1128A899E00D9F789 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF492B6912891AC600A09262 /* libz.dylib */; };
+		BF13742F128A8E6A00D9F789 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF137426128A8E4600D9F789 /* QuartzCore.framework */; };
+		BF365AA812A103F70050DCF4 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF365AA712A103F70050DCF4 /* AppController.mm */; };
+		BF4DE6AD138BB89600CF907D /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = BF4DE6AC138BB89600CF907D /* RootViewController.mm */; };
+		D446FD79161028E9000ADA7B /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = D446FD78161028E9000ADA7B /* Default.png */; };
+		D446FD7B161028ED000ADA7B /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = D446FD7A161028ED000ADA7B /* [email protected] */; };
+		D446FD7D161028F4000ADA7B /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = D446FD7C161028F4000ADA7B /* [email protected] */; };
+		D4ABB4B313B4395300552E6E /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = D4ABB4B213B4395300552E6E /* main.mm */; };
+		D4EF94E815BD319200D803EB /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = D4EF94E715BD319200D803EB /* Icon-57.png */; };
+		D4EF94EA15BD319500D803EB /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = D4EF94E915BD319500D803EB /* Icon-114.png */; };
+		D4EF94EC15BD319B00D803EB /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = D4EF94EB15BD319B00D803EB /* Icon-72.png */; };
+		D4EF94EE15BD319D00D803EB /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = D4EF94ED15BD319D00D803EB /* Icon-144.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		4319B8761700D66C00C1D7A9 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 4319B86F1700D66C00C1D7A9 /* cocos2dx.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 1551A33F158F2AB200E66CFE;
+			remoteInfo = cocos2dx;
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		1D6058910D05DD3D006BFB54 /* ExampleSpine.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ExampleSpine.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+		288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+		2FC812241700449A00A93590 /* iphone */ = {isa = PBXFileReference; lastKnownFileType = folder; path = iphone; sourceTree = "<group>"; };
+		2FC812251700449A00A93590 /* iphone-retina */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "iphone-retina"; sourceTree = "<group>"; };
+		2FC812281700479600A93590 /* common */ = {isa = PBXFileReference; lastKnownFileType = folder; path = common; sourceTree = "<group>"; };
+		2FEE8522170030A20013E4C9 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = "<group>"; };
+		2FEE8523170030A20013E4C9 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+		2FEE8524170030A20013E4C9 /* AppMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppMacros.h; sourceTree = "<group>"; };
+		2FEE8525170030A20013E4C9 /* ExampleScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExampleScene.cpp; sourceTree = "<group>"; };
+		2FEE8526170030A20013E4C9 /* ExampleScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExampleScene.h; sourceTree = "<group>"; };
+		2FEE8586170033180013E4C9 /* Atlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Atlas.h; path = "../../include/spine-cocos2dx/Atlas.h"; sourceTree = "<group>"; };
+		2FEE8587170033180013E4C9 /* AtlasAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtlasAttachmentLoader.h; path = "../../include/spine-cocos2dx/AtlasAttachmentLoader.h"; sourceTree = "<group>"; };
+		2FEE8588170033180013E4C9 /* CCSkeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCSkeleton.h; path = "../../include/spine-cocos2dx/CCSkeleton.h"; sourceTree = "<group>"; };
+		2FEE8589170033180013E4C9 /* RegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegionAttachment.h; path = "../../include/spine-cocos2dx/RegionAttachment.h"; sourceTree = "<group>"; };
+		2FEE858A170033180013E4C9 /* Skeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skeleton.h; path = "../../include/spine-cocos2dx/Skeleton.h"; sourceTree = "<group>"; };
+		2FEE858B170033180013E4C9 /* SkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonJson.h; path = "../../include/spine-cocos2dx/SkeletonJson.h"; sourceTree = "<group>"; };
+		2FEE858C170033180013E4C9 /* spine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spine.h; path = "../../include/spine-cocos2dx/spine.h"; sourceTree = "<group>"; };
+		2FEE858D1700331D0013E4C9 /* Atlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Atlas.cpp; path = "../../src/spine-cocos2dx/Atlas.cpp"; sourceTree = "<group>"; };
+		2FEE858E1700331D0013E4C9 /* AtlasAttachmentLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AtlasAttachmentLoader.cpp; path = "../../src/spine-cocos2dx/AtlasAttachmentLoader.cpp"; sourceTree = "<group>"; };
+		2FEE858F1700331D0013E4C9 /* CCSkeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCSkeleton.cpp; path = "../../src/spine-cocos2dx/CCSkeleton.cpp"; sourceTree = "<group>"; };
+		2FEE85901700331D0013E4C9 /* RegionAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegionAttachment.cpp; path = "../../src/spine-cocos2dx/RegionAttachment.cpp"; sourceTree = "<group>"; };
+		2FEE85911700331D0013E4C9 /* Skeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Skeleton.cpp; path = "../../src/spine-cocos2dx/Skeleton.cpp"; sourceTree = "<group>"; };
+		2FEE85921700331D0013E4C9 /* SkeletonJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkeletonJson.cpp; path = "../../src/spine-cocos2dx/SkeletonJson.cpp"; sourceTree = "<group>"; };
+		2FEE859B170033310013E4C9 /* autolink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = autolink.h; path = "../../../spine-cpp/include/json/autolink.h"; sourceTree = "<group>"; };
+		2FEE859C170033310013E4C9 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config.h; path = "../../../spine-cpp/include/json/config.h"; sourceTree = "<group>"; };
+		2FEE859D170033310013E4C9 /* features.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = features.h; path = "../../../spine-cpp/include/json/features.h"; sourceTree = "<group>"; };
+		2FEE859E170033310013E4C9 /* forwards.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = forwards.h; path = "../../../spine-cpp/include/json/forwards.h"; sourceTree = "<group>"; };
+		2FEE859F170033310013E4C9 /* json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json.h; path = "../../../spine-cpp/include/json/json.h"; sourceTree = "<group>"; };
+		2FEE85A0170033310013E4C9 /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = reader.h; path = "../../../spine-cpp/include/json/reader.h"; sourceTree = "<group>"; };
+		2FEE85A1170033310013E4C9 /* value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = value.h; path = "../../../spine-cpp/include/json/value.h"; sourceTree = "<group>"; };
+		2FEE85A2170033310013E4C9 /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = writer.h; path = "../../../spine-cpp/include/json/writer.h"; sourceTree = "<group>"; };
+		2FEE85A3170033370013E4C9 /* Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Animation.h; path = "../../../spine-cpp/include/spine/Animation.h"; sourceTree = "<group>"; };
+		2FEE85A4170033370013E4C9 /* AnimationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationState.h; path = "../../../spine-cpp/include/spine/AnimationState.h"; sourceTree = "<group>"; };
+		2FEE85A5170033370013E4C9 /* AnimationStateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationStateData.h; path = "../../../spine-cpp/include/spine/AnimationStateData.h"; sourceTree = "<group>"; };
+		2FEE85A6170033370013E4C9 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Attachment.h; path = "../../../spine-cpp/include/spine/Attachment.h"; sourceTree = "<group>"; };
+		2FEE85A7170033370013E4C9 /* BaseAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseAtlas.h; path = "../../../spine-cpp/include/spine/BaseAtlas.h"; sourceTree = "<group>"; };
+		2FEE85A8170033370013E4C9 /* BaseAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseAttachmentLoader.h; path = "../../../spine-cpp/include/spine/BaseAttachmentLoader.h"; sourceTree = "<group>"; };
+		2FEE85A9170033370013E4C9 /* BaseRegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseRegionAttachment.h; path = "../../../spine-cpp/include/spine/BaseRegionAttachment.h"; sourceTree = "<group>"; };
+		2FEE85AA170033370013E4C9 /* BaseSkeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseSkeleton.h; path = "../../../spine-cpp/include/spine/BaseSkeleton.h"; sourceTree = "<group>"; };
+		2FEE85AB170033370013E4C9 /* BaseSkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BaseSkeletonJson.h; path = "../../../spine-cpp/include/spine/BaseSkeletonJson.h"; sourceTree = "<group>"; };
+		2FEE85AC170033370013E4C9 /* Bone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bone.h; path = "../../../spine-cpp/include/spine/Bone.h"; sourceTree = "<group>"; };
+		2FEE85AD170033370013E4C9 /* BoneData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoneData.h; path = "../../../spine-cpp/include/spine/BoneData.h"; sourceTree = "<group>"; };
+		2FEE85AE170033370013E4C9 /* SkeletonData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonData.h; path = "../../../spine-cpp/include/spine/SkeletonData.h"; sourceTree = "<group>"; };
+		2FEE85AF170033370013E4C9 /* Skin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skin.h; path = "../../../spine-cpp/include/spine/Skin.h"; sourceTree = "<group>"; };
+		2FEE85B0170033370013E4C9 /* Slot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Slot.h; path = "../../../spine-cpp/include/spine/Slot.h"; sourceTree = "<group>"; };
+		2FEE85B1170033370013E4C9 /* SlotData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlotData.h; path = "../../../spine-cpp/include/spine/SlotData.h"; sourceTree = "<group>"; };
+		2FEE85B21700333C0013E4C9 /* json_batchallocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_batchallocator.h; path = "../../../spine-cpp/src/json/json_batchallocator.h"; sourceTree = "<group>"; };
+		2FEE85B31700333C0013E4C9 /* json_internalarray.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_internalarray.inl; path = "../../../spine-cpp/src/json/json_internalarray.inl"; sourceTree = "<group>"; };
+		2FEE85B41700333C0013E4C9 /* json_internalmap.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_internalmap.inl; path = "../../../spine-cpp/src/json/json_internalmap.inl"; sourceTree = "<group>"; };
+		2FEE85B51700333C0013E4C9 /* json_reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_reader.cpp; path = "../../../spine-cpp/src/json/json_reader.cpp"; sourceTree = "<group>"; };
+		2FEE85B61700333C0013E4C9 /* json_value.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_value.cpp; path = "../../../spine-cpp/src/json/json_value.cpp"; sourceTree = "<group>"; };
+		2FEE85B71700333C0013E4C9 /* json_valueiterator.inl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = json_valueiterator.inl; path = "../../../spine-cpp/src/json/json_valueiterator.inl"; sourceTree = "<group>"; };
+		2FEE85B81700333C0013E4C9 /* json_writer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = json_writer.cpp; path = "../../../spine-cpp/src/json/json_writer.cpp"; sourceTree = "<group>"; };
+		2FEE85BF170033410013E4C9 /* Animation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Animation.cpp; path = "../../../spine-cpp/src/spine/Animation.cpp"; sourceTree = "<group>"; };
+		2FEE85C0170033410013E4C9 /* AnimationState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationState.cpp; path = "../../../spine-cpp/src/spine/AnimationState.cpp"; sourceTree = "<group>"; };
+		2FEE85C1170033410013E4C9 /* AnimationStateData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationStateData.cpp; path = "../../../spine-cpp/src/spine/AnimationStateData.cpp"; sourceTree = "<group>"; };
+		2FEE85C2170033410013E4C9 /* BaseAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseAtlas.cpp; path = "../../../spine-cpp/src/spine/BaseAtlas.cpp"; sourceTree = "<group>"; };
+		2FEE85C3170033410013E4C9 /* BaseRegionAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseRegionAttachment.cpp; path = "../../../spine-cpp/src/spine/BaseRegionAttachment.cpp"; sourceTree = "<group>"; };
+		2FEE85C4170033410013E4C9 /* BaseSkeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseSkeleton.cpp; path = "../../../spine-cpp/src/spine/BaseSkeleton.cpp"; sourceTree = "<group>"; };
+		2FEE85C5170033410013E4C9 /* BaseSkeletonJson.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BaseSkeletonJson.cpp; path = "../../../spine-cpp/src/spine/BaseSkeletonJson.cpp"; sourceTree = "<group>"; };
+		2FEE85C6170033410013E4C9 /* Bone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Bone.cpp; path = "../../../spine-cpp/src/spine/Bone.cpp"; sourceTree = "<group>"; };
+		2FEE85C7170033410013E4C9 /* BoneData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BoneData.cpp; path = "../../../spine-cpp/src/spine/BoneData.cpp"; sourceTree = "<group>"; };
+		2FEE85C8170033410013E4C9 /* SkeletonData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkeletonData.cpp; path = "../../../spine-cpp/src/spine/SkeletonData.cpp"; sourceTree = "<group>"; };
+		2FEE85C9170033410013E4C9 /* Skin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Skin.cpp; path = "../../../spine-cpp/src/spine/Skin.cpp"; sourceTree = "<group>"; };
+		2FEE85CA170033410013E4C9 /* Slot.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Slot.cpp; path = "../../../spine-cpp/src/spine/Slot.cpp"; sourceTree = "<group>"; };
+		2FEE85CB170033410013E4C9 /* SlotData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlotData.cpp; path = "../../../spine-cpp/src/spine/SlotData.cpp"; sourceTree = "<group>"; };
+		4319B86F1700D66C00C1D7A9 /* cocos2dx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2dx.xcodeproj; path = ../../cocos2dx/proj.ios/cocos2dx.xcodeproj; sourceTree = "<group>"; };
+		781C33B11547F06B00633F88 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
+		781C33B31547F06B00633F88 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+		781C33B51547F06B00633F88 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+		BF137426128A8E4600D9F789 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+		BF365AA612A103F70050DCF4 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
+		BF365AA712A103F70050DCF4 /* AppController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = "<group>"; };
+		BF492B6912891AC600A09262 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+		BF492C21128924A800A09262 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
+		BF492D4B1289302400A09262 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
+		BF4DE6AB138BB89600CF907D /* RootViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
+		BF4DE6AC138BB89600CF907D /* RootViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RootViewController.mm; sourceTree = "<group>"; };
+		D446FD78161028E9000ADA7B /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = ../proj.ios/Default.png; sourceTree = "<group>"; };
+		D446FD7A161028ED000ADA7B /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "[email protected]"; path = "../proj.ios/[email protected]"; sourceTree = "<group>"; };
+		D446FD7C161028F4000ADA7B /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "[email protected]"; path = "../proj.ios/[email protected]"; sourceTree = "<group>"; };
+		D4ABB4B213B4395300552E6E /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
+		D4EF94E715BD319200D803EB /* Icon-57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-57.png"; path = "../proj.ios/Icon-57.png"; sourceTree = "<group>"; };
+		D4EF94E915BD319500D803EB /* Icon-114.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-114.png"; path = "../proj.ios/Icon-114.png"; sourceTree = "<group>"; };
+		D4EF94EB15BD319B00D803EB /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "../proj.ios/Icon-72.png"; sourceTree = "<group>"; };
+		D4EF94ED15BD319D00D803EB /* Icon-144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-144.png"; path = "../proj.ios/Icon-144.png"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				4319B8781700D68D00C1D7A9 /* libcocos2dx.a in Frameworks */,
+				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
+				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
+				288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
+				BF1373EF128A898400D9F789 /* OpenGLES.framework in Frameworks */,
+				BF1373F0128A899500D9F789 /* libxml2.dylib in Frameworks */,
+				BF1373F1128A899E00D9F789 /* libz.dylib in Frameworks */,
+				BF13742F128A8E6A00D9F789 /* QuartzCore.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		19C28FACFE9D520D11CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				1D6058910D05DD3D006BFB54 /* ExampleSpine.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+			isa = PBXGroup;
+			children = (
+				4319B86F1700D66C00C1D7A9 /* cocos2dx.xcodeproj */,
+				BF23D4E2143315EB00657E08 /* Classes */,
+				29B97323FDCFA39411CA2CEA /* Frameworks */,
+				BF5681CC1313A84D0055EEAC /* ios */,
+				19C28FACFE9D520D11CA2CBB /* Products */,
+				784521C214EBA449009D533B /* Resources */,
+			);
+			name = CustomTemplate;
+			sourceTree = "<group>";
+		};
+		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				BF492B6912891AC600A09262 /* libz.dylib */,
+				BF137426128A8E4600D9F789 /* QuartzCore.framework */,
+				BF492D4B1289302400A09262 /* OpenGLES.framework */,
+				BF492C21128924A800A09262 /* libxml2.dylib */,
+				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
+				1D30AB110D05D00D00671497 /* Foundation.framework */,
+				288765A40DF7441C002DB57D /* CoreGraphics.framework */,
+				781C33B11547F06B00633F88 /* OpenAL.framework */,
+				781C33B31547F06B00633F88 /* AudioToolbox.framework */,
+				781C33B51547F06B00633F88 /* AVFoundation.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		2FEE852B170030EC0013E4C9 /* spine */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE8585170033120013E4C9 /* spine-cocos2dx */,
+				2FEE85841700330E0013E4C9 /* spine-cpp */,
+			);
+			name = spine;
+			sourceTree = "<group>";
+		};
+		2FEE85841700330E0013E4C9 /* spine-cpp */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE859A170033270013E4C9 /* spine */,
+				2FEE8599170033240013E4C9 /* json */,
+			);
+			name = "spine-cpp";
+			sourceTree = "<group>";
+		};
+		2FEE8585170033120013E4C9 /* spine-cocos2dx */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE858D1700331D0013E4C9 /* Atlas.cpp */,
+				2FEE858E1700331D0013E4C9 /* AtlasAttachmentLoader.cpp */,
+				2FEE858F1700331D0013E4C9 /* CCSkeleton.cpp */,
+				2FEE85901700331D0013E4C9 /* RegionAttachment.cpp */,
+				2FEE85911700331D0013E4C9 /* Skeleton.cpp */,
+				2FEE85921700331D0013E4C9 /* SkeletonJson.cpp */,
+				2FEE8586170033180013E4C9 /* Atlas.h */,
+				2FEE8587170033180013E4C9 /* AtlasAttachmentLoader.h */,
+				2FEE8588170033180013E4C9 /* CCSkeleton.h */,
+				2FEE8589170033180013E4C9 /* RegionAttachment.h */,
+				2FEE858A170033180013E4C9 /* Skeleton.h */,
+				2FEE858B170033180013E4C9 /* SkeletonJson.h */,
+				2FEE858C170033180013E4C9 /* spine.h */,
+			);
+			name = "spine-cocos2dx";
+			sourceTree = "<group>";
+		};
+		2FEE8599170033240013E4C9 /* json */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE85B21700333C0013E4C9 /* json_batchallocator.h */,
+				2FEE85B31700333C0013E4C9 /* json_internalarray.inl */,
+				2FEE85B41700333C0013E4C9 /* json_internalmap.inl */,
+				2FEE85B51700333C0013E4C9 /* json_reader.cpp */,
+				2FEE85B61700333C0013E4C9 /* json_value.cpp */,
+				2FEE85B71700333C0013E4C9 /* json_valueiterator.inl */,
+				2FEE85B81700333C0013E4C9 /* json_writer.cpp */,
+				2FEE859B170033310013E4C9 /* autolink.h */,
+				2FEE859C170033310013E4C9 /* config.h */,
+				2FEE859D170033310013E4C9 /* features.h */,
+				2FEE859E170033310013E4C9 /* forwards.h */,
+				2FEE859F170033310013E4C9 /* json.h */,
+				2FEE85A0170033310013E4C9 /* reader.h */,
+				2FEE85A1170033310013E4C9 /* value.h */,
+				2FEE85A2170033310013E4C9 /* writer.h */,
+			);
+			name = json;
+			sourceTree = "<group>";
+		};
+		2FEE859A170033270013E4C9 /* spine */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE85BF170033410013E4C9 /* Animation.cpp */,
+				2FEE85C0170033410013E4C9 /* AnimationState.cpp */,
+				2FEE85C1170033410013E4C9 /* AnimationStateData.cpp */,
+				2FEE85C2170033410013E4C9 /* BaseAtlas.cpp */,
+				2FEE85C3170033410013E4C9 /* BaseRegionAttachment.cpp */,
+				2FEE85C4170033410013E4C9 /* BaseSkeleton.cpp */,
+				2FEE85C5170033410013E4C9 /* BaseSkeletonJson.cpp */,
+				2FEE85C6170033410013E4C9 /* Bone.cpp */,
+				2FEE85C7170033410013E4C9 /* BoneData.cpp */,
+				2FEE85C8170033410013E4C9 /* SkeletonData.cpp */,
+				2FEE85C9170033410013E4C9 /* Skin.cpp */,
+				2FEE85CA170033410013E4C9 /* Slot.cpp */,
+				2FEE85CB170033410013E4C9 /* SlotData.cpp */,
+				2FEE85A3170033370013E4C9 /* Animation.h */,
+				2FEE85A4170033370013E4C9 /* AnimationState.h */,
+				2FEE85A5170033370013E4C9 /* AnimationStateData.h */,
+				2FEE85A6170033370013E4C9 /* Attachment.h */,
+				2FEE85A7170033370013E4C9 /* BaseAtlas.h */,
+				2FEE85A8170033370013E4C9 /* BaseAttachmentLoader.h */,
+				2FEE85A9170033370013E4C9 /* BaseRegionAttachment.h */,
+				2FEE85AA170033370013E4C9 /* BaseSkeleton.h */,
+				2FEE85AB170033370013E4C9 /* BaseSkeletonJson.h */,
+				2FEE85AC170033370013E4C9 /* Bone.h */,
+				2FEE85AD170033370013E4C9 /* BoneData.h */,
+				2FEE85AE170033370013E4C9 /* SkeletonData.h */,
+				2FEE85AF170033370013E4C9 /* Skin.h */,
+				2FEE85B0170033370013E4C9 /* Slot.h */,
+				2FEE85B1170033370013E4C9 /* SlotData.h */,
+			);
+			name = spine;
+			sourceTree = "<group>";
+		};
+		4319B8701700D66C00C1D7A9 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				4319B8771700D66C00C1D7A9 /* libcocos2dx.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		784521C214EBA449009D533B /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				2FC812281700479600A93590 /* common */,
+				2FC812241700449A00A93590 /* iphone */,
+				2FC812251700449A00A93590 /* iphone-retina */,
+				D4EF94ED15BD319D00D803EB /* Icon-144.png */,
+				D4EF94EB15BD319B00D803EB /* Icon-72.png */,
+				D4EF94E915BD319500D803EB /* Icon-114.png */,
+				D4EF94E715BD319200D803EB /* Icon-57.png */,
+				D446FD7C161028F4000ADA7B /* [email protected] */,
+				D446FD7A161028ED000ADA7B /* [email protected] */,
+				D446FD78161028E9000ADA7B /* Default.png */,
+			);
+			name = Resources;
+			path = ../Resources;
+			sourceTree = "<group>";
+		};
+		BF23D4E2143315EB00657E08 /* Classes */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE852B170030EC0013E4C9 /* spine */,
+				2FEE8522170030A20013E4C9 /* AppDelegate.cpp */,
+				2FEE8523170030A20013E4C9 /* AppDelegate.h */,
+				2FEE8524170030A20013E4C9 /* AppMacros.h */,
+				2FEE8525170030A20013E4C9 /* ExampleScene.cpp */,
+				2FEE8526170030A20013E4C9 /* ExampleScene.h */,
+			);
+			name = Classes;
+			path = ../Classes;
+			sourceTree = SOURCE_ROOT;
+		};
+		BF5681CC1313A84D0055EEAC /* ios */ = {
+			isa = PBXGroup;
+			children = (
+				D4ABB4B213B4395300552E6E /* main.mm */,
+				BF365AA612A103F70050DCF4 /* AppController.h */,
+				BF365AA712A103F70050DCF4 /* AppController.mm */,
+				BF4DE6AB138BB89600CF907D /* RootViewController.h */,
+				BF4DE6AC138BB89600CF907D /* RootViewController.mm */,
+			);
+			name = ios;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		1D6058900D05DD3D006BFB54 /* ExampleSpine */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ExampleSpine" */;
+			buildPhases = (
+				1D60588D0D05DD3D006BFB54 /* Resources */,
+				1D60588E0D05DD3D006BFB54 /* Sources */,
+				1D60588F0D05DD3D006BFB54 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = ExampleSpine;
+			productName = ExampleSpine;
+			productReference = 1D6058910D05DD3D006BFB54 /* ExampleSpine.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		29B97313FDCFA39411CA2CEA /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastUpgradeCheck = 0450;
+			};
+			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ExampleSpine" */;
+			compatibilityVersion = "Xcode 3.2";
+			developmentRegion = English;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				English,
+				Japanese,
+				French,
+				German,
+			);
+			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+			projectDirPath = "";
+			projectReferences = (
+				{
+					ProductGroup = 4319B8701700D66C00C1D7A9 /* Products */;
+					ProjectRef = 4319B86F1700D66C00C1D7A9 /* cocos2dx.xcodeproj */;
+				},
+			);
+			projectRoot = "";
+			targets = (
+				1D6058900D05DD3D006BFB54 /* ExampleSpine */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+		4319B8771700D66C00C1D7A9 /* libcocos2dx.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libcocos2dx.a;
+			remoteRef = 4319B8761700D66C00C1D7A9 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+		1D60588D0D05DD3D006BFB54 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				D4EF94E815BD319200D803EB /* Icon-57.png in Resources */,
+				D4EF94EA15BD319500D803EB /* Icon-114.png in Resources */,
+				D4EF94EC15BD319B00D803EB /* Icon-72.png in Resources */,
+				D4EF94EE15BD319D00D803EB /* Icon-144.png in Resources */,
+				D446FD79161028E9000ADA7B /* Default.png in Resources */,
+				D446FD7B161028ED000ADA7B /* [email protected] in Resources */,
+				D446FD7D161028F4000ADA7B /* [email protected] in Resources */,
+				2FEE85B91700333C0013E4C9 /* json_internalarray.inl in Resources */,
+				2FEE85BA1700333C0013E4C9 /* json_internalmap.inl in Resources */,
+				2FEE85BD1700333C0013E4C9 /* json_valueiterator.inl in Resources */,
+				2FC812261700449A00A93590 /* iphone in Resources */,
+				2FC812271700449A00A93590 /* iphone-retina in Resources */,
+				2FC812291700479600A93590 /* common in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		1D60588E0D05DD3D006BFB54 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				BF365AA812A103F70050DCF4 /* AppController.mm in Sources */,
+				BF4DE6AD138BB89600CF907D /* RootViewController.mm in Sources */,
+				D4ABB4B313B4395300552E6E /* main.mm in Sources */,
+				2FEE8527170030A20013E4C9 /* AppDelegate.cpp in Sources */,
+				2FEE8528170030A20013E4C9 /* ExampleScene.cpp in Sources */,
+				2FEE85931700331D0013E4C9 /* Atlas.cpp in Sources */,
+				2FEE85941700331D0013E4C9 /* AtlasAttachmentLoader.cpp in Sources */,
+				2FEE85951700331D0013E4C9 /* CCSkeleton.cpp in Sources */,
+				2FEE85961700331D0013E4C9 /* RegionAttachment.cpp in Sources */,
+				2FEE85971700331D0013E4C9 /* Skeleton.cpp in Sources */,
+				2FEE85981700331D0013E4C9 /* SkeletonJson.cpp in Sources */,
+				2FEE85BB1700333C0013E4C9 /* json_reader.cpp in Sources */,
+				2FEE85BC1700333C0013E4C9 /* json_value.cpp in Sources */,
+				2FEE85BE1700333C0013E4C9 /* json_writer.cpp in Sources */,
+				2FEE85CC170033410013E4C9 /* Animation.cpp in Sources */,
+				2FEE85CD170033410013E4C9 /* AnimationState.cpp in Sources */,
+				2FEE85CE170033410013E4C9 /* AnimationStateData.cpp in Sources */,
+				2FEE85CF170033410013E4C9 /* BaseAtlas.cpp in Sources */,
+				2FEE85D0170033410013E4C9 /* BaseRegionAttachment.cpp in Sources */,
+				2FEE85D1170033410013E4C9 /* BaseSkeleton.cpp in Sources */,
+				2FEE85D2170033410013E4C9 /* BaseSkeletonJson.cpp in Sources */,
+				2FEE85D3170033410013E4C9 /* Bone.cpp in Sources */,
+				2FEE85D4170033410013E4C9 /* BoneData.cpp in Sources */,
+				2FEE85D5170033410013E4C9 /* SkeletonData.cpp in Sources */,
+				2FEE85D6170033410013E4C9 /* Skin.cpp in Sources */,
+				2FEE85D7170033410013E4C9 /* Slot.cpp in Sources */,
+				2FEE85D8170033410013E4C9 /* SlotData.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+		1D6058940D05DD3E006BFB54 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = ExampleSpine_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					USE_FILE32API,
+					CC_TARGET_OS_IPHONE,
+					"COCOS2D_DEBUG=1",
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_VERSION = "";
+				HEADER_SEARCH_PATHS = (
+					"\"$(SDKROOT)/usr/include/libxml2/\"",
+					"\"$(SRCROOT)/../../cocos2dx/include\"",
+					"\"$(SRCROOT)/../../cocos2dx\"",
+					"\"$(SRCROOT)/../../cocos2dx/platform/ios\"",
+					"\"$(SRCROOT)/../../cocos2dx/kazmath/include\"",
+					"\"$(SRCROOT)/../../../spine-cpp/include\"",
+					"\"$(SRCROOT)/../../../spine-cocos2dx/include\"",
+				);
+				INFOPLIST_FILE = "ExampleSpine-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+				PRODUCT_NAME = ExampleSpine;
+				PROVISIONING_PROFILE = "";
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALID_ARCHS = "armv6 armv7 i386";
+			};
+			name = Debug;
+		};
+		1D6058950D05DD3E006BFB54 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				CODE_SIGN_IDENTITY = "iPhone Developer";
+				COPY_PHASE_STRIP = YES;
+				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = ExampleSpine_Prefix.pch;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					USE_FILE32API,
+					CC_TARGET_OS_IPHONE,
+				);
+				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+				GCC_VERSION = "";
+				HEADER_SEARCH_PATHS = (
+					"\"$(SDKROOT)/usr/include/libxml2/\"",
+					"\"$(SRCROOT)/../../cocos2dx/include\"",
+					"\"$(SRCROOT)/../../cocos2dx\"",
+					"\"$(SRCROOT)/../../cocos2dx/platform/ios\"",
+					"\"$(SRCROOT)/../../cocos2dx/kazmath/include\"",
+					"\"$(SRCROOT)/../../../spine-cpp/include\"",
+					"\"$(SRCROOT)/../../../spine-cocos2dx/include\"",
+				);
+				INFOPLIST_FILE = "ExampleSpine-Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 4.0;
+				PRODUCT_NAME = ExampleSpine;
+				PROVISIONING_PROFILE = "";
+				SDKROOT = iphoneos;
+				TARGETED_DEVICE_FAMILY = "1,2";
+				VALIDATE_PRODUCT = YES;
+				VALID_ARCHS = "armv6 armv7 i386";
+			};
+			name = Release;
+		};
+		C01FCF4F08A954540054247B /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_VERSION = "";
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				SDKROOT = iphoneos;
+				VALID_ARCHS = "armv6 armv7 i386";
+			};
+			name = Debug;
+		};
+		C01FCF5008A954540054247B /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+				GCC_C_LANGUAGE_STANDARD = c99;
+				GCC_VERSION = "";
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+				SDKROOT = iphoneos;
+				VALID_ARCHS = "armv6 armv7 i386";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "ExampleSpine" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1D6058940D05DD3E006BFB54 /* Debug */,
+				1D6058950D05DD3E006BFB54 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "ExampleSpine" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C01FCF4F08A954540054247B /* Debug */,
+				C01FCF5008A954540054247B /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}

+ 7 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+   version = "1.0">
+   <FileRef
+      location = "self:ExampleSpine.xcodeproj">
+   </FileRef>
+</Workspace>

BIN
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/UserInterfaceState.xcuserstate


+ 10 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/WorkspaceSettings.xcsettings

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
+	<true/>
+	<key>SnapshotAutomaticallyBeforeSignificantChanges</key>
+	<false/>
+</dict>
+</plist>

+ 5 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+   type = "1"
+   version = "1.0">
+</Bucket>

+ 86 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/HelloCpp.xcscheme

@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+   LastUpgradeVersion = "0460"
+   version = "1.3">
+   <BuildAction
+      parallelizeBuildables = "YES"
+      buildImplicitDependencies = "YES">
+      <BuildActionEntries>
+         <BuildActionEntry
+            buildForTesting = "YES"
+            buildForRunning = "YES"
+            buildForProfiling = "YES"
+            buildForArchiving = "YES"
+            buildForAnalyzing = "YES">
+            <BuildableReference
+               BuildableIdentifier = "primary"
+               BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+               BuildableName = "ExampleSpine.app"
+               BlueprintName = "ExampleSpine"
+               ReferencedContainer = "container:ExampleSpine.xcodeproj">
+            </BuildableReference>
+         </BuildActionEntry>
+      </BuildActionEntries>
+   </BuildAction>
+   <TestAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      buildConfiguration = "Debug">
+      <Testables>
+      </Testables>
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+            BuildableName = "ExampleSpine.app"
+            BlueprintName = "ExampleSpine"
+            ReferencedContainer = "container:ExampleSpine.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
+   </TestAction>
+   <LaunchAction
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+      launchStyle = "0"
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Debug"
+      ignoresPersistentStateOnLaunch = "NO"
+      debugDocumentVersioning = "YES"
+      allowLocationSimulation = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+            BuildableName = "ExampleSpine.app"
+            BlueprintName = "ExampleSpine"
+            ReferencedContainer = "container:ExampleSpine.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+      <AdditionalOptions>
+      </AdditionalOptions>
+   </LaunchAction>
+   <ProfileAction
+      shouldUseLaunchSchemeArgsEnv = "YES"
+      savedToolIdentifier = ""
+      useCustomWorkingDirectory = "NO"
+      buildConfiguration = "Release"
+      debugDocumentVersioning = "YES">
+      <BuildableProductRunnable>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "1D6058900D05DD3D006BFB54"
+            BuildableName = "ExampleSpine.app"
+            BlueprintName = "ExampleSpine"
+            ReferencedContainer = "container:ExampleSpine.xcodeproj">
+         </BuildableReference>
+      </BuildableProductRunnable>
+   </ProfileAction>
+   <AnalyzeAction
+      buildConfiguration = "Debug">
+   </AnalyzeAction>
+   <ArchiveAction
+      buildConfiguration = "Release"
+      revealArchiveInOrganizer = "YES">
+   </ArchiveAction>
+</Scheme>

+ 22 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>SchemeUserState</key>
+	<dict>
+		<key>ExampleSpine.xcscheme</key>
+		<dict>
+			<key>orderHint</key>
+			<integer>1</integer>
+		</dict>
+	</dict>
+	<key>SuppressBuildableAutocreation</key>
+	<dict>
+		<key>1D6058900D05DD3D006BFB54</key>
+		<dict>
+			<key>primary</key>
+			<true/>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 8 - 0
spine-cocos2dx/example/proj.ios/ExampleSpine_Prefix.pch

@@ -0,0 +1,8 @@
+//
+// Prefix header for all source files of the 'ExampleSpine' target in the 'ExampleSpine' project
+//
+
+#ifdef __OBJC__
+    #import <Foundation/Foundation.h>
+    #import <UIKit/UIKit.h>
+#endif

BIN
spine-cocos2dx/example/proj.ios/Icon-114.png


BIN
spine-cocos2dx/example/proj.ios/Icon-144.png


BIN
spine-cocos2dx/example/proj.ios/Icon-57.png


BIN
spine-cocos2dx/example/proj.ios/Icon-72.png


+ 33 - 0
spine-cocos2dx/example/proj.ios/RootViewController.h

@@ -0,0 +1,33 @@
+/****************************************************************************
+ Copyright (c) 2010-2011 cocos2d-x.org
+ Copyright (c) 2010      Ricardo Quesada
+ 
+ http://www.cocos2d-x.org
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+#import <UIKit/UIKit.h>
+
+
+@interface RootViewController : UIViewController {
+
+}
+
+@end

+ 94 - 0
spine-cocos2dx/example/proj.ios/RootViewController.mm

@@ -0,0 +1,94 @@
+/****************************************************************************
+ Copyright (c) 2010-2011 cocos2d-x.org
+ Copyright (c) 2010      Ricardo Quesada
+ 
+ http://www.cocos2d-x.org
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ ****************************************************************************/
+
+#import "RootViewController.h"
+
+
+@implementation RootViewController
+
+/*
+ // The designated initializer.  Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
+    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
+        // Custom initialization
+    }
+    return self;
+}
+*/
+
+/*
+// Implement loadView to create a view hierarchy programmatically, without using a nib.
+- (void)loadView {
+}
+*/
+
+/*
+// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
+- (void)viewDidLoad {
+    [super viewDidLoad];
+}
+ 
+*/
+// Override to allow orientations other than the default portrait orientation.
+// This method is deprecated on ios6
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+    return UIInterfaceOrientationIsLandscape( interfaceOrientation );
+}
+
+// For ios6.0 and higher, use supportedInterfaceOrientations & shouldAutorotate instead
+- (NSUInteger) supportedInterfaceOrientations
+{
+#ifdef __IPHONE_6_0
+    return UIInterfaceOrientationMaskAllButUpsideDown;
+#endif
+}
+
+- (BOOL) shouldAutorotate {
+    return YES;
+}
+
+
+
+
+- (void)didReceiveMemoryWarning {
+    // Releases the view if it doesn't have a superview.
+    [super didReceiveMemoryWarning];
+    
+    // Release any cached data, images, etc that aren't in use.
+}
+
+- (void)viewDidUnload {
+    [super viewDidUnload];
+    // Release any retained subviews of the main view.
+    // e.g. self.myOutlet = nil;
+}
+
+
+- (void)dealloc {
+    [super dealloc];
+}
+
+
+@end

+ 17 - 0
spine-cocos2dx/example/proj.ios/main.mm

@@ -0,0 +1,17 @@
+
+#import <UIKit/UIKit.h>
+#import <stdexcept>
+#import <iostream>
+
+int main(int argc, char *argv[]) {
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+    int retVal = 0;
+    try {
+        retVal = UIApplicationMain(argc, argv, nil, @"AppController");
+    } catch (const std::exception &ex) {
+        std::cout << "Unhandled exception:";
+        std::cout << ex.what();
+    }
+    [pool release];
+    return retVal;
+}

+ 23 - 0
spine-cocos2dx/example/proj.win32/main.cpp

@@ -0,0 +1,23 @@
+#include "main.h"
+#include "../Classes/AppDelegate.h"
+#include "CCEGLView.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;
+    CCEGLView* eglView = CCEGLView::sharedOpenGLView();
+    eglView->setViewName("ExampleSpine");
+    eglView->setFrameSize(480, 320);
+    // So we need to invoke 'setFrameZoomFactor' (only valid on desktop(win32, mac, linux)) to make the window smaller.
+   // eglView->setFrameZoomFactor(0.4f);
+    return CCApplication::sharedApplication()->run();
+}

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/proj.win32/main.h → spine-cocos2dx/example/proj.win32/main.h


+ 6 - 6
spine-cocos2dx/spine-cocos2dx.sln → spine-cocos2dx/example/proj.win32/spine-cocos2dx.sln

@@ -1,9 +1,9 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Express 2012 for Windows Desktop
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\cocos2dx\proj.win32\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-cocos2dx", "spine-cocos2dx\proj.win32\spine-cocos2dx.vcxproj", "{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spine-cocos2dx", "spine-cocos2dx.vcxproj", "{DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,10 +15,10 @@ Global
 		{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
-		{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.ActiveCfg = Debug|Win32
-		{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.Build.0 = Debug|Win32
-		{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.ActiveCfg = Release|Win32
-		{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.Build.0 = Release|Win32
+		{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
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 20 - 19
spine-cocos2dx/spine-cocos2dx/proj.win32/spine-cocos2dx.vcxproj → spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj

@@ -11,7 +11,7 @@
     </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
-    <ProjectGuid>{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}</ProjectGuid>
+    <ProjectGuid>{DB4C84B9-AC6D-46A1-B7E6-A77FE4515ACF}</ProjectGuid>
     <RootNamespace>spine</RootNamespace>
     <Keyword>Win32Proj</Keyword>
     <ProjectName>spine-cocos2dx</ProjectName>
@@ -66,7 +66,7 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(ProjectDir)..\..\cocos2dx;$(ProjectDir)..\..\cocos2dx\include;$(ProjectDir)..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\include;$(ProjectDir)..\..\..\spine-cpp\include;$(ProjectDir)..\..\..\spine-cpp\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(ProjectDir)..\..\cocos2dx;$(ProjectDir)..\..\cocos2dx\include;$(ProjectDir)..\..\cocos2dx\kazmath\include;$(ProjectDir)..\..\cocos2dx\platform\win32;$(ProjectDir)..\..\cocos2dx\platform\third_party\win32\OGLES;$(ProjectDir)..\Classes;$(ProjectDir)..\..\include;$(ProjectDir)..\..\..\spine-cpp\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;COCOS2D_DEBUG=1;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>true</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -147,15 +147,16 @@
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Slot.h" />
     <ClInclude Include="..\..\..\spine-cpp\include\spine\SlotData.h" />
     <ClInclude Include="..\..\..\spine-cpp\src\json\json_batchallocator.h" />
-    <ClInclude Include="..\example\AppDelegate.h" />
-    <ClInclude Include="..\example\ExampleScene.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\Atlas.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\AtlasAttachmentLoader.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\CCSkeleton.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\RegionAttachment.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\Skeleton.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\SkeletonJson.h" />
-    <ClInclude Include="..\include\spine-cocos2dx\spine.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\Atlas.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\AtlasAttachmentLoader.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\CCSkeleton.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\RegionAttachment.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\Skeleton.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\SkeletonJson.h" />
+    <ClInclude Include="..\..\include\spine-cocos2dx\spine.h" />
+    <ClInclude Include="..\Classes\AppDelegate.h" />
+    <ClInclude Include="..\Classes\AppMacros.h" />
+    <ClInclude Include="..\Classes\ExampleScene.h" />
     <ClInclude Include="main.h" />
   </ItemGroup>
   <ItemGroup>
@@ -175,14 +176,14 @@
     <ClCompile Include="..\..\..\spine-cpp\src\spine\Skin.cpp" />
     <ClCompile Include="..\..\..\spine-cpp\src\spine\Slot.cpp" />
     <ClCompile Include="..\..\..\spine-cpp\src\spine\SlotData.cpp" />
-    <ClCompile Include="..\example\AppDelegate.cpp" />
-    <ClCompile Include="..\example\ExampleScene.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\Atlas.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\AtlasAttachmentLoader.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\CCSkeleton.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\RegionAttachment.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\Skeleton.cpp" />
-    <ClCompile Include="..\src\spine-cocos2dx\SkeletonJson.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\Atlas.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\AtlasAttachmentLoader.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\CCSkeleton.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\RegionAttachment.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\Skeleton.cpp" />
+    <ClCompile Include="..\..\src\spine-cocos2dx\SkeletonJson.cpp" />
+    <ClCompile Include="..\Classes\AppDelegate.cpp" />
+    <ClCompile Include="..\Classes\ExampleScene.cpp" />
     <ClCompile Include="main.cpp" />
   </ItemGroup>
   <ItemGroup>

+ 123 - 129
spine-cocos2dx/spine-cocos2dx/proj.win32/spine-cocos2dx.vcxproj.filters → spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj.filters

@@ -1,224 +1,218 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <Filter Include="includes">
-      <UniqueIdentifier>{1b06b916-430b-4dc1-b260-c280a58e0d17}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="includes\spine">
-      <UniqueIdentifier>{e7aa2d8d-104e-4c2c-a383-2709ccc2ebf5}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="includes\json">
-      <UniqueIdentifier>{c5903be8-3874-4598-afb8-502a53a1bbac}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="includes\spine-cocos2dx">
-      <UniqueIdentifier>{29fcfe1f-7289-4597-a8fc-82ab7431ba7d}</UniqueIdentifier>
+    <Filter Include="win32">
+      <UniqueIdentifier>{ef769de4-53ac-449d-92e6-e67ec8d7414e}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src">
-      <UniqueIdentifier>{79f098e3-3dd1-47bb-a0a7-1a861d7da7ee}</UniqueIdentifier>
+    <Filter Include="Classes">
+      <UniqueIdentifier>{0dcd52ca-d521-4ba1-a1fa-c0d58a2df402}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\spine">
-      <UniqueIdentifier>{036946b8-8d3d-448b-b494-10ee7bbdf1ea}</UniqueIdentifier>
+    <Filter Include="Classes\spine-cpp">
+      <UniqueIdentifier>{bce9df76-2682-4d32-a178-779e330d0ff1}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\json">
-      <UniqueIdentifier>{44d6db46-e6b8-40ea-b950-8d75550614ce}</UniqueIdentifier>
+    <Filter Include="Classes\spine-cpp\json">
+      <UniqueIdentifier>{b04a4c76-3e5e-4539-8872-da087cfb695b}</UniqueIdentifier>
     </Filter>
-    <Filter Include="src\spine-cocos2dx">
-      <UniqueIdentifier>{373e4aa7-5d88-40c4-877d-431185461bfb}</UniqueIdentifier>
+    <Filter Include="Classes\spine-cpp\spine">
+      <UniqueIdentifier>{35486b88-a772-4ecb-9c30-e6c2a21a4734}</UniqueIdentifier>
     </Filter>
-    <Filter Include="example">
-      <UniqueIdentifier>{ef769de4-53ac-449d-92e6-e67ec8d7414e}</UniqueIdentifier>
+    <Filter Include="Classes\spine-cocos2dx">
+      <UniqueIdentifier>{7c460e6e-d4fb-452e-b75f-7a110b9dd9f6}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\include\spine-cocos2dx\Atlas.h">
-      <Filter>includes\spine-cocos2dx</Filter>
-    </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\AtlasAttachmentLoader.h">
-      <Filter>includes\spine-cocos2dx</Filter>
-    </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\RegionAttachment.h">
-      <Filter>includes\spine-cocos2dx</Filter>
-    </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\Skeleton.h">
-      <Filter>includes\spine-cocos2dx</Filter>
-    </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\SkeletonJson.h">
-      <Filter>includes\spine-cocos2dx</Filter>
-    </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\spine.h">
-      <Filter>includes\spine-cocos2dx</Filter>
+    <ClInclude Include="main.h">
+      <Filter>win32</Filter>
     </ClInclude>
-    <ClInclude Include="..\example\AppDelegate.h">
-      <Filter>example</Filter>
+    <ClInclude Include="..\Classes\ExampleScene.h">
+      <Filter>Classes</Filter>
     </ClInclude>
-    <ClInclude Include="..\example\ExampleScene.h">
-      <Filter>example</Filter>
+    <ClInclude Include="..\Classes\AppDelegate.h">
+      <Filter>Classes</Filter>
     </ClInclude>
-    <ClInclude Include="main.h">
-      <Filter>example</Filter>
+    <ClInclude Include="..\Classes\AppMacros.h">
+      <Filter>Classes</Filter>
     </ClInclude>
-    <ClInclude Include="..\include\spine-cocos2dx\CCSkeleton.h">
-      <Filter>includes\spine-cocos2dx</Filter>
+    <ClInclude Include="..\..\..\spine-cpp\include\json\reader.h">
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\value.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\writer.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\autolink.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\config.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\features.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\forwards.h">
-      <Filter>includes\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\json\json.h">
-      <Filter>includes\json</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\spine-cpp\include\json\reader.h">
-      <Filter>includes\json</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseAtlas.h">
-      <Filter>includes\spine</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseAttachmentLoader.h">
-      <Filter>includes\spine</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseRegionAttachment.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseSkeleton.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseSkeletonJson.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Bone.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\BoneData.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\SkeletonData.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Skin.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Slot.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\SlotData.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Animation.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\AnimationState.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\AnimationStateData.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\include\spine\Attachment.h">
-      <Filter>includes\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseAtlas.h">
+      <Filter>Classes\spine-cpp\spine</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseAttachmentLoader.h">
+      <Filter>Classes\spine-cpp\spine</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\..\spine-cpp\include\spine\BaseRegionAttachment.h">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClInclude>
     <ClInclude Include="..\..\..\spine-cpp\src\json\json_batchallocator.h">
-      <Filter>src\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\Skeleton.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\SkeletonJson.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\spine.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\Atlas.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\AtlasAttachmentLoader.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\CCSkeleton.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\include\spine-cocos2dx\RegionAttachment.h">
+      <Filter>Classes\spine-cocos2dx</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="..\src\spine-cocos2dx\Atlas.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
-    </ClCompile>
-    <ClCompile Include="..\src\spine-cocos2dx\AtlasAttachmentLoader.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
-    </ClCompile>
-    <ClCompile Include="..\src\spine-cocos2dx\RegionAttachment.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
-    </ClCompile>
-    <ClCompile Include="..\src\spine-cocos2dx\Skeleton.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
+    <ClCompile Include="main.cpp">
+      <Filter>win32</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\spine-cocos2dx\SkeletonJson.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
+    <ClCompile Include="..\Classes\ExampleScene.cpp">
+      <Filter>Classes</Filter>
     </ClCompile>
-    <ClCompile Include="..\example\AppDelegate.cpp">
-      <Filter>example</Filter>
+    <ClCompile Include="..\Classes\AppDelegate.cpp">
+      <Filter>Classes</Filter>
     </ClCompile>
-    <ClCompile Include="..\example\ExampleScene.cpp">
-      <Filter>example</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\Bone.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="main.cpp">
-      <Filter>example</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\BoneData.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="..\src\spine-cocos2dx\CCSkeleton.cpp">
-      <Filter>src\spine-cocos2dx</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\SkeletonData.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\json\json_reader.cpp">
-      <Filter>src\json</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\Skin.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\json\json_value.cpp">
-      <Filter>src\json</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\Slot.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\json\json_writer.cpp">
-      <Filter>src\json</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\spine\SlotData.cpp">
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\Animation.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\AnimationState.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\AnimationStateData.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\BaseAtlas.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\BaseRegionAttachment.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\BaseSkeleton.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
     <ClCompile Include="..\..\..\spine-cpp\src\spine\BaseSkeletonJson.cpp">
-      <Filter>src\spine</Filter>
+      <Filter>Classes\spine-cpp\spine</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\Bone.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\json\json_reader.cpp">
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\BoneData.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\json\json_value.cpp">
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\SkeletonData.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\..\spine-cpp\src\json\json_writer.cpp">
+      <Filter>Classes\spine-cpp\json</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\Skin.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\src\spine-cocos2dx\RegionAttachment.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\Slot.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\src\spine-cocos2dx\Skeleton.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\..\spine-cpp\src\spine\SlotData.cpp">
-      <Filter>src\spine</Filter>
+    <ClCompile Include="..\..\src\spine-cocos2dx\SkeletonJson.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\spine-cocos2dx\Atlas.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\spine-cocos2dx\AtlasAttachmentLoader.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\src\spine-cocos2dx\CCSkeleton.cpp">
+      <Filter>Classes\spine-cocos2dx</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>
+    <None Include="..\..\..\spine-cpp\src\json\json_valueiterator.inl">
+      <Filter>Classes\spine-cpp\json</Filter>
+    </None>
     <None Include="..\..\..\spine-cpp\src\json\json_internalarray.inl">
-      <Filter>src\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </None>
     <None Include="..\..\..\spine-cpp\src\json\json_internalmap.inl">
-      <Filter>src\json</Filter>
-    </None>
-    <None Include="..\..\..\spine-cpp\src\json\json_valueiterator.inl">
-      <Filter>src\json</Filter>
+      <Filter>Classes\spine-cpp\json</Filter>
     </None>
   </ItemGroup>
 </Project>

BIN
spine-cocos2dx/example/raw/images/bow.png


BIN
spine-cocos2dx/example/raw/images/eyes-closed.png


BIN
spine-cocos2dx/example/raw/images/eyes.png


BIN
spine-cocos2dx/example/raw/images/head.png


BIN
spine-cocos2dx/example/raw/images/left-ankle.png


BIN
spine-cocos2dx/example/raw/images/left-arm.png


BIN
spine-cocos2dx/example/raw/images/left-foot.png


BIN
spine-cocos2dx/example/raw/images/left-hand.png


BIN
spine-cocos2dx/example/raw/images/left-lower-leg.png


BIN
spine-cocos2dx/example/raw/images/left-pant-bottom.png


BIN
spine-cocos2dx/example/raw/images/left-shoulder.png


BIN
spine-cocos2dx/example/raw/images/left-upper-leg.png


BIN
spine-cocos2dx/example/raw/images/neck.png


+ 8 - 0
spine-cocos2dx/example/raw/images/pack.json

@@ -0,0 +1,8 @@
+{
+	pot: true,
+	paddingX: 2,
+	paddingY: 2,
+	duplicatePadding: false,
+	filterMin: Linear,
+	filterMag: Linear,
+}

BIN
spine-cocos2dx/example/raw/images/pelvis.png


BIN
spine-cocos2dx/example/raw/images/right-ankle.png


BIN
spine-cocos2dx/example/raw/images/right-arm.png


BIN
spine-cocos2dx/example/raw/images/right-foot-idle.png


BIN
spine-cocos2dx/example/raw/images/right-foot.png


BIN
spine-cocos2dx/example/raw/images/right-hand.png


BIN
spine-cocos2dx/example/raw/images/right-lower-leg.png


BIN
spine-cocos2dx/example/raw/images/right-pant-bottom.png


BIN
spine-cocos2dx/example/raw/images/right-shoulder.png


BIN
spine-cocos2dx/example/raw/images/right-upper-leg.png


BIN
spine-cocos2dx/example/raw/images/torso.png


BIN
spine-cocos2dx/example/raw/spineboy.project


+ 171 - 0
spine-cocos2dx/example/raw/spineboy.tps

@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data version="1.0">
+    <struct type="Settings">
+        <key>fileFormatVersion</key>
+        <int>1</int>
+        <key>variation</key>
+        <string>main</string>
+        <key>verbose</key>
+        <false/>
+        <key>autoSDSettings</key>
+        <array>
+            <struct type="AutoSDSettings">
+                <key>scale</key>
+                <double>0.5</double>
+                <key>extension</key>
+                <string>/iphone/</string>
+                <key>acceptFractionalValues</key>
+                <false/>
+                <key>maxTextureSize</key>
+                <QSize>
+                    <key>width</key>
+                    <int>2048</int>
+                    <key>height</key>
+                    <int>2048</int>
+                </QSize>
+            </struct>
+        </array>
+        <key>allowRotation</key>
+        <true/>
+        <key>quiet</key>
+        <false/>
+        <key>premultiplyAlpha</key>
+        <false/>
+        <key>shapeDebug</key>
+        <false/>
+        <key>dpi</key>
+        <uint>72</uint>
+        <key>dataFormat</key>
+        <string>libgdx</string>
+        <key>textureFileName</key>
+        <filename>../Resources/iphone-retina/spineboy.png</filename>
+        <key>flipPVR</key>
+        <false/>
+        <key>ditherType</key>
+        <enum type="SettingsBase::DitherType">NearestNeighbour</enum>
+        <key>backgroundColor</key>
+        <uint>0</uint>
+        <key>libGdx</key>
+        <struct type="LibGDX">
+            <key>filtering</key>
+            <struct type="LibGDXFiltering">
+                <key>x</key>
+                <enum type="LibGDXFiltering::Filtering">Linear</enum>
+                <key>y</key>
+                <enum type="LibGDXFiltering::Filtering">Linear</enum>
+            </struct>
+        </struct>
+        <key>shapePadding</key>
+        <uint>2</uint>
+        <key>jpgQuality</key>
+        <uint>80</uint>
+        <key>pngOptimizationLevel</key>
+        <uint>0</uint>
+        <key>textureSubPath</key>
+        <string></string>
+        <key>textureFormat</key>
+        <enum type="SettingsBase::TextureFormat">png</enum>
+        <key>borderPadding</key>
+        <uint>2</uint>
+        <key>maxTextureSize</key>
+        <QSize>
+            <key>width</key>
+            <int>2048</int>
+            <key>height</key>
+            <int>2048</int>
+        </QSize>
+        <key>fixedTextureSize</key>
+        <QSize>
+            <key>width</key>
+            <int>-1</int>
+            <key>height</key>
+            <int>-1</int>
+        </QSize>
+        <key>reduceBorderArtifacts</key>
+        <false/>
+        <key>algorithmSettings</key>
+        <struct type="AlgorithmSettings">
+            <key>algorithm</key>
+            <enum type="AlgorithmSettings::AlgorithmId">MaxRects</enum>
+            <key>freeSizeMode</key>
+            <enum type="AlgorithmSettings::AlgorithmFreeSizeMode">Best</enum>
+            <key>sizeConstraints</key>
+            <enum type="AlgorithmSettings::SizeConstraints">NPOT</enum>
+            <key>forceSquared</key>
+            <false/>
+            <key>forceWordAligned</key>
+            <false/>
+            <key>maxRects</key>
+            <struct type="AlgorithmMaxRectsSettings">
+                <key>heuristic</key>
+                <enum type="AlgorithmMaxRectsSettings::Heuristic">Best</enum>
+            </struct>
+            <key>basic</key>
+            <struct type="AlgorithmBasicSettings">
+                <key>sortBy</key>
+                <enum type="AlgorithmBasicSettings::SortBy">Best</enum>
+                <key>order</key>
+                <enum type="AlgorithmBasicSettings::Order">Ascending</enum>
+            </struct>
+        </struct>
+        <key>andEngine</key>
+        <struct type="AndEngine">
+            <key>minFilter</key>
+            <enum type="AndEngine::MinFilter">Linear</enum>
+            <key>packageName</key>
+            <string>Texture</string>
+            <key>javaFileName</key>
+            <filename>../Resources/data/spineboy2.java</filename>
+            <key>wrap</key>
+            <struct type="AndEngineWrap">
+                <key>s</key>
+                <enum type="AndEngineWrap::Wrap">Clamp</enum>
+                <key>t</key>
+                <enum type="AndEngineWrap::Wrap">Clamp</enum>
+            </struct>
+            <key>magFilter</key>
+            <enum type="AndEngine::MagFilter">MagLinear</enum>
+        </struct>
+        <key>dataFileName</key>
+        <filename>../Resources/iphone-retina/spineboy.txt</filename>
+        <key>mainExtension</key>
+        <string>/iphone-retina/</string>
+        <key>forceIdenticalLayout</key>
+        <false/>
+        <key>outputFormat</key>
+        <enum type="SettingsBase::OutputFormat">RGBA8888</enum>
+        <key>autoAliasEnabled</key>
+        <true/>
+        <key>trimSpriteNames</key>
+        <false/>
+        <key>globalSpriteSettings</key>
+        <struct type="SpriteSettings">
+            <key>scale</key>
+            <double>1</double>
+            <key>scaleMode</key>
+            <enum type="ScaleMode">Smooth</enum>
+            <key>innerPadding</key>
+            <uint>0</uint>
+            <key>extrude</key>
+            <uint>0</uint>
+            <key>trimThreshold</key>
+            <uint>1</uint>
+            <key>trimMode</key>
+            <enum type="SpriteSettings::TrimMode">Trim</enum>
+            <key>heuristicMask</key>
+            <false/>
+        </struct>
+        <key>fileList</key>
+        <array>
+            <filename>images</filename>
+        </array>
+        <key>ignoreFileList</key>
+        <array/>
+        <key>replaceList</key>
+        <array/>
+        <key>commonDivisorX</key>
+        <uint>1</uint>
+        <key>commonDivisorY</key>
+        <uint>1</uint>
+    </struct>
+</data>

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/Atlas.h → spine-cocos2dx/include/spine-cocos2dx/Atlas.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/AtlasAttachmentLoader.h → spine-cocos2dx/include/spine-cocos2dx/AtlasAttachmentLoader.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/CCSkeleton.h → spine-cocos2dx/include/spine-cocos2dx/CCSkeleton.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/RegionAttachment.h → spine-cocos2dx/include/spine-cocos2dx/RegionAttachment.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/Skeleton.h → spine-cocos2dx/include/spine-cocos2dx/Skeleton.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/SkeletonJson.h → spine-cocos2dx/include/spine-cocos2dx/SkeletonJson.h


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/include/spine-cocos2dx/spine.h → spine-cocos2dx/include/spine-cocos2dx/spine.h


BIN
spine-cocos2dx/spine-cocos2dx/data/spineboy.png


+ 0 - 39
spine-cocos2dx/spine-cocos2dx/example/AppDelegate.cpp

@@ -1,39 +0,0 @@
-#include "AppDelegate.h"
-
-#include <vector>
-#include <string>
-
-#include "ExampleScene.h"
-
-USING_NS_CC;
-using namespace std;
-
-AppDelegate::AppDelegate() {
-}
-
-AppDelegate::~AppDelegate() {
-}
-
-bool AppDelegate::applicationDidFinishLaunching() {
-	CCDirector* director = CCDirector::sharedDirector();
-	
-	CCEGLView* view = CCEGLView::sharedOpenGLView();
-	director->setOpenGLView(view);
-	view->setViewName("Spine Example");
-	view->setFrameSize(640, 480);
-	view->setDesignResolutionSize(640, 480, kResolutionNoBorder);
-
-	director->setDisplayStats(true);
-	director->runWithScene(ExampleScene::scene());
-	return true;
-}
-
-void AppDelegate::applicationDidEnterBackground() {
-	CCDirector::sharedDirector()->stopAnimation();
-	// SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic();
-}
-
-void AppDelegate::applicationWillEnterForeground() {
-	CCDirector::sharedDirector()->startAnimation();
-	// SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic();
-}

+ 0 - 16
spine-cocos2dx/spine-cocos2dx/example/AppDelegate.h

@@ -1,16 +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_

+ 0 - 11
spine-cocos2dx/spine-cocos2dx/proj.win32/main.cpp

@@ -1,11 +0,0 @@
-#include "main.h"
-#include "../example/AppDelegate.h"
-
-USING_NS_CC;
-
-int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {
-	UNREFERENCED_PARAMETER(hPrevInstance);
-	UNREFERENCED_PARAMETER(lpCmdLine);
-	AppDelegate app;
-	return CCApplication::sharedApplication()->run();
-}

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/Atlas.cpp → spine-cocos2dx/src/spine-cocos2dx/Atlas.cpp


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/AtlasAttachmentLoader.cpp → spine-cocos2dx/src/spine-cocos2dx/AtlasAttachmentLoader.cpp


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/CCSkeleton.cpp → spine-cocos2dx/src/spine-cocos2dx/CCSkeleton.cpp


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/RegionAttachment.cpp → spine-cocos2dx/src/spine-cocos2dx/RegionAttachment.cpp


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/Skeleton.cpp → spine-cocos2dx/src/spine-cocos2dx/Skeleton.cpp


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/src/spine-cocos2dx/SkeletonJson.cpp → spine-cocos2dx/src/spine-cocos2dx/SkeletonJson.cpp