소스 검색

reorganize structure to match cocos2d-x multi-platform style; create a working iOS example

Stefan Nguyen 12 년 전
부모
커밋
ee25feffbe
48개의 변경된 파일1199개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 0
      .gitignore
  2. 0 0
      spine-cocos2dx/example/Classes/AppDelegate.cpp
  3. 0 0
      spine-cocos2dx/example/Classes/AppDelegate.h
  4. 56 0
      spine-cocos2dx/example/Classes/AppMacros.h
  5. 3 3
      spine-cocos2dx/example/Classes/ExampleScene.cpp
  6. 0 0
      spine-cocos2dx/example/Classes/ExampleScene.h
  7. 0 0
      spine-cocos2dx/example/Resources/data/spineboy-skeleton.json
  8. 0 0
      spine-cocos2dx/example/Resources/data/spineboy-walk.json
  9. 1 1
      spine-cocos2dx/example/Resources/data/spineboy.atlas
  10. 0 0
      spine-cocos2dx/example/Resources/data/spineboy.png
  11. 33 0
      spine-cocos2dx/example/proj.ios/AppController.h
  12. 134 0
      spine-cocos2dx/example/proj.ios/AppController.mm
  13. BIN
      spine-cocos2dx/example/proj.ios/[email protected]
  14. BIN
      spine-cocos2dx/example/proj.ios/Default.png
  15. BIN
      spine-cocos2dx/example/proj.ios/[email protected]
  16. 65 0
      spine-cocos2dx/example/proj.ios/ExampleSpine-Info.plist
  17. 628 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.pbxproj
  18. 7 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  19. BIN
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/UserInterfaceState.xcuserstate
  20. 10 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/project.xcworkspace/xcuserdata/pancake.xcuserdatad/WorkspaceSettings.xcsettings
  21. 86 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/HelloCpp.xcscheme
  22. 22 0
      spine-cocos2dx/example/proj.ios/ExampleSpine.xcodeproj/xcuserdata/pancake.xcuserdatad/xcschemes/xcschememanagement.plist
  23. 8 0
      spine-cocos2dx/example/proj.ios/ExampleSpine_Prefix.pch
  24. BIN
      spine-cocos2dx/example/proj.ios/Icon-114.png
  25. BIN
      spine-cocos2dx/example/proj.ios/Icon-144.png
  26. BIN
      spine-cocos2dx/example/proj.ios/Icon-57.png
  27. BIN
      spine-cocos2dx/example/proj.ios/Icon-72.png
  28. 33 0
      spine-cocos2dx/example/proj.ios/RootViewController.h
  29. 94 0
      spine-cocos2dx/example/proj.ios/RootViewController.mm
  30. 17 0
      spine-cocos2dx/example/proj.ios/main.m
  31. 0 0
      spine-cocos2dx/example/proj.win32/main.cpp
  32. 0 0
      spine-cocos2dx/example/proj.win32/main.h
  33. 0 0
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.sln
  34. 0 0
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj
  35. 0 0
      spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj.filters
  36. 0 0
      spine-cocos2dx/include/spine-cocos2dx/Atlas.h
  37. 0 0
      spine-cocos2dx/include/spine-cocos2dx/AtlasAttachmentLoader.h
  38. 0 0
      spine-cocos2dx/include/spine-cocos2dx/CCSkeleton.h
  39. 0 0
      spine-cocos2dx/include/spine-cocos2dx/RegionAttachment.h
  40. 0 0
      spine-cocos2dx/include/spine-cocos2dx/Skeleton.h
  41. 0 0
      spine-cocos2dx/include/spine-cocos2dx/SkeletonJson.h
  42. 0 0
      spine-cocos2dx/include/spine-cocos2dx/spine.h
  43. 0 0
      spine-cocos2dx/src/spine-cocos2dx/Atlas.cpp
  44. 0 0
      spine-cocos2dx/src/spine-cocos2dx/AtlasAttachmentLoader.cpp
  45. 0 0
      spine-cocos2dx/src/spine-cocos2dx/CCSkeleton.cpp
  46. 0 0
      spine-cocos2dx/src/spine-cocos2dx/RegionAttachment.cpp
  47. 0 0
      spine-cocos2dx/src/spine-cocos2dx/Skeleton.cpp
  48. 0 0
      spine-cocos2dx/src/spine-cocos2dx/SkeletonJson.cpp

+ 2 - 0
.gitignore

@@ -9,3 +9,5 @@ target
 *.user
 *.suo
 spine-cocos2dx/cocos2dx
+*.swp
+.DS_Store

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


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


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

@@ -0,0 +1,56 @@
+#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_1024X768   1
+#define DESIGN_RESOLUTION_2048X1536  2
+
+/* 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(1024, 768),  "ipad"   };
+static Resource largeResource  =  { 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_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__ */

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

@@ -17,10 +17,10 @@ CCScene* ExampleScene::scene() {
 bool ExampleScene::init() {
 	if (!CCLayer::init()) return false;
 
-	Atlas *atlas = new Atlas("../data/spineboy.atlas");
+	Atlas *atlas = new Atlas("data/spineboy.atlas");
 	SkeletonJson json(atlas);
-	SkeletonData *skeletonData = json.readSkeletonDataFile("../data/spineboy-skeleton.json");
-	Animation *animation = json.readAnimationFile("../data/spineboy-walk.json", skeletonData);
+	SkeletonData *skeletonData = json.readSkeletonDataFile("data/spineboy-skeleton.json");
+	Animation *animation = json.readAnimationFile("data/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


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


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


+ 1 - 1
spine-cocos2dx/spine-cocos2dx/data/spineboy.atlas → spine-cocos2dx/example/Resources/data/spineboy.atlas

@@ -1,5 +1,5 @@
 
-../data/spineboy.png
+data/spineboy.png
 format: RGBA8888
 filter: Nearest,Nearest
 repeat: none

+ 0 - 0
spine-cocos2dx/spine-cocos2dx/data/spineboy.png → spine-cocos2dx/example/Resources/data/spineboy.png


+ 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>

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

@@ -0,0 +1,628 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 46;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		15A3D7B91682F609002FB0C5 /* libcocos2dx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15A3D7B61682F5ED002FB0C5 /* libcocos2dx.a */; };
+		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 */; };
+		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 */; };
+		2FEE85DE170033BC0013E4C9 /* data in Resources */ = {isa = PBXBuildFile; fileRef = 2FEE85DD170033BC0013E4C9 /* data */; };
+		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.m in Sources */ = {isa = PBXBuildFile; fileRef = D4ABB4B213B4395300552E6E /* main.m */; };
+		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 */
+		15A3D7B51682F5ED002FB0C5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 15A3D7AE1682F5EC002FB0C5 /* cocos2dx.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 1551A33F158F2AB200E66CFE;
+			remoteInfo = cocos2dx;
+		};
+		15A3D7B71682F600002FB0C5 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 15A3D7AE1682F5EC002FB0C5 /* cocos2dx.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+			remoteInfo = cocos2dx;
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+		15A3D7AE1682F5EC002FB0C5 /* cocos2dx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2dx.xcodeproj; path = ../../../../cocos2dx/proj.ios/cocos2dx.xcodeproj; sourceTree = "<group>"; };
+		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; };
+		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>"; };
+		2FEE85DD170033BC0013E4C9 /* data */ = {isa = PBXFileReference; lastKnownFileType = folder; path = data; 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.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; 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 = (
+				15A3D7B91682F609002FB0C5 /* 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 */
+		15A3D7AF1682F5EC002FB0C5 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				15A3D7B61682F5ED002FB0C5 /* libcocos2dx.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		19C28FACFE9D520D11CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				1D6058910D05DD3D006BFB54 /* ExampleSpine.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+			isa = PBXGroup;
+			children = (
+				15A3D7AE1682F5EC002FB0C5 /* 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>";
+		};
+		784521C214EBA449009D533B /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				2FEE85DD170033BC0013E4C9 /* data */,
+				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.m */,
+				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 = (
+				15A3D7B81682F600002FB0C5 /* PBXTargetDependency */,
+			);
+			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 = 15A3D7AF1682F5EC002FB0C5 /* Products */;
+					ProjectRef = 15A3D7AE1682F5EC002FB0C5 /* cocos2dx.xcodeproj */;
+				},
+			);
+			projectRoot = "";
+			targets = (
+				1D6058900D05DD3D006BFB54 /* ExampleSpine */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+		15A3D7B61682F5ED002FB0C5 /* libcocos2dx.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libcocos2dx.a;
+			remoteRef = 15A3D7B51682F5ED002FB0C5 /* 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 */,
+				2FEE85DE170033BC0013E4C9 /* data 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.m 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 PBXTargetDependency section */
+		15A3D7B81682F600002FB0C5 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = cocos2dx;
+			targetProxy = 15A3D7B71682F600002FB0C5 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency 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)/../../../../external/chipmunk/include/chipmunk",
+					"\"$(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)/../../../../external/chipmunk/include/chipmunk",
+					"\"$(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>

+ 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.m

@@ -0,0 +1,17 @@
+//
+//  main.m
+//  iphone
+//
+//  Created by Walzer on 10-11-16.
+//  Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+int main(int argc, char *argv[]) {
+    
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+    int retVal = UIApplicationMain(argc, argv, nil, @"AppController");
+    [pool release];
+    return retVal;
+}

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


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


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


+ 0 - 0
spine-cocos2dx/spine-cocos2dx/proj.win32/spine-cocos2dx.vcxproj → spine-cocos2dx/example/proj.win32/spine-cocos2dx.vcxproj


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


+ 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


+ 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