diff --git a/spine-cocos2d-iphone/3.0/README.md b/spine-cocos2d-iphone/3.0/README.md new file mode 100644 index 000000000..f0f99c7bf --- /dev/null +++ b/spine-cocos2d-iphone/3.0/README.md @@ -0,0 +1,20 @@ +# spine-cocos2d-iphone v3.0 + +The spine-cocos2d-iphone runtime provides functionality to load, manipulate and render [Spine](http://esotericsoftware.com) skeletal animation data using [cocos2d-iphone](http://www.cocos2d-iphone.org/). spine-cocos2d-iphone is based on [spine-c](https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-c). + +## Setup + +1. Download the Spine Runtimes source using [git](https://help.github.com/articles/set-up-git) or by downloading it [as a zip](https://github.com/EsotericSoftware/spine-runtimes/archive/master.zip). +1. Place the contents of a cocos2d version 3.0.x distribution into the `spine-cocos2d-iphone/3.0/cocos2d` directory. +1. Open the XCode project file for iOS or Mac from the `spine-cocos2d-iphone/3.0` directory. + +Alternatively, the contents of the `spine-c/src`, `spine-c/include` and `spine-cocos2d-iphone/3.0/src` directories can be copied into your project. Be sure your header search path will find the contents of the `spine-c/include` and `spine-cocos2d-iphone/3.0/src` directories. Note that the includes use `spine/Xxx.h`, so the `spine` directory cannot be omitted when copying the files. + +## Examples + +[Spineboy](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2d-iphone/3.0/example/SpineboyExample.cpp) +[Golbins](https://github.com/EsotericSoftware/spine-runtimes/blob/master/spine-cocos2d-iphone/3.0/example/GoblinsExample.cpp) + +## Links + +[podspec](https://github.com/ldomaradzki/spine-runtimes/blob/master/Spine-Cocos2d-iPhone.podspec) (maintained externally) diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.h b/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.h new file mode 100644 index 000000000..6b4a21cbf --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.h @@ -0,0 +1,7 @@ + +#import +#import "cocos2d.h" + +// Added only for iOS 6 support +@interface AppController : CCAppDelegate +@end diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.m b/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.m new file mode 100644 index 000000000..adc99b4d4 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-ios/AppDelegate.m @@ -0,0 +1,34 @@ + +#import "cocos2d.h" +#import "AppDelegate.h" +#import "SpineboyExample.h" + +@implementation AppController + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + CCFileUtils* sharedFileUtils = [CCFileUtils sharedFileUtils]; + + sharedFileUtils.searchPath = + [NSArray arrayWithObjects: + [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Images"], + [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Fonts"], + [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Resources-shared"], + [[NSBundle mainBundle] resourcePath], + nil]; + + [self setupCocos2dWithOptions:@{ + CCSetupDepthFormat: @GL_DEPTH24_STENCIL8, +// CCSetupTabletScale2X: @YES, +// CCSetupScreenMode: CCScreenModeFixed, +// CCSetupScreenOrientation: CCScreenOrientationPortrait, + CCSetupShowDebugStats: @YES, + }]; + + return YES; +} + +- (CCScene*) startScene { + return [SpineboyExample scene]; +} + +@end diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default-568h@2x.png b/spine-cocos2d-iphone/3.0/Resources-ios/Default-568h@2x.png new file mode 100644 index 000000000..24728b3a5 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Default-568h@2x.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default-Landscape~ipad.png b/spine-cocos2d-iphone/3.0/Resources-ios/Default-Landscape~ipad.png new file mode 100644 index 000000000..82aa50e93 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Default-Landscape~ipad.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default.png b/spine-cocos2d-iphone/3.0/Resources-ios/Default.png new file mode 100644 index 000000000..b3de96822 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Default.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Default@2x.png b/spine-cocos2d-iphone/3.0/Resources-ios/Default@2x.png new file mode 100644 index 000000000..075ae87f0 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Default@2x.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-72.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-72.png new file mode 100644 index 000000000..5b1ce47ad Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-72.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small-50.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small-50.png new file mode 100644 index 000000000..bf1f0c52f Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small-50.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small.png new file mode 100644 index 000000000..1f1166959 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small@2x.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small@2x.png new file mode 100644 index 000000000..8d8ece43e Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon-Small@2x.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon.png new file mode 100644 index 000000000..def898328 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Icon@2x.png b/spine-cocos2d-iphone/3.0/Resources-ios/Icon@2x.png new file mode 100644 index 000000000..05be6c602 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/Icon@2x.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Info.plist b/spine-cocos2d-iphone/3.0/Resources-ios/Info.plist new file mode 100644 index 000000000..2d687c269 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-ios/Info.plist @@ -0,0 +1,58 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIconFiles + + Icon.png + Icon@2x.png + Icon-72.png + Icon-Small-50.png + Icon-Small.png + Icon-Small@2x.png + + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIPrerenderedIcon + + UIStatusBarHidden + + UIRequiredDeviceCapabilities + + accelerometer + + opengles-2 + + + UISupportedInterfaceOrientations + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/Prefix.pch b/spine-cocos2d-iphone/3.0/Resources-ios/Prefix.pch new file mode 100644 index 000000000..f69095daf --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-ios/Prefix.pch @@ -0,0 +1,11 @@ + +#import + +#ifndef __IPHONE_3_0 +#warning "This project uses features only available in iPhone SDK 3.0 and later." +#endif + +#ifdef __OBJC__ +#import +#import +#endif diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/iTunesArtwork b/spine-cocos2d-iphone/3.0/Resources-ios/iTunesArtwork new file mode 100644 index 000000000..b1cc056ba Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-ios/iTunesArtwork differ diff --git a/spine-cocos2d-iphone/3.0/Resources-ios/main.m b/spine-cocos2d-iphone/3.0/Resources-ios/main.m new file mode 100644 index 000000000..8d46b7285 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-ios/main.m @@ -0,0 +1,9 @@ + +#import + +int main(int argc, char *argv[]) { + @autoreleasepool { + int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); + return retVal; + } +} diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.h b/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.h new file mode 100644 index 000000000..92139d738 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.h @@ -0,0 +1,14 @@ + +#import "cocos2d.h" + +@interface spine_cocos2d_iphoneAppDelegate : NSObject { + NSWindow *window_; + CCGLView *glView_; +} + +@property IBOutlet NSWindow *window; +@property IBOutlet CCGLView *glView; + +- (IBAction)toggleFullScreen:(id)sender; + +@end diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.m b/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.m new file mode 100644 index 000000000..dcddb1928 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/AppDelegate.m @@ -0,0 +1,36 @@ + +#import "AppDelegate.h" +#import "SpineboyExample.h" + +@implementation spine_cocos2d_iphoneAppDelegate +@synthesize window=window_, glView=glView_; + +- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { + CCDirectorMac *director = (CCDirectorMac*)[CCDirector sharedDirector]; + + [director setDisplayStats:YES]; + [director setView:glView_]; + [director setResizeMode:kCCDirectorResize_AutoScale]; + + [window_ setAcceptsMouseMovedEvents:NO]; + [window_ center]; + + [director runWithScene:[SpineboyExample scene]]; +} + +- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication { + return YES; +} + +- (void)dealloc { + [[CCDirector sharedDirector] end]; +} + +#pragma mark AppDelegate - IBActions + +- (IBAction)toggleFullScreen: (id)sender { + CCDirectorMac *director = (CCDirectorMac*) [CCDirector sharedDirector]; + [director setFullScreen:![director isFullScreen]]; +} + +@end diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/InfoPlist.strings b/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/InfoPlist.strings new file mode 100644 index 000000000..477b28ff8 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized versions of Info.plist keys */ + diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/MainMenu.xib b/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/MainMenu.xib new file mode 100644 index 000000000..cbff754f9 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/English.lproj/MainMenu.xib @@ -0,0 +1,896 @@ + + + + 1060 + 10K549 + 1938 + 1038.36 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1938 + + + YES + NSOpenGLView + NSWindowTemplate + NSView + NSMenu + NSMenuItem + NSCustomObject + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + spine-cocos2d-iphone + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + spine-cocos2d-iphone + + YES + + + About spine-cocos2d-iphone + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide spine-cocos2d-iphone + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit spine-cocos2d-iphone + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Toggle Full Screen + f + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + YES + + + spine-cocos2d-iphone Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 15 + 2 + {{335, 435}, {580, 416}} + 1685585920 + spine-cocos2d-iphone + NSWindow + + + + 256 + + YES + + + 1298 + + {{0, 20}, {580, 396}} + + + + 2 + + + AAAABQAAAGAAAAAIAAAADwAAAAsAAAAIAAAAAA + + + + + {580, 416} + + + + + {{0, 0}, {1680, 1028}} + {1e+13, 1e+13} + + + spine_cocos2d_iphoneAppDelegate + + + NSFontManager + + + Item + + 2147483647 + + + + + + + YES + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 495 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + performZoom: + + + + 240 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + showHelp: + + + + 493 + + + + window + + + + 536 + + + + glView + + + + 537 + + + + toggleFullScreen: + + + + 541 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + 420 + + + + + 490 + + + YES + + + + + + 491 + + + YES + + + + + + 492 + + + + + 494 + + + + + 533 + + + + + 538 + + + + + 540 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 129.IBPluginDependency + 130.IBPluginDependency + 131.IBPluginDependency + 134.IBPluginDependency + 136.IBPluginDependency + 143.IBPluginDependency + 144.IBPluginDependency + 145.IBPluginDependency + 149.IBPluginDependency + 150.IBPluginDependency + 19.IBPluginDependency + 23.IBPluginDependency + 236.IBPluginDependency + 239.IBPluginDependency + 24.IBPluginDependency + 29.IBPluginDependency + 295.IBPluginDependency + 296.IBPluginDependency + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 372.IBPluginDependency + 420.IBPluginDependency + 490.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 494.IBPluginDependency + 5.IBPluginDependency + 533.CustomClassName + 533.IBPluginDependency + 538.IBPluginDependency + 540.IBPluginDependency + 56.IBPluginDependency + 57.IBPluginDependency + 58.IBPluginDependency + 92.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{395, 107}, {580, 416}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + CCGLView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + + + + YES + + + + + 541 + + + + YES + + MacGLView + NSOpenGLView + + IBProjectSource + ./Classes/MacGLView.h + + + + spine_cocos2d_iphoneAppDelegate + NSObject + + toggleFullScreen: + id + + + toggleFullScreen: + + toggleFullScreen: + id + + + + YES + + YES + glView + window + + + YES + MacGLView + NSWindow + + + + YES + + YES + glView + window + + + YES + + glView + MacGLView + + + window + NSWindow + + + + + IBProjectSource + ./Classes/spine_cocos2d_iphoneAppDelegate.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + + + diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/Info.plist b/spine-cocos2d-iphone/3.0/Resources-mac/Info.plist new file mode 100644 index 000000000..56fdbce54 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/Info.plist @@ -0,0 +1,32 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + icon + CFBundleIdentifier + com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSMinimumSystemVersion + ${MACOSX_DEPLOYMENT_TARGET} + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + + diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/Prefix.pch b/spine-cocos2d-iphone/3.0/Resources-mac/Prefix.pch new file mode 100644 index 000000000..8c4f6562b --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/Prefix.pch @@ -0,0 +1,4 @@ + +#ifdef __OBJC__ + #import +#endif diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/icon.icns b/spine-cocos2d-iphone/3.0/Resources-mac/icon.icns new file mode 100644 index 000000000..70ba1e4d8 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources-mac/icon.icns differ diff --git a/spine-cocos2d-iphone/3.0/Resources-mac/main.m b/spine-cocos2d-iphone/3.0/Resources-mac/main.m new file mode 100644 index 000000000..3fa78a5d9 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources-mac/main.m @@ -0,0 +1,8 @@ + +#import +#import "cocos2d.h" + +int main(int argc, char *argv[]) { + [CCGLView load_]; + return NSApplicationMain(argc, (const char **) argv); +} diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas new file mode 100644 index 000000000..5fefae2bb --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.atlas @@ -0,0 +1,292 @@ + +goblins-ffd.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +dagger + rotate: true + xy: 372, 100 + size: 26, 108 + orig: 26, 108 + offset: 0, 0 + index: -1 +goblin/eyes-closed + rotate: false + xy: 2, 7 + size: 34, 12 + orig: 34, 12 + offset: 0, 0 + index: -1 +goblin/head + rotate: false + xy: 107, 36 + size: 103, 66 + orig: 103, 66 + offset: 0, 0 + index: -1 +goblin/left-arm + rotate: false + xy: 901, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblin/left-foot + rotate: false + xy: 929, 95 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblin/left-hand + rotate: false + xy: 452, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/left-lower-leg + rotate: true + xy: 713, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblin/left-shoulder + rotate: false + xy: 610, 44 + size: 29, 44 + orig: 29, 44 + offset: 0, 0 + index: -1 +goblin/left-upper-leg + rotate: true + xy: 638, 93 + size: 33, 73 + orig: 33, 73 + offset: 0, 0 + index: -1 +goblin/neck + rotate: false + xy: 490, 2 + size: 36, 41 + orig: 36, 41 + offset: 0, 0 + index: -1 +goblin/pelvis + rotate: false + xy: 482, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblin/right-arm + rotate: true + xy: 690, 2 + size: 23, 50 + orig: 23, 50 + offset: 0, 0 + index: -1 +goblin/right-foot + rotate: false + xy: 771, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblin/right-hand + rotate: false + xy: 940, 56 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblin/right-lower-leg + rotate: true + xy: 482, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblin/right-shoulder + rotate: true + xy: 602, 3 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblin/right-upper-leg + rotate: true + xy: 641, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblin/torso + rotate: true + xy: 212, 34 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblin/undie-straps + rotate: false + xy: 380, 5 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblin/undies + rotate: false + xy: 174, 5 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +goblingirl/eyes-closed + rotate: false + xy: 269, 11 + size: 37, 21 + orig: 37, 21 + offset: 0, 0 + index: -1 +goblingirl/head + rotate: false + xy: 2, 21 + size: 103, 81 + orig: 103, 81 + offset: 0, 0 + index: -1 +goblingirl/left-arm + rotate: true + xy: 978, 56 + size: 37, 35 + orig: 37, 35 + offset: 0, 0 + index: -1 +goblingirl/left-foot + rotate: false + xy: 107, 3 + size: 65, 31 + orig: 65, 31 + offset: 0, 0 + index: -1 +goblingirl/left-hand + rotate: false + xy: 565, 2 + size: 35, 40 + orig: 35, 40 + offset: 0, 0 + index: -1 +goblingirl/left-lower-leg + rotate: true + xy: 785, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/left-shoulder + rotate: true + xy: 690, 27 + size: 28, 46 + orig: 28, 46 + offset: 0, 0 + index: -1 +goblingirl/left-upper-leg + rotate: true + xy: 857, 93 + size: 33, 70 + orig: 33, 70 + offset: 0, 0 + index: -1 +goblingirl/neck + rotate: false + xy: 528, 2 + size: 35, 41 + orig: 35, 41 + offset: 0, 0 + index: -1 +goblingirl/pelvis + rotate: false + xy: 546, 45 + size: 62, 43 + orig: 62, 43 + offset: 0, 0 + index: -1 +goblingirl/right-arm + rotate: false + xy: 452, 48 + size: 28, 50 + orig: 28, 50 + offset: 0, 0 + index: -1 +goblingirl/right-foot + rotate: false + xy: 836, 58 + size: 63, 33 + orig: 63, 33 + offset: 0, 0 + index: -1 +goblingirl/right-hand + rotate: true + xy: 771, 20 + size: 36, 37 + orig: 36, 37 + offset: 0, 0 + index: -1 +goblingirl/right-lower-leg + rotate: true + xy: 560, 90 + size: 36, 76 + orig: 36, 76 + offset: 0, 0 + index: -1 +goblingirl/right-shoulder + rotate: false + xy: 649, 10 + size: 39, 45 + orig: 39, 45 + offset: 0, 0 + index: -1 +goblingirl/right-upper-leg + rotate: true + xy: 706, 57 + size: 34, 63 + orig: 34, 63 + offset: 0, 0 + index: -1 +goblingirl/torso + rotate: false + xy: 310, 2 + size: 68, 96 + orig: 68, 96 + offset: 0, 0 + index: -1 +goblingirl/undie-straps + rotate: false + xy: 212, 13 + size: 55, 19 + orig: 55, 19 + offset: 0, 0 + index: -1 +goblingirl/undies + rotate: false + xy: 810, 27 + size: 36, 29 + orig: 36, 29 + offset: 0, 0 + index: -1 +shield + rotate: false + xy: 380, 26 + size: 70, 72 + orig: 70, 72 + offset: 0, 0 + index: -1 +spear + rotate: true + xy: 2, 104 + size: 22, 368 + orig: 22, 368 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.json b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.json new file mode 100644 index 000000000..b35360ad1 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.json @@ -0,0 +1,1081 @@ +{ +"bones": [ + { "name": "root" }, + { "name": "hip", "parent": "root", "x": 0.64, "y": 114.41 }, + { "name": "left upper leg", "parent": "hip", "length": 50.39, "x": 14.45, "y": 2.81, "rotation": -89.09 }, + { "name": "pelvis", "parent": "hip", "x": 1.41, "y": -6.57 }, + { "name": "right upper leg", "parent": "hip", "length": 42.45, "x": -20.07, "y": -6.83, "rotation": -97.49 }, + { "name": "torso", "parent": "hip", "length": 85.82, "x": -6.42, "y": 1.97, "rotation": 93.92 }, + { "name": "left lower leg", "parent": "left upper leg", "length": 49.89, "x": 56.34, "y": 0.98, "rotation": -16.65 }, + { "name": "left shoulder", "parent": "torso", "length": 35.43, "x": 74.04, "y": -20.38, "rotation": -156.96 }, + { "name": "neck", "parent": "torso", "length": 18.38, "x": 81.67, "y": -6.34, "rotation": -1.51 }, + { "name": "right lower leg", "parent": "right upper leg", "length": 58.52, "x": 42.99, "y": -0.61, "rotation": -14.34 }, + { "name": "right shoulder", "parent": "torso", "length": 37.24, "x": 76.02, "y": 18.14, "rotation": 133.88 }, + { "name": "head", "parent": "neck", "length": 68.28, "x": 20.93, "y": 11.59, "rotation": -13.92 }, + { "name": "left arm", "parent": "left shoulder", "length": 35.62, "x": 37.85, "y": -2.34, "rotation": 28.16 }, + { "name": "left foot", "parent": "left lower leg", "length": 46.5, "x": 58.94, "y": -7.61, "rotation": 102.43 }, + { "name": "right arm", "parent": "right shoulder", "length": 36.74, "x": 37.6, "y": 0.31, "rotation": 36.32 }, + { "name": "right foot", "parent": "right lower leg", "length": 45.45, "x": 64.88, "y": 0.04, "rotation": 110.3 }, + { "name": "left hand", "parent": "left arm", "length": 11.52, "x": 35.62, "y": 0.07, "rotation": 2.7 }, + { "name": "right hand", "parent": "right arm", "length": 15.32, "x": 36.9, "y": 0.34, "rotation": 2.35 }, + { "name": "spear1", "parent": "left hand", "length": 65.06, "x": 0.48, "y": 17.03, "rotation": 102.43 }, + { "name": "spear2", "parent": "spear1", "length": 61.41, "x": 65.05, "y": 0.04, "rotation": 0.9 }, + { "name": "spear3", "parent": "spear2", "length": 76.79, "x": 61.88, "y": 0.57, "rotation": -0.9 } +], +"slots": [ + { "name": "left shoulder", "bone": "left shoulder", "attachment": "left shoulder" }, + { "name": "left arm", "bone": "left arm", "attachment": "left arm" }, + { "name": "left hand item", "bone": "left hand", "attachment": "spear" }, + { "name": "left hand", "bone": "left hand", "attachment": "left hand" }, + { "name": "left foot", "bone": "left foot", "attachment": "left foot" }, + { "name": "left lower leg", "bone": "left lower leg", "attachment": "left lower leg" }, + { "name": "left upper leg", "bone": "left upper leg", "attachment": "left upper leg" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "pelvis", "bone": "pelvis", "attachment": "pelvis" }, + { "name": "right foot", "bone": "right foot", "attachment": "right foot" }, + { "name": "right lower leg", "bone": "right lower leg", "attachment": "right lower leg" }, + { "name": "undie straps", "bone": "pelvis", "attachment": "undie straps" }, + { "name": "undies", "bone": "pelvis", "attachment": "undies" }, + { "name": "right upper leg", "bone": "right upper leg", "attachment": "right upper leg" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eyes", "bone": "head" }, + { "name": "right shoulder", "bone": "right shoulder", "attachment": "right shoulder" }, + { "name": "right arm", "bone": "right arm", "attachment": "right arm" }, + { "name": "right hand thumb", "bone": "right hand", "attachment": "right hand thumb" }, + { "name": "right hand item", "bone": "right hand", "attachment": "dagger" }, + { "name": "right hand", "bone": "right hand", "attachment": "right hand" }, + { "name": "right hand item 2", "bone": "right hand", "attachment": "shield" } +], +"skins": { + "default": { + "left hand item": { + "dagger": { "x": 7.88, "y": -23.45, "rotation": 10.47, "width": 26, "height": 108 }, + "spear": { + "type": "skinnedmesh", + "uvs": [ 1, 0.11236, 0.77096, 0.13278, 0.76608, 0.21781, 0.75642, 0.386, 0.74723, 0.54607, 0.72117, 1, 0.28838, 1, 0.24208, 0.54327, 0.22589, 0.38361, 0.2089, 0.21605, 0.20043, 0.13242, 0, 0.11519, 0.4527, 0, 0.58399, 0 ], + "triangles": [ 5, 6, 4, 6, 7, 4, 4, 7, 3, 2, 9, 1, 9, 10, 1, 10, 12, 1, 12, 13, 1, 1, 13, 0, 10, 11, 12, 3, 8, 2, 8, 9, 2, 7, 8, 3 ], + "vertices": [ 1, 20, 38.54, -10.88, 1, 1, 20, 30.97, -5.93, 1, 2, 19, 61.48, -5.58, 0.51, 20, -0.31, -6.16, 0.48, 2, 18, 64.73, -5.03, 0.5, 19, -0.4, -5.06, 0.49, 1, 16, 4.56, 23.91, 1, 1, 16, 41.7, -138.95, 1, 1, 16, 32.42, -141.1, 1, 1, 16, -6.49, 22.4, 1, 2, 18, 65.48, 6.64, 0.5, 19, 0.53, 6.59, 0.49, 2, 19, 62.18, 6.66, 0.51, 20, 0.2, 6.09, 0.48, 1, 20, 30.96, 6.61, 1, 1, 20, 37.26, 11.09, 1, 1, 20, 79.75, 1.59, 1, 1, 20, 79.78, -1.29, 1 ], + "edges": [ 24, 22, 22, 20, 10, 12, 2, 0, 24, 26, 0, 26, 8, 10, 12, 14, 6, 8, 14, 16, 2, 4, 4, 6, 16, 18, 18, 20, 20, 2 ], + "hull": 14, + "width": 22, + "height": 368 + } + }, + "right hand item": { + "dagger": { + "type": "mesh", + "uvs": [ 0.78091, 0.38453, 1, 0.38405, 1, 0.44881, 0.73953, 0.4687, 0.74641, 0.81344, 0.34022, 1, 0.15434, 1, 0.11303, 0.78858, 0.23007, 0.47367, 0, 0.45047, 0, 0.38621, 0.22367, 0.38573, 0.24384, 0, 1, 0 ], + "triangles": [ 0, 12, 13, 11, 12, 0, 0, 1, 2, 9, 10, 11, 3, 11, 0, 3, 0, 2, 8, 11, 3, 9, 11, 8, 5, 6, 7, 4, 5, 8, 4, 8, 3, 5, 7, 8 ], + "vertices": [ 15.49, -12.82, 21.13, -13.57, 20.16, -20.49, 13.15, -21.67, 8.13, -58.56, -5.13, -77.04, -9.92, -76.36, -7.79, -53.6, -0.03, -20.36, -5.6, -17.04, -4.63, -10.17, 1.12, -10.93, 7.46, 30.24, 26.93, 27.49 ], + "edges": [ 22, 20, 24, 26, 22, 24, 2, 0, 0, 22, 0, 26, 12, 14, 14, 16, 18, 20, 16, 18, 2, 4, 4, 6, 6, 8, 10, 12, 8, 10 ], + "hull": 14, + "width": 26, + "height": 108 + } + }, + "right hand item 2": { + "shield": { "rotation": 93.49, "width": 70, "height": 72 } + } + }, + "goblin": { + "eyes": { + "eyes closed": { "name": "goblin/eyes-closed", "x": 29.19, "y": -24.89, "rotation": -88.92, "width": 34, "height": 12 } + }, + "head": { + "head": { + "name": "goblin/head", + "type": "mesh", + "uvs": [ 0, 0.60494, 0.14172, 0.5145, 0.24218, 0.55229, 0.32667, 0.67806, 0.37969, 0.79352, 0.53505, 0.93014, 0.86056, 1, 0.94071, 0.94169, 0.92098, 0.69923, 0.9888, 0.65497, 0.99003, 0.51643, 0.89632, 0.43561, 0.94487, 0.41916, 1, 0.39713, 1, 0.2836, 0.94017, 0.27027, 0.87906, 0.25666, 0.80754, 0.16044, 0.66698, 0.01997, 0.4734, 0.01805, 0.29215, 0.19893, 0.25392, 0.31823, 0.09117, 0.324, 0, 0.44331, 0.43271, 0.69153, 0.466, 0.47794, 0.35996, 0.31246, 0.73473, 0.68593, 0.72215, 0.57425, 0.88179, 0.5583, 0.80267, 0.51015 ], + "triangles": [ 26, 20, 19, 21, 20, 26, 15, 14, 13, 12, 15, 13, 11, 16, 15, 11, 15, 12, 26, 17, 25, 18, 26, 19, 17, 26, 18, 30, 25, 17, 30, 17, 16, 30, 16, 11, 1, 22, 21, 23, 22, 1, 2, 1, 21, 2, 21, 26, 29, 30, 11, 29, 11, 10, 28, 25, 30, 0, 23, 1, 9, 29, 10, 25, 3, 2, 25, 2, 26, 29, 27, 28, 29, 28, 30, 24, 3, 25, 24, 25, 28, 24, 28, 27, 8, 29, 9, 27, 29, 8, 4, 3, 24, 5, 24, 27, 4, 24, 5, 7, 6, 27, 7, 27, 8, 5, 27, 6 ], + "vertices": [ 14.56, 50.42, 23.12, 35.47, 17.46, 26.36, 11.57, 16.86, 3.74, 11.71, -5.89, -3.91, -11.83, -37.23, -8.31, -45.63, 7.75, -44.24, 10.39, -51.33, 19.52, -51.82, 25.21, -43.15, 26.12, -47.43, 27.35, -53.16, 34.84, -53.46, 35.96, -47.33, 37.11, -41.08, 43.75, -33.97, 53.58, -19.87, 54.5, 0.03, 43.31, 19.16, 35.6, 23.41, 35.89, 40.17, 28.39, 49.87, 10.25, 5.99, 24.2, 2, 35.55, 12.48, 9.39, -25.1, 16.8, -24.31, 17.2, -40.65, 20.68, -33.02 ], + "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 26, 28, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 0, 46, 6, 48, 48, 50, 50, 52, 52, 42, 2, 4, 4, 6, 4, 52, 2, 44, 22, 32, 22, 24, 24, 26, 28, 30, 30, 32, 24, 30, 16, 54, 54, 56, 20, 58, 58, 54, 16, 58, 22, 60, 60, 56, 58, 60 ], + "hull": 24, + "width": 103, + "height": 66 + } + }, + "left arm": { + "left arm": { + "name": "goblin/left-arm", + "type": "mesh", + "uvs": [ 0.68992, 0.29284, 1, 0.46364, 1, 0.74643, 0.84089, 1, 0.66344, 1, 0.33765, 0.64284, 0, 0.44124, 0, 0, 0.34295, 0 ], + "triangles": [ 6, 7, 8, 5, 6, 8, 0, 5, 8, 0, 1, 2, 5, 0, 2, 4, 5, 2, 3, 4, 2 ], + "vertices": [ 18.6, 8.81, 32.19, 10.31, 38.02, 1.62, 38.08, -9.63, 32.31, -13.49, 14.37, -9.62, -0.75, -10.78, -9.84, 2.77, 1.29, 10.25 ], + "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 6, 4, 6, 8, 8, 10, 12, 14, 10, 12 ], + "hull": 9, + "width": 37, + "height": 35 + } + }, + "left foot": { + "left foot": { + "name": "goblin/left-foot", + "type": "mesh", + "uvs": [ 0.15733, 0.31873, 0.08195, 0.78502, 0.15884, 0.99366, 0.41633, 0.96804, 0.68822, 0.97636, 1, 0.96388, 0.99385, 0.73501, 0.85294, 0.51862, 0.61479, 0.31056, 0.46991, 0, 0.48032, 0.75604, 0.75994, 0.77706 ], + "triangles": [ 0, 9, 8, 10, 0, 8, 10, 8, 7, 11, 10, 7, 11, 7, 6, 1, 0, 10, 11, 6, 5, 3, 1, 10, 4, 10, 11, 4, 11, 5, 3, 10, 4, 2, 1, 3 ], + "vertices": [ 2.28, 13.07, -1.76, -1.64, 3.59, -7.8, 20.25, -6.04, 37.91, -5.27, 58.12, -3.71, 57.31, 3.34, 47.78, 9.51, 31.95, 15.05, 21.99, 24.11, 24.03, 0.75, 42.21, 1.16 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 6, 20, 20, 16, 2, 20, 8, 22, 22, 14, 20, 22, 22, 10 ], + "hull": 10, + "width": 65, + "height": 31 + } + }, + "left hand": { + "left hand": { + "name": "goblin/left-hand", + "type": "mesh", + "uvs": [ 0.518, 0.12578, 1, 0.16285, 0.99788, 0.50578, 0.69745, 1, 0.37445, 1, 0, 0.80051, 0, 0.42792, 0.17601, 0, 0.43567, 0 ], + "triangles": [ 2, 0, 1, 0, 5, 6, 6, 7, 0, 0, 7, 8, 3, 4, 0, 4, 5, 0, 2, 3, 0 ], + "vertices": [ -3.11, 15.42, 10.83, 22.27, 15.5, 14.55, 18.35, -8.96, 9.48, -14.32, -4.58, -14.3, -11.63, -2.63, -14.89, 13.68, -7.75, 17.99 ], + "edges": [ 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 14, 16, 12, 14 ], + "hull": 9, + "width": 36, + "height": 41 + } + }, + "left lower leg": { + "left lower leg": { + "name": "goblin/left-lower-leg", + "type": "mesh", + "uvs": [ 0.95508, 0.20749, 0.81927, 0.65213, 0.94754, 0.77308, 0.67842, 0.97346, 0.46463, 1, 0.26845, 1, 0.04963, 0.90706, 0.2106, 0.60115, 0.07478, 0.40195, 0.18545, 0, 0.28857, 0 ], + "triangles": [ 10, 8, 9, 1, 7, 10, 7, 8, 10, 0, 1, 10, 1, 4, 7, 3, 1, 2, 5, 6, 7, 7, 4, 5, 1, 3, 4 ], + "vertices": [ -0.19, 6.82, 30.97, 10.96, 37.97, 17.33, 53.88, 12.6, 57.58, 6.31, 59.34, 0.08, 55.04, -8.63, 32.99, -9.33, 20.79, -17.43, -7.27, -21.56, -8.19, -18.29 ], + "edges": [ 20, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 18, 20, 16, 18 ], + "hull": 11, + "width": 33, + "height": 70 + } + }, + "left shoulder": { + "left shoulder": { + "name": "goblin/left-shoulder", + "type": "mesh", + "uvs": [ 0.7377, 0.40692, 1, 0.75237, 1, 1, 0.62046, 1, 0.26184, 0.56601, 0, 0.29783, 0, 0, 0.44115, 0 ], + "triangles": [ 5, 6, 7, 4, 5, 7, 4, 7, 0, 3, 4, 0, 3, 0, 1, 3, 1, 2 ], + "vertices": [ 15.18, 5.74, 32.17, 5.32, 41.79, 0.21, 36.63, -9.5, 14.88, -9.72, 0.9, -10.89, -10.66, -4.74, -4.66, 6.54 ], + "edges": [ 12, 14, 14, 0, 4, 2, 0, 2, 4, 6, 6, 8, 10, 12, 8, 10 ], + "hull": 8, + "width": 29, + "height": 44 + } + }, + "left upper leg": { + "left upper leg": { + "name": "goblin/left-upper-leg", + "type": "mesh", + "uvs": [ 1, 0.12167, 1, 0.54873, 0.91067, 0.78907, 0.76567, 1, 0.3087, 0.9579, 0, 0.68777, 0, 0.219, 0.51961, 0, 0.87552, 0 ], + "triangles": [ 7, 8, 0, 5, 6, 7, 0, 1, 7, 4, 5, 7, 1, 4, 7, 2, 4, 1, 3, 4, 2 ], + "vertices": [ 2.33, 13.06, 33.5, 12.57, 51, 9.34, 66.32, 4.31, 63, -10.71, 43.13, -20.58, 8.91, -20.04, -6.79, -2.64, -6.61, 9.1 ], + "edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 10, 12, 12, 14, 14, 16, 2, 0, 16, 0 ], + "hull": 9, + "width": 33, + "height": 73 + } + }, + "neck": { + "neck": { + "name": "goblin/neck", + "type": "mesh", + "uvs": [ 0.81967, 0.27365, 0.92101, 0.82048, 0.47134, 1, 0.15679, 0.9354, 0, 0.7556, 0.19268, 0.51833, 0.15468, 0.35706, 0, 0.21989, 0.13568, 0, 0.68878, 0, 0.70145, 0.53872 ], + "triangles": [ 6, 8, 9, 6, 9, 0, 7, 8, 6, 10, 5, 6, 0, 10, 6, 10, 0, 1, 3, 4, 5, 2, 5, 10, 2, 10, 1, 3, 5, 2 ], + "vertices": [ 18.62, -11.65, -3.98, -13.85, -10.28, 2.76, -6.91, 13.89, 0.8, 19.05, 10.06, 11.51, 16.74, 12.45, 22.71, 17.64, 31.4, 12.19, 30.12, -7.67, 8.05, -6.71 ], + "edges": [ 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 20, 20, 0, 0, 18, 16, 18, 14, 16, 0, 2 ], + "hull": 10, + "width": 36, + "height": 41 + } + }, + "pelvis": { + "pelvis": { + "name": "goblin/pelvis", + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 2, 3, 1, 3, 0 ], + "vertices": [ 25.38, -20.73, -36.61, -20.73, -36.61, 22.26, 25.38, 22.26 ], + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "hull": 4, + "width": 62, + "height": 43 + } + }, + "right arm": { + "right arm": { + "name": "goblin/right-arm", + "type": "mesh", + "uvs": [ 1, 0.09223, 1, 0.8501, 0.72058, 1, 0.24384, 1, 0, 0.86558, 0.20822, 0.10919, 0.50903, 0, 0.85342, 0 ], + "triangles": [ 6, 7, 0, 2, 3, 5, 4, 5, 3, 1, 6, 0, 6, 2, 5, 1, 2, 6 ], + "vertices": [ -4.75, 8.89, 33.03, 11.74, 40.99, 5.89, 41.81, -5.03, 35.53, -11.13, -2.53, -9.2, -8.5, -2.71, -9.09, 5.18 ], + "edges": [ 8, 6, 4, 6, 4, 2, 12, 14, 2, 0, 14, 0, 10, 12, 8, 10 ], + "hull": 8, + "width": 23, + "height": 50 + } + }, + "right foot": { + "right foot": { + "name": "goblin/right-foot", + "type": "mesh", + "uvs": [ 0.40851, 0.0047, 0.59087, 0.33404, 0.75959, 0.48311, 0.88907, 0.59751, 0.97532, 0.89391, 0.90385, 1, 0.6722, 1, 0.38633, 1, 0.08074, 1, 0, 0.88921, 0, 0.65984, 0, 0.46577, 0.0906, 0.0988, 0.305, 0, 0.47461, 0.71257, 0.715, 0.74681 ], + "triangles": [ 1, 10, 11, 1, 13, 0, 14, 1, 2, 1, 12, 13, 12, 1, 11, 14, 10, 1, 15, 14, 2, 15, 2, 3, 9, 10, 14, 15, 3, 4, 7, 8, 9, 14, 7, 9, 6, 14, 15, 5, 6, 15, 7, 14, 6, 4, 5, 15 ], + "vertices": [ 17.36, 25.99, 29.13, 15.44, 39.89, 10.8, 48.14, 7.24, 53.84, -2.38, 49.43, -6, 34.84, -6.39, 16.84, -6.87, -2.4, -7.38, -7.58, -3.86, -7.78, 3.7, -7.95, 10.1, -2.57, 22.36, 10.84, 25.97, 22.14, 2.75, 37.31, 2.03 ], + "edges": [ 0, 2, 6, 8, 8, 10, 16, 18, 22, 24, 24, 26, 0, 26, 10, 12, 2, 4, 4, 6, 12, 14, 14, 16, 18, 20, 20, 22, 2, 28, 28, 14, 20, 28, 4, 30, 30, 12, 28, 30, 30, 8 ], + "hull": 14, + "width": 63, + "height": 33 + } + }, + "right hand": { + "right hand": { + "name": "goblin/right-hand", + "type": "mesh", + "uvs": [ 0.17957, 0, 0, 0.44772, 0, 0.79734, 0.20057, 0.94264, 0.55057, 1, 0.8539, 1, 0.89823, 0.82004, 0.8259, 0.74285, 0.84223, 0.49993, 0.96356, 0.34102, 0.66023, 0 ], + "triangles": [ 8, 10, 9, 0, 10, 1, 8, 2, 1, 8, 1, 10, 7, 3, 8, 3, 2, 8, 4, 3, 7, 5, 7, 6, 4, 7, 5 ], + "vertices": [ -10.82, -9.45, 5.95, -15.34, 18.88, -14.9, 24, -7.5, 25.69, 5.16, 25.31, 16.07, 18.61, 17.44, 15.84, 14.74, 6.84, 15.02, 0.81, 19.18, -11.41, 7.83 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 0, 20 ], + "hull": 11, + "width": 36, + "height": 37 + } + }, + "right hand thumb": { + "right hand thumb": { + "name": "goblin/right-hand", + "type": "mesh", + "uvs": [ 0.88538, 0.22262, 0.76167, 0.3594, 0.75088, 0.78308, 0.95326, 0.84981, 1, 0.60302 ], + "triangles": [ 1, 0, 4, 2, 1, 4, 3, 2, 4 ], + "vertices": [ -2.82, 15.97, 2.4, 11.71, 18.08, 11.9, 20.27, 19.27, 11.09, 20.62 ], + "edges": [ 2, 4, 4, 6, 6, 8, 2, 0, 0, 8 ], + "hull": 5, + "width": 36, + "height": 37 + } + }, + "right lower leg": { + "right lower leg": { + "name": "goblin/right-lower-leg", + "type": "mesh", + "uvs": [ 1, 0.27261, 0.81312, 0.52592, 0.79587, 0.71795, 0.95544, 0.80988, 0.85193, 0.95493, 0.47241, 1, 0.14033, 1, 0, 0.8773, 0.14896, 0.67914, 0.1619, 0.30325, 0.60611, 0 ], + "triangles": [ 1, 10, 0, 9, 10, 1, 8, 9, 1, 2, 8, 1, 4, 2, 3, 6, 7, 8, 5, 6, 8, 2, 5, 8, 4, 5, 2 ], + "vertices": [ 6.26, 8.46, 23.32, 8.04, 37.1, 12.89, 41.45, 20.82, 53.07, 21.46, 61.33, 10.06, 65.77, -1.03, 58.99, -9.19, 43.02, -9.81, 16.33, -20, -12.79, -9.26 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 20, 18, 20 ], + "hull": 11, + "width": 36, + "height": 76 + } + }, + "right shoulder": { + "right shoulder": { + "name": "goblin/right-shoulder", + "type": "mesh", + "uvs": [ 0.62008, 0.03708, 0.92131, 0.09048, 1, 0.38319, 0.72049, 0.6937, 0.31656, 1, 0, 1, 0, 0.75106, 0.28233, 0.49988 ], + "triangles": [ 2, 3, 0, 2, 0, 1, 7, 0, 3, 4, 5, 6, 4, 7, 3, 4, 6, 7 ], + "vertices": [ -3.17, -11.05, -9, -0.57, -1.01, 10.33, 16.69, 11.17, 37.41, 8.2, 45.45, -1.16, 36.95, -8.46, 21.2, -7.47 ], + "edges": [ 10, 12, 12, 14, 14, 0, 0, 2, 2, 4, 4, 6, 8, 10, 6, 8 ], + "hull": 8, + "width": 39, + "height": 45 + } + }, + "right upper leg": { + "right upper leg": { + "name": "goblin/right-upper-leg", + "type": "mesh", + "uvs": [ 0.27018, 0, 0.11618, 0.18177, 0, 0.70688, 0, 0.89577, 0.26668, 1, 0.48718, 1, 0.67618, 0.83532, 1, 0.5161, 1, 0.25543, 0.74618, 0.0571 ], + "triangles": [ 9, 8, 7, 9, 1, 0, 6, 9, 7, 6, 1, 9, 2, 1, 6, 4, 3, 2, 6, 4, 2, 5, 4, 6 ], + "vertices": [ -9.85, -10.37, 2.17, -14.07, 35.49, -13.66, 47.29, -12.11, 52.61, -2.26, 51.63, 5.16, 40.51, 10.18, 19.13, 18.47, 2.85, 16.32, -8.4, 6.14 ], + "edges": [ 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18 ], + "hull": 10, + "width": 34, + "height": 63 + } + }, + "torso": { + "torso": { + "name": "goblin/torso", + "type": "mesh", + "uvs": [ 0, 0.33287, 0.15945, 0.46488, 0.15761, 0.60314, 0.15502, 0.79806, 0.32807, 0.93478, 0.6875, 1, 0.80731, 1, 1, 0.77763, 1, 0.66147, 1, 0.56703, 0.93207, 0.4771, 0.86944, 0.39416, 0.83837, 0.226, 0.68085, 0, 0.14836, 0, 0, 0.07199, 0.78734, 0.86249, 0.43679, 0.79649, 0.76738, 0.61733, 0.44345, 0.58747, 0.54329, 0.38316, 0.77692, 0.73446, 0.66478, 0.51012 ], + "triangles": [ 0, 15, 14, 20, 14, 13, 20, 13, 12, 1, 0, 14, 20, 12, 11, 20, 1, 14, 22, 20, 11, 22, 11, 10, 19, 1, 20, 19, 20, 22, 2, 1, 19, 18, 22, 10, 18, 10, 9, 19, 22, 18, 18, 9, 8, 21, 18, 8, 21, 8, 7, 17, 2, 19, 21, 17, 19, 21, 19, 18, 3, 2, 17, 16, 21, 7, 17, 21, 16, 4, 3, 17, 5, 17, 16, 4, 17, 5, 6, 16, 7, 5, 16, 6 ], + "vertices": [ 56.93, 27.95, 43.37, 18.23, 30.16, 19.5, 11.53, 21.28, -2.55, 10.69, -10.89, -13.12, -11.59, -21.23, 8.54, -36.12, 19.65, -37.08, 28.68, -37.86, 37.68, -34, 45.98, -30.44, 56.4, -29.07, 84.78, -20.92, 87.9, 15.15, 81.88, 25.79, 1.67, -21.01, 10.03, 2.18, 25.23, -18.25, 29.98, 0, 48.54, -8.39, 13.98, -21.36, 35.9, -15.6 ], + "edges": [ 0, 2, 6, 8, 8, 10, 10, 12, 12, 14, 22, 24, 24, 26, 26, 28, 28, 30, 0, 30, 14, 32, 32, 34, 34, 6, 18, 36, 36, 38, 2, 4, 4, 6, 38, 4, 2, 40, 40, 22, 40, 38, 38, 34, 32, 10, 34, 8, 40, 28, 14, 16, 16, 18, 32, 42, 42, 36, 16, 42, 42, 34, 18, 20, 20, 22, 36, 44, 44, 40, 20, 44 ], + "hull": 16, + "width": 68, + "height": 96 + } + }, + "undie straps": { + "undie straps": { + "name": "goblin/undie-straps", + "type": "mesh", + "uvs": [ 0.36097, 0.44959, 0.66297, 0.60591, 1, 0.19486, 1, 0.57117, 0.75897, 1, 0.38697, 1, 0, 0.26433, 0, 0, 0.12497, 0 ], + "triangles": [ 6, 7, 8, 6, 8, 0, 3, 1, 2, 5, 0, 1, 6, 0, 5, 4, 1, 3, 5, 1, 4 ], + "vertices": [ -10.56, 12.87, 6.53, 9.9, 25.62, 17.71, 25.62, 10.56, 11.97, 2.41, -9.09, 2.41, -31, 16.39, -31, 21.41, -23.92, 21.41 ], + "edges": [ 14, 16, 16, 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 12, 14, 10, 12, 0, 10, 2, 8 ], + "hull": 9, + "width": 55, + "height": 19 + } + }, + "undies": { + "undies": { + "name": "goblin/undies", + "type": "mesh", + "uvs": [ 0, 0.32029, 0.14893, 0.59457, 0.22437, 1, 0.35909, 1, 0.50998, 1, 0.79559, 0.58453, 0.9842, 0.28015, 1, 0.00588, 0.46957, 0.17646, 0, 0.03933, 0.48843, 0.59122, 0.48114, 0.43099 ], + "triangles": [ 6, 8, 7, 0, 9, 8, 11, 8, 6, 0, 8, 11, 5, 11, 6, 10, 11, 5, 1, 0, 11, 1, 11, 10, 3, 2, 1, 10, 3, 1, 4, 10, 5, 3, 10, 4 ], + "vertices": [ -13.22, 5.56, -8, -2.47, -5.49, -14.27, -0.64, -14.36, 4.78, -14.45, 15.27, -2.59, 22.22, 6.11, 22.92, 14.05, 3.75, 9.44, -13.08, 13.71, 4.21, -2.59, 4.03, 2.05 ], + "edges": [ 0, 2, 2, 4, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 0, 18, 4, 6, 6, 8, 6, 20, 16, 22, 22, 20, 0, 22, 22, 12, 2, 20, 20, 10 ], + "hull": 10, + "width": 36, + "height": 29 + } + } + }, + "goblingirl": { + "eyes": { + "eyes closed": { "name": "goblingirl/eyes-closed", "x": 28, "y": -25.54, "rotation": -87.04, "width": 37, "height": 21 } + }, + "head": { + "head": { "name": "goblingirl/head", "x": 27.71, "y": -4.32, "rotation": -85.58, "width": 103, "height": 81 } + }, + "left arm": { + "left arm": { "name": "goblingirl/left-arm", "x": 19.64, "y": -2.42, "rotation": 33.05, "width": 37, "height": 35 } + }, + "left foot": { + "left foot": { "name": "goblingirl/left-foot", "x": 25.17, "y": 7.92, "rotation": 3.32, "width": 65, "height": 31 } + }, + "left hand": { + "left hand": { + "name": "goblingirl/left-hand", + "x": 4.34, + "y": 2.39, + "scaleX": 0.896, + "scaleY": 0.896, + "rotation": 30.34, + "width": 35, + "height": 40 + } + }, + "left lower leg": { + "left lower leg": { "name": "goblingirl/left-lower-leg", "x": 25.02, "y": -0.6, "rotation": 105.75, "width": 33, "height": 70 } + }, + "left shoulder": { + "left shoulder": { "name": "goblingirl/left-shoulder", "x": 19.8, "y": -0.42, "rotation": 61.21, "width": 28, "height": 46 } + }, + "left upper leg": { + "left upper leg": { "name": "goblingirl/left-upper-leg", "x": 30.21, "y": -2.95, "rotation": 89.09, "width": 33, "height": 70 } + }, + "neck": { + "neck": { "name": "goblingirl/neck", "x": 6.16, "y": -3.14, "rotation": -98.86, "width": 35, "height": 41 } + }, + "pelvis": { + "pelvis": { "name": "goblingirl/pelvis", "x": -3.87, "y": 3.18, "width": 62, "height": 43 } + }, + "right arm": { + "right arm": { "name": "goblingirl/right-arm", "x": 16.85, "y": -0.66, "rotation": 93.52, "width": 28, "height": 50 } + }, + "right foot": { + "right foot": { "name": "goblingirl/right-foot", "x": 23.46, "y": 9.66, "rotation": 1.52, "width": 63, "height": 33 } + }, + "right hand": { + "right hand": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } + }, + "right hand thumb": { + "right hand thumb": { "name": "goblingirl/right-hand", "x": 7.21, "y": 3.43, "rotation": 91.16, "width": 36, "height": 37 } + }, + "right lower leg": { + "right lower leg": { "name": "goblingirl/right-lower-leg", "x": 26.15, "y": -3.27, "rotation": 111.83, "width": 36, "height": 76 } + }, + "right shoulder": { + "right shoulder": { "name": "goblingirl/right-shoulder", "x": 14.46, "y": 0.45, "rotation": 129.85, "width": 39, "height": 45 } + }, + "right upper leg": { + "right upper leg": { "name": "goblingirl/right-upper-leg", "x": 19.69, "y": 2.13, "rotation": 97.49, "width": 34, "height": 63 } + }, + "torso": { + "torso": { "name": "goblingirl/torso", "x": 36.28, "y": -5.14, "rotation": -95.74, "width": 68, "height": 96 } + }, + "undie straps": { + "undie straps": { "name": "goblingirl/undie-straps", "x": -1.51, "y": 14.18, "width": 55, "height": 19 } + }, + "undies": { + "undies": { "name": "goblingirl/undies", "x": 5.4, "y": 1.7, "width": 36, "height": 29 } + } + } +}, +"animations": { + "walk": { + "slots": { + "eyes": { + "attachment": [ + { "time": 0.7, "name": "eyes closed" }, + { "time": 0.8, "name": null } + ] + } + }, + "bones": { + "left upper leg": { + "rotate": [ + { "time": 0, "angle": -26.55 }, + { "time": 0.1333, "angle": -8.78 }, + { "time": 0.2333, "angle": 9.51 }, + { "time": 0.3666, "angle": 30.74 }, + { "time": 0.5, "angle": 25.33 }, + { "time": 0.6333, "angle": 26.11 }, + { "time": 0.7333, "angle": 7.45 }, + { "time": 0.8666, "angle": -21.19 }, + { "time": 1, "angle": -26.55 } + ], + "translate": [ + { "time": 0, "x": -1.32, "y": 1.7 }, + { "time": 0.3666, "x": -0.06, "y": 2.42 }, + { "time": 1, "x": -1.32, "y": 1.7 } + ] + }, + "right upper leg": { + "rotate": [ + { "time": 0, "angle": 42.45 }, + { + "time": 0.1333, + "angle": 49.86, + "curve": [ 0.414, 0, 0.705, 0.99 ] + }, + { "time": 0.2333, "angle": 22.51 }, + { "time": 0.5, "angle": -16.93 }, + { "time": 0.6333, "angle": 1.89 }, + { + "time": 0.7333, + "angle": 34.86, + "curve": [ 0.462, 0.11, 1, 1 ] + }, + { + "time": 0.8666, + "angle": 58.68, + "curve": [ 0.5, 0.02, 1, 1 ] + }, + { "time": 1, "angle": 42.45 } + ], + "translate": [ + { "time": 0, "x": 6.23, "y": 0 }, + { "time": 0.2333, "x": 2.14, "y": 2.4 }, + { "time": 0.5, "x": 2.44, "y": 4.8 }, + { "time": 1, "x": 6.23, "y": 0 } + ] + }, + "left lower leg": { + "rotate": [ + { "time": 0, "angle": -18.05 }, + { "time": 0.1333, "angle": -63.5 }, + { "time": 0.2333, "angle": -83.01 }, + { "time": 0.5, "angle": 5.11 }, + { "time": 0.6333, "angle": -28.29 }, + { "time": 0.7333, "angle": -27.52 }, + { "time": 0.8666, "angle": 3.53 }, + { "time": 1, "angle": -18.05 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2333, "x": 2.55, "y": -0.47 }, + { "time": 0.5, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "left foot": { + "rotate": [ + { "time": 0, "angle": -14.56 }, + { "time": 0.1333, "angle": -10.42 }, + { "time": 0.2333, "angle": -5.01 }, + { "time": 0.3, "angle": 6.67 }, + { "time": 0.3666, "angle": 3.87 }, + { "time": 0.5, "angle": -3.87 }, + { "time": 0.6333, "angle": 2.78 }, + { "time": 0.7333, "angle": -11.99 }, + { "time": 0.8666, "angle": -12.45 }, + { "time": 1, "angle": -14.56 } + ] + }, + "right shoulder": { + "rotate": [ + { + "time": 0, + "angle": 5.29, + "curve": [ 0.264, 0, 0.75, 1 ] + }, + { "time": 0.6333, "angle": 6.65 }, + { "time": 1, "angle": 5.29 } + ] + }, + "right arm": { + "rotate": [ + { + "time": 0, + "angle": -4.02, + "curve": [ 0.267, 0, 0.804, 0.99 ] + }, + { + "time": 0.6333, + "angle": 19.78, + "curve": [ 0.307, 0, 0.787, 0.99 ] + }, + { "time": 1, "angle": -4.02 } + ] + }, + "right hand": { + "rotate": [ + { "time": 0, "angle": 8.98 }, + { "time": 0.6333, "angle": 0.51 }, + { "time": 1, "angle": 8.98 } + ] + }, + "left shoulder": { + "rotate": [ + { + "time": 0, + "angle": 6.25, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": -11.78, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 6.25 } + ], + "translate": [ + { "time": 0, "x": 1.15, "y": 0.23 } + ] + }, + "left hand": { + "rotate": [ + { + "time": 0, + "angle": -21.23, + "curve": [ 0.295, 0, 0.755, 0.98 ] + }, + { + "time": 0.5, + "angle": -27.28, + "curve": [ 0.241, 0, 0.75, 0.97 ] + }, + { "time": 1, "angle": -21.23 } + ] + }, + "left arm": { + "rotate": [ + { + "time": 0, + "angle": 28.37, + "curve": [ 0.339, 0, 0.683, 1 ] + }, + { + "time": 0.5, + "angle": 60.09, + "curve": [ 0.281, 0, 0.686, 0.99 ] + }, + { "time": 1, "angle": 28.37 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -10.28 }, + { + "time": 0.1333, + "angle": -15.38, + "curve": [ 0.545, 0, 0.818, 1 ] + }, + { + "time": 0.3666, + "angle": -9.78, + "curve": [ 0.58, 0.17, 0.669, 0.99 ] + }, + { + "time": 0.6333, + "angle": -15.75, + "curve": [ 0.235, 0.01, 0.795, 1 ] + }, + { + "time": 0.8666, + "angle": -7.06, + "curve": [ 0.209, 0, 0.816, 0.98 ] + }, + { "time": 1, "angle": -10.28 } + ], + "translate": [ + { "time": 0, "x": -3.72, "y": -0.01 } + ] + }, + "right foot": { + "rotate": [ + { "time": 0, "angle": -5.25 }, + { "time": 0.2333, "angle": -17.76 }, + { "time": 0.3666, "angle": -20.09 }, + { "time": 0.5, "angle": -19.73 }, + { "time": 0.7333, "angle": -11.68 }, + { "time": 0.8, "angle": 4.46 }, + { "time": 0.8666, "angle": 0.46 }, + { "time": 1, "angle": -5.25 } + ] + }, + "right lower leg": { + "rotate": [ + { + "time": 0, + "angle": -3.39, + "curve": [ 0.316, 0.01, 0.741, 0.98 ] + }, + { + "time": 0.1333, + "angle": -43.21, + "curve": [ 0.414, 0, 0.705, 0.99 ] + }, + { "time": 0.2333, "angle": -25.98 }, + { "time": 0.5, "angle": -19.53 }, + { "time": 0.6333, "angle": -64.8 }, + { + "time": 0.7333, + "angle": -89.54, + "curve": [ 0.557, 0.18, 1, 1 ] + }, + { "time": 1, "angle": -3.39 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.5, "x": 0, "y": 0 }, + { "time": 0.6333, "x": 2.18, "y": 0.21 }, + { "time": 1, "x": 0, "y": 0 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 1, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": -8.4 }, + { + "time": 0.1333, + "x": 0, + "y": -9.35, + "curve": [ 0.326, 0.05, 0.674, 0.93 ] + }, + { + "time": 0.2333, + "x": 0, + "y": -0.59, + "curve": [ 0.325, 0.39, 0.643, 0.7 ] + }, + { "time": 0.3666, "x": 0, "y": -3.96 }, + { "time": 0.5, "x": 0, "y": -8.4 }, + { + "time": 0.6333, + "x": 0, + "y": -10, + "curve": [ 0.359, 0.47, 0.646, 0.74 ] + }, + { + "time": 0.7333, + "x": 0, + "y": -5.29, + "curve": [ 0.333, 0.36, 0.662, 0.69 ] + }, + { + "time": 0.8, + "x": 0, + "y": -2.49, + "curve": [ 0.322, 0.35, 0.651, 0.68 ] + }, + { "time": 0.8666, "x": 0, "y": -3.96 }, + { "time": 1, "x": 0, "y": -8.4 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 3.6 }, + { "time": 0.1333, "angle": 17.49 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { "time": 0.5, "angle": 5.17 }, + { "time": 0.6333, "angle": 18.36 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": 3.6, + "curve": [ 0, 0, 0.704, 1.17 ] + }, + { "time": 0.1333, "angle": -0.2 }, + { "time": 0.2333, "angle": 6.1 }, + { "time": 0.3666, "angle": 3.45 }, + { + "time": 0.5, + "angle": 5.17, + "curve": [ 0, 0, 0.704, 1.61 ] + }, + { "time": 0.6666, "angle": 1.1 }, + { "time": 0.7333, "angle": 6.09 }, + { "time": 0.8666, "angle": 2.28 }, + { "time": 1, "angle": 3.6 } + ] + }, + "pelvis": { + "rotate": [ + { "time": 0, "angle": -1.33 } + ], + "translate": [ + { "time": 0, "x": 0.39, "y": -0.78 } + ] + }, + "spear1": { + "rotate": [ + { "time": 0, "angle": 1.84 }, + { "time": 0.2, "angle": -5.38 }, + { "time": 0.5, "angle": 2.95 }, + { "time": 0.7333, "angle": -3.67 }, + { "time": 1, "angle": 1.84 } + ] + }, + "spear2": { + "rotate": [ + { "time": 0, "angle": 1.84 }, + { "time": 0.2, "angle": -5.38 }, + { "time": 0.5, "angle": 2.95 }, + { "time": 0.7333, "angle": -3.67 }, + { "time": 1, "angle": 1.84 } + ] + }, + "spear3": { + "rotate": [ + { "time": 0, "angle": 3.64 }, + { "time": 0.2, "angle": -3.59 }, + { "time": 0.5, "angle": 4.74 }, + { "time": 0.7333, "angle": -1.87 }, + { "time": 1, "angle": 3.64 } + ] + } + }, + "ffd": { + "default": { + "left hand item": { + "spear": [ + { "time": 0 } + ] + }, + "right hand item": { + "dagger": [ + { + "time": 0, + "offset": 26, + "vertices": [ 2.34, 0.14 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.5, + "offset": 8, + "vertices": [ -1.19, 4.31, 0.07, 6.41, 1.66, 6.18, 1.75, 3.59 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 1, + "offset": 26, + "vertices": [ 2.34, 0.14 ] + } + ] + } + }, + "goblin": { + "head": { + "head": [ + { + "time": 0, + "curve": [ 0.632, 0, 0.75, 1 ] + }, + { + "time": 0.2, + "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08, -1.08, 0.08, -1.08, 0.08, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.08, 0.08 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.3666, + "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09, 1.47, 0.09, 1.47, 0.09, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.47, 0.09 ], + "curve": [ 0.621, 0, 0.75, 1 ] + }, + { + "time": 0.7, + "vertices": [ -10.97, -6.68, -4.68, -2.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17, -1.17, -0.17, -1.17, -0.17, 0, 0, -2.22, 2.66, -4.83, 2.7, -5.7, -0.51, -3.15, -1.61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -6.64, 0.81, -11.82, -1.34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.17, -0.17 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.8666, + "vertices": [ 10.69, 4.05, 3.66, 1.85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08, 0.38, 0.08, 0.38, 0.08, 0, 0, 2.69, -0.22, 3.77, 0.11, 3.68, 1.55, 2.49, 1.65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.45, -3.91, 9.19, -1.66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.38, 0.08 ], + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1 } + ] + }, + "left foot": { + "left foot": [ + { + "time": 0, + "offset": 8, + "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] + }, + { "time": 0.1333 }, + { + "time": 0.2333, + "offset": 8, + "vertices": [ -3.96, -2.34, -5.8, -12.47, -2.23, -12.99, 2.02, -9.1, 0, 0, 0, 0, 0, 0, -1.35, -5.28 ] + }, + { + "time": 0.3666, + "offset": 8, + "vertices": [ 0.66, 0.33, 0.33, 2.69, -0.48, 2.54, -1.13, 1.38, 0, 0, 0, 0, 0, 0, -0.11, 0.79 ] + }, + { "time": 0.5, "curve": "stepped" }, + { "time": 0.6333 }, + { + "time": 0.7333, + "offset": 8, + "vertices": [ -2.97, 9.4, -6.91, 19.92, -10.55, 18.41, -12.37, 12.38, -4.72, 6.3, 0, 0, -1.48, 4.88, -7.06, 10.7 ] + }, + { + "time": 0.8333, + "offset": 6, + "vertices": [ 1.05, 1.56, -2.52, 7.99, -5.52, 17.14, -8.93, 15.79, -10.73, 10.22, -4.23, 5.36, 0, 0, 0, 0, -5.83, 8.55 ] + }, + { + "time": 1, + "offset": 8, + "vertices": [ 3.69, 2.37, -7.16, 18.79, -12.78, 14.77, -12.75, 6.5, -3.13, 1.98, -0.44, 0.36, 0, 0, -3.8, 2.98 ] + } + ] + }, + "pelvis": { + "pelvis": [ + { "time": 0 }, + { + "time": 0.1333, + "offset": 6, + "vertices": [ -0.68, -4.13 ] + }, + { + "time": 0.3333, + "offset": 6, + "vertices": [ -1.04, -3.1 ] + }, + { + "time": 0.7, + "offset": 6, + "vertices": [ -1.42, -6.3 ] + }, + { + "time": 0.8666, + "offset": 6, + "vertices": [ -1.13, -1.79 ] + }, + { "time": 1 } + ] + }, + "right foot": { + "right foot": [ + { "time": 0 }, + { + "time": 0.1333, + "offset": 2, + "vertices": [ -2.81, 2.63, -2.35, 3.89, -1.99, 4.86, -0.93, 5.57, -0.48, 5.09, -0.34, 3.42, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.31, 1.91, -1.32, 3.65 ] + }, + { + "time": 0.2333, + "offset": 2, + "vertices": [ -6.39, 6.41, -7.74, 8.27, -7.02, 11.35, -4.03, 13.93, -2.5, 12.62, -1.46, 7.58, -0.17, 1.36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3.84, 2.61, -4.53, 7.92 ] + }, + { + "time": 0.3, + "offset": 2, + "vertices": [ -8.27, 6.68, -9.29, 10.13, -8.62, 14.71, -4.58, 18.81, -2.2, 17.1, -0.07, 9.9, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.94, 2.38, -4.59, 10.01 ] + }, + { + "time": 0.3666, + "offset": 2, + "vertices": [ -10.47, 9.44, -13.36, 12.4, -14.32, 16.94, -9.24, 23.55, -5.51, 21.51, -1.19, 11.53, 2.54, 1.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.14, 2.29, -6.63, 11.37 ] + }, + { + "time": 0.5, + "offset": 2, + "vertices": [ -5.42, 4.36, -10.59, 7.04, -11.64, 11.55, -6.19, 20.12, -1.45, 18.05, 4.86, 6.41, 2.81, 0.27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.96, 4.94 ] + }, + { "time": 0.6333 }, + { + "time": 0.7333, + "offset": 4, + "vertices": [ 1.31, -6.84, -0.87, -12.54, -5.98, -14.08, -7.15, -11.63, -5.67, -4.83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.06, -6.93 ] + }, + { + "time": 0.8, + "offset": 4, + "vertices": [ 0.65, -3.42, -0.43, -6.27, -2.99, -7.04, -3.57, -5.81, -2.83, -2.41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.79, -1.28, 0, 0, 0, 0, -1.03, -3.46 ] + }, + { "time": 0.8666 } + ] + }, + "right hand": { + "right hand": [ + { + "time": 0, + "offset": 4, + "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] + }, + { "time": 0.5 }, + { + "time": 1, + "offset": 4, + "vertices": [ -1.48, 0.34, 0, 0, 1.31, 0.08, 1.6, 0.09, 0.13, 0.15, 0, 0, 0, 0, -0.72, -0.04 ] + } + ] + }, + "right lower leg": { + "right lower leg": [ + { "time": 0 }, + { + "time": 0.6, + "offset": 6, + "vertices": [ 1.8, -1.56 ] + }, + { "time": 1 } + ] + }, + "right upper leg": { + "right upper leg": [ + { + "time": 0, + "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] + }, + { "time": 0.3333 }, + { + "time": 0.8666, + "offset": 14, + "vertices": [ 0.13, -2.35, -1.33, -5.99, -1.35, -4.43 ] + }, + { + "time": 1, + "vertices": [ -6.03, -1.46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.34, -1.93, -1.86, -5.05, -2.5, -3.09 ] + } + ] + }, + "torso": { + "torso": [ + { + "time": 0, + "offset": 14, + "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] + }, + { + "time": 0.1333, + "offset": 14, + "vertices": [ 1.31, -0.59, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] + }, + { + "time": 0.3, + "offset": 14, + "vertices": [ 6.03, -3.13, 7.55, -1.38, 6.79, 0.31, 4.23, 1.14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.07, -5.16, 0, 0, 4, 0.27, 0, 0, 0, 0, 3.43, -3.52 ] + }, + { + "time": 0.5, + "offset": 14, + "vertices": [ 2.25, -0.87, 2.57, -0.56, 3.17, -0.57, 1.48, 0.99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.22, -4.43, 0, 0, 1.48, 0.01, 0, 0, 0, 0, 0.31, -3.28, -1.53, 0.17 ] + }, + { + "time": 0.6333, + "offset": 14, + "vertices": [ 0.75, -1.51, -0.97, -1.62, 0.74, -0.61, -1.44, 1.97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.65, -3.95, 0, 0, -1.46, -0.31, 0, 0, 0, 0, -3.31, -3.55, -2.56, 0.29 ] + }, + { + "time": 0.8666, + "offset": 14, + "vertices": [ 0.62, -1.26, 0.38, -2.2, 3.25, -0.5, 2.41, 2.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.66, -3.1, 0, 0, 2.3, -1.15, 0, 0, 0, 0, -0.07, -3.63, -0.93, 0.1 ] + }, + { + "time": 1, + "offset": 14, + "vertices": [ -1.48, -0.24, -2.72, -2.15, -0.51, -3.39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.09, -2.61, 0, 0, 0.57, -1.24, 0, 0, 0, 0, -2.11, -3.29 ] + } + ] + }, + "undie straps": { + "undie straps": [ + { + "time": 0, + "offset": 2, + "vertices": [ -1.77, 0.54, -0.96, -1.03, -0.39, -0.24, -1.77, 0.54 ] + }, + { + "time": 0.1333, + "offset": 2, + "vertices": [ -2.25, -1.03, -1.49, -4.23, -0.74, -2.84, -1.9, 0.54 ] + }, + { + "time": 0.3333, + "offset": 2, + "vertices": [ -2.37, -0.05, -0.49, 0.19, -0.9, 1.16, -1.6, 2.7, 0.96, 0.8 ] + }, + { + "time": 0.7, + "offset": 2, + "vertices": [ -0.91, -2.76, -0.62, -3.63, -0.84, -2.26, -2.56, 0.52 ] + }, + { + "time": 0.8666, + "offset": 2, + "vertices": [ -2.56, 0.52, -1.58, 0.32, -1.38, 0.32, -2.56, 0.52 ] + }, + { + "time": 1, + "offset": 2, + "vertices": [ -1.77, 0.54, -0.8, 0.53, -0.8, 0.53, -1.77, 0.54 ] + } + ] + }, + "undies": { + "undies": [ + { + "time": 0, + "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] + }, + { + "time": 0.1333, + "vertices": [ 0.72, 0.43, 7.2, -0.16, 1.37, 0, 1.37, 0, 1.37, 0, 1.25, 0.04, -0.99, -2.95, -1.37, -3.07, 1.37, 0, 0.35, -0.29, 2.99, -0.07, 3.9, -0.14 ] + }, + { + "time": 0.3333, + "vertices": [ 1.16, 0, 2.1, -0.23, 0, 0, 0, 0, 0, 0, 2.24, -0.24, -0.43, 0.6, -1.55, 0.48 ] + }, + { + "time": 0.5333, + "vertices": [ 1.16, 0, -0.23, -0.93, -2.92, 0.35, 0, 0, 0, 0, 0.49, -0.24, -0.64, -2.07, -0.64, -2.07 ] + }, + { + "time": 0.7, + "vertices": [ 1.86, -0.11, 4.66, -0.09, -1.76, 0.21, 0, 0, -0.56, 0.32, -1.13, -1.15, -2.19, -3.47, -1.29, -3.47, 0, 0, 0, 0, 1.58, -0.04, 2.65, 0.16 ] + }, + { + "time": 0.8333, + "vertices": [ 2.41, -0.2, 8.58, 0.58, -0.83, 0.1, 0, 0, -1.02, 0.59, -2.44, -1.87, -1.62, 0, 0, 0, 0, 0, 0, 0, 2.85, -0.08, 4.78, 0.3 ] + }, + { + "time": 0.8666, + "vertices": [ 2.01, -0.02, 8.98, 0.44, -0.2, 0.08, 0.45, 0, -0.35, 0.47, -1.84, -1.44, -0.79, 1.26, 0.53, 1.23, 0.45, 0, 0.11, -0.09, 3.28, -0.09, 5.13, 0.19 ] + }, + { + "time": 1, + "vertices": [ 0.43, 0.72, 10.6, -0.11, 2.29, 0, 2.29, 0, 2.29, 0, 0.58, 0.24, -2.4, -0.65, -2.27, -0.77, 2.29, 0, 0.58, -0.48, 4.98, -0.11, 6.5, -0.23 ] + } + ] + } + } + } + } +} +} \ No newline at end of file diff --git a/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.png b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.png new file mode 100644 index 000000000..a3daf0010 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources/goblins-ffd.png differ diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.atlas b/spine-cocos2d-iphone/3.0/Resources/spineboy.atlas new file mode 100644 index 000000000..19c0934b1 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources/spineboy.atlas @@ -0,0 +1,194 @@ + +spineboy.png +format: RGBA8888 +filter: Linear,Linear +repeat: none +eye_indifferent + rotate: true + xy: 389, 5 + size: 56, 53 + orig: 56, 53 + offset: 0, 0 + index: -1 +eye_surprised + rotate: false + xy: 580, 34 + size: 56, 53 + orig: 56, 53 + offset: 0, 0 + index: -1 +front_bracer + rotate: false + xy: 732, 85 + size: 35, 48 + orig: 35, 48 + offset: 0, 0 + index: -1 +front_fist_closed + rotate: false + xy: 556, 91 + size: 45, 49 + orig: 45, 49 + offset: 0, 0 + index: -1 +front_fist_open + rotate: false + xy: 668, 32 + size: 52, 52 + orig: 52, 52 + offset: 0, 0 + index: -1 +front_foot + rotate: false + xy: 924, 201 + size: 76, 41 + orig: 76, 41 + offset: 0, 0 + index: -1 +front_foot_bend1 + rotate: false + xy: 845, 200 + size: 77, 42 + orig: 77, 42 + offset: 0, 0 + index: -1 +front_foot_bend2 + rotate: false + xy: 778, 186 + size: 65, 56 + orig: 65, 56 + offset: 0, 0 + index: -1 +front_shin + rotate: true + xy: 444, 91 + size: 49, 110 + orig: 49, 110 + offset: 0, 0 + index: -1 +front_thigh + rotate: true + xy: 603, 89 + size: 29, 67 + orig: 29, 67 + offset: 0, 0 + index: -1 +front_upper_arm + rotate: true + xy: 672, 86 + size: 32, 58 + orig: 32, 58 + offset: 0, 0 + index: -1 +goggles + rotate: false + xy: 444, 142 + size: 157, 100 + orig: 157, 100 + offset: 0, 0 + index: -1 +gun + rotate: false + xy: 603, 120 + size: 126, 122 + orig: 126, 122 + offset: 0, 0 + index: -1 +head + rotate: false + xy: 279, 63 + size: 163, 179 + orig: 163, 179 + offset: 0, 0 + index: -1 +mouth_grind + rotate: false + xy: 845, 163 + size: 56, 35 + orig: 56, 35 + offset: 0, 0 + index: -1 +mouth_oooo + rotate: false + xy: 842, 126 + size: 56, 35 + orig: 56, 35 + offset: 0, 0 + index: -1 +mouth_smile + rotate: false + xy: 769, 97 + size: 56, 35 + orig: 56, 35 + offset: 0, 0 + index: -1 +muzzle + rotate: false + xy: 2, 2 + size: 275, 240 + orig: 277, 240 + offset: 0, 0 + index: -1 +neck + rotate: false + xy: 903, 173 + size: 22, 25 + orig: 22, 25 + offset: 0, 0 + index: -1 +rear_bracer + rotate: false + xy: 722, 40 + size: 34, 43 + orig: 34, 43 + offset: 0, 0 + index: -1 +rear_foot + rotate: false + xy: 444, 11 + size: 68, 36 + orig: 68, 36 + offset: 0, 0 + index: -1 +rear_foot_bend1 + rotate: false + xy: 444, 49 + size: 70, 40 + orig: 70, 40 + offset: 0, 0 + index: -1 +rear_foot_bend2 + rotate: false + xy: 778, 134 + size: 62, 50 + orig: 62, 50 + offset: 0, 0 + index: -1 +rear_shin + rotate: false + xy: 731, 135 + size: 45, 107 + orig: 45, 107 + offset: 0, 0 + index: -1 +rear_thigh + rotate: true + xy: 516, 50 + size: 39, 62 + orig: 39, 62 + offset: 0, 0 + index: -1 +rear_upper_arm + rotate: false + xy: 638, 35 + size: 28, 52 + orig: 28, 52 + offset: 0, 0 + index: -1 +torso + rotate: true + xy: 279, 2 + size: 59, 108 + orig: 59, 108 + offset: 0, 0 + index: -1 diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.json b/spine-cocos2d-iphone/3.0/Resources/spineboy.json new file mode 100644 index 000000000..1ffa7aad5 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/Resources/spineboy.json @@ -0,0 +1,2412 @@ +{ +"bones": [ + { "name": "hip", "y": 247.47 }, + { "name": "front_thigh", "parent": "hip", "length": 74.8, "x": -17.45, "y": -11.64, "rotation": -95.51, "color": "00ff04ff" }, + { "name": "rear_thigh", "parent": "hip", "length": 85.71, "x": 8.91, "y": -5.62, "rotation": -72.54, "color": "ff000dff" }, + { "name": "torso", "parent": "hip", "length": 127.55, "x": -1.61, "y": 4.9, "rotation": 103.82, "color": "e0da19ff" }, + { + "name": "front_shin", + "parent": "front_thigh", + "length": 128.76, + "x": 78.69, + "y": 1.6, + "rotation": -2.21, + "inheritScale": false, + "color": "00ff04ff" + }, + { "name": "front_upper_arm", "parent": "torso", "length": 69.45, "x": 103.75, "y": 19.32, "rotation": 168.37, "color": "00ff04ff" }, + { "name": "neck", "parent": "torso", "length": 25.45, "x": 127.49, "y": -0.3, "rotation": -31.53, "color": "e0da19ff" }, + { "name": "rear_shin", "parent": "rear_thigh", "length": 121.87, "x": 86.1, "y": -1.32, "rotation": -19.83, "color": "ff000dff" }, + { "name": "rear_upper_arm", "parent": "torso", "length": 51.93, "x": 92.35, "y": -19.22, "rotation": -169.55, "color": "ff000dff" }, + { + "name": "front_bracer", + "parent": "front_upper_arm", + "length": 40.57, + "x": 68.8, + "y": -0.68, + "rotation": 18.29, + "color": "00ff04ff" + }, + { "name": "front_foot", "parent": "front_shin", "length": 91.34, "x": 128.75, "y": -0.33, "rotation": 77.9, "color": "00ff04ff" }, + { "name": "head", "parent": "neck", "length": 263.57, "x": 27.66, "y": -0.25, "rotation": 23.18, "color": "e0da19ff" }, + { "name": "rear_bracer", "parent": "rear_upper_arm", "length": 34.55, "x": 51.35, "rotation": 23.15, "color": "ff000dff" }, + { "name": "rear_foot", "parent": "rear_shin", "length": 82.57, "x": 121.45, "y": -0.75, "rotation": 69.3, "color": "ff000dff" }, + { "name": "front_fist", "parent": "front_bracer", "length": 65.38, "x": 40.56, "y": 0.19, "rotation": 12.43, "color": "00ff04ff" }, + { "name": "gun", "parent": "rear_bracer", "length": 43.1, "x": 34.42, "y": -0.45, "rotation": 5.34, "color": "ff000dff" }, + { "name": "gunTip", "parent": "gun", "x": 201.04, "y": 52.13, "rotation": 6.83, "color": "ff000dff" } +], +"slots": [ + { "name": "rear_upper_arm", "bone": "rear_upper_arm", "attachment": "rear_upper_arm" }, + { "name": "rear_bracer", "bone": "rear_bracer", "attachment": "rear_bracer" }, + { "name": "gun", "bone": "gun", "attachment": "gun" }, + { "name": "rear_foot", "bone": "rear_foot", "attachment": "rear_foot" }, + { "name": "rear_thigh", "bone": "rear_thigh", "attachment": "rear_thigh" }, + { "name": "rear_shin", "bone": "rear_shin", "attachment": "rear_shin" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "front_upper_arm", "bone": "front_upper_arm", "attachment": "front_upper_arm" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eye", "bone": "head", "attachment": "eye_indifferent" }, + { "name": "front_thigh", "bone": "front_thigh", "attachment": "front_thigh" }, + { "name": "front_foot", "bone": "front_foot", "attachment": "front_foot" }, + { "name": "front_shin", "bone": "front_shin", "attachment": "front_shin" }, + { "name": "mouth", "bone": "head", "attachment": "mouth_smile" }, + { "name": "goggles", "bone": "head", "attachment": "goggles" }, + { "name": "front_bracer", "bone": "front_bracer", "attachment": "front_bracer" }, + { "name": "front_fist", "bone": "front_fist", "attachment": "front_fist_closed" }, + { "name": "muzzle", "bone": "gunTip", "additive": true } +], +"skins": { + "default": { + "eye": { + "eye_indifferent": { "x": 85.72, "y": -28.18, "rotation": -70.63, "width": 93, "height": 89 }, + "eye_surprised": { "x": 85.72, "y": -28.18, "rotation": -70.63, "width": 93, "height": 89 } + }, + "front_bracer": { + "front_bracer": { "x": 12.03, "y": -1.67, "rotation": 79.59, "width": 58, "height": 80 } + }, + "front_fist": { + "front_fist_closed": { "x": 35.49, "y": 6, "rotation": 67.16, "width": 75, "height": 82 }, + "front_fist_open": { "x": 39.56, "y": 7.76, "rotation": 67.16, "width": 86, "height": 87 } + }, + "front_foot": { + "front_foot": { "x": 29.51, "y": 7.83, "rotation": 18.68, "width": 126, "height": 69 }, + "front_foot_bend1": { "x": 29.51, "y": 7.83, "rotation": 18.68, "width": 128, "height": 70 }, + "front_foot_bend2": { "x": 16.07, "y": 13.83, "rotation": 18.68, "width": 108, "height": 93 } + }, + "front_shin": { + "front_shin": { "x": 55.11, "y": -3.54, "rotation": 96.59, "width": 82, "height": 184 } + }, + "front_thigh": { + "front_thigh": { "x": 42.47, "y": 4.44, "rotation": 84.86, "width": 48, "height": 112 } + }, + "front_upper_arm": { + "front_upper_arm": { "x": 28.3, "y": 7.37, "rotation": 97.89, "width": 54, "height": 97 } + }, + "goggles": { + "goggles": { "x": 97.07, "y": 6.54, "rotation": -70.63, "width": 261, "height": 166 } + }, + "gun": { + "gun": { "x": 77.3, "y": 16.4, "rotation": 60.82, "width": 210, "height": 203 } + }, + "head": { + "head": { "x": 128.95, "y": 0.29, "rotation": -70.63, "width": 271, "height": 298 } + }, + "mouth": { + "mouth_grind": { "x": 23.68, "y": -32.23, "rotation": -70.63, "width": 93, "height": 59 }, + "mouth_oooo": { "x": 23.68, "y": -32.23, "rotation": -70.63, "width": 93, "height": 59 }, + "mouth_smile": { "x": 23.68, "y": -32.23, "rotation": -70.63, "width": 93, "height": 59 } + }, + "muzzle": { + "muzzle": { "x": 18.25, "y": 5.44, "rotation": 0.15, "width": 462, "height": 400 } + }, + "neck": { + "neck": { "x": 9.76, "y": -3.01, "rotation": -55.22, "width": 36, "height": 41 } + }, + "rear_bracer": { + "rear_bracer": { "x": 11.15, "y": -2.2, "rotation": 66.17, "width": 56, "height": 72 } + }, + "rear_foot": { + "rear_foot": { "x": 31.51, "y": 3.57, "rotation": 23.07, "width": 113, "height": 60 }, + "rear_foot_bend1": { "x": 34.39, "y": 4.8, "rotation": 23.07, "width": 117, "height": 66 }, + "rear_foot_bend2": { "x": 30.38, "y": 12.62, "rotation": 23.07, "width": 103, "height": 83 } + }, + "rear_shin": { + "rear_shin": { "x": 58.29, "y": -2.75, "rotation": 92.37, "width": 75, "height": 178 } + }, + "rear_thigh": { + "rear_thigh": { "x": 33.1, "y": -4.11, "rotation": 72.54, "width": 65, "height": 104 } + }, + "rear_upper_arm": { + "rear_upper_arm": { "x": 21.12, "y": 4.08, "rotation": 89.32, "width": 47, "height": 87 } + }, + "torso": { + "torso": { "x": 63.61, "y": 7.12, "rotation": -94.53, "width": 98, "height": 180 } + } + } +}, +"events": { + "footstep": {}, + "headAttach": { "int": 3, "float": 4 }, + "headBehind": { "int": 5, "float": 6, "string": "setup" }, + "headPop": { "int": 1, "float": 2 } +}, +"animations": { + "death": { + "slots": { + "eye": { + "attachment": [ + { "time": 0, "name": "eye_surprised" }, + { "time": 0.4666, "name": "eye_indifferent" }, + { "time": 2.2333, "name": "eye_surprised" }, + { "time": 4.5333, "name": "eye_indifferent" } + ] + }, + "front_fist": { + "attachment": [ + { "time": 0, "name": "front_fist_open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_oooo" }, + { "time": 2.2333, "name": "mouth_grind" }, + { "time": 4.5333, "name": "mouth_oooo" } + ] + } + }, + "bones": { + "head": { + "rotate": [ + { "time": 0, "angle": -2.82 }, + { "time": 0.1333, "angle": -28.74 }, + { "time": 0.2333, "angle": 11.42 }, + { "time": 0.3333, "angle": -50.24 }, + { "time": 0.4, "angle": -72.66, "curve": "stepped" }, + { "time": 0.4333, "angle": -72.66 }, + { "time": 0.5, "angle": -20.24 }, + { "time": 0.5666, "angle": -85.28, "curve": "stepped" }, + { "time": 0.9333, "angle": -85.28, "curve": "stepped" }, + { "time": 2.2333, "angle": -85.28 }, + { "time": 2.5, "angle": -51.96, "curve": "stepped" }, + { "time": 4.5333, "angle": -51.96 }, + { "time": 4.6666, "angle": -85.28 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": -2.82 }, + { "time": 0.1333, "angle": 12.35 }, + { "time": 0.2333, "angle": 29.89 }, + { "time": 0.3, "angle": 70.36 }, + { "time": 0.4, "angle": -10.22, "curve": "stepped" }, + { "time": 0.4333, "angle": -10.22 }, + { "time": 0.5, "angle": 2.92 }, + { "time": 0.5666, "angle": 47.94, "curve": "stepped" }, + { "time": 2.2333, "angle": 47.94 }, + { "time": 2.5, "angle": 18.5, "curve": "stepped" }, + { "time": 4.5333, "angle": 18.5 }, + { "time": 4.6666, "angle": 47.94 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -8.61 }, + { "time": 0.1333, "angle": 28.19 }, + { "time": 0.2666, "angle": -280.19 }, + { "time": 0.4, "angle": -237.22, "curve": "stepped" }, + { "time": 0.4333, "angle": -237.22 }, + { "time": 0.5, "angle": 76.03, "curve": "stepped" }, + { "time": 0.8, "angle": 76.03, "curve": "stepped" }, + { "time": 0.9333, "angle": 76.03, "curve": "stepped" }, + { "time": 2.2333, "angle": 76.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.9333, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 2.2333, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_upper_arm": { + "rotate": [ + { "time": 0, "angle": -38.85 }, + { "time": 0.1333, "angle": -299.58 }, + { "time": 0.2666, "angle": -244.74 }, + { "time": 0.4, "angle": -292.35 }, + { "time": 0.4333, "angle": -315.84 }, + { "time": 0.5, "angle": -347.94 }, + { "time": 0.7, "angle": -347.33, "curve": "stepped" }, + { "time": 2.2333, "angle": -347.33 }, + { "time": 2.7, "angle": -290.68 }, + { "time": 2.7666, "angle": -285.1 }, + { "time": 4.6666, "angle": -290.68 }, + { "time": 4.8, "angle": 8.61 }, + { "time": 4.8666, "angle": 10.94 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { "time": 0, "angle": -44.69 }, + { "time": 0.1333, "angle": 112.26 }, + { "time": 0.2666, "angle": 129.07 }, + { "time": 0.4, "angle": 134.94, "curve": "stepped" }, + { "time": 0.4333, "angle": 134.94 }, + { "time": 0.5666, "angle": 172.6, "curve": "stepped" }, + { "time": 0.9333, "angle": 172.6, "curve": "stepped" }, + { "time": 2.2333, "angle": 172.6 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 21.88 }, + { "time": 0.1333, "angle": 11.48 }, + { "time": 0.2666, "angle": -18.81 }, + { "time": 0.4, "angle": -18.92 }, + { "time": 0.4333, "angle": -18.28 }, + { "time": 0.5, "angle": 60.61 }, + { "time": 0.7, "angle": -18.87, "curve": "stepped" }, + { "time": 2.2333, "angle": -18.87 }, + { "time": 2.7, "angle": -1.95, "curve": "stepped" }, + { "time": 4.6666, "angle": -1.95 }, + { "time": 4.8, "angle": 34.55 }, + { "time": 4.9333, "angle": -18.74 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_fist": { + "rotate": [ + { "time": 0, "angle": -2.33 }, + { "time": 0.2666, "angle": 26.34 }, + { "time": 0.7, "angle": -6.07, "curve": "stepped" }, + { "time": 2.2333, "angle": -6.07 }, + { "time": 2.7, "angle": 5.72, "curve": "stepped" }, + { "time": 4.6666, "angle": 5.72 }, + { "time": 4.8666, "angle": -6.52 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": 10.36 }, + { "time": 0.1333, "angle": -23.12 }, + { "time": 0.2666, "angle": -23.11 }, + { "time": 0.4, "angle": -23.16, "curve": "stepped" }, + { "time": 0.4333, "angle": -23.16 }, + { "time": 0.5666, "angle": -23.2, "curve": "stepped" }, + { "time": 0.9333, "angle": -23.2, "curve": "stepped" }, + { "time": 2.2333, "angle": -23.2 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "gun": { + "rotate": [ + { "time": 0, "angle": -2.78 }, + { "time": 0.1333, "angle": -24.58 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.9333, "angle": 0, "curve": "stepped" }, + { "time": 2.2333, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.2, "x": 50.34, "y": 151.73 }, + { "time": 0.4, "x": 5.16, "y": -119.64, "curve": "stepped" }, + { "time": 0.4333, "x": 5.16, "y": -119.64 }, + { "time": 0.5, "x": 50.34, "y": -205.18, "curve": "stepped" }, + { "time": 0.8, "x": 50.34, "y": -205.18, "curve": "stepped" }, + { "time": 0.9333, "x": 50.34, "y": -205.18, "curve": "stepped" }, + { "time": 2.2333, "x": 50.34, "y": -205.18 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_thigh": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 8.47 }, + { "time": 0.2666, "angle": 115.95 }, + { "time": 0.4, "angle": 180.66, "curve": "stepped" }, + { "time": 0.4333, "angle": 180.66 }, + { "time": 0.5, "angle": 155.22 }, + { "time": 0.6, "angle": 97.73 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_shin": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": -27.37 }, + { "time": 0.2666, "angle": -35.1 }, + { "time": 0.4, "angle": -37.72, "curve": "stepped" }, + { "time": 0.4333, "angle": -37.72 }, + { "time": 0.5, "angle": -40.06 }, + { "time": 0.6, "angle": 2.76 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_thigh": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 70.45 }, + { "time": 0.2666, "angle": 155.34 }, + { "time": 0.4, "angle": 214.31, "curve": "stepped" }, + { "time": 0.4333, "angle": 214.31 }, + { "time": 0.5, "angle": 169.67 }, + { "time": 0.8, "angle": 83.27 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_shin": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 18.93 }, + { "time": 0.2666, "angle": -21.04 }, + { "time": 0.4, "angle": -29.93, "curve": "stepped" }, + { "time": 0.4333, "angle": -29.93 }, + { "time": 0.5, "angle": -16.79 }, + { "time": 0.8, "angle": 7.77 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": -11.62 }, + { "time": 0.4, "angle": -45.59, "curve": "stepped" }, + { "time": 0.4333, "angle": -45.59 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4, "angle": -48.75, "curve": "stepped" }, + { "time": 0.4333, "angle": -48.75 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "gunTip": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + } + } + }, + "hit": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0.1666, "name": "front_fist_open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_grind" }, + { "time": 0.3333, "name": "mouth_smile" } + ] + } + }, + "bones": { + "torso": { + "rotate": [ + { "time": 0, "angle": 56.42 }, + { "time": 0.3333, "angle": 8.89 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 35.38 }, + { "time": 0.2333, "angle": 24.94 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 10.21 }, + { "time": 0.3333, "angle": -41.3 } + ] + }, + "front_upper_arm": { + "rotate": [ + { + "time": 0, + "angle": -310.92, + "curve": [ 0.38, 0.53, 0.744, 1 ] + }, + { "time": 0.3333, "angle": -112.59 } + ], + "translate": [ + { "time": 0, "x": 7.23, "y": -13.13 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 36.99 }, + { "time": 0.3333, "angle": -28.64 } + ] + }, + "front_fist": { + "rotate": [ + { "time": 0, "angle": 13.59 }, + { "time": 0.3333, "angle": 7.55 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { + "time": 0, + "angle": 271.02, + "curve": [ 0.342, 0.36, 0.68, 0.71 ] + }, + { "time": 0.3333, "angle": -15.84 } + ], + "translate": [ + { "time": 0.3333, "x": -0.09, "y": -0.46 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3333, "angle": 40.03 } + ] + }, + "gun": { + "rotate": [ + { "time": 0, "angle": 14.98 }, + { "time": 0.3333, "angle": 39.75 } + ] + }, + "hip": { + "translate": [ + { "time": 0, "x": -75.54, "y": -78.03 }, + { "time": 0.2333, "x": -36.48, "y": 12.42 }, + { "time": 0.3333, "x": -36.48, "y": -2.99 } + ] + }, + "front_thigh": { + "rotate": [ + { + "time": 0, + "angle": 90.94, + "curve": [ 0.227, 0.26, 0.432, 1 ] + }, + { "time": 0.3333, "angle": 32.02 } + ], + "translate": [ + { "time": 0, "x": 7.21, "y": -4 } + ] + }, + "rear_thigh": { + "rotate": [ + { + "time": 0, + "angle": 40.51, + "curve": [ 0.295, 0.3, 0.59, 0.99 ] + }, + { "time": 0.3333, "angle": 90.76 } + ], + "translate": [ + { "time": 0, "x": -1.96, "y": -0.32 } + ] + }, + "front_shin": { + "rotate": [ + { "time": 0, "angle": -96.62 }, + { "time": 0.3333, "angle": -15.13 } + ] + }, + "rear_shin": { + "rotate": [ + { "time": 0, "angle": 7.99 }, + { "time": 0.3333, "angle": -67.54 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { "time": 0, "angle": 5.4 }, + { "time": 0.3333, "angle": -16.26 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { "time": 0, "angle": 2.67 }, + { "time": 0.3333, "angle": -10.31 } + ] + } + } + }, + "idle": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0, "name": "front_fist_open" }, + { "time": 1.6666, "name": "front_fist_open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_smile" }, + { "time": 1.6666, "name": "mouth_smile" } + ] + } + }, + "bones": { + "torso": { + "rotate": [ + { + "time": 0, + "angle": -5.61, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.8333, + "angle": -9.65, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.6666, "angle": -5.61 } + ], + "translate": [ + { "time": 0, "x": -6.49, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "front_upper_arm": { + "rotate": [ + { + "time": 0, + "angle": -59.85, + "curve": [ 0.492, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": -54.31, + "curve": [ 0.324, 0.11, 0.75, 1 ] + }, + { "time": 1.6666, "angle": -59.85 } + ], + "translate": [ + { "time": 0, "x": -7.12, "y": -8.23 }, + { "time": 0.6666, "x": -6.32, "y": -8.3 }, + { "time": 1.6666, "x": -7.12, "y": -8.23 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { + "time": 0, + "angle": 62.41, + "curve": [ 0.504, 0.02, 0.75, 1 ] + }, + { + "time": 0.7333, + "angle": 43.83, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.6666, "angle": 62.41 } + ], + "translate": [ + { "time": 0, "x": -1.83, "y": -16.78 }, + { "time": 0.6666, "x": 0.34, "y": -15.23 }, + { "time": 1.6666, "x": -1.83, "y": -16.78 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.6666, "angle": 2.39 }, + { "time": 1.6666, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -1.88, "y": -4.76, "curve": "stepped" }, + { "time": 1.6666, "x": -1.88, "y": -4.76 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "front_thigh": { + "rotate": [ + { + "time": 0, + "angle": 0.64, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "angle": -4.34, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "angle": 0.64 } + ], + "translate": [ + { "time": 0, "x": -13.39, "y": 6.69, "curve": "stepped" }, + { "time": 1.6666, "x": -13.39, "y": 6.69 } + ], + "scale": [ + { + "time": 0, + "x": 0.896, + "y": 1, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "x": 0.825, + "y": 1, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "x": 0.896, "y": 1 } + ] + }, + "front_shin": { + "rotate": [ + { "time": 0, "angle": -19.28, "curve": "stepped" }, + { "time": 1.6666, "angle": -19.28 } + ], + "scale": [ + { + "time": 0, + "x": 1, + "y": 1, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "x": 0.994, + "y": 1, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "rear_thigh": { + "rotate": [ + { + "time": 0, + "angle": 30.5, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "angle": 40.15, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "angle": 30.5 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "rear_shin": { + "rotate": [ + { + "time": 0, + "angle": -23.83, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "angle": -43.77, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "angle": -23.83 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { + "time": 0, + "angle": 5.13, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "angle": 10.04, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "angle": 5.13 } + ], + "scale": [ + { "time": 0, "x": 0.755, "y": 1.309, "curve": "stepped" }, + { "time": 1.6666, "x": 0.755, "y": 1.309 } + ] + }, + "hip": { + "translate": [ + { + "time": 0, + "x": -6.63, + "y": -23.01, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "x": 6.27, + "y": -35, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "x": -6.63, "y": -23.01 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { + "time": 0, + "angle": -7.34, + "curve": [ 0.235, 0, 0.558, 0.99 ] + }, + { + "time": 0.6666, + "angle": 3.85, + "curve": [ 0.594, 0, 0.653, 1 ] + }, + { "time": 1.6666, "angle": -7.34 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "rear_bracer": { + "rotate": [ + { + "time": 0, + "angle": -17.16, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": 12.52, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.6666, "angle": -17.16 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { + "time": 0, + "angle": -5.51, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": -3.12, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.6666, "angle": -5.51 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "front_bracer": { + "rotate": [ + { + "time": 0, + "angle": 45.46, + "curve": [ 0.492, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": 41.33, + "curve": [ 0.32, 0.1, 0.736, 0.91 ] + }, + { "time": 1.6666, "angle": 45.46 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "gun": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": -15.59, + "curve": [ 0.732, 0, 0.769, 0.99 ] + }, + { "time": 1.6666, "angle": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + }, + "front_fist": { + "rotate": [ + { + "time": 0, + "angle": -6.84, + "curve": [ 0.492, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": -14.63, + "curve": [ 0.324, 0.11, 0.75, 1 ] + }, + { "time": 1.6666, "angle": -6.84 } + ], + "scale": [ + { + "time": 0, + "x": 1, + "y": 1, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "x": 0.689, + "y": 1.1, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 1.6666, "x": 1, "y": 1 } + ] + } + } + }, + "jump": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0, "name": "front_fist_open" }, + { "time": 0.2, "name": "front_fist_closed" }, + { "time": 0.6666, "name": "front_fist_open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_grind" } + ] + }, + "torso": { + "attachment": [ + { "time": 0, "name": "torso" } + ] + } + }, + "bones": { + "front_thigh": { + "rotate": [ + { + "time": 0, + "angle": 91.53, + "curve": [ 0.278, 0.46, 0.763, 1 ] + }, + { + "time": 0.2, + "angle": -35.83, + "curve": [ 0.761, 0, 0.75, 1 ] + }, + { "time": 0.4333, "angle": 127.74 }, + { + "time": 0.7333, + "angle": 48.18, + "curve": [ 0.227, 0.26, 0.432, 1 ] + }, + { "time": 0.8333, "angle": 25.35 }, + { "time": 0.9333, "angle": 45.37 }, + { "time": 1.0333, "angle": 38.12 }, + { "time": 1.1333, "angle": 25.35 }, + { "time": 1.3333, "angle": 91.53 } + ], + "translate": [ + { "time": 0, "x": -2.56, "y": 5.77 }, + { "time": 0.4333, "x": 8.3, "y": 7.98 }, + { "time": 0.7333, "x": 7.21, "y": -4 }, + { "time": 1.3333, "x": -2.56, "y": 5.77 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -42.63 }, + { "time": 0.2, "angle": -5.74 }, + { "time": 0.4333, "angle": -50.76 }, + { "time": 0.7333, "angle": 1.89 }, + { "time": 0.8333, "angle": 11.58 }, + { "time": 0.9666, "angle": -1.89 }, + { "time": 1.1333, "angle": 11.58 }, + { "time": 1.3333, "angle": -42.63 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_thigh": { + "rotate": [ + { "time": 0, "angle": -26.32 }, + { "time": 0.2, "angle": 121.44 }, + { "time": 0.4333, "angle": 70.54 }, + { + "time": 0.7333, + "angle": 79.89, + "curve": [ 0.295, 0.3, 0.59, 0.99 ] + }, + { "time": 0.8333, "angle": 99.12 }, + { "time": 0.9333, "angle": 74.05 }, + { "time": 1.0333, "angle": 98.04 }, + { "time": 1.1333, "angle": 99.12 }, + { "time": 1.3333, "angle": -26.32 } + ], + "translate": [ + { "time": 0, "x": -0.56, "y": -0.32 }, + { "time": 0.4333, "x": -8.5, "y": 10.58 }, + { "time": 0.7333, "x": -1.96, "y": -0.32 }, + { "time": 1.3333, "x": -0.56, "y": -0.32 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_shin": { + "rotate": [ + { "time": 0, "angle": -78.69 }, + { "time": 0.4333, "angle": -55.56 }, + { "time": 0.7333, "angle": -62.84 }, + { "time": 0.8333, "angle": -80.74 }, + { "time": 0.9333, "angle": -41.12 }, + { "time": 1.0333, "angle": -77.4 }, + { "time": 1.1333, "angle": -80.74 }, + { "time": 1.3333, "angle": -78.69 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.7333, "x": 1, "y": 1 } + ] + }, + "front_upper_arm": { + "rotate": [ + { "time": 0, "angle": -22.61 }, + { "time": 0.2, "angle": -246.68 }, + { + "time": 0.6, + "angle": 11.28, + "curve": [ 0.246, 0, 0.633, 0.53 ] + }, + { + "time": 0.7333, + "angle": -57.45, + "curve": [ 0.38, 0.53, 0.744, 1 ] + }, + { "time": 0.8666, "angle": -112.59 }, + { "time": 0.9333, "angle": -102.17 }, + { "time": 1.0333, "angle": -108.61 }, + { "time": 1.1333, "angle": -112.59 }, + { "time": 1.3333, "angle": -22.61 } + ], + "translate": [ + { "time": 0, "x": 6.08, "y": 7.15 }, + { "time": 0.2, "x": 7.23, "y": -13.13, "curve": "stepped" }, + { "time": 0.7333, "x": 7.23, "y": -13.13 }, + { "time": 1.3333, "x": 6.08, "y": 7.15 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 66.46 }, + { "time": 0.2, "angle": 42.39 }, + { "time": 0.4333, "angle": 26.06 }, + { "time": 0.7333, "angle": 13.28 }, + { "time": 0.8666, "angle": -28.64 }, + { "time": 0.9333, "angle": -22.31 }, + { "time": 1.0333, "angle": -35.39 }, + { "time": 1.1333, "angle": -28.64 }, + { "time": 1.3333, "angle": 66.46 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_fist": { + "rotate": [ + { "time": 0, "angle": -28.43 }, + { "time": 0.4333, "angle": -45.6 }, + { "time": 0.7333, "angle": -53.66 }, + { "time": 0.8666, "angle": 7.55 }, + { "time": 0.9333, "angle": 31.15 }, + { "time": 1.0333, "angle": -32.58 }, + { "time": 1.1333, "angle": 7.55 }, + { "time": 1.3333, "angle": -28.43 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { "time": 0, "angle": 39.68 }, + { "time": 0.2, "angle": 276.57 }, + { "time": 0.3, "angle": 17.73 }, + { "time": 0.4333, "angle": 83.38 }, + { + "time": 0.6, + "angle": -4.71, + "curve": [ 0.246, 0, 0.633, 0.53 ] + }, + { + "time": 0.7333, + "angle": -69.63, + "curve": [ 0.342, 0.36, 0.68, 0.71 ] + }, + { + "time": 0.7666, + "angle": 321.47, + "curve": [ 0.333, 0.33, 0.667, 0.66 ] + }, + { + "time": 0.8, + "angle": 33.7, + "curve": [ 0.358, 0.64, 0.693, 1 ] + }, + { "time": 0.8666, "angle": 34.56 }, + { "time": 1.0333, "angle": 71.96 }, + { "time": 1.1333, "angle": 34.56 }, + { "time": 1.3333, "angle": 39.68 } + ], + "translate": [ + { "time": 0, "x": -3.1, "y": -4.86 }, + { "time": 0.2, "x": 23.33, "y": 49.07 }, + { "time": 0.4333, "x": 20.78, "y": 40.21 }, + { "time": 1.3333, "x": -3.1, "y": -4.86 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": 29.66 }, + { "time": 0.2, "angle": 45.06 }, + { "time": 0.4333, "angle": -4.34 }, + { "time": 0.7666, "angle": 61.68 }, + { "time": 0.8, "angle": 82.59 }, + { "time": 0.8666, "angle": 80.06 }, + { "time": 1.0333, "angle": 57.56 }, + { "time": 1.1333, "angle": 80.06 }, + { "time": 1.3333, "angle": 29.66 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 24.9 }, + { "time": 0.2, "angle": 16.31 }, + { "time": 0.4333, "angle": 7.44 }, + { "time": 0.7333, "angle": -20.35 }, + { "time": 0.8333, "angle": -0.69, "curve": "stepped" }, + { "time": 1.1333, "angle": -0.69 }, + { "time": 1.3333, "angle": 24.9 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 24.92 }, + { "time": 0.2, "angle": 10.36 }, + { "time": 0.4333, "angle": 28.65 }, + { "time": 0.7333, "angle": -2.65 }, + { "time": 0.8333, "angle": -28.94, "curve": "stepped" }, + { "time": 1.1333, "angle": -28.94 }, + { "time": 1.3333, "angle": 24.92 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": -34.51, + "y": -78.62, + "curve": [ 0.232, 1, 0.75, 1 ] + }, + { + "time": 0.2, + "x": -34.51, + "y": 182.5, + "curve": [ 0.232, 0.48, 0.598, 0.79 ] + }, + { + "time": 0.7666, + "x": -34.51, + "y": 596.22, + "curve": [ 0.329, 0.17, 0.66, 0.21 ] + }, + { "time": 1.1333, "x": -34.51, "y": 2.49 }, + { "time": 1.3333, "x": -34.51, "y": -78.62 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_shin": { + "rotate": [ + { + "time": 0, + "angle": -90.62, + "curve": [ 0.416, 0.54, 0.743, 1 ] + }, + { + "time": 0.2, + "angle": -10.52, + "curve": [ 0.644, 0, 0.75, 1 ] + }, + { "time": 0.4333, "angle": -127.72 }, + { "time": 0.7333, "angle": -19.91 }, + { "time": 0.8333, "angle": -5.16 }, + { "time": 0.9333, "angle": -35.06 }, + { "time": 1.0333, "angle": -43.97 }, + { "time": 1.1333, "angle": -5.16 }, + { "time": 1.3333, "angle": -90.62 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { "time": 0, "angle": -0.79 }, + { "time": 0.0333, "angle": 16.27 }, + { "time": 0.0666, "angle": 23.52 }, + { "time": 0.1, "angle": 21.02 }, + { "time": 0.1333, "angle": 10.92 }, + { "time": 0.2, "angle": -38.45 }, + { "time": 0.4333, "angle": 6.62 }, + { "time": 0.7333, "angle": -11.51 }, + { "time": 1.0333, "angle": -22.91 }, + { "time": 1.3333, "angle": -0.79 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { "time": 0, "angle": -12.77 }, + { "time": 0.2, "angle": 17.05 }, + { "time": 0.4333, "angle": 19.45 }, + { "time": 0.7333, "angle": 2.67 }, + { "time": 1.0333, "angle": -28.49 }, + { "time": 1.3333, "angle": -12.77 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + }, + "gun": { + "rotate": [ + { "time": 0, "angle": 6.18 }, + { "time": 0.2, "angle": 30.81 }, + { "time": 0.4333, "angle": 13.25 }, + { "time": 0.7333, "angle": 14.98 }, + { "time": 0.7666, "angle": 25.64 }, + { "time": 0.8, "angle": 20.62 }, + { "time": 0.8666, "angle": 64.52 }, + { "time": 1.0333, "angle": 8.59 }, + { "time": 1.1333, "angle": 64.52 }, + { "time": 1.3333, "angle": 6.18 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 } + ] + } + } + }, + "run": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0, "name": "front_fist_closed" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_grind" } + ] + }, + "torso": { + "attachment": [ + { "time": 0, "name": "torso" } + ] + } + }, + "bones": { + "front_thigh": { + "rotate": [ + { + "time": 0, + "angle": 42.05, + "curve": [ 0.195, 0.86, 0.75, 1 ] + }, + { "time": 0.0666, "angle": 46.07 }, + { "time": 0.1333, "angle": -20.28 }, + { "time": 0.2, "angle": -27.23 }, + { "time": 0.2666, "angle": -47.16 }, + { "time": 0.3333, "angle": -39.79 }, + { "time": 0.4, "angle": -25.86 }, + { "time": 0.4666, "angle": 14.35 }, + { "time": 0.5333, "angle": 55.62 }, + { "time": 0.6, "angle": 69.65 }, + { "time": 0.6666, "angle": 86.4 }, + { "time": 0.7333, "angle": 65.87 }, + { "time": 0.8, "angle": 42.05 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.0333, "x": -5.79, "y": 11.15 }, + { "time": 0.0666, "x": -5.13, "y": 11.55 }, + { "time": 0.1333, "x": -7.7, "y": 8.98 }, + { "time": 0.5333, "x": -1.26, "y": 3.83 }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -39.7 }, + { "time": 0.2, "angle": -57.29 }, + { "time": 0.4, "angle": -39.7 }, + { "time": 0.6, "angle": -57.29 }, + { "time": 0.8, "angle": -39.7 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_thigh": { + "rotate": [ + { "time": 0, "angle": -56.59 }, + { "time": 0.0666, "angle": -21.57 }, + { "time": 0.1333, "angle": 27.95 }, + { "time": 0.2, "angle": 42.42 }, + { "time": 0.2666, "angle": 62.37 }, + { "time": 0.3333, "angle": 45.42 }, + { "time": 0.4, "angle": 15.67 }, + { "time": 0.4666, "angle": 28.22 }, + { "time": 0.5333, "angle": -38.62 }, + { "time": 0.6, "angle": -53.26 }, + { "time": 0.6666, "angle": -79.31 }, + { "time": 0.7333, "angle": -86.47 }, + { "time": 0.8, "angle": -56.59 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.4, "x": -6.76, "y": -3.86 }, + { "time": 0.4333, "x": -15.85, "y": 7.28 }, + { "time": 0.4666, "x": -13.04, "y": 4.04 }, + { "time": 0.5, "x": -10.24, "y": 7.11 }, + { "time": 0.5333, "x": -9.01, "y": -5.15 }, + { "time": 0.6666, "x": -23.18, "y": -2.57 }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_shin": { + "rotate": [ + { "time": 0, "angle": -74 }, + { "time": 0.0666, "angle": -83.38 }, + { "time": 0.1333, "angle": -106.69 }, + { "time": 0.2, "angle": -66.01 }, + { "time": 0.2666, "angle": -55.22 }, + { "time": 0.3333, "angle": -24.8 }, + { + "time": 0.4, + "angle": 18.44, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.4666, "angle": -56.65 }, + { + "time": 0.5333, + "angle": -11.94, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.6666, "angle": -41.26 }, + { "time": 0.7333, "angle": -43.6 }, + { "time": 0.8, "angle": -74 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_upper_arm": { + "rotate": [ + { "time": 0, "angle": -89.36 }, + { "time": 0.0666, "angle": -95.67 }, + { "time": 0.1333, "angle": -22 }, + { "time": 0.2, "angle": -316.04 }, + { "time": 0.2666, "angle": -274.94 }, + { "time": 0.3333, "angle": -273.74 }, + { "time": 0.4, "angle": -272.09 }, + { "time": 0.4666, "angle": -264.89 }, + { "time": 0.5333, "angle": -320.09 }, + { "time": 0.6, "angle": -50.83 }, + { "time": 0.6666, "angle": -81.72 }, + { "time": 0.7333, "angle": -83.92 }, + { "time": 0.8, "angle": -89.36 } + ], + "translate": [ + { "time": 0, "x": 6.24, "y": 10.05 }, + { "time": 0.2666, "x": 4.95, "y": -13.13 }, + { "time": 0.6, "x": -2.43, "y": 1.94 }, + { "time": 0.8, "x": 6.24, "y": 10.05 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 33.43 }, + { "time": 0.0666, "angle": 20.53 }, + { "time": 0.1333, "angle": 15.26 }, + { "time": 0.2, "angle": 19.28 }, + { "time": 0.2666, "angle": 22.62 }, + { "time": 0.3333, "angle": 37.29 }, + { "time": 0.4, "angle": 41.53 }, + { "time": 0.4666, "angle": 31.73 }, + { "time": 0.5333, "angle": 67.45 }, + { "time": 0.6666, "angle": 39.77 }, + { "time": 0.7333, "angle": 30.95 }, + { "time": 0.8, "angle": 33.43 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_fist": { + "rotate": [ + { "time": 0, "angle": -19.75 }, + { "time": 0.0666, "angle": -37.11 }, + { "time": 0.1333, "angle": -50.79 }, + { "time": 0.2666, "angle": -12.69 }, + { "time": 0.3333, "angle": 3.01 }, + { "time": 0.4333, "angle": 12.05 }, + { "time": 0.5333, "angle": 13.25 }, + { "time": 0.8, "angle": -19.75 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { "time": 0, "angle": 68.68 }, + { "time": 0.0666, "angle": 73.89 }, + { "time": 0.1333, "angle": -9.64 }, + { "time": 0.2, "angle": 284.27 }, + { "time": 0.2666, "angle": 283.29 }, + { "time": 0.3333, "angle": 278.28 }, + { "time": 0.4, "angle": 271.02 }, + { "time": 0.4666, "angle": 263.2 }, + { "time": 0.5333, "angle": 314.25 }, + { "time": 0.6, "angle": 16.83 }, + { "time": 0.6666, "angle": 70.35 }, + { "time": 0.7333, "angle": 73.53 }, + { "time": 0.8, "angle": 68.68 } + ], + "translate": [ + { "time": 0, "x": -2.57, "y": -8.89 }, + { "time": 0.1333, "x": -4.68, "y": 7.2 }, + { "time": 0.2, "x": 21.73, "y": 51.17 }, + { "time": 0.6, "x": 4.33, "y": 2.05 }, + { "time": 0.8, "x": -2.57, "y": -8.89 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": 31.04 }, + { "time": 0.0666, "angle": 28.28 }, + { "time": 0.1333, "angle": 49.36 }, + { "time": 0.2, "angle": 59.37 }, + { "time": 0.2666, "angle": 8.56 }, + { "time": 0.3333, "angle": 9.38 }, + { "time": 0.4, "angle": 11.51 }, + { "time": 0.4666, "angle": 7.22 }, + { "time": 0.5333, "angle": -18.44 }, + { "time": 0.6, "angle": 11.44 }, + { "time": 0.6666, "angle": 9.99 }, + { "time": 0.7333, "angle": 8.28 }, + { "time": 0.8, "angle": 31.04 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 11.03 }, + { "time": 0.2, "angle": 13.58 }, + { "time": 0.4, "angle": 11.03 }, + { "time": 0.6, "angle": 13.58 }, + { "time": 0.8, "angle": 11.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 11.03 }, + { "time": 0.1, "angle": 12.34 }, + { "time": 0.2, "angle": 25.55 }, + { "time": 0.4, "angle": 11.03 }, + { "time": 0.5, "angle": 12.34 }, + { "time": 0.6, "angle": 25.55 }, + { "time": 0.8, "angle": 11.03 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": -62.47, "y": -23.1 }, + { + "time": 0.0666, + "x": -62.47, + "y": -38.51, + "curve": [ 0.244, 0.04, 0.75, 1 ] + }, + { + "time": 0.2666, + "x": -62.47, + "y": 22.28, + "curve": [ 0.17, 0.52, 0.75, 1 ] + }, + { "time": 0.4, "x": -62.47, "y": -23.1 }, + { "time": 0.4333, "x": -62.47, "y": -24.59 }, + { + "time": 0.4666, + "x": -62.47, + "y": -43.29, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.6666, "x": -62.47, "y": 22.28 }, + { "time": 0.8, "x": -62.47, "y": -23.1 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_shin": { + "rotate": [ + { + "time": 0, + "angle": 0, + "curve": [ 0.481, 0.01, 0.75, 1 ] + }, + { "time": 0.0666, "angle": -64.42 }, + { + "time": 0.1333, + "angle": -20.59, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.2666, "angle": -62.51 }, + { "time": 0.3333, "angle": -79.74 }, + { "time": 0.4, "angle": -78.28 }, + { + "time": 0.4666, + "angle": -118.96, + "curve": [ 0.93, 0, 0.952, 0.95 ] + }, + { "time": 0.6, "angle": -88.95 }, + { "time": 0.6666, "angle": -79.09 }, + { "time": 0.7333, "angle": -47.77 }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { "time": 0, "angle": 0 }, + { + "time": 0.0333, + "angle": -21.13, + "curve": [ 0.121, 0.23, 0.75, 1 ] + }, + { "time": 0.0666, "angle": 17.64 }, + { "time": 0.1, "angle": 29.92 }, + { "time": 0.1333, "angle": 16.44 }, + { "time": 0.2, "angle": -29.22 }, + { "time": 0.2666, "angle": -1.61 }, + { "time": 0.3333, "angle": -10.22 }, + { "time": 0.4666, "angle": -15.99 }, + { "time": 0.6, "angle": 9.03 }, + { "time": 0.7333, "angle": 17.32 }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.0666, "angle": -12.04 }, + { "time": 0.1333, "angle": -0.87 }, + { "time": 0.2, "angle": 25.81 }, + { "time": 0.2666, "angle": 4.71 }, + { + "time": 0.4, + "angle": 18.09, + "curve": [ 0.281, 0.73, 0.75, 1 ] + }, + { "time": 0.4333, "angle": -1.7 }, + { "time": 0.4666, "angle": 27.12 }, + { "time": 0.5, "angle": 38.83 }, + { "time": 0.5333, "angle": 30.76 }, + { "time": 0.5666, "angle": -20.49 }, + { "time": 0.6, "angle": -30.8 }, + { "time": 0.6666, "angle": -1.31 }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "gun": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.1333, "angle": 24.72 }, + { "time": 0.5, "angle": -11.87 }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + } + }, + "events": [ + { "time": 0, "name": "footstep" }, + { "time": 0.4, "name": "footstep", "int": 1 } + ] + }, + "shoot": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0.1333, "name": "front_fist_closed" }, + { "time": 0.4, "name": "front_fist_open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0.1333, "name": "mouth_grind" } + ] + }, + "muzzle": { + "attachment": [ + { "time": 0.1333, "name": "muzzle" }, + { "time": 0.2666, "name": null } + ], + "color": [ + { + "time": 0.1333, + "color": "ffffff00", + "curve": [ 0.118, 0.99, 0.75, 1 ] + }, + { + "time": 0.1666, + "color": "ffffffff", + "curve": [ 0.821, 0, 0.909, 0.89 ] + }, + { "time": 0.2666, "color": "ffffff00" } + ] + } + }, + "bones": { + "front_fist": { + "scale": [ + { "time": 0.1333, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.4, "x": 1, "y": 1 } + ] + }, + "gunTip": { + "translate": [ + { "time": 0.1333, "x": 0, "y": 0 }, + { "time": 0.2, "x": 20.93, "y": 1.57 } + ], + "scale": [ + { "time": 0.1333, "x": 1, "y": 1 }, + { "time": 0.2, "x": 1.247, "y": 1.516 } + ] + }, + "gun": { + "rotate": [ + { "time": 0, "angle": 1.9 } + ], + "translate": [ + { + "time": 0, + "x": 7.95, + "y": 5.84, + "curve": [ 0, 0.3, 0.678, 1 ] + }, + { "time": 0.3, "x": -9.3, "y": -1.41 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": -30.47 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.3, 0.678, 1 ] + }, + { "time": 0.3, "x": -5.99, "y": -3.71 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { "time": 0, "angle": 62.3 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0, 0.3, 0.678, 1 ] + }, + { "time": 0.3, "x": 2.81, "y": 11.41 }, + { "time": 0.4, "x": 0, "y": 0 } + ] + } + } + }, + "test": { + "slots": { + "front_foot": { + "color": [ + { "time": 0.6666, "color": "ffffffff" }, + { "time": 1.3333, "color": "ff0700ff" } + ] + }, + "gun": { + "color": [ + { "time": 0, "color": "ffffffff", "curve": "stepped" }, + { "time": 0.6666, "color": "ffffffff" }, + { "time": 1.3333, "color": "32ff00ff" } + ] + }, + "rear_foot": { + "color": [ + { "time": 0.6666, "color": "ffffffff" }, + { "time": 1.3333, "color": "ff0700ff" } + ] + } + }, + "bones": { + "head": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.3333, "angle": -20.72 }, + { "time": 0.6666, "angle": -32.41 }, + { "time": 1, "angle": -5.3 }, + { "time": 1.3333, "angle": 24.96 }, + { "time": 1.6666, "angle": 15.61 }, + { "time": 2, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": 0, + "y": 0, + "curve": [ 0.172, 0.37, 0.574, 0.73 ] + }, + { + "time": 0.1666, + "x": 144.19, + "y": -77.59, + "curve": [ 0.372, 0.61, 0.765, 1 ] + }, + { + "time": 0.3333, + "x": 217.61, + "y": -192.63, + "curve": [ 0.282, 0, 0.624, 0.31 ] + }, + { + "time": 0.5, + "x": 181.21, + "y": -365.66, + "curve": [ 0.313, 0.21, 0.654, 0.54 ] + }, + { + "time": 0.6666, + "x": 20.09, + "y": -500.4, + "curve": [ 0.147, 0.27, 0.75, 1 ] + }, + { "time": 0.8333, "x": -194.24, "y": -341.84 }, + { "time": 1, "x": -307.93, "y": -114 }, + { + "time": 1.1666, + "x": -330.38, + "y": 121.42, + "curve": [ 0.25, 0, 0.764, 0.48 ] + }, + { + "time": 1.3333, + "x": -240.42, + "y": 335.66, + "curve": [ 0.229, 0.37, 0.58, 0.73 ] + }, + { + "time": 1.5, + "x": -56.12, + "y": 288.06, + "curve": [ 0.296, 0.6, 0.641, 1 ] + }, + { + "time": 1.6666, + "x": 87.63, + "y": 191.33, + "curve": [ 0.238, 0, 0.626, 0.39 ] + }, + { + "time": 1.8333, + "x": 60.62, + "y": 95.14, + "curve": [ 0.41, 0.26, 0.803, 0.62 ] + }, + { "time": 2, "x": 0, "y": 0 } + ] + } + }, + "draworder": [ + { + "time": 0.6666, + "offsets": [ + { "slot": "head", "offset": -9 }, + { "slot": "eye", "offset": -9 }, + { "slot": "mouth", "offset": -12 }, + { "slot": "goggles", "offset": -12 } + ] + }, + { "time": 1.3333 } + ], + "events": [ + { "time": 0, "name": "headPop", "int": 0, "float": 0, "string": "pop.wav" }, + { "time": 1, "name": "headBehind", "int": 7, "float": 8, "string": "animate" }, + { "time": 2, "name": "headAttach", "int": 0, "float": 0, "string": "attach.wav" } + ] + }, + "walk": { + "slots": { + "front_fist": { + "attachment": [ + { "time": 0, "name": "front_fist_closed" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0, "name": "mouth_smile" } + ] + }, + "torso": { + "attachment": [ + { "time": 0, "name": "torso" } + ] + } + }, + "bones": { + "front_thigh": { + "rotate": [ + { "time": 0, "angle": 15.79 }, + { "time": 0.1, "angle": 27.39 }, + { "time": 0.2, "angle": -7.94 }, + { "time": 0.3, "angle": -16.94 }, + { "time": 0.4, "angle": -28.62 }, + { "time": 0.5, "angle": -19.3 }, + { "time": 0.6, "angle": -3.08 }, + { "time": 0.7, "angle": 29.51 }, + { "time": 0.8, "angle": 15.79 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.4, "x": -1.18, "y": 0.54 }, + { "time": 0.5, "x": 0.11, "y": 0.41 }, + { "time": 0.6, "x": 9.48, "y": 0.27 }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.4, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_shin": { + "rotate": [ + { "time": 0, "angle": 5.12 }, + { "time": 0.1, "angle": -20.87 }, + { "time": 0.2, "angle": 13.37 }, + { "time": 0.3, "angle": 15.98 }, + { "time": 0.4, "angle": 5.94 }, + { "time": 0.5, "angle": -26.76 }, + { "time": 0.7, "angle": -55.44 }, + { "time": 0.8, "angle": 5.12 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_thigh": { + "rotate": [ + { "time": 0, "angle": -34.38 }, + { "time": 0.1, "angle": -30.32 }, + { "time": 0.2, "angle": -37.22 }, + { "time": 0.3, "angle": 20.73 }, + { "time": 0.4, "angle": 8.69 }, + { "time": 0.5, "angle": 12.16 }, + { "time": 0.6, "angle": -24.62 }, + { "time": 0.7, "angle": -27.26 }, + { "time": 0.8, "angle": -34.38 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0 }, + { "time": 0.4, "x": 4.08, "y": -9.53 }, + { "time": 0.5, "x": 0, "y": 0 }, + { "time": 0.7, "x": -21.14, "y": -9.6 }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_shin": { + "rotate": [ + { "time": 0, "angle": 14.26 }, + { "time": 0.1, "angle": -17.3 }, + { "time": 0.2, "angle": -12.67 }, + { "time": 0.3, "angle": -58.89 }, + { "time": 0.4, "angle": 15.95 }, + { "time": 0.5, "angle": -9 }, + { "time": 0.6, "angle": 26.06 }, + { "time": 0.7, "angle": 21.85 }, + { "time": 0.8, "angle": 14.26 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1 }, + { "time": 0.1, "x": 0.951, "y": 1 }, + { "time": 0.5, "x": 0.975, "y": 1 }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_foot": { + "rotate": [ + { "time": 0, "angle": 10.13 }, + { "time": 0.1, "angle": 12.27 }, + { "time": 0.2, "angle": -2.94 }, + { "time": 0.3, "angle": 6.29 }, + { "time": 0.4, "angle": 13.45 }, + { "time": 0.5, "angle": -3.57 }, + { "time": 0.6, "angle": -0.97 }, + { "time": 0.7, "angle": 2.97 }, + { "time": 0.8, "angle": 10.13 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_upper_arm": { + "rotate": [ + { "time": 0, "angle": -23.74 }, + { "time": 0.4, "angle": -320.57 }, + { "time": 0.8, "angle": -23.74 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_upper_arm": { + "rotate": [ + { "time": 0, "angle": 11.62 }, + { "time": 0.1, "angle": 19.36 }, + { "time": 0.4, "angle": 345.26 }, + { "time": 0.5, "angle": 343.44 }, + { "time": 0.8, "angle": 11.62 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "torso": { + "rotate": [ + { "time": 0, "angle": -12.11 }, + { "time": 0.1666, "angle": -17.16 }, + { "time": 0.4, "angle": -12.11 }, + { "time": 0.5666, "angle": -15.81 }, + { "time": 0.8, "angle": -12.11 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "neck": { + "rotate": [ + { "time": 0, "angle": 1.41 }, + { "time": 0.2333, "angle": -3.04 }, + { "time": 0.4, "angle": 1.41 }, + { "time": 0.6333, "angle": -3.04 }, + { "time": 0.8, "angle": 1.41 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "head": { + "rotate": [ + { "time": 0, "angle": 6.97 }, + { "time": 0.1666, "angle": 8.02 }, + { "time": 0.2666, "angle": 12.65 }, + { "time": 0.4, "angle": 6.97 }, + { "time": 0.5666, "angle": 8.02 }, + { "time": 0.6666, "angle": 12.65 }, + { "time": 0.8, "angle": 6.97 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.4, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "hip": { + "rotate": [ + { "time": 0, "angle": 0, "curve": "stepped" }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { + "time": 0, + "x": -23.93, + "y": 3.22, + "curve": [ 0.518, 0.03, 0.807, 0.61 ] + }, + { + "time": 0.1, + "x": -23.93, + "y": -9.24, + "curve": [ 0.135, 0.33, 0.601, 0.99 ] + }, + { + "time": 0.2, + "x": -23.93, + "y": 4.35, + "curve": [ 0.204, 0.68, 0.75, 1 ] + }, + { + "time": 0.3, + "x": -23.93, + "y": 2.38, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.4, + "x": -23.93, + "y": -2.5, + "curve": [ 0.692, 0.01, 0.75, 1 ] + }, + { + "time": 0.5, + "x": -23.93, + "y": -10.32, + "curve": [ 0.235, 0.77, 0.75, 1 ] + }, + { + "time": 0.6, + "x": -23.93, + "y": 4.35, + "curve": [ 0.287, 0.37, 0.718, 0.76 ] + }, + { + "time": 0.7, + "x": -23.93, + "y": 10.34, + "curve": [ 0.615, 0, 0.75, 1 ] + }, + { "time": 0.8, "x": -23.93, "y": 3.22 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_bracer": { + "rotate": [ + { "time": 0, "angle": 0 }, + { "time": 0.4, "angle": 20.59 }, + { "time": 0.8, "angle": 0 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_foot": { + "rotate": [ + { "time": 0, "angle": 12.49 }, + { "time": 0.1, "angle": -8.34 }, + { "time": 0.2, "angle": -6.17 }, + { "time": 0.3, "angle": -0.75 }, + { "time": 0.3333, "angle": 3.89 }, + { "time": 0.4, "angle": 10.22 }, + { "time": 0.5, "angle": 11.44 }, + { "time": 0.6, "angle": -0.33 }, + { "time": 0.7, "angle": 0.15 }, + { "time": 0.8, "angle": 12.49 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "rear_bracer": { + "rotate": [ + { "time": 0, "angle": 3.58 }, + { "time": 0.1, "angle": 5.51 }, + { "time": 0.4, "angle": -22.77 }, + { "time": 0.5, "angle": -9.65 }, + { "time": 0.8, "angle": 3.58 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "front_fist": { + "rotate": [ + { "time": 0, "angle": -15.22 }, + { "time": 0.1, "angle": -51.4 }, + { "time": 0.4, "angle": -39.4 }, + { "time": 0.5, "angle": 19.26 }, + { "time": 0.8, "angle": -15.22 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + }, + "gun": { + "rotate": [ + { + "time": 0, + "angle": -24.06, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.1, + "angle": -10.94, + "curve": [ 0.381, 0.54, 0.742, 1 ] + }, + { + "time": 0.4, + "angle": 25.34, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { + "time": 0.6666, + "angle": -27.47, + "curve": [ 0.25, 0, 0.75, 1 ] + }, + { "time": 0.8, "angle": -24.06 } + ], + "translate": [ + { "time": 0, "x": 0, "y": 0, "curve": "stepped" }, + { "time": 0.8, "x": 0, "y": 0 } + ], + "scale": [ + { "time": 0, "x": 1, "y": 1, "curve": "stepped" }, + { "time": 0.8, "x": 1, "y": 1 } + ] + } + } + } +} +} \ No newline at end of file diff --git a/spine-cocos2d-iphone/3.0/Resources/spineboy.png b/spine-cocos2d-iphone/3.0/Resources/spineboy.png new file mode 100644 index 000000000..dce2fe3e2 Binary files /dev/null and b/spine-cocos2d-iphone/3.0/Resources/spineboy.png differ diff --git a/spine-cocos2d-iphone/3.0/example/GoblinsExample.h b/spine-cocos2d-iphone/3.0/example/GoblinsExample.h new file mode 100644 index 000000000..e1c5f0266 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/example/GoblinsExample.h @@ -0,0 +1,12 @@ + + +#import "cocos2d.h" +#import + +@interface GoblinsExample : CCNode { + SkeletonAnimation* skeletonNode; +} + ++ (CCScene*) scene; + +@end \ No newline at end of file diff --git a/spine-cocos2d-iphone/3.0/example/GoblinsExample.m b/spine-cocos2d-iphone/3.0/example/GoblinsExample.m new file mode 100644 index 000000000..603d45110 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/example/GoblinsExample.m @@ -0,0 +1,46 @@ + +#import "GoblinsExample.h" +#import "SpineboyExample.h" + +@implementation GoblinsExample + ++ (CCScene*) scene { + CCScene *scene = [CCScene node]; + [scene addChild:[GoblinsExample node]]; + return scene; +} + +-(id) init { + self = [super init]; + if (!self) return nil; + + skeletonNode = [SkeletonAnimation skeletonWithFile:@"goblins-ffd.json" atlasFile:@"goblins-ffd.atlas" scale:1]; + [skeletonNode setSkin:@"goblin"]; + [skeletonNode setAnimationForTrack:0 name:@"walk" loop:YES]; + + CGSize windowSize = [[CCDirector sharedDirector] viewSize]; + [skeletonNode setPosition:ccp(windowSize.width / 2, 20)]; + [self addChild:skeletonNode]; + + self.userInteractionEnabled = YES; + + return self; +} + +#if __CC_PLATFORM_MAC +- (BOOL) ccMouseDown:(NSEvent*)event { +#else +- (void) ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { +#endif + if (!skeletonNode.debugBones) + skeletonNode.debugBones = true; + else if (skeletonNode.timeScale == 1) + skeletonNode.timeScale = 0.3f; + else + [[CCDirector sharedDirector] replaceScene:[SpineboyExample scene]]; +#if __CC_PLATFORM_MAC + return YES; +#endif +} + +@end diff --git a/spine-cocos2d-iphone/3.0/example/SpineboyExample.h b/spine-cocos2d-iphone/3.0/example/SpineboyExample.h new file mode 100644 index 000000000..b76cef160 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/example/SpineboyExample.h @@ -0,0 +1,12 @@ + + +#import "cocos2d.h" +#import + +@interface SpineboyExample : CCNode { + SkeletonAnimation* skeletonNode; +} + ++ (CCScene*) scene; + +@end \ No newline at end of file diff --git a/spine-cocos2d-iphone/3.0/example/SpineboyExample.m b/spine-cocos2d-iphone/3.0/example/SpineboyExample.m new file mode 100644 index 000000000..2e4f6b4a2 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/example/SpineboyExample.m @@ -0,0 +1,72 @@ + +#import "SpineboyExample.h" +#import "GoblinsExample.h" + +@implementation SpineboyExample + ++ (CCScene*) scene { + CCScene *scene = [CCScene node]; + [scene addChild:[SpineboyExample node]]; + return scene; +} + +-(id) init { + self = [super init]; + if (!self) return nil; + + skeletonNode = [SkeletonAnimation skeletonWithFile:@"spineboy.json" atlasFile:@"spineboy.atlas" scale:0.6]; + [skeletonNode setMixFrom:@"walk" to:@"jump" duration:0.2f]; + [skeletonNode setMixFrom:@"jump" to:@"run" duration:0.2f]; + + __weak SkeletonAnimation* node = skeletonNode; + skeletonNode.startListener = ^(int trackIndex) { + spTrackEntry* entry = spAnimationState_getCurrent(node.state, trackIndex); + const char* animationName = (entry && entry->animation) ? entry->animation->name : 0; + NSLog(@"%d start: %s", trackIndex, animationName); + }; + skeletonNode.endListener = ^(int trackIndex) { + NSLog(@"%d end", trackIndex); + }; + skeletonNode.completeListener = ^(int trackIndex, int loopCount) { + NSLog(@"%d complete: %d", trackIndex, loopCount); + }; + skeletonNode.eventListener = ^(int trackIndex, spEvent* event) { + NSLog(@"%d event: %s, %d, %f, %s", trackIndex, event->data->name, event->intValue, event->floatValue, event->stringValue); + }; + + [skeletonNode setAnimationForTrack:0 name:@"walk" loop:YES]; + TrackEntry* jumpEntry = [skeletonNode addAnimationForTrack:0 name:@"jump" loop:NO afterDelay:3]; + [skeletonNode addAnimationForTrack:0 name:@"run" loop:YES afterDelay:0]; + + [skeletonNode setListenerForEntry:jumpEntry onStart:^(int trackIndex) { + CCLOG(@"jumped!"); + }]; + + // [skeletonNode setAnimationForTrack:1 name:@"test" loop:YES]; + + CGSize windowSize = [[CCDirector sharedDirector] viewSize]; + [skeletonNode setPosition:ccp(windowSize.width / 2, 20)]; + [self addChild:skeletonNode]; + + self.userInteractionEnabled = YES; + + return self; +} + +#if __CC_PLATFORM_MAC +- (BOOL) ccMouseDown:(NSEvent*)event { +#else +- (void) ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event { +#endif + if (!skeletonNode.debugBones) + skeletonNode.debugBones = true; + else if (skeletonNode.timeScale == 1) + skeletonNode.timeScale = 0.3f; + else + [[CCDirector sharedDirector] replaceScene:[GoblinsExample scene]]; +#if __CC_PLATFORM_MAC + return YES; +#endif +} + +@end diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj new file mode 100644 index 000000000..db3f6406c --- /dev/null +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.pbxproj @@ -0,0 +1,649 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 43C3282F170B0C19004A9460 /* spine-cocos2d-iphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43C3286C170B0DA6004A9460 /* spineboy.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32868170B0DA6004A9460 /* spineboy.json */; }; + 43C3286E170B0DA6004A9460 /* spineboy.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43C3286A170B0DA6004A9460 /* spineboy.atlas */; }; + 43C3286F170B0DA6004A9460 /* spineboy.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C3286B170B0DA6004A9460 /* spineboy.png */; }; + 43C3287D170B0DBE004A9460 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32871170B0DBE004A9460 /* Default-568h@2x.png */; }; + 43C3287E170B0DBE004A9460 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32872170B0DBE004A9460 /* Default-Landscape~ipad.png */; }; + 43C3287F170B0DBE004A9460 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32873170B0DBE004A9460 /* Default.png */; }; + 43C32880170B0DBE004A9460 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32874170B0DBE004A9460 /* Default@2x.png */; }; + 43C32881170B0DBE004A9460 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32875170B0DBE004A9460 /* Icon-72.png */; }; + 43C32882170B0DBE004A9460 /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32876170B0DBE004A9460 /* Icon-Small-50.png */; }; + 43C32883170B0DBE004A9460 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32877170B0DBE004A9460 /* Icon-Small.png */; }; + 43C32884170B0DBE004A9460 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32878170B0DBE004A9460 /* Icon-Small@2x.png */; }; + 43C32885170B0DBE004A9460 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32879170B0DBE004A9460 /* Icon.png */; }; + 43C32886170B0DBE004A9460 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C3287A170B0DBE004A9460 /* Icon@2x.png */; }; + 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = 43C3287C170B0DBE004A9460 /* iTunesArtwork */; }; + 43C32A06170B0F93004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A05170B0F93004A9460 /* main.m */; }; + 43C32A09170B10FF004A9460 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A08170B10FF004A9460 /* AppDelegate.m */; }; + 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */; }; + 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010D1927FBC700CA4038 /* goblins-ffd.json */; }; + 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7010E1927FBC700CA4038 /* goblins-ffd.png */; }; + 43F7FF511927F91900CA4038 /* Animation.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF381927F91900CA4038 /* Animation.c */; }; + 43F7FF521927F91900CA4038 /* AnimationState.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF391927F91900CA4038 /* AnimationState.c */; }; + 43F7FF531927F91900CA4038 /* AnimationStateData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */; }; + 43F7FF541927F91900CA4038 /* Atlas.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3B1927F91900CA4038 /* Atlas.c */; }; + 43F7FF551927F91900CA4038 /* AtlasAttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3C1927F91900CA4038 /* AtlasAttachmentLoader.c */; }; + 43F7FF561927F91900CA4038 /* Attachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3D1927F91900CA4038 /* Attachment.c */; }; + 43F7FF571927F91900CA4038 /* AttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3E1927F91900CA4038 /* AttachmentLoader.c */; }; + 43F7FF581927F91900CA4038 /* Bone.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF3F1927F91900CA4038 /* Bone.c */; }; + 43F7FF591927F91900CA4038 /* BoneData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF401927F91900CA4038 /* BoneData.c */; }; + 43F7FF5A1927F91900CA4038 /* BoundingBoxAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF411927F91900CA4038 /* BoundingBoxAttachment.c */; }; + 43F7FF5B1927F91900CA4038 /* Event.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF421927F91900CA4038 /* Event.c */; }; + 43F7FF5C1927F91900CA4038 /* EventData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF431927F91900CA4038 /* EventData.c */; }; + 43F7FF5D1927F91900CA4038 /* extension.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF441927F91900CA4038 /* extension.c */; }; + 43F7FF5E1927F91900CA4038 /* Json.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF451927F91900CA4038 /* Json.c */; }; + 43F7FF5F1927F91900CA4038 /* MeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF471927F91900CA4038 /* MeshAttachment.c */; }; + 43F7FF601927F91900CA4038 /* RegionAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF481927F91900CA4038 /* RegionAttachment.c */; }; + 43F7FF611927F91900CA4038 /* Skeleton.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF491927F91900CA4038 /* Skeleton.c */; }; + 43F7FF621927F91900CA4038 /* SkeletonBounds.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4A1927F91900CA4038 /* SkeletonBounds.c */; }; + 43F7FF631927F91900CA4038 /* SkeletonData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4B1927F91900CA4038 /* SkeletonData.c */; }; + 43F7FF641927F91900CA4038 /* SkeletonJson.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4C1927F91900CA4038 /* SkeletonJson.c */; }; + 43F7FF651927F91900CA4038 /* Skin.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4D1927F91900CA4038 /* Skin.c */; }; + 43F7FF661927F91900CA4038 /* SkinnedMeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4E1927F91900CA4038 /* SkinnedMeshAttachment.c */; }; + 43F7FF671927F91900CA4038 /* Slot.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF4F1927F91900CA4038 /* Slot.c */; }; + 43F7FF681927F91900CA4038 /* SlotData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF501927F91900CA4038 /* SlotData.c */; }; + 43F7FF871927F94800CA4038 /* PolygonBatch.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF821927F94800CA4038 /* PolygonBatch.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FF881927F94800CA4038 /* SkeletonAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF841927F94800CA4038 /* SkeletonAnimation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FF891927F94800CA4038 /* SkeletonRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF861927F94800CA4038 /* SkeletonRenderer.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FF8E1927F96700CA4038 /* GoblinsExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF8B1927F96700CA4038 /* GoblinsExample.m */; }; + 43F7FF8F1927F96700CA4038 /* SpineboyExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FF8D1927F96700CA4038 /* SpineboyExample.m */; }; + 652107961895250000B1FF07 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 652107951895250000B1FF07 /* CoreText.framework */; }; + 9A5D2499170A94DA0030D4DD /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D2498170A94DA0030D4DD /* QuartzCore.framework */; }; + 9A5D249B170A94DA0030D4DD /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D249A170A94DA0030D4DD /* OpenGLES.framework */; }; + 9A5D249D170A94DA0030D4DD /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D249C170A94DA0030D4DD /* OpenAL.framework */; }; + 9A5D249F170A94DA0030D4DD /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D249E170A94DA0030D4DD /* AudioToolbox.framework */; }; + 9A5D24A1170A94DA0030D4DD /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D24A0170A94DA0030D4DD /* AVFoundation.framework */; }; + 9A5D24A3170A94DA0030D4DD /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D24A2170A94DA0030D4DD /* UIKit.framework */; }; + 9A5D24A5170A94DA0030D4DD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D24A4170A94DA0030D4DD /* Foundation.framework */; }; + 9A5D24A7170A94DA0030D4DD /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D24A6170A94DA0030D4DD /* CoreGraphics.framework */; }; + 9A5D24A9170A94DA0030D4DD /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A5D24A8170A94DA0030D4DD /* GameKit.framework */; }; + A28E1F0C192926C500D16B23 /* libcocos2d.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A28E1F0B192926A300D16B23 /* libcocos2d.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + A28E1F0A192926A300D16B23 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = A28E1F04192926A200D16B23 /* cocos2d-ios.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 5018F24D0DFDEAC400C013A5; + remoteInfo = cocos2d; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "spine-cocos2d-iphone.m"; path = "src/spine/spine-cocos2d-iphone.m"; sourceTree = ""; }; + 43C3282E170B0C19004A9460 /* spine-cocos2d-iphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "spine-cocos2d-iphone.h"; path = "src/spine/spine-cocos2d-iphone.h"; sourceTree = ""; }; + 43C32868170B0DA6004A9460 /* spineboy.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = spineboy.json; path = Resources/spineboy.json; sourceTree = ""; }; + 43C3286A170B0DA6004A9460 /* spineboy.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = spineboy.atlas; path = Resources/spineboy.atlas; sourceTree = ""; }; + 43C3286B170B0DA6004A9460 /* spineboy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = spineboy.png; path = Resources/spineboy.png; sourceTree = ""; }; + 43C32871170B0DBE004A9460 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-568h@2x.png"; path = "Resources-ios/Default-568h@2x.png"; sourceTree = ""; }; + 43C32872170B0DBE004A9460 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Landscape~ipad.png"; path = "Resources-ios/Default-Landscape~ipad.png"; sourceTree = ""; }; + 43C32873170B0DBE004A9460 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = "Resources-ios/Default.png"; sourceTree = ""; }; + 43C32874170B0DBE004A9460 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default@2x.png"; path = "Resources-ios/Default@2x.png"; sourceTree = ""; }; + 43C32875170B0DBE004A9460 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "Resources-ios/Icon-72.png"; sourceTree = ""; }; + 43C32876170B0DBE004A9460 /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small-50.png"; path = "Resources-ios/Icon-Small-50.png"; sourceTree = ""; }; + 43C32877170B0DBE004A9460 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "Resources-ios/Icon-Small.png"; sourceTree = ""; }; + 43C32878170B0DBE004A9460 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small@2x.png"; path = "Resources-ios/Icon-Small@2x.png"; sourceTree = ""; }; + 43C32879170B0DBE004A9460 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = "Resources-ios/Icon.png"; sourceTree = ""; }; + 43C3287A170B0DBE004A9460 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "Resources-ios/Icon@2x.png"; sourceTree = ""; }; + 43C3287B170B0DBE004A9460 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Resources-ios/Info.plist"; sourceTree = ""; }; + 43C3287C170B0DBE004A9460 /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; name = iTunesArtwork; path = "Resources-ios/iTunesArtwork"; sourceTree = ""; }; + 43C32889170B0E9F004A9460 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "Resources-ios/Prefix.pch"; sourceTree = ""; }; + 43C32A05170B0F93004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "Resources-ios/main.m"; sourceTree = ""; }; + 43C32A07170B10FF004A9460 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "Resources-ios/AppDelegate.h"; sourceTree = ""; }; + 43C32A08170B10FF004A9460 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "Resources-ios/AppDelegate.m"; sourceTree = ""; }; + 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "goblins-ffd.atlas"; path = "Resources/goblins-ffd.atlas"; sourceTree = ""; }; + 43F7010D1927FBC700CA4038 /* goblins-ffd.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "goblins-ffd.json"; path = "Resources/goblins-ffd.json"; sourceTree = ""; }; + 43F7010E1927FBC700CA4038 /* goblins-ffd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "goblins-ffd.png"; path = "Resources/goblins-ffd.png"; sourceTree = ""; }; + 43F7FF381927F91900CA4038 /* Animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Animation.c; path = "../../spine-c/src/spine/Animation.c"; sourceTree = ""; }; + 43F7FF391927F91900CA4038 /* AnimationState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationState.c; path = "../../spine-c/src/spine/AnimationState.c"; sourceTree = ""; }; + 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationStateData.c; path = "../../spine-c/src/spine/AnimationStateData.c"; sourceTree = ""; }; + 43F7FF3B1927F91900CA4038 /* Atlas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Atlas.c; path = "../../spine-c/src/spine/Atlas.c"; sourceTree = ""; }; + 43F7FF3C1927F91900CA4038 /* AtlasAttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AtlasAttachmentLoader.c; path = "../../spine-c/src/spine/AtlasAttachmentLoader.c"; sourceTree = ""; }; + 43F7FF3D1927F91900CA4038 /* Attachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Attachment.c; path = "../../spine-c/src/spine/Attachment.c"; sourceTree = ""; }; + 43F7FF3E1927F91900CA4038 /* AttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AttachmentLoader.c; path = "../../spine-c/src/spine/AttachmentLoader.c"; sourceTree = ""; }; + 43F7FF3F1927F91900CA4038 /* Bone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Bone.c; path = "../../spine-c/src/spine/Bone.c"; sourceTree = ""; }; + 43F7FF401927F91900CA4038 /* BoneData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoneData.c; path = "../../spine-c/src/spine/BoneData.c"; sourceTree = ""; }; + 43F7FF411927F91900CA4038 /* BoundingBoxAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoundingBoxAttachment.c; path = "../../spine-c/src/spine/BoundingBoxAttachment.c"; sourceTree = ""; }; + 43F7FF421927F91900CA4038 /* Event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Event.c; path = "../../spine-c/src/spine/Event.c"; sourceTree = ""; }; + 43F7FF431927F91900CA4038 /* EventData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = EventData.c; path = "../../spine-c/src/spine/EventData.c"; sourceTree = ""; }; + 43F7FF441927F91900CA4038 /* extension.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = extension.c; path = "../../spine-c/src/spine/extension.c"; sourceTree = ""; }; + 43F7FF451927F91900CA4038 /* Json.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Json.c; path = "../../spine-c/src/spine/Json.c"; sourceTree = ""; }; + 43F7FF461927F91900CA4038 /* Json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Json.h; path = "../../spine-c/src/spine/Json.h"; sourceTree = ""; }; + 43F7FF471927F91900CA4038 /* MeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = MeshAttachment.c; path = "../../spine-c/src/spine/MeshAttachment.c"; sourceTree = ""; }; + 43F7FF481927F91900CA4038 /* RegionAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = RegionAttachment.c; path = "../../spine-c/src/spine/RegionAttachment.c"; sourceTree = ""; }; + 43F7FF491927F91900CA4038 /* Skeleton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skeleton.c; path = "../../spine-c/src/spine/Skeleton.c"; sourceTree = ""; }; + 43F7FF4A1927F91900CA4038 /* SkeletonBounds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonBounds.c; path = "../../spine-c/src/spine/SkeletonBounds.c"; sourceTree = ""; }; + 43F7FF4B1927F91900CA4038 /* SkeletonData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonData.c; path = "../../spine-c/src/spine/SkeletonData.c"; sourceTree = ""; }; + 43F7FF4C1927F91900CA4038 /* SkeletonJson.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonJson.c; path = "../../spine-c/src/spine/SkeletonJson.c"; sourceTree = ""; }; + 43F7FF4D1927F91900CA4038 /* Skin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skin.c; path = "../../spine-c/src/spine/Skin.c"; sourceTree = ""; }; + 43F7FF4E1927F91900CA4038 /* SkinnedMeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkinnedMeshAttachment.c; path = "../../spine-c/src/spine/SkinnedMeshAttachment.c"; sourceTree = ""; }; + 43F7FF4F1927F91900CA4038 /* Slot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Slot.c; path = "../../spine-c/src/spine/Slot.c"; sourceTree = ""; }; + 43F7FF501927F91900CA4038 /* SlotData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SlotData.c; path = "../../spine-c/src/spine/SlotData.c"; sourceTree = ""; }; + 43F7FF691927F92500CA4038 /* Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Animation.h; path = "../../spine-c/include/spine/Animation.h"; sourceTree = ""; }; + 43F7FF6A1927F92500CA4038 /* AnimationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationState.h; path = "../../spine-c/include/spine/AnimationState.h"; sourceTree = ""; }; + 43F7FF6B1927F92500CA4038 /* AnimationStateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationStateData.h; path = "../../spine-c/include/spine/AnimationStateData.h"; sourceTree = ""; }; + 43F7FF6C1927F92500CA4038 /* Atlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Atlas.h; path = "../../spine-c/include/spine/Atlas.h"; sourceTree = ""; }; + 43F7FF6D1927F92500CA4038 /* AtlasAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtlasAttachmentLoader.h; path = "../../spine-c/include/spine/AtlasAttachmentLoader.h"; sourceTree = ""; }; + 43F7FF6E1927F92500CA4038 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Attachment.h; path = "../../spine-c/include/spine/Attachment.h"; sourceTree = ""; }; + 43F7FF6F1927F92500CA4038 /* AttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttachmentLoader.h; path = "../../spine-c/include/spine/AttachmentLoader.h"; sourceTree = ""; }; + 43F7FF701927F92500CA4038 /* Bone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bone.h; path = "../../spine-c/include/spine/Bone.h"; sourceTree = ""; }; + 43F7FF711927F92500CA4038 /* BoneData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoneData.h; path = "../../spine-c/include/spine/BoneData.h"; sourceTree = ""; }; + 43F7FF721927F92500CA4038 /* BoundingBoxAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoundingBoxAttachment.h; path = "../../spine-c/include/spine/BoundingBoxAttachment.h"; sourceTree = ""; }; + 43F7FF731927F92500CA4038 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = "../../spine-c/include/spine/Event.h"; sourceTree = ""; }; + 43F7FF741927F92500CA4038 /* EventData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventData.h; path = "../../spine-c/include/spine/EventData.h"; sourceTree = ""; }; + 43F7FF751927F92500CA4038 /* extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = extension.h; path = "../../spine-c/include/spine/extension.h"; sourceTree = ""; }; + 43F7FF761927F92500CA4038 /* MeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshAttachment.h; path = "../../spine-c/include/spine/MeshAttachment.h"; sourceTree = ""; }; + 43F7FF771927F92500CA4038 /* RegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegionAttachment.h; path = "../../spine-c/include/spine/RegionAttachment.h"; sourceTree = ""; }; + 43F7FF781927F92500CA4038 /* Skeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skeleton.h; path = "../../spine-c/include/spine/Skeleton.h"; sourceTree = ""; }; + 43F7FF791927F92500CA4038 /* SkeletonBounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonBounds.h; path = "../../spine-c/include/spine/SkeletonBounds.h"; sourceTree = ""; }; + 43F7FF7A1927F92500CA4038 /* SkeletonData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonData.h; path = "../../spine-c/include/spine/SkeletonData.h"; sourceTree = ""; }; + 43F7FF7B1927F92500CA4038 /* SkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonJson.h; path = "../../spine-c/include/spine/SkeletonJson.h"; sourceTree = ""; }; + 43F7FF7C1927F92500CA4038 /* Skin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skin.h; path = "../../spine-c/include/spine/Skin.h"; sourceTree = ""; }; + 43F7FF7D1927F92500CA4038 /* SkinnedMeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkinnedMeshAttachment.h; path = "../../spine-c/include/spine/SkinnedMeshAttachment.h"; sourceTree = ""; }; + 43F7FF7E1927F92500CA4038 /* Slot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Slot.h; path = "../../spine-c/include/spine/Slot.h"; sourceTree = ""; }; + 43F7FF7F1927F92500CA4038 /* SlotData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlotData.h; path = "../../spine-c/include/spine/SlotData.h"; sourceTree = ""; }; + 43F7FF801927F92500CA4038 /* spine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spine.h; path = "../../spine-c/include/spine/spine.h"; sourceTree = ""; }; + 43F7FF811927F94800CA4038 /* PolygonBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolygonBatch.h; path = src/spine/PolygonBatch.h; sourceTree = ""; }; + 43F7FF821927F94800CA4038 /* PolygonBatch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PolygonBatch.m; path = src/spine/PolygonBatch.m; sourceTree = ""; }; + 43F7FF831927F94800CA4038 /* SkeletonAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonAnimation.h; path = src/spine/SkeletonAnimation.h; sourceTree = ""; }; + 43F7FF841927F94800CA4038 /* SkeletonAnimation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonAnimation.m; path = src/spine/SkeletonAnimation.m; sourceTree = ""; }; + 43F7FF851927F94800CA4038 /* SkeletonRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonRenderer.h; path = src/spine/SkeletonRenderer.h; sourceTree = ""; }; + 43F7FF861927F94800CA4038 /* SkeletonRenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonRenderer.m; path = src/spine/SkeletonRenderer.m; sourceTree = ""; }; + 43F7FF8A1927F96700CA4038 /* GoblinsExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GoblinsExample.h; path = example/GoblinsExample.h; sourceTree = ""; }; + 43F7FF8B1927F96700CA4038 /* GoblinsExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GoblinsExample.m; path = example/GoblinsExample.m; sourceTree = ""; }; + 43F7FF8C1927F96700CA4038 /* SpineboyExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpineboyExample.h; path = example/SpineboyExample.h; sourceTree = ""; }; + 43F7FF8D1927F96700CA4038 /* SpineboyExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SpineboyExample.m; path = example/SpineboyExample.m; sourceTree = ""; }; + 652107951895250000B1FF07 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 9A5D2495170A94DA0030D4DD /* SpineExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SpineExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 9A5D2498170A94DA0030D4DD /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 9A5D249A170A94DA0030D4DD /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 9A5D249C170A94DA0030D4DD /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; + 9A5D249E170A94DA0030D4DD /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 9A5D24A0170A94DA0030D4DD /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 9A5D24A2170A94DA0030D4DD /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 9A5D24A4170A94DA0030D4DD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 9A5D24A6170A94DA0030D4DD /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 9A5D24A8170A94DA0030D4DD /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System/Library/Frameworks/GameKit.framework; sourceTree = SDKROOT; }; + A28E1F04192926A200D16B23 /* cocos2d-ios.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "cocos2d-ios.xcodeproj"; path = "cocos2d/cocos2d-ios.xcodeproj"; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 9A5D2492170A94DA0030D4DD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A28E1F0C192926C500D16B23 /* libcocos2d.a in Frameworks */, + 652107961895250000B1FF07 /* CoreText.framework in Frameworks */, + 9A5D2499170A94DA0030D4DD /* QuartzCore.framework in Frameworks */, + 9A5D249B170A94DA0030D4DD /* OpenGLES.framework in Frameworks */, + 9A5D249D170A94DA0030D4DD /* OpenAL.framework in Frameworks */, + 9A5D249F170A94DA0030D4DD /* AudioToolbox.framework in Frameworks */, + 9A5D24A1170A94DA0030D4DD /* AVFoundation.framework in Frameworks */, + 9A5D24A3170A94DA0030D4DD /* UIKit.framework in Frameworks */, + 9A5D24A5170A94DA0030D4DD /* Foundation.framework in Frameworks */, + 9A5D24A7170A94DA0030D4DD /* CoreGraphics.framework in Frameworks */, + 9A5D24A9170A94DA0030D4DD /* GameKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 43C32821170B0BBC004A9460 /* Classes */ = { + isa = PBXGroup; + children = ( + 43C32822170B0BC2004A9460 /* spine-c */, + 43C32823170B0BC7004A9460 /* spine-cocos2d-iphone */, + 43F7FF8C1927F96700CA4038 /* SpineboyExample.h */, + 43F7FF8D1927F96700CA4038 /* SpineboyExample.m */, + 43F7FF8A1927F96700CA4038 /* GoblinsExample.h */, + 43F7FF8B1927F96700CA4038 /* GoblinsExample.m */, + 43C32A07170B10FF004A9460 /* AppDelegate.h */, + 43C32A08170B10FF004A9460 /* AppDelegate.m */, + 43C32A05170B0F93004A9460 /* main.m */, + 43C32889170B0E9F004A9460 /* Prefix.pch */, + ); + name = Classes; + sourceTree = ""; + }; + 43C32822170B0BC2004A9460 /* spine-c */ = { + isa = PBXGroup; + children = ( + 43F7FF381927F91900CA4038 /* Animation.c */, + 43F7FF691927F92500CA4038 /* Animation.h */, + 43F7FF391927F91900CA4038 /* AnimationState.c */, + 43F7FF6A1927F92500CA4038 /* AnimationState.h */, + 43F7FF3A1927F91900CA4038 /* AnimationStateData.c */, + 43F7FF6B1927F92500CA4038 /* AnimationStateData.h */, + 43F7FF3B1927F91900CA4038 /* Atlas.c */, + 43F7FF6C1927F92500CA4038 /* Atlas.h */, + 43F7FF3C1927F91900CA4038 /* AtlasAttachmentLoader.c */, + 43F7FF6D1927F92500CA4038 /* AtlasAttachmentLoader.h */, + 43F7FF3D1927F91900CA4038 /* Attachment.c */, + 43F7FF6E1927F92500CA4038 /* Attachment.h */, + 43F7FF3E1927F91900CA4038 /* AttachmentLoader.c */, + 43F7FF6F1927F92500CA4038 /* AttachmentLoader.h */, + 43F7FF3F1927F91900CA4038 /* Bone.c */, + 43F7FF701927F92500CA4038 /* Bone.h */, + 43F7FF401927F91900CA4038 /* BoneData.c */, + 43F7FF711927F92500CA4038 /* BoneData.h */, + 43F7FF411927F91900CA4038 /* BoundingBoxAttachment.c */, + 43F7FF721927F92500CA4038 /* BoundingBoxAttachment.h */, + 43F7FF421927F91900CA4038 /* Event.c */, + 43F7FF731927F92500CA4038 /* Event.h */, + 43F7FF431927F91900CA4038 /* EventData.c */, + 43F7FF741927F92500CA4038 /* EventData.h */, + 43F7FF441927F91900CA4038 /* extension.c */, + 43F7FF751927F92500CA4038 /* extension.h */, + 43F7FF451927F91900CA4038 /* Json.c */, + 43F7FF461927F91900CA4038 /* Json.h */, + 43F7FF471927F91900CA4038 /* MeshAttachment.c */, + 43F7FF761927F92500CA4038 /* MeshAttachment.h */, + 43F7FF481927F91900CA4038 /* RegionAttachment.c */, + 43F7FF771927F92500CA4038 /* RegionAttachment.h */, + 43F7FF491927F91900CA4038 /* Skeleton.c */, + 43F7FF781927F92500CA4038 /* Skeleton.h */, + 43F7FF4A1927F91900CA4038 /* SkeletonBounds.c */, + 43F7FF791927F92500CA4038 /* SkeletonBounds.h */, + 43F7FF4B1927F91900CA4038 /* SkeletonData.c */, + 43F7FF7A1927F92500CA4038 /* SkeletonData.h */, + 43F7FF4C1927F91900CA4038 /* SkeletonJson.c */, + 43F7FF7B1927F92500CA4038 /* SkeletonJson.h */, + 43F7FF4D1927F91900CA4038 /* Skin.c */, + 43F7FF7C1927F92500CA4038 /* Skin.h */, + 43F7FF4E1927F91900CA4038 /* SkinnedMeshAttachment.c */, + 43F7FF7D1927F92500CA4038 /* SkinnedMeshAttachment.h */, + 43F7FF4F1927F91900CA4038 /* Slot.c */, + 43F7FF7E1927F92500CA4038 /* Slot.h */, + 43F7FF501927F91900CA4038 /* SlotData.c */, + 43F7FF7F1927F92500CA4038 /* SlotData.h */, + 43F7FF801927F92500CA4038 /* spine.h */, + ); + name = "spine-c"; + sourceTree = ""; + }; + 43C32823170B0BC7004A9460 /* spine-cocos2d-iphone */ = { + isa = PBXGroup; + children = ( + 43F7FF811927F94800CA4038 /* PolygonBatch.h */, + 43F7FF821927F94800CA4038 /* PolygonBatch.m */, + 43F7FF831927F94800CA4038 /* SkeletonAnimation.h */, + 43F7FF841927F94800CA4038 /* SkeletonAnimation.m */, + 43F7FF851927F94800CA4038 /* SkeletonRenderer.h */, + 43F7FF861927F94800CA4038 /* SkeletonRenderer.m */, + 43C3282E170B0C19004A9460 /* spine-cocos2d-iphone.h */, + 43C3282D170B0C19004A9460 /* spine-cocos2d-iphone.m */, + ); + name = "spine-cocos2d-iphone"; + sourceTree = ""; + }; + 43C32867170B0C7F004A9460 /* Resources */ = { + isa = PBXGroup; + children = ( + 43F7010C1927FBC700CA4038 /* goblins-ffd.atlas */, + 43F7010D1927FBC700CA4038 /* goblins-ffd.json */, + 43F7010E1927FBC700CA4038 /* goblins-ffd.png */, + 43C32868170B0DA6004A9460 /* spineboy.json */, + 43C3286A170B0DA6004A9460 /* spineboy.atlas */, + 43C3286B170B0DA6004A9460 /* spineboy.png */, + ); + name = Resources; + sourceTree = ""; + }; + 43C32870170B0DAD004A9460 /* Resources-ios */ = { + isa = PBXGroup; + children = ( + 43C32871170B0DBE004A9460 /* Default-568h@2x.png */, + 43C32872170B0DBE004A9460 /* Default-Landscape~ipad.png */, + 43C32873170B0DBE004A9460 /* Default.png */, + 43C32874170B0DBE004A9460 /* Default@2x.png */, + 43C32875170B0DBE004A9460 /* Icon-72.png */, + 43C32876170B0DBE004A9460 /* Icon-Small-50.png */, + 43C32877170B0DBE004A9460 /* Icon-Small.png */, + 43C32878170B0DBE004A9460 /* Icon-Small@2x.png */, + 43C32879170B0DBE004A9460 /* Icon.png */, + 43C3287A170B0DBE004A9460 /* Icon@2x.png */, + 43C3287B170B0DBE004A9460 /* Info.plist */, + 43C3287C170B0DBE004A9460 /* iTunesArtwork */, + ); + name = "Resources-ios"; + sourceTree = ""; + }; + 9A5D248C170A94DA0030D4DD = { + isa = PBXGroup; + children = ( + 43C32821170B0BBC004A9460 /* Classes */, + 43C32867170B0C7F004A9460 /* Resources */, + 43C32870170B0DAD004A9460 /* Resources-ios */, + 9A5D24C3170A94DA0030D4DD /* cocos2d */, + 9A5D2497170A94DA0030D4DD /* Frameworks */, + 9A5D2496170A94DA0030D4DD /* Products */, + ); + sourceTree = ""; + }; + 9A5D2496170A94DA0030D4DD /* Products */ = { + isa = PBXGroup; + children = ( + 9A5D2495170A94DA0030D4DD /* SpineExample.app */, + ); + name = Products; + sourceTree = ""; + }; + 9A5D2497170A94DA0030D4DD /* Frameworks */ = { + isa = PBXGroup; + children = ( + 652107951895250000B1FF07 /* CoreText.framework */, + 9A5D2498170A94DA0030D4DD /* QuartzCore.framework */, + 9A5D249A170A94DA0030D4DD /* OpenGLES.framework */, + 9A5D249C170A94DA0030D4DD /* OpenAL.framework */, + 9A5D249E170A94DA0030D4DD /* AudioToolbox.framework */, + 9A5D24A0170A94DA0030D4DD /* AVFoundation.framework */, + 9A5D24A2170A94DA0030D4DD /* UIKit.framework */, + 9A5D24A4170A94DA0030D4DD /* Foundation.framework */, + 9A5D24A6170A94DA0030D4DD /* CoreGraphics.framework */, + 9A5D24A8170A94DA0030D4DD /* GameKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9A5D24C3170A94DA0030D4DD /* cocos2d */ = { + isa = PBXGroup; + children = ( + A28E1F04192926A200D16B23 /* cocos2d-ios.xcodeproj */, + ); + name = cocos2d; + path = Spine; + sourceTree = ""; + }; + A28E1F05192926A200D16B23 /* Products */ = { + isa = PBXGroup; + children = ( + A28E1F0B192926A300D16B23 /* libcocos2d.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 9A5D2494170A94DA0030D4DD /* SpineExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9A5D2643170A94DC0030D4DD /* Build configuration list for PBXNativeTarget "SpineExample" */; + buildPhases = ( + 9A5D2491170A94DA0030D4DD /* Sources */, + 9A5D2492170A94DA0030D4DD /* Frameworks */, + 9A5D2493170A94DA0030D4DD /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SpineExample; + productName = "spine-cocos2d-iphone-ios"; + productReference = 9A5D2495170A94DA0030D4DD /* SpineExample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 9A5D248D170A94DA0030D4DD /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0510; + ORGANIZATIONNAME = "Craig Hinrichs"; + }; + buildConfigurationList = 9A5D2490170A94DA0030D4DD /* Build configuration list for PBXProject "spine-cocos2d-iphone-ios" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 9A5D248C170A94DA0030D4DD; + productRefGroup = 9A5D2496170A94DA0030D4DD /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = A28E1F05192926A200D16B23 /* Products */; + ProjectRef = A28E1F04192926A200D16B23 /* cocos2d-ios.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 9A5D2494170A94DA0030D4DD /* SpineExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + A28E1F0B192926A300D16B23 /* libcocos2d.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libcocos2d.a; + remoteRef = A28E1F0A192926A300D16B23 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 9A5D2493170A94DA0030D4DD /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 43C3286C170B0DA6004A9460 /* spineboy.json in Resources */, + 43C3286E170B0DA6004A9460 /* spineboy.atlas in Resources */, + 43C3286F170B0DA6004A9460 /* spineboy.png in Resources */, + 43C3287D170B0DBE004A9460 /* Default-568h@2x.png in Resources */, + 43C3287E170B0DBE004A9460 /* Default-Landscape~ipad.png in Resources */, + 43C3287F170B0DBE004A9460 /* Default.png in Resources */, + 43C32880170B0DBE004A9460 /* Default@2x.png in Resources */, + 43C32881170B0DBE004A9460 /* Icon-72.png in Resources */, + 43C32882170B0DBE004A9460 /* Icon-Small-50.png in Resources */, + 43C32883170B0DBE004A9460 /* Icon-Small.png in Resources */, + 43C32884170B0DBE004A9460 /* Icon-Small@2x.png in Resources */, + 43C32885170B0DBE004A9460 /* Icon.png in Resources */, + 43C32886170B0DBE004A9460 /* Icon@2x.png in Resources */, + 43C32888170B0DBE004A9460 /* iTunesArtwork in Resources */, + 43F7010F1927FBC700CA4038 /* goblins-ffd.atlas in Resources */, + 43F701101927FBC700CA4038 /* goblins-ffd.json in Resources */, + 43F701111927FBC700CA4038 /* goblins-ffd.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 9A5D2491170A94DA0030D4DD /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 43C3282F170B0C19004A9460 /* spine-cocos2d-iphone.m in Sources */, + 43C32A06170B0F93004A9460 /* main.m in Sources */, + 43C32A09170B10FF004A9460 /* AppDelegate.m in Sources */, + 43F7FF511927F91900CA4038 /* Animation.c in Sources */, + 43F7FF521927F91900CA4038 /* AnimationState.c in Sources */, + 43F7FF531927F91900CA4038 /* AnimationStateData.c in Sources */, + 43F7FF541927F91900CA4038 /* Atlas.c in Sources */, + 43F7FF551927F91900CA4038 /* AtlasAttachmentLoader.c in Sources */, + 43F7FF561927F91900CA4038 /* Attachment.c in Sources */, + 43F7FF571927F91900CA4038 /* AttachmentLoader.c in Sources */, + 43F7FF581927F91900CA4038 /* Bone.c in Sources */, + 43F7FF591927F91900CA4038 /* BoneData.c in Sources */, + 43F7FF5A1927F91900CA4038 /* BoundingBoxAttachment.c in Sources */, + 43F7FF5B1927F91900CA4038 /* Event.c in Sources */, + 43F7FF5C1927F91900CA4038 /* EventData.c in Sources */, + 43F7FF5D1927F91900CA4038 /* extension.c in Sources */, + 43F7FF5E1927F91900CA4038 /* Json.c in Sources */, + 43F7FF5F1927F91900CA4038 /* MeshAttachment.c in Sources */, + 43F7FF601927F91900CA4038 /* RegionAttachment.c in Sources */, + 43F7FF611927F91900CA4038 /* Skeleton.c in Sources */, + 43F7FF621927F91900CA4038 /* SkeletonBounds.c in Sources */, + 43F7FF631927F91900CA4038 /* SkeletonData.c in Sources */, + 43F7FF641927F91900CA4038 /* SkeletonJson.c in Sources */, + 43F7FF651927F91900CA4038 /* Skin.c in Sources */, + 43F7FF661927F91900CA4038 /* SkinnedMeshAttachment.c in Sources */, + 43F7FF671927F91900CA4038 /* Slot.c in Sources */, + 43F7FF681927F91900CA4038 /* SlotData.c in Sources */, + 43F7FF871927F94800CA4038 /* PolygonBatch.m in Sources */, + 43F7FF881927F94800CA4038 /* SkeletonAnimation.m in Sources */, + 43F7FF891927F94800CA4038 /* SkeletonRenderer.m in Sources */, + 43F7FF8E1927F96700CA4038 /* GoblinsExample.m in Sources */, + 43F7FF8F1927F96700CA4038 /* SpineboyExample.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 9A5D2641170A94DC0030D4DD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJCPP_ARC_ABI = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + DEBUG, + "COCOS2D_DEBUG=1", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 9A5D2642170A94DC0030D4DD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJCPP_ARC_ABI = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_PREPROCESSOR_DEFINITIONS = ( + NDEBUG, + "NS_BLOCK_ASSERTIONS=1", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 9A5D2644170A94DC0030D4DD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Resources-ios/Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "\"src\"", + "\"../../spine-c/include\"", + "\"cocos2d/cocos2d\"/**", + "\"cocos2d/external/kazmath/include\"", + "\"cocos2d/external/ObjectAL\"/**", + ); + INFOPLIST_FILE = "Resources-ios/Info.plist"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = ( + "-lz", + "-lsqlite3", + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 9A5D2645170A94DC0030D4DD /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Resources-ios/Prefix.pch"; + HEADER_SEARCH_PATHS = ( + "\"src\"", + "\"../../spine-c/include\"", + "\"cocos2d/cocos2d\"/**", + "\"cocos2d/external/kazmath/include\"", + "\"cocos2d/external/ObjectAL\"/**", + ); + INFOPLIST_FILE = "Resources-ios/Info.plist"; + LIBRARY_SEARCH_PATHS = "$(inherited)"; + OTHER_LDFLAGS = ( + "-lz", + "-lsqlite3", + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + VALIDATE_PRODUCT = YES; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 9A5D2490170A94DA0030D4DD /* Build configuration list for PBXProject "spine-cocos2d-iphone-ios" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9A5D2641170A94DC0030D4DD /* Debug */, + 9A5D2642170A94DC0030D4DD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9A5D2643170A94DC0030D4DD /* Build configuration list for PBXNativeTarget "SpineExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9A5D2644170A94DC0030D4DD /* Debug */, + 9A5D2645170A94DC0030D4DD /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 9A5D248D170A94DA0030D4DD /* Project object */; +} diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..3d1aaa193 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.pbxproj b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.pbxproj new file mode 100644 index 000000000..8d0338dbd --- /dev/null +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.pbxproj @@ -0,0 +1,1645 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 43BFBE0F170A778A00ECBACB /* spine-cocos2d-iphone.m in Sources */ = {isa = PBXBuildFile; fileRef = 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43C32A1B170B1295004A9460 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A11170B1295004A9460 /* AppDelegate.m */; }; + 43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A13170B1295004A9460 /* InfoPlist.strings */; }; + 43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A15170B1295004A9460 /* MainMenu.xib */; }; + 43C32A1E170B1295004A9460 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A17170B1295004A9460 /* icon.icns */; }; + 43C32A20170B1295004A9460 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C32A19170B1295004A9460 /* main.m */; }; + 43C32A36170D0A4D004A9460 /* spineboy.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A30170D0A4D004A9460 /* spineboy.atlas */; }; + 43C32A37170D0A4D004A9460 /* spineboy.json in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A31170D0A4D004A9460 /* spineboy.json */; }; + 43C32A38170D0A4D004A9460 /* spineboy.png in Resources */ = {isa = PBXBuildFile; fileRef = 43C32A32170D0A4D004A9460 /* spineboy.png */; }; + 43F701E21928F1AD00CA4038 /* CCAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701191928F1AD00CA4038 /* CCAction.m */; }; + 43F701E31928F1AD00CA4038 /* CCActionCatmullRom.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7011B1928F1AD00CA4038 /* CCActionCatmullRom.m */; }; + 43F701E41928F1AD00CA4038 /* CCActionEase.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7011D1928F1AD00CA4038 /* CCActionEase.m */; }; + 43F701E51928F1AD00CA4038 /* CCActionInstant.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7011F1928F1AD00CA4038 /* CCActionInstant.m */; }; + 43F701E61928F1AD00CA4038 /* CCActionInterval.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701211928F1AD00CA4038 /* CCActionInterval.m */; }; + 43F701E71928F1AD00CA4038 /* CCActionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701231928F1AD00CA4038 /* CCActionManager.m */; }; + 43F701E81928F1AD00CA4038 /* CCActionProgressTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701251928F1AD00CA4038 /* CCActionProgressTimer.m */; }; + 43F701E91928F1AD00CA4038 /* CCActionTween.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701271928F1AD00CA4038 /* CCActionTween.m */; }; + 43F701EA1928F1AD00CA4038 /* CCAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701291928F1AD00CA4038 /* CCAnimation.m */; }; + 43F701EB1928F1AD00CA4038 /* CCAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7012B1928F1AD00CA4038 /* CCAnimationCache.m */; }; + 43F701EC1928F1AD00CA4038 /* CCAtlasNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7012D1928F1AD00CA4038 /* CCAtlasNode.m */; }; + 43F701ED1928F1AD00CA4038 /* CCClippingNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7012F1928F1AD00CA4038 /* CCClippingNode.m */; }; + 43F701EE1928F1AD00CA4038 /* CCConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701321928F1AD00CA4038 /* CCConfiguration.m */; }; + 43F701EF1928F1AD00CA4038 /* CCDirector.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701341928F1AD00CA4038 /* CCDirector.m */; }; + 43F701F01928F1AD00CA4038 /* CCDrawingPrimitives.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701371928F1AD00CA4038 /* CCDrawingPrimitives.m */; }; + 43F701F11928F1AD00CA4038 /* CCDrawNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701391928F1AD00CA4038 /* CCDrawNode.m */; }; + 43F701F21928F1AD00CA4038 /* ccFPSImages.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7013B1928F1AD00CA4038 /* ccFPSImages.m */; }; + 43F701F31928F1AD00CA4038 /* CCGLProgram.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7013D1928F1AD00CA4038 /* CCGLProgram.m */; }; + 43F701F41928F1AD00CA4038 /* ccGLStateCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7013F1928F1AD00CA4038 /* ccGLStateCache.m */; }; + 43F701F51928F1AD00CA4038 /* CCLabelAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701411928F1AD00CA4038 /* CCLabelAtlas.m */; }; + 43F701F61928F1AD00CA4038 /* CCLabelBMFont.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701431928F1AD00CA4038 /* CCLabelBMFont.m */; }; + 43F701F71928F1AD00CA4038 /* CCLabelTTF.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701461928F1AD00CA4038 /* CCLabelTTF.m */; }; + 43F701F81928F1AD00CA4038 /* CCLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701481928F1AD00CA4038 /* CCLayout.m */; }; + 43F701F91928F1AD00CA4038 /* CCLayoutBox.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7014A1928F1AD00CA4038 /* CCLayoutBox.m */; }; + 43F701FA1928F1AD00CA4038 /* CCMotionStreak.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7014D1928F1AD00CA4038 /* CCMotionStreak.m */; }; + 43F701FB1928F1AD00CA4038 /* CCNode+Debug.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7014F1928F1AD00CA4038 /* CCNode+Debug.m */; }; + 43F701FC1928F1AD00CA4038 /* CCNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701511928F1AD00CA4038 /* CCNode.m */; }; + 43F701FD1928F1AD00CA4038 /* CCNodeColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701541928F1AD00CA4038 /* CCNodeColor.m */; }; + 43F701FE1928F1AD00CA4038 /* CCParallaxNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701561928F1AD00CA4038 /* CCParallaxNode.m */; }; + 43F701FF1928F1AD00CA4038 /* CCParticleBatchNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701581928F1AD00CA4038 /* CCParticleBatchNode.m */; }; + 43F702001928F1AD00CA4038 /* CCParticleExamples.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7015A1928F1AD00CA4038 /* CCParticleExamples.m */; }; + 43F702011928F1AD00CA4038 /* CCParticleSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7015C1928F1AD00CA4038 /* CCParticleSystem.m */; }; + 43F702021928F1AD00CA4038 /* CCParticleSystemBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7015F1928F1AD00CA4038 /* CCParticleSystemBase.m */; }; + 43F702031928F1AD00CA4038 /* CCPhysicsBody.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701631928F1AD00CA4038 /* CCPhysicsBody.m */; }; + 43F702041928F1AD00CA4038 /* CCPhysicsJoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701651928F1AD00CA4038 /* CCPhysicsJoint.m */; }; + 43F702051928F1AD00CA4038 /* CCPhysicsNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701671928F1AD00CA4038 /* CCPhysicsNode.m */; }; + 43F702061928F1AD00CA4038 /* CCPhysicsShape.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701691928F1AD00CA4038 /* CCPhysicsShape.m */; }; + 43F702071928F1AD00CA4038 /* CCProgressNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7016B1928F1AD00CA4038 /* CCProgressNode.m */; }; + 43F702081928F1AD00CA4038 /* CCRenderTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7016F1928F1AD00CA4038 /* CCRenderTexture.m */; }; + 43F702091928F1AD00CA4038 /* CCResponder.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701711928F1AD00CA4038 /* CCResponder.m */; }; + 43F7020A1928F1AD00CA4038 /* CCResponderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701731928F1AD00CA4038 /* CCResponderManager.m */; }; + 43F7020B1928F1AD00CA4038 /* CCScene.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701751928F1AD00CA4038 /* CCScene.m */; }; + 43F7020C1928F1AD00CA4038 /* CCScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701771928F1AD00CA4038 /* CCScheduler.m */; }; + 43F7020D1928F1AD00CA4038 /* CCShaderCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701881928F1AD00CA4038 /* CCShaderCache.m */; }; + 43F7020E1928F1AD00CA4038 /* ccShaders.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7018A1928F1AD00CA4038 /* ccShaders.m */; }; + 43F7020F1928F1AD00CA4038 /* CCSprite.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7018C1928F1AD00CA4038 /* CCSprite.m */; }; + 43F702101928F1AD00CA4038 /* CCSprite9Slice.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7018E1928F1AD00CA4038 /* CCSprite9Slice.m */; }; + 43F702111928F1AD00CA4038 /* CCSpriteBatchNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701911928F1AD00CA4038 /* CCSpriteBatchNode.m */; }; + 43F702121928F1AD00CA4038 /* CCSpriteFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701941928F1AD00CA4038 /* CCSpriteFrame.m */; }; + 43F702131928F1AD00CA4038 /* CCSpriteFrameCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701961928F1AD00CA4038 /* CCSpriteFrameCache.m */; }; + 43F702141928F1AD00CA4038 /* CCTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701981928F1AD00CA4038 /* CCTexture.m */; }; + 43F702151928F1AD00CA4038 /* CCTextureAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7019B1928F1AD00CA4038 /* CCTextureAtlas.m */; }; + 43F702161928F1AD00CA4038 /* CCTextureCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7019D1928F1AD00CA4038 /* CCTextureCache.m */; }; + 43F702171928F1AD00CA4038 /* CCTexturePVR.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7019F1928F1AD00CA4038 /* CCTexturePVR.m */; }; + 43F702181928F1AD00CA4038 /* CCTiledMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701A11928F1AD00CA4038 /* CCTiledMap.m */; }; + 43F702191928F1AD00CA4038 /* CCTiledMapLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701A31928F1AD00CA4038 /* CCTiledMapLayer.m */; }; + 43F7021A1928F1AD00CA4038 /* CCTiledMapObjectGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701A61928F1AD00CA4038 /* CCTiledMapObjectGroup.m */; }; + 43F7021B1928F1AD00CA4038 /* CCTMXXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701A81928F1AD00CA4038 /* CCTMXXMLParser.m */; }; + 43F7021C1928F1AD00CA4038 /* CCTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701AA1928F1AD00CA4038 /* CCTransition.m */; }; + 43F7021D1928F1AD00CA4038 /* cocos2d.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701AD1928F1AD00CA4038 /* cocos2d.m */; }; + 43F7021E1928F1AD00CA4038 /* CCAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701B31928F1AD00CA4038 /* CCAppDelegate.m */; }; + 43F7021F1928F1AD00CA4038 /* CCDirectorIOS.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701B51928F1AD00CA4038 /* CCDirectorIOS.m */; }; + 43F702201928F1AD00CA4038 /* CCES2Renderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701B71928F1AD00CA4038 /* CCES2Renderer.m */; }; + 43F702211928F1AD00CA4038 /* CCGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701BA1928F1AD00CA4038 /* CCGLView.m */; }; + 43F702221928F1AD00CA4038 /* UITouch+CC.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701BC1928F1AD00CA4038 /* UITouch+CC.m */; }; + 43F702231928F1AD00CA4038 /* CCDirectorMac.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701BF1928F1AD00CA4038 /* CCDirectorMac.m */; }; + 43F702241928F1AD00CA4038 /* CCGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701C11928F1AD00CA4038 /* CCGLView.m */; }; + 43F702251928F1AD00CA4038 /* CCWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701C31928F1AD00CA4038 /* CCWindow.m */; }; + 43F702261928F1AD00CA4038 /* NSEvent+CC.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701C51928F1AD00CA4038 /* NSEvent+CC.m */; }; + 43F702271928F1AD00CA4038 /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F701C71928F1AD00CA4038 /* base64.c */; }; + 43F702281928F1AD00CA4038 /* CCColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701CA1928F1AD00CA4038 /* CCColor.m */; }; + 43F702291928F1AD00CA4038 /* CCFileUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701CC1928F1AD00CA4038 /* CCFileUtils.m */; }; + 43F7022A1928F1AD00CA4038 /* CCProfiling.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701CE1928F1AD00CA4038 /* CCProfiling.m */; }; + 43F7022B1928F1AD00CA4038 /* ccUtils.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F701CF1928F1AD00CA4038 /* ccUtils.c */; }; + 43F7022C1928F1AD00CA4038 /* CCVertex.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701D21928F1AD00CA4038 /* CCVertex.m */; }; + 43F7022D1928F1AD00CA4038 /* CGPointExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701D41928F1AD00CA4038 /* CGPointExtension.m */; }; + 43F7022E1928F1AD00CA4038 /* NSAttributedString+CCAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701D61928F1AD00CA4038 /* NSAttributedString+CCAdditions.m */; }; + 43F7022F1928F1AD00CA4038 /* NSThread+performBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701D81928F1AD00CA4038 /* NSThread+performBlock.m */; }; + 43F702301928F1AD00CA4038 /* TGAlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701DB1928F1AD00CA4038 /* TGAlib.m */; }; + 43F702311928F1AD00CA4038 /* TransformUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701DD1928F1AD00CA4038 /* TransformUtils.m */; }; + 43F702321928F1AD00CA4038 /* ZipUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F701E11928F1AD00CA4038 /* ZipUtils.m */; }; + 43F702761928F1D800CA4038 /* OALAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702371928F1D800CA4038 /* OALAction.m */; }; + 43F702771928F1D800CA4038 /* OALActionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702391928F1D800CA4038 /* OALActionManager.m */; }; + 43F702781928F1D800CA4038 /* OALAudioActions.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7023B1928F1D800CA4038 /* OALAudioActions.m */; }; + 43F702791928F1D800CA4038 /* OALUtilityActions.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7023D1928F1D800CA4038 /* OALUtilityActions.m */; }; + 43F7027A1928F1D800CA4038 /* OALAudioTrack.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702401928F1D800CA4038 /* OALAudioTrack.m */; }; + 43F7027B1928F1D800CA4038 /* OALAudioTrackNotifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702421928F1D800CA4038 /* OALAudioTrackNotifications.m */; }; + 43F7027C1928F1D800CA4038 /* OALAudioTracks.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702441928F1D800CA4038 /* OALAudioTracks.m */; }; + 43F7027D1928F1D800CA4038 /* OALSimpleAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702461928F1D800CA4038 /* OALSimpleAudio.m */; }; + 43F7027E1928F1D800CA4038 /* ALBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7024B1928F1D800CA4038 /* ALBuffer.m */; }; + 43F7027F1928F1D800CA4038 /* ALCaptureDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7024D1928F1D800CA4038 /* ALCaptureDevice.m */; }; + 43F702801928F1D800CA4038 /* ALChannelSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7024F1928F1D800CA4038 /* ALChannelSource.m */; }; + 43F702811928F1D800CA4038 /* ALContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702511928F1D800CA4038 /* ALContext.m */; }; + 43F702821928F1D800CA4038 /* ALDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702531928F1D800CA4038 /* ALDevice.m */; }; + 43F702831928F1D800CA4038 /* ALListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702551928F1D800CA4038 /* ALListener.m */; }; + 43F702841928F1D800CA4038 /* ALSoundSourcePool.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702581928F1D800CA4038 /* ALSoundSourcePool.m */; }; + 43F702851928F1D800CA4038 /* ALSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7025A1928F1D800CA4038 /* ALSource.m */; }; + 43F702861928F1D800CA4038 /* ALWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7025D1928F1D800CA4038 /* ALWrapper.m */; }; + 43F702871928F1D800CA4038 /* OpenALManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7025F1928F1D800CA4038 /* OpenALManager.m */; }; + 43F702881928F1D800CA4038 /* OALAudioSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702621928F1D800CA4038 /* OALAudioSession.m */; }; + 43F702891928F1D800CA4038 /* OALSuspendHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702641928F1D800CA4038 /* OALSuspendHandler.m */; }; + 43F7028A1928F1D800CA4038 /* IOSVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702681928F1D800CA4038 /* IOSVersion.m */; }; + 43F7028B1928F1D800CA4038 /* mach_timing.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F702691928F1D800CA4038 /* mach_timing.c */; }; + 43F7028C1928F1D800CA4038 /* NSMutableArray+WeakReferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7026C1928F1D800CA4038 /* NSMutableArray+WeakReferences.m */; }; + 43F7028D1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7026E1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.m */; }; + 43F7028E1928F1D800CA4038 /* OALAudioFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702701928F1D800CA4038 /* OALAudioFile.m */; }; + 43F7028F1928F1D800CA4038 /* OALTools.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F702731928F1D800CA4038 /* OALTools.m */; }; + 43F7057A192905A200CA4038 /* chipmunk.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704D6192905A100CA4038 /* chipmunk.c */; }; + 43F7057B192905A200CA4038 /* CMakeLists.txt in Resources */ = {isa = PBXBuildFile; fileRef = 43F704D7192905A100CA4038 /* CMakeLists.txt */; }; + 43F7057C192905A200CA4038 /* cpArbiter.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704D8192905A100CA4038 /* cpArbiter.c */; }; + 43F7057D192905A200CA4038 /* cpArray.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704D9192905A100CA4038 /* cpArray.c */; }; + 43F7057E192905A200CA4038 /* cpBBTree.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DA192905A100CA4038 /* cpBBTree.c */; }; + 43F7057F192905A200CA4038 /* cpBody.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DB192905A100CA4038 /* cpBody.c */; }; + 43F70580192905A200CA4038 /* cpCollision.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DC192905A100CA4038 /* cpCollision.c */; }; + 43F70581192905A200CA4038 /* cpConstraint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DD192905A100CA4038 /* cpConstraint.c */; }; + 43F70582192905A200CA4038 /* cpDampedRotarySpring.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DE192905A100CA4038 /* cpDampedRotarySpring.c */; }; + 43F70583192905A200CA4038 /* cpDampedSpring.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704DF192905A100CA4038 /* cpDampedSpring.c */; }; + 43F70584192905A200CA4038 /* cpGearJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E0192905A100CA4038 /* cpGearJoint.c */; }; + 43F70585192905A200CA4038 /* cpGrooveJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E1192905A100CA4038 /* cpGrooveJoint.c */; }; + 43F70586192905A200CA4038 /* cpHashSet.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E2192905A100CA4038 /* cpHashSet.c */; }; + 43F70587192905A200CA4038 /* cpPinJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E3192905A100CA4038 /* cpPinJoint.c */; }; + 43F70588192905A200CA4038 /* cpPivotJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E4192905A100CA4038 /* cpPivotJoint.c */; }; + 43F70589192905A200CA4038 /* cpPolyShape.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E5192905A100CA4038 /* cpPolyShape.c */; }; + 43F7058A192905A200CA4038 /* cpRatchetJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E6192905A100CA4038 /* cpRatchetJoint.c */; }; + 43F7058B192905A200CA4038 /* cpRotaryLimitJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E7192905A100CA4038 /* cpRotaryLimitJoint.c */; }; + 43F7058C192905A200CA4038 /* cpShape.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E8192905A100CA4038 /* cpShape.c */; }; + 43F7058D192905A200CA4038 /* cpSimpleMotor.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704E9192905A100CA4038 /* cpSimpleMotor.c */; }; + 43F7058E192905A200CA4038 /* cpSlideJoint.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704EA192905A100CA4038 /* cpSlideJoint.c */; }; + 43F7058F192905A200CA4038 /* cpSpace.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704EB192905A100CA4038 /* cpSpace.c */; }; + 43F70590192905A200CA4038 /* cpSpaceComponent.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704EC192905A100CA4038 /* cpSpaceComponent.c */; }; + 43F70591192905A200CA4038 /* cpSpaceDebug.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704ED192905A100CA4038 /* cpSpaceDebug.c */; }; + 43F70592192905A200CA4038 /* cpSpaceHash.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704EE192905A100CA4038 /* cpSpaceHash.c */; }; + 43F70593192905A200CA4038 /* cpSpaceQuery.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704EF192905A100CA4038 /* cpSpaceQuery.c */; }; + 43F70594192905A200CA4038 /* cpSpaceStep.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704F0192905A100CA4038 /* cpSpaceStep.c */; }; + 43F70595192905A200CA4038 /* cpSpatialIndex.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704F1192905A100CA4038 /* cpSpatialIndex.c */; }; + 43F70596192905A200CA4038 /* cpSweep1D.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F704F2192905A100CA4038 /* cpSweep1D.c */; }; + 43F705D61929063F00CA4038 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705CA1929063F00CA4038 /* CoreText.framework */; }; + 43F705D81929063F00CA4038 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705CC1929063F00CA4038 /* CoreGraphics.framework */; }; + 43F705D91929063F00CA4038 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705CD1929063F00CA4038 /* Foundation.framework */; }; + 43F705DA1929063F00CA4038 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705CE1929063F00CA4038 /* OpenGLES.framework */; }; + 43F705DB1929063F00CA4038 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705CF1929063F00CA4038 /* QuartzCore.framework */; }; + 43F705DC1929063F00CA4038 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705D01929063F00CA4038 /* UIKit.framework */; }; + 43F705DD1929063F00CA4038 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705D11929063F00CA4038 /* AVFoundation.framework */; }; + 43F705DE1929063F00CA4038 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705D21929063F00CA4038 /* AudioToolbox.framework */; }; + 43F705DF1929063F00CA4038 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705D31929063F00CA4038 /* OpenAL.framework */; }; + 43F705E01929063F00CA4038 /* GameKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F705D41929063F00CA4038 /* GameKit.framework */; }; + 43F7FD711927C31700CA4038 /* Animation.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD581927C31700CA4038 /* Animation.c */; }; + 43F7FD721927C31700CA4038 /* AnimationState.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD591927C31700CA4038 /* AnimationState.c */; }; + 43F7FD731927C31700CA4038 /* AnimationStateData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */; }; + 43F7FD741927C31700CA4038 /* Atlas.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5B1927C31700CA4038 /* Atlas.c */; }; + 43F7FD751927C31700CA4038 /* AtlasAttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */; }; + 43F7FD761927C31700CA4038 /* Attachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5D1927C31700CA4038 /* Attachment.c */; }; + 43F7FD771927C31700CA4038 /* AttachmentLoader.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */; }; + 43F7FD781927C31700CA4038 /* Bone.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD5F1927C31700CA4038 /* Bone.c */; }; + 43F7FD791927C31700CA4038 /* BoneData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD601927C31700CA4038 /* BoneData.c */; }; + 43F7FD7A1927C31700CA4038 /* BoundingBoxAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */; }; + 43F7FD7B1927C31700CA4038 /* Event.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD621927C31700CA4038 /* Event.c */; }; + 43F7FD7C1927C31700CA4038 /* EventData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD631927C31700CA4038 /* EventData.c */; }; + 43F7FD7D1927C31700CA4038 /* extension.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD641927C31700CA4038 /* extension.c */; }; + 43F7FD7E1927C31700CA4038 /* Json.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD651927C31700CA4038 /* Json.c */; }; + 43F7FD7F1927C31700CA4038 /* MeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD671927C31700CA4038 /* MeshAttachment.c */; }; + 43F7FD801927C31700CA4038 /* RegionAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD681927C31700CA4038 /* RegionAttachment.c */; }; + 43F7FD811927C31700CA4038 /* Skeleton.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD691927C31700CA4038 /* Skeleton.c */; }; + 43F7FD821927C31700CA4038 /* SkeletonBounds.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */; }; + 43F7FD831927C31700CA4038 /* SkeletonData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6B1927C31700CA4038 /* SkeletonData.c */; }; + 43F7FD841927C31700CA4038 /* SkeletonJson.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */; }; + 43F7FD851927C31700CA4038 /* Skin.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6D1927C31700CA4038 /* Skin.c */; }; + 43F7FD861927C31700CA4038 /* SkinnedMeshAttachment.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */; }; + 43F7FD871927C31700CA4038 /* Slot.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD6F1927C31700CA4038 /* Slot.c */; }; + 43F7FD881927C31700CA4038 /* SlotData.c in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FD701927C31700CA4038 /* SlotData.c */; }; + 43F7FDA71927C33C00CA4038 /* PolygonBatch.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDA21927C33C00CA4038 /* PolygonBatch.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FDA81927C33C00CA4038 /* SkeletonAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FDA91927C33C00CA4038 /* SkeletonRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 43F7FDAC1927C34600CA4038 /* SpineboyExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */; }; + 43F7FDB01927C35600CA4038 /* goblins-ffd.atlas in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */; }; + 43F7FDB11927C35600CA4038 /* goblins-ffd.json in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */; }; + 43F7FDB21927C35600CA4038 /* goblins-ffd.png in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */; }; + 43F7FDB51927D04200CA4038 /* GoblinsExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 43F7FDB41927D04200CA4038 /* GoblinsExample.m */; }; + 43F7FEFE1927F85F00CA4038 /* LICENSE_cocos2d.txt in Resources */ = {isa = PBXBuildFile; fileRef = 43F7FE9B1927F85F00CA4038 /* LICENSE_cocos2d.txt */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 4319B51316FF9B2600C1D7A9 /* SpineExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SpineExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "spine-cocos2d-iphone.m"; path = "src/spine/spine-cocos2d-iphone.m"; sourceTree = ""; }; + 43BFBE0E170A778A00ECBACB /* spine-cocos2d-iphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "spine-cocos2d-iphone.h"; path = "src/spine/spine-cocos2d-iphone.h"; sourceTree = ""; }; + 43C32A10170B1295004A9460 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "../Resources-mac/AppDelegate.h"; sourceTree = ""; }; + 43C32A11170B1295004A9460 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "../Resources-mac/AppDelegate.m"; sourceTree = ""; }; + 43C32A14170B1295004A9460 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = English; path = InfoPlist.strings; sourceTree = ""; }; + 43C32A16170B1295004A9460 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = MainMenu.xib; sourceTree = ""; }; + 43C32A17170B1295004A9460 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = icon.icns; path = "Resources-mac/icon.icns"; sourceTree = ""; }; + 43C32A18170B1295004A9460 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Resources-mac/Info.plist"; sourceTree = ""; }; + 43C32A19170B1295004A9460 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Resources-mac/main.m"; sourceTree = ""; }; + 43C32A1A170B1295004A9460 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = "../Resources-mac/Prefix.pch"; sourceTree = ""; }; + 43C32A30170D0A4D004A9460 /* spineboy.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = spineboy.atlas; sourceTree = ""; }; + 43C32A31170D0A4D004A9460 /* spineboy.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = spineboy.json; sourceTree = ""; }; + 43C32A32170D0A4D004A9460 /* spineboy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = spineboy.png; sourceTree = ""; }; + 43F701181928F1AD00CA4038 /* CCAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAction.h; sourceTree = ""; }; + 43F701191928F1AD00CA4038 /* CCAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAction.m; sourceTree = ""; }; + 43F7011A1928F1AD00CA4038 /* CCActionCatmullRom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionCatmullRom.h; sourceTree = ""; }; + 43F7011B1928F1AD00CA4038 /* CCActionCatmullRom.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionCatmullRom.m; sourceTree = ""; }; + 43F7011C1928F1AD00CA4038 /* CCActionEase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionEase.h; sourceTree = ""; }; + 43F7011D1928F1AD00CA4038 /* CCActionEase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionEase.m; sourceTree = ""; }; + 43F7011E1928F1AD00CA4038 /* CCActionInstant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionInstant.h; sourceTree = ""; }; + 43F7011F1928F1AD00CA4038 /* CCActionInstant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionInstant.m; sourceTree = ""; }; + 43F701201928F1AD00CA4038 /* CCActionInterval.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionInterval.h; sourceTree = ""; }; + 43F701211928F1AD00CA4038 /* CCActionInterval.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionInterval.m; sourceTree = ""; }; + 43F701221928F1AD00CA4038 /* CCActionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionManager.h; sourceTree = ""; }; + 43F701231928F1AD00CA4038 /* CCActionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionManager.m; sourceTree = ""; }; + 43F701241928F1AD00CA4038 /* CCActionProgressTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionProgressTimer.h; sourceTree = ""; }; + 43F701251928F1AD00CA4038 /* CCActionProgressTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionProgressTimer.m; sourceTree = ""; }; + 43F701261928F1AD00CA4038 /* CCActionTween.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCActionTween.h; sourceTree = ""; }; + 43F701271928F1AD00CA4038 /* CCActionTween.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCActionTween.m; sourceTree = ""; }; + 43F701281928F1AD00CA4038 /* CCAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAnimation.h; sourceTree = ""; }; + 43F701291928F1AD00CA4038 /* CCAnimation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAnimation.m; sourceTree = ""; }; + 43F7012A1928F1AD00CA4038 /* CCAnimationCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAnimationCache.h; sourceTree = ""; }; + 43F7012B1928F1AD00CA4038 /* CCAnimationCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAnimationCache.m; sourceTree = ""; }; + 43F7012C1928F1AD00CA4038 /* CCAtlasNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAtlasNode.h; sourceTree = ""; }; + 43F7012D1928F1AD00CA4038 /* CCAtlasNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAtlasNode.m; sourceTree = ""; }; + 43F7012E1928F1AD00CA4038 /* CCClippingNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCClippingNode.h; sourceTree = ""; }; + 43F7012F1928F1AD00CA4038 /* CCClippingNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCClippingNode.m; sourceTree = ""; }; + 43F701301928F1AD00CA4038 /* ccConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccConfig.h; sourceTree = ""; }; + 43F701311928F1AD00CA4038 /* CCConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCConfiguration.h; sourceTree = ""; }; + 43F701321928F1AD00CA4038 /* CCConfiguration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCConfiguration.m; sourceTree = ""; }; + 43F701331928F1AD00CA4038 /* CCDirector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDirector.h; sourceTree = ""; }; + 43F701341928F1AD00CA4038 /* CCDirector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCDirector.m; sourceTree = ""; }; + 43F701351928F1AD00CA4038 /* CCDirector_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDirector_Private.h; sourceTree = ""; }; + 43F701361928F1AD00CA4038 /* CCDrawingPrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDrawingPrimitives.h; sourceTree = ""; }; + 43F701371928F1AD00CA4038 /* CCDrawingPrimitives.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCDrawingPrimitives.m; sourceTree = ""; }; + 43F701381928F1AD00CA4038 /* CCDrawNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDrawNode.h; sourceTree = ""; }; + 43F701391928F1AD00CA4038 /* CCDrawNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCDrawNode.m; sourceTree = ""; }; + 43F7013A1928F1AD00CA4038 /* ccFPSImages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccFPSImages.h; sourceTree = ""; }; + 43F7013B1928F1AD00CA4038 /* ccFPSImages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ccFPSImages.m; sourceTree = ""; }; + 43F7013C1928F1AD00CA4038 /* CCGLProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCGLProgram.h; sourceTree = ""; }; + 43F7013D1928F1AD00CA4038 /* CCGLProgram.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCGLProgram.m; sourceTree = ""; }; + 43F7013E1928F1AD00CA4038 /* ccGLStateCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccGLStateCache.h; sourceTree = ""; }; + 43F7013F1928F1AD00CA4038 /* ccGLStateCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ccGLStateCache.m; sourceTree = ""; }; + 43F701401928F1AD00CA4038 /* CCLabelAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLabelAtlas.h; sourceTree = ""; }; + 43F701411928F1AD00CA4038 /* CCLabelAtlas.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLabelAtlas.m; sourceTree = ""; }; + 43F701421928F1AD00CA4038 /* CCLabelBMFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLabelBMFont.h; sourceTree = ""; }; + 43F701431928F1AD00CA4038 /* CCLabelBMFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLabelBMFont.m; sourceTree = ""; }; + 43F701441928F1AD00CA4038 /* CCLabelBMFont_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLabelBMFont_Private.h; sourceTree = ""; }; + 43F701451928F1AD00CA4038 /* CCLabelTTF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLabelTTF.h; sourceTree = ""; }; + 43F701461928F1AD00CA4038 /* CCLabelTTF.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLabelTTF.m; sourceTree = ""; }; + 43F701471928F1AD00CA4038 /* CCLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLayout.h; sourceTree = ""; }; + 43F701481928F1AD00CA4038 /* CCLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLayout.m; sourceTree = ""; }; + 43F701491928F1AD00CA4038 /* CCLayoutBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCLayoutBox.h; sourceTree = ""; }; + 43F7014A1928F1AD00CA4038 /* CCLayoutBox.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCLayoutBox.m; sourceTree = ""; }; + 43F7014B1928F1AD00CA4038 /* ccMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccMacros.h; sourceTree = ""; }; + 43F7014C1928F1AD00CA4038 /* CCMotionStreak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMotionStreak.h; sourceTree = ""; }; + 43F7014D1928F1AD00CA4038 /* CCMotionStreak.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCMotionStreak.m; sourceTree = ""; }; + 43F7014E1928F1AD00CA4038 /* CCNode+Debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CCNode+Debug.h"; sourceTree = ""; }; + 43F7014F1928F1AD00CA4038 /* CCNode+Debug.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CCNode+Debug.m"; sourceTree = ""; }; + 43F701501928F1AD00CA4038 /* CCNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCNode.h; sourceTree = ""; }; + 43F701511928F1AD00CA4038 /* CCNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCNode.m; sourceTree = ""; }; + 43F701521928F1AD00CA4038 /* CCNode_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCNode_Private.h; sourceTree = ""; }; + 43F701531928F1AD00CA4038 /* CCNodeColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCNodeColor.h; sourceTree = ""; }; + 43F701541928F1AD00CA4038 /* CCNodeColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCNodeColor.m; sourceTree = ""; }; + 43F701551928F1AD00CA4038 /* CCParallaxNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParallaxNode.h; sourceTree = ""; }; + 43F701561928F1AD00CA4038 /* CCParallaxNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCParallaxNode.m; sourceTree = ""; }; + 43F701571928F1AD00CA4038 /* CCParticleBatchNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleBatchNode.h; sourceTree = ""; }; + 43F701581928F1AD00CA4038 /* CCParticleBatchNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCParticleBatchNode.m; sourceTree = ""; }; + 43F701591928F1AD00CA4038 /* CCParticleExamples.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleExamples.h; sourceTree = ""; }; + 43F7015A1928F1AD00CA4038 /* CCParticleExamples.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCParticleExamples.m; sourceTree = ""; }; + 43F7015B1928F1AD00CA4038 /* CCParticleSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleSystem.h; sourceTree = ""; }; + 43F7015C1928F1AD00CA4038 /* CCParticleSystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCParticleSystem.m; sourceTree = ""; }; + 43F7015D1928F1AD00CA4038 /* CCParticleSystem_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleSystem_Private.h; sourceTree = ""; }; + 43F7015E1928F1AD00CA4038 /* CCParticleSystemBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleSystemBase.h; sourceTree = ""; }; + 43F7015F1928F1AD00CA4038 /* CCParticleSystemBase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCParticleSystemBase.m; sourceTree = ""; }; + 43F701601928F1AD00CA4038 /* CCParticleSystemBase_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCParticleSystemBase_Private.h; sourceTree = ""; }; + 43F701611928F1AD00CA4038 /* CCPhysics+ObjectiveChipmunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CCPhysics+ObjectiveChipmunk.h"; sourceTree = ""; }; + 43F701621928F1AD00CA4038 /* CCPhysicsBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCPhysicsBody.h; sourceTree = ""; }; + 43F701631928F1AD00CA4038 /* CCPhysicsBody.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCPhysicsBody.m; sourceTree = ""; }; + 43F701641928F1AD00CA4038 /* CCPhysicsJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCPhysicsJoint.h; sourceTree = ""; }; + 43F701651928F1AD00CA4038 /* CCPhysicsJoint.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCPhysicsJoint.m; sourceTree = ""; }; + 43F701661928F1AD00CA4038 /* CCPhysicsNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCPhysicsNode.h; sourceTree = ""; }; + 43F701671928F1AD00CA4038 /* CCPhysicsNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCPhysicsNode.m; sourceTree = ""; }; + 43F701681928F1AD00CA4038 /* CCPhysicsShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCPhysicsShape.h; sourceTree = ""; }; + 43F701691928F1AD00CA4038 /* CCPhysicsShape.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCPhysicsShape.m; sourceTree = ""; }; + 43F7016A1928F1AD00CA4038 /* CCProgressNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCProgressNode.h; sourceTree = ""; }; + 43F7016B1928F1AD00CA4038 /* CCProgressNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCProgressNode.m; sourceTree = ""; }; + 43F7016C1928F1AD00CA4038 /* CCProgressNode_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCProgressNode_Private.h; sourceTree = ""; }; + 43F7016D1928F1AD00CA4038 /* CCProtocols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCProtocols.h; sourceTree = ""; }; + 43F7016E1928F1AD00CA4038 /* CCRenderTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCRenderTexture.h; sourceTree = ""; }; + 43F7016F1928F1AD00CA4038 /* CCRenderTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCRenderTexture.m; sourceTree = ""; }; + 43F701701928F1AD00CA4038 /* CCResponder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCResponder.h; sourceTree = ""; }; + 43F701711928F1AD00CA4038 /* CCResponder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCResponder.m; sourceTree = ""; }; + 43F701721928F1AD00CA4038 /* CCResponderManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCResponderManager.h; sourceTree = ""; }; + 43F701731928F1AD00CA4038 /* CCResponderManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCResponderManager.m; sourceTree = ""; }; + 43F701741928F1AD00CA4038 /* CCScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCScene.h; sourceTree = ""; }; + 43F701751928F1AD00CA4038 /* CCScene.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCScene.m; sourceTree = ""; }; + 43F701761928F1AD00CA4038 /* CCScheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCScheduler.h; sourceTree = ""; }; + 43F701771928F1AD00CA4038 /* CCScheduler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCScheduler.m; sourceTree = ""; }; + 43F701781928F1AD00CA4038 /* ccShader_Position_uColor_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_Position_uColor_frag.h; sourceTree = ""; }; + 43F701791928F1AD00CA4038 /* ccShader_Position_uColor_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_Position_uColor_vert.h; sourceTree = ""; }; + 43F7017A1928F1AD00CA4038 /* ccShader_PositionColor_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionColor_frag.h; sourceTree = ""; }; + 43F7017B1928F1AD00CA4038 /* ccShader_PositionColor_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionColor_vert.h; sourceTree = ""; }; + 43F7017C1928F1AD00CA4038 /* ccShader_PositionColorLengthTexture_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionColorLengthTexture_frag.h; sourceTree = ""; }; + 43F7017D1928F1AD00CA4038 /* ccShader_PositionColorLengthTexture_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionColorLengthTexture_vert.h; sourceTree = ""; }; + 43F7017E1928F1AD00CA4038 /* ccShader_PositionTexture_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTexture_frag.h; sourceTree = ""; }; + 43F7017F1928F1AD00CA4038 /* ccShader_PositionTexture_uColor_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTexture_uColor_frag.h; sourceTree = ""; }; + 43F701801928F1AD00CA4038 /* ccShader_PositionTexture_uColor_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTexture_uColor_vert.h; sourceTree = ""; }; + 43F701811928F1AD00CA4038 /* ccShader_PositionTexture_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTexture_vert.h; sourceTree = ""; }; + 43F701821928F1AD00CA4038 /* ccShader_PositionTextureA8Color_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTextureA8Color_frag.h; sourceTree = ""; }; + 43F701831928F1AD00CA4038 /* ccShader_PositionTextureA8Color_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTextureA8Color_vert.h; sourceTree = ""; }; + 43F701841928F1AD00CA4038 /* ccShader_PositionTextureColor_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTextureColor_frag.h; sourceTree = ""; }; + 43F701851928F1AD00CA4038 /* ccShader_PositionTextureColor_vert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTextureColor_vert.h; sourceTree = ""; }; + 43F701861928F1AD00CA4038 /* ccShader_PositionTextureColorAlphaTest_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShader_PositionTextureColorAlphaTest_frag.h; sourceTree = ""; }; + 43F701871928F1AD00CA4038 /* CCShaderCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCShaderCache.h; sourceTree = ""; }; + 43F701881928F1AD00CA4038 /* CCShaderCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCShaderCache.m; sourceTree = ""; }; + 43F701891928F1AD00CA4038 /* ccShaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccShaders.h; sourceTree = ""; }; + 43F7018A1928F1AD00CA4038 /* ccShaders.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ccShaders.m; sourceTree = ""; }; + 43F7018B1928F1AD00CA4038 /* CCSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSprite.h; sourceTree = ""; }; + 43F7018C1928F1AD00CA4038 /* CCSprite.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSprite.m; sourceTree = ""; }; + 43F7018D1928F1AD00CA4038 /* CCSprite9Slice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSprite9Slice.h; sourceTree = ""; }; + 43F7018E1928F1AD00CA4038 /* CCSprite9Slice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSprite9Slice.m; sourceTree = ""; }; + 43F7018F1928F1AD00CA4038 /* CCSprite_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSprite_Private.h; sourceTree = ""; }; + 43F701901928F1AD00CA4038 /* CCSpriteBatchNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSpriteBatchNode.h; sourceTree = ""; }; + 43F701911928F1AD00CA4038 /* CCSpriteBatchNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSpriteBatchNode.m; sourceTree = ""; }; + 43F701921928F1AD00CA4038 /* CCSpriteBatchNode_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSpriteBatchNode_Private.h; sourceTree = ""; }; + 43F701931928F1AD00CA4038 /* CCSpriteFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSpriteFrame.h; sourceTree = ""; }; + 43F701941928F1AD00CA4038 /* CCSpriteFrame.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSpriteFrame.m; sourceTree = ""; }; + 43F701951928F1AD00CA4038 /* CCSpriteFrameCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCSpriteFrameCache.h; sourceTree = ""; }; + 43F701961928F1AD00CA4038 /* CCSpriteFrameCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSpriteFrameCache.m; sourceTree = ""; }; + 43F701971928F1AD00CA4038 /* CCTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTexture.h; sourceTree = ""; }; + 43F701981928F1AD00CA4038 /* CCTexture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTexture.m; sourceTree = ""; }; + 43F701991928F1AD00CA4038 /* CCTexture_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTexture_Private.h; sourceTree = ""; }; + 43F7019A1928F1AD00CA4038 /* CCTextureAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTextureAtlas.h; sourceTree = ""; }; + 43F7019B1928F1AD00CA4038 /* CCTextureAtlas.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTextureAtlas.m; sourceTree = ""; }; + 43F7019C1928F1AD00CA4038 /* CCTextureCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTextureCache.h; sourceTree = ""; }; + 43F7019D1928F1AD00CA4038 /* CCTextureCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTextureCache.m; sourceTree = ""; }; + 43F7019E1928F1AD00CA4038 /* CCTexturePVR.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTexturePVR.h; sourceTree = ""; }; + 43F7019F1928F1AD00CA4038 /* CCTexturePVR.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTexturePVR.m; sourceTree = ""; }; + 43F701A01928F1AD00CA4038 /* CCTiledMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTiledMap.h; sourceTree = ""; }; + 43F701A11928F1AD00CA4038 /* CCTiledMap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTiledMap.m; sourceTree = ""; }; + 43F701A21928F1AD00CA4038 /* CCTiledMapLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTiledMapLayer.h; sourceTree = ""; }; + 43F701A31928F1AD00CA4038 /* CCTiledMapLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTiledMapLayer.m; sourceTree = ""; }; + 43F701A41928F1AD00CA4038 /* CCTiledMapLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTiledMapLayer_Private.h; sourceTree = ""; }; + 43F701A51928F1AD00CA4038 /* CCTiledMapObjectGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTiledMapObjectGroup.h; sourceTree = ""; }; + 43F701A61928F1AD00CA4038 /* CCTiledMapObjectGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTiledMapObjectGroup.m; sourceTree = ""; }; + 43F701A71928F1AD00CA4038 /* CCTMXXMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTMXXMLParser.h; sourceTree = ""; }; + 43F701A81928F1AD00CA4038 /* CCTMXXMLParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTMXXMLParser.m; sourceTree = ""; }; + 43F701A91928F1AD00CA4038 /* CCTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTransition.h; sourceTree = ""; }; + 43F701AA1928F1AD00CA4038 /* CCTransition.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTransition.m; sourceTree = ""; }; + 43F701AB1928F1AD00CA4038 /* ccTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccTypes.h; sourceTree = ""; }; + 43F701AC1928F1AD00CA4038 /* cocos2d.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocos2d.h; sourceTree = ""; }; + 43F701AD1928F1AD00CA4038 /* cocos2d.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = cocos2d.m; sourceTree = ""; }; + 43F701AF1928F1AD00CA4038 /* CCGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCGL.h; sourceTree = ""; }; + 43F701B01928F1AD00CA4038 /* CCNS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCNS.h; sourceTree = ""; }; + 43F701B21928F1AD00CA4038 /* CCAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCAppDelegate.h; sourceTree = ""; }; + 43F701B31928F1AD00CA4038 /* CCAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCAppDelegate.m; sourceTree = ""; }; + 43F701B41928F1AD00CA4038 /* CCDirectorIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDirectorIOS.h; sourceTree = ""; }; + 43F701B51928F1AD00CA4038 /* CCDirectorIOS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCDirectorIOS.m; sourceTree = ""; }; + 43F701B61928F1AD00CA4038 /* CCES2Renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCES2Renderer.h; sourceTree = ""; }; + 43F701B71928F1AD00CA4038 /* CCES2Renderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCES2Renderer.m; sourceTree = ""; }; + 43F701B81928F1AD00CA4038 /* CCESRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCESRenderer.h; sourceTree = ""; }; + 43F701B91928F1AD00CA4038 /* CCGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCGLView.h; sourceTree = ""; }; + 43F701BA1928F1AD00CA4038 /* CCGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCGLView.m; sourceTree = ""; }; + 43F701BB1928F1AD00CA4038 /* UITouch+CC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UITouch+CC.h"; sourceTree = ""; }; + 43F701BC1928F1AD00CA4038 /* UITouch+CC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UITouch+CC.m"; sourceTree = ""; }; + 43F701BE1928F1AD00CA4038 /* CCDirectorMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCDirectorMac.h; sourceTree = ""; }; + 43F701BF1928F1AD00CA4038 /* CCDirectorMac.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCDirectorMac.m; sourceTree = ""; }; + 43F701C01928F1AD00CA4038 /* CCGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCGLView.h; sourceTree = ""; }; + 43F701C11928F1AD00CA4038 /* CCGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCGLView.m; sourceTree = ""; }; + 43F701C21928F1AD00CA4038 /* CCWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCWindow.h; sourceTree = ""; }; + 43F701C31928F1AD00CA4038 /* CCWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCWindow.m; sourceTree = ""; }; + 43F701C41928F1AD00CA4038 /* NSEvent+CC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSEvent+CC.h"; sourceTree = ""; }; + 43F701C51928F1AD00CA4038 /* NSEvent+CC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSEvent+CC.m"; sourceTree = ""; }; + 43F701C71928F1AD00CA4038 /* base64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = base64.c; sourceTree = ""; }; + 43F701C81928F1AD00CA4038 /* base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = base64.h; sourceTree = ""; }; + 43F701C91928F1AD00CA4038 /* CCColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCColor.h; sourceTree = ""; }; + 43F701CA1928F1AD00CA4038 /* CCColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCColor.m; sourceTree = ""; }; + 43F701CB1928F1AD00CA4038 /* CCFileUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCFileUtils.h; sourceTree = ""; }; + 43F701CC1928F1AD00CA4038 /* CCFileUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCFileUtils.m; sourceTree = ""; }; + 43F701CD1928F1AD00CA4038 /* CCProfiling.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCProfiling.h; sourceTree = ""; }; + 43F701CE1928F1AD00CA4038 /* CCProfiling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCProfiling.m; sourceTree = ""; }; + 43F701CF1928F1AD00CA4038 /* ccUtils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ccUtils.c; sourceTree = ""; }; + 43F701D01928F1AD00CA4038 /* ccUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ccUtils.h; sourceTree = ""; }; + 43F701D11928F1AD00CA4038 /* CCVertex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCVertex.h; sourceTree = ""; }; + 43F701D21928F1AD00CA4038 /* CCVertex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCVertex.m; sourceTree = ""; }; + 43F701D31928F1AD00CA4038 /* CGPointExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGPointExtension.h; sourceTree = ""; }; + 43F701D41928F1AD00CA4038 /* CGPointExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CGPointExtension.m; sourceTree = ""; }; + 43F701D51928F1AD00CA4038 /* NSAttributedString+CCAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSAttributedString+CCAdditions.h"; sourceTree = ""; }; + 43F701D61928F1AD00CA4038 /* NSAttributedString+CCAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSAttributedString+CCAdditions.m"; sourceTree = ""; }; + 43F701D71928F1AD00CA4038 /* NSThread+performBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSThread+performBlock.h"; sourceTree = ""; }; + 43F701D81928F1AD00CA4038 /* NSThread+performBlock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSThread+performBlock.m"; sourceTree = ""; }; + 43F701D91928F1AD00CA4038 /* OpenGL_Internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGL_Internal.h; sourceTree = ""; }; + 43F701DA1928F1AD00CA4038 /* TGAlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TGAlib.h; sourceTree = ""; }; + 43F701DB1928F1AD00CA4038 /* TGAlib.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TGAlib.m; sourceTree = ""; }; + 43F701DC1928F1AD00CA4038 /* TransformUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransformUtils.h; sourceTree = ""; }; + 43F701DD1928F1AD00CA4038 /* TransformUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TransformUtils.m; sourceTree = ""; }; + 43F701DE1928F1AD00CA4038 /* uthash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uthash.h; sourceTree = ""; }; + 43F701DF1928F1AD00CA4038 /* utlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utlist.h; sourceTree = ""; }; + 43F701E01928F1AD00CA4038 /* ZipUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZipUtils.h; sourceTree = ""; }; + 43F701E11928F1AD00CA4038 /* ZipUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZipUtils.m; sourceTree = ""; }; + 43F702351928F1D800CA4038 /* OALAction+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "OALAction+Private.h"; sourceTree = ""; }; + 43F702361928F1D800CA4038 /* OALAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAction.h; sourceTree = ""; }; + 43F702371928F1D800CA4038 /* OALAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAction.m; sourceTree = ""; }; + 43F702381928F1D800CA4038 /* OALActionManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALActionManager.h; sourceTree = ""; }; + 43F702391928F1D800CA4038 /* OALActionManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALActionManager.m; sourceTree = ""; }; + 43F7023A1928F1D800CA4038 /* OALAudioActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioActions.h; sourceTree = ""; }; + 43F7023B1928F1D800CA4038 /* OALAudioActions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioActions.m; sourceTree = ""; }; + 43F7023C1928F1D800CA4038 /* OALUtilityActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALUtilityActions.h; sourceTree = ""; }; + 43F7023D1928F1D800CA4038 /* OALUtilityActions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALUtilityActions.m; sourceTree = ""; }; + 43F7023F1928F1D800CA4038 /* OALAudioTrack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioTrack.h; sourceTree = ""; }; + 43F702401928F1D800CA4038 /* OALAudioTrack.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioTrack.m; sourceTree = ""; }; + 43F702411928F1D800CA4038 /* OALAudioTrackNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioTrackNotifications.h; sourceTree = ""; }; + 43F702421928F1D800CA4038 /* OALAudioTrackNotifications.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioTrackNotifications.m; sourceTree = ""; }; + 43F702431928F1D800CA4038 /* OALAudioTracks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioTracks.h; sourceTree = ""; }; + 43F702441928F1D800CA4038 /* OALAudioTracks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioTracks.m; sourceTree = ""; }; + 43F702451928F1D800CA4038 /* OALSimpleAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALSimpleAudio.h; sourceTree = ""; }; + 43F702461928F1D800CA4038 /* OALSimpleAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALSimpleAudio.m; sourceTree = ""; }; + 43F702471928F1D800CA4038 /* ObjectAL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectAL.h; sourceTree = ""; }; + 43F702481928F1D800CA4038 /* ObjectALConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectALConfig.h; sourceTree = ""; }; + 43F7024A1928F1D800CA4038 /* ALBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALBuffer.h; sourceTree = ""; }; + 43F7024B1928F1D800CA4038 /* ALBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALBuffer.m; sourceTree = ""; }; + 43F7024C1928F1D800CA4038 /* ALCaptureDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALCaptureDevice.h; sourceTree = ""; }; + 43F7024D1928F1D800CA4038 /* ALCaptureDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALCaptureDevice.m; sourceTree = ""; }; + 43F7024E1928F1D800CA4038 /* ALChannelSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALChannelSource.h; sourceTree = ""; }; + 43F7024F1928F1D800CA4038 /* ALChannelSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALChannelSource.m; sourceTree = ""; }; + 43F702501928F1D800CA4038 /* ALContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALContext.h; sourceTree = ""; }; + 43F702511928F1D800CA4038 /* ALContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALContext.m; sourceTree = ""; }; + 43F702521928F1D800CA4038 /* ALDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALDevice.h; sourceTree = ""; }; + 43F702531928F1D800CA4038 /* ALDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALDevice.m; sourceTree = ""; }; + 43F702541928F1D800CA4038 /* ALListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALListener.h; sourceTree = ""; }; + 43F702551928F1D800CA4038 /* ALListener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALListener.m; sourceTree = ""; }; + 43F702561928F1D800CA4038 /* ALSoundSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALSoundSource.h; sourceTree = ""; }; + 43F702571928F1D800CA4038 /* ALSoundSourcePool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALSoundSourcePool.h; sourceTree = ""; }; + 43F702581928F1D800CA4038 /* ALSoundSourcePool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALSoundSourcePool.m; sourceTree = ""; }; + 43F702591928F1D800CA4038 /* ALSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALSource.h; sourceTree = ""; }; + 43F7025A1928F1D800CA4038 /* ALSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALSource.m; sourceTree = ""; }; + 43F7025B1928F1D800CA4038 /* ALTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALTypes.h; sourceTree = ""; }; + 43F7025C1928F1D800CA4038 /* ALWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ALWrapper.h; sourceTree = ""; }; + 43F7025D1928F1D800CA4038 /* ALWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ALWrapper.m; sourceTree = ""; }; + 43F7025E1928F1D800CA4038 /* OpenALManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenALManager.h; sourceTree = ""; }; + 43F7025F1928F1D800CA4038 /* OpenALManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OpenALManager.m; sourceTree = ""; }; + 43F702611928F1D800CA4038 /* OALAudioSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioSession.h; sourceTree = ""; }; + 43F702621928F1D800CA4038 /* OALAudioSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioSession.m; sourceTree = ""; }; + 43F702631928F1D800CA4038 /* OALSuspendHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALSuspendHandler.h; sourceTree = ""; }; + 43F702641928F1D800CA4038 /* OALSuspendHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALSuspendHandler.m; sourceTree = ""; }; + 43F702661928F1D800CA4038 /* ARCSafe_MemMgmt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ARCSafe_MemMgmt.h; sourceTree = ""; }; + 43F702671928F1D800CA4038 /* IOSVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSVersion.h; sourceTree = ""; }; + 43F702681928F1D800CA4038 /* IOSVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IOSVersion.m; sourceTree = ""; }; + 43F702691928F1D800CA4038 /* mach_timing.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mach_timing.c; sourceTree = ""; }; + 43F7026A1928F1D800CA4038 /* mach_timing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_timing.h; sourceTree = ""; }; + 43F7026B1928F1D800CA4038 /* NSMutableArray+WeakReferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableArray+WeakReferences.h"; sourceTree = ""; }; + 43F7026C1928F1D800CA4038 /* NSMutableArray+WeakReferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableArray+WeakReferences.m"; sourceTree = ""; }; + 43F7026D1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableDictionary+WeakReferences.h"; sourceTree = ""; }; + 43F7026E1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableDictionary+WeakReferences.m"; sourceTree = ""; }; + 43F7026F1928F1D800CA4038 /* OALAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALAudioFile.h; sourceTree = ""; }; + 43F702701928F1D800CA4038 /* OALAudioFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALAudioFile.m; sourceTree = ""; }; + 43F702711928F1D800CA4038 /* OALNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALNotifications.h; sourceTree = ""; }; + 43F702721928F1D800CA4038 /* OALTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OALTools.h; sourceTree = ""; }; + 43F702731928F1D800CA4038 /* OALTools.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OALTools.m; sourceTree = ""; }; + 43F702741928F1D800CA4038 /* ObjectALMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectALMacros.h; sourceTree = ""; }; + 43F702751928F1D800CA4038 /* SynthesizeSingleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SynthesizeSingleton.h; sourceTree = ""; }; + 43F70479192905A100CA4038 /* chipmunk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chipmunk.h; sourceTree = ""; }; + 43F7047A192905A100CA4038 /* chipmunk_ffi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chipmunk_ffi.h; sourceTree = ""; }; + 43F7047B192905A100CA4038 /* chipmunk_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chipmunk_private.h; sourceTree = ""; }; + 43F7047C192905A100CA4038 /* chipmunk_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chipmunk_types.h; sourceTree = ""; }; + 43F7047D192905A100CA4038 /* chipmunk_unsafe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = chipmunk_unsafe.h; sourceTree = ""; }; + 43F7047E192905A100CA4038 /* cpArbiter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpArbiter.h; sourceTree = ""; }; + 43F7047F192905A100CA4038 /* cpBB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpBB.h; sourceTree = ""; }; + 43F70480192905A100CA4038 /* cpBody.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpBody.h; sourceTree = ""; }; + 43F70481192905A100CA4038 /* cpConstraint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpConstraint.h; sourceTree = ""; }; + 43F70482192905A100CA4038 /* cpDampedRotarySpring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpDampedRotarySpring.h; sourceTree = ""; }; + 43F70483192905A100CA4038 /* cpDampedSpring.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpDampedSpring.h; sourceTree = ""; }; + 43F70484192905A100CA4038 /* cpGearJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpGearJoint.h; sourceTree = ""; }; + 43F70485192905A100CA4038 /* cpGrooveJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpGrooveJoint.h; sourceTree = ""; }; + 43F70486192905A100CA4038 /* cpPinJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpPinJoint.h; sourceTree = ""; }; + 43F70487192905A100CA4038 /* cpPivotJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpPivotJoint.h; sourceTree = ""; }; + 43F70488192905A100CA4038 /* cpPolyShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpPolyShape.h; sourceTree = ""; }; + 43F70489192905A100CA4038 /* cpRatchetJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpRatchetJoint.h; sourceTree = ""; }; + 43F7048A192905A100CA4038 /* cpRotaryLimitJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpRotaryLimitJoint.h; sourceTree = ""; }; + 43F7048B192905A100CA4038 /* cpShape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpShape.h; sourceTree = ""; }; + 43F7048C192905A100CA4038 /* cpSimpleMotor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpSimpleMotor.h; sourceTree = ""; }; + 43F7048D192905A100CA4038 /* cpSlideJoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpSlideJoint.h; sourceTree = ""; }; + 43F7048E192905A100CA4038 /* cpSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpSpace.h; sourceTree = ""; }; + 43F7048F192905A100CA4038 /* cpSpatialIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpSpatialIndex.h; sourceTree = ""; }; + 43F70490192905A100CA4038 /* cpTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpTransform.h; sourceTree = ""; }; + 43F70491192905A100CA4038 /* cpVect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpVect.h; sourceTree = ""; }; + 43F704D6192905A100CA4038 /* chipmunk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chipmunk.c; sourceTree = ""; }; + 43F704D7192905A100CA4038 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; + 43F704D8192905A100CA4038 /* cpArbiter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpArbiter.c; sourceTree = ""; }; + 43F704D9192905A100CA4038 /* cpArray.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpArray.c; sourceTree = ""; }; + 43F704DA192905A100CA4038 /* cpBBTree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpBBTree.c; sourceTree = ""; }; + 43F704DB192905A100CA4038 /* cpBody.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpBody.c; sourceTree = ""; }; + 43F704DC192905A100CA4038 /* cpCollision.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpCollision.c; sourceTree = ""; }; + 43F704DD192905A100CA4038 /* cpConstraint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpConstraint.c; sourceTree = ""; }; + 43F704DE192905A100CA4038 /* cpDampedRotarySpring.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpDampedRotarySpring.c; sourceTree = ""; }; + 43F704DF192905A100CA4038 /* cpDampedSpring.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpDampedSpring.c; sourceTree = ""; }; + 43F704E0192905A100CA4038 /* cpGearJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpGearJoint.c; sourceTree = ""; }; + 43F704E1192905A100CA4038 /* cpGrooveJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpGrooveJoint.c; sourceTree = ""; }; + 43F704E2192905A100CA4038 /* cpHashSet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpHashSet.c; sourceTree = ""; }; + 43F704E3192905A100CA4038 /* cpPinJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpPinJoint.c; sourceTree = ""; }; + 43F704E4192905A100CA4038 /* cpPivotJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpPivotJoint.c; sourceTree = ""; }; + 43F704E5192905A100CA4038 /* cpPolyShape.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpPolyShape.c; sourceTree = ""; }; + 43F704E6192905A100CA4038 /* cpRatchetJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpRatchetJoint.c; sourceTree = ""; }; + 43F704E7192905A100CA4038 /* cpRotaryLimitJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpRotaryLimitJoint.c; sourceTree = ""; }; + 43F704E8192905A100CA4038 /* cpShape.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpShape.c; sourceTree = ""; }; + 43F704E9192905A100CA4038 /* cpSimpleMotor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSimpleMotor.c; sourceTree = ""; }; + 43F704EA192905A100CA4038 /* cpSlideJoint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSlideJoint.c; sourceTree = ""; }; + 43F704EB192905A100CA4038 /* cpSpace.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpace.c; sourceTree = ""; }; + 43F704EC192905A100CA4038 /* cpSpaceComponent.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpaceComponent.c; sourceTree = ""; }; + 43F704ED192905A100CA4038 /* cpSpaceDebug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpaceDebug.c; sourceTree = ""; }; + 43F704EE192905A100CA4038 /* cpSpaceHash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpaceHash.c; sourceTree = ""; }; + 43F704EF192905A100CA4038 /* cpSpaceQuery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpaceQuery.c; sourceTree = ""; }; + 43F704F0192905A100CA4038 /* cpSpaceStep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpaceStep.c; sourceTree = ""; }; + 43F704F1192905A100CA4038 /* cpSpatialIndex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSpatialIndex.c; sourceTree = ""; }; + 43F704F2192905A100CA4038 /* cpSweep1D.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpSweep1D.c; sourceTree = ""; }; + 43F704F3192905A100CA4038 /* prime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = prime.h; sourceTree = ""; }; + 43F705CA1929063F00CA4038 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreText.framework; sourceTree = DEVELOPER_DIR; }; + 43F705CC1929063F00CA4038 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; + 43F705CD1929063F00CA4038 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 43F705CE1929063F00CA4038 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/OpenGLES.framework; sourceTree = DEVELOPER_DIR; }; + 43F705CF1929063F00CA4038 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + 43F705D01929063F00CA4038 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 43F705D11929063F00CA4038 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/AVFoundation.framework; sourceTree = DEVELOPER_DIR; }; + 43F705D21929063F00CA4038 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/AudioToolbox.framework; sourceTree = DEVELOPER_DIR; }; + 43F705D31929063F00CA4038 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/OpenAL.framework; sourceTree = DEVELOPER_DIR; }; + 43F705D41929063F00CA4038 /* GameKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks/GameKit.framework; sourceTree = DEVELOPER_DIR; }; + 43F7FD581927C31700CA4038 /* Animation.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Animation.c; path = "../../spine-c/src/spine/Animation.c"; sourceTree = ""; }; + 43F7FD591927C31700CA4038 /* AnimationState.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationState.c; path = "../../spine-c/src/spine/AnimationState.c"; sourceTree = ""; }; + 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AnimationStateData.c; path = "../../spine-c/src/spine/AnimationStateData.c"; sourceTree = ""; }; + 43F7FD5B1927C31700CA4038 /* Atlas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Atlas.c; path = "../../spine-c/src/spine/Atlas.c"; sourceTree = ""; }; + 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AtlasAttachmentLoader.c; path = "../../spine-c/src/spine/AtlasAttachmentLoader.c"; sourceTree = ""; }; + 43F7FD5D1927C31700CA4038 /* Attachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Attachment.c; path = "../../spine-c/src/spine/Attachment.c"; sourceTree = ""; }; + 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = AttachmentLoader.c; path = "../../spine-c/src/spine/AttachmentLoader.c"; sourceTree = ""; }; + 43F7FD5F1927C31700CA4038 /* Bone.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Bone.c; path = "../../spine-c/src/spine/Bone.c"; sourceTree = ""; }; + 43F7FD601927C31700CA4038 /* BoneData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoneData.c; path = "../../spine-c/src/spine/BoneData.c"; sourceTree = ""; }; + 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = BoundingBoxAttachment.c; path = "../../spine-c/src/spine/BoundingBoxAttachment.c"; sourceTree = ""; }; + 43F7FD621927C31700CA4038 /* Event.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Event.c; path = "../../spine-c/src/spine/Event.c"; sourceTree = ""; }; + 43F7FD631927C31700CA4038 /* EventData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = EventData.c; path = "../../spine-c/src/spine/EventData.c"; sourceTree = ""; }; + 43F7FD641927C31700CA4038 /* extension.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = extension.c; path = "../../spine-c/src/spine/extension.c"; sourceTree = ""; }; + 43F7FD651927C31700CA4038 /* Json.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Json.c; path = "../../spine-c/src/spine/Json.c"; sourceTree = ""; }; + 43F7FD661927C31700CA4038 /* Json.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Json.h; path = "../../spine-c/src/spine/Json.h"; sourceTree = ""; }; + 43F7FD671927C31700CA4038 /* MeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = MeshAttachment.c; path = "../../spine-c/src/spine/MeshAttachment.c"; sourceTree = ""; }; + 43F7FD681927C31700CA4038 /* RegionAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = RegionAttachment.c; path = "../../spine-c/src/spine/RegionAttachment.c"; sourceTree = ""; }; + 43F7FD691927C31700CA4038 /* Skeleton.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skeleton.c; path = "../../spine-c/src/spine/Skeleton.c"; sourceTree = ""; }; + 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonBounds.c; path = "../../spine-c/src/spine/SkeletonBounds.c"; sourceTree = ""; }; + 43F7FD6B1927C31700CA4038 /* SkeletonData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonData.c; path = "../../spine-c/src/spine/SkeletonData.c"; sourceTree = ""; }; + 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkeletonJson.c; path = "../../spine-c/src/spine/SkeletonJson.c"; sourceTree = ""; }; + 43F7FD6D1927C31700CA4038 /* Skin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Skin.c; path = "../../spine-c/src/spine/Skin.c"; sourceTree = ""; }; + 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SkinnedMeshAttachment.c; path = "../../spine-c/src/spine/SkinnedMeshAttachment.c"; sourceTree = ""; }; + 43F7FD6F1927C31700CA4038 /* Slot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Slot.c; path = "../../spine-c/src/spine/Slot.c"; sourceTree = ""; }; + 43F7FD701927C31700CA4038 /* SlotData.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SlotData.c; path = "../../spine-c/src/spine/SlotData.c"; sourceTree = ""; }; + 43F7FD891927C32800CA4038 /* Animation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Animation.h; path = "../../spine-c/include/spine/Animation.h"; sourceTree = ""; }; + 43F7FD8A1927C32800CA4038 /* AnimationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationState.h; path = "../../spine-c/include/spine/AnimationState.h"; sourceTree = ""; }; + 43F7FD8B1927C32800CA4038 /* AnimationStateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationStateData.h; path = "../../spine-c/include/spine/AnimationStateData.h"; sourceTree = ""; }; + 43F7FD8C1927C32800CA4038 /* Atlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Atlas.h; path = "../../spine-c/include/spine/Atlas.h"; sourceTree = ""; }; + 43F7FD8D1927C32800CA4038 /* AtlasAttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AtlasAttachmentLoader.h; path = "../../spine-c/include/spine/AtlasAttachmentLoader.h"; sourceTree = ""; }; + 43F7FD8E1927C32800CA4038 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Attachment.h; path = "../../spine-c/include/spine/Attachment.h"; sourceTree = ""; }; + 43F7FD8F1927C32800CA4038 /* AttachmentLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AttachmentLoader.h; path = "../../spine-c/include/spine/AttachmentLoader.h"; sourceTree = ""; }; + 43F7FD901927C32800CA4038 /* Bone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Bone.h; path = "../../spine-c/include/spine/Bone.h"; sourceTree = ""; }; + 43F7FD911927C32800CA4038 /* BoneData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoneData.h; path = "../../spine-c/include/spine/BoneData.h"; sourceTree = ""; }; + 43F7FD921927C32800CA4038 /* BoundingBoxAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BoundingBoxAttachment.h; path = "../../spine-c/include/spine/BoundingBoxAttachment.h"; sourceTree = ""; }; + 43F7FD931927C32800CA4038 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = "../../spine-c/include/spine/Event.h"; sourceTree = ""; }; + 43F7FD941927C32800CA4038 /* EventData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventData.h; path = "../../spine-c/include/spine/EventData.h"; sourceTree = ""; }; + 43F7FD951927C32800CA4038 /* extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = extension.h; path = "../../spine-c/include/spine/extension.h"; sourceTree = ""; }; + 43F7FD961927C32800CA4038 /* MeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshAttachment.h; path = "../../spine-c/include/spine/MeshAttachment.h"; sourceTree = ""; }; + 43F7FD971927C32800CA4038 /* RegionAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegionAttachment.h; path = "../../spine-c/include/spine/RegionAttachment.h"; sourceTree = ""; }; + 43F7FD981927C32800CA4038 /* Skeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skeleton.h; path = "../../spine-c/include/spine/Skeleton.h"; sourceTree = ""; }; + 43F7FD991927C32800CA4038 /* SkeletonBounds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonBounds.h; path = "../../spine-c/include/spine/SkeletonBounds.h"; sourceTree = ""; }; + 43F7FD9A1927C32800CA4038 /* SkeletonData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonData.h; path = "../../spine-c/include/spine/SkeletonData.h"; sourceTree = ""; }; + 43F7FD9B1927C32800CA4038 /* SkeletonJson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonJson.h; path = "../../spine-c/include/spine/SkeletonJson.h"; sourceTree = ""; }; + 43F7FD9C1927C32800CA4038 /* Skin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Skin.h; path = "../../spine-c/include/spine/Skin.h"; sourceTree = ""; }; + 43F7FD9D1927C32800CA4038 /* SkinnedMeshAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkinnedMeshAttachment.h; path = "../../spine-c/include/spine/SkinnedMeshAttachment.h"; sourceTree = ""; }; + 43F7FD9E1927C32800CA4038 /* Slot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Slot.h; path = "../../spine-c/include/spine/Slot.h"; sourceTree = ""; }; + 43F7FD9F1927C32800CA4038 /* SlotData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlotData.h; path = "../../spine-c/include/spine/SlotData.h"; sourceTree = ""; }; + 43F7FDA01927C32800CA4038 /* spine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spine.h; path = "../../spine-c/include/spine/spine.h"; sourceTree = ""; }; + 43F7FDA11927C33C00CA4038 /* PolygonBatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PolygonBatch.h; path = src/spine/PolygonBatch.h; sourceTree = ""; }; + 43F7FDA21927C33C00CA4038 /* PolygonBatch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PolygonBatch.m; path = src/spine/PolygonBatch.m; sourceTree = ""; }; + 43F7FDA31927C33C00CA4038 /* SkeletonAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonAnimation.h; path = src/spine/SkeletonAnimation.h; sourceTree = ""; }; + 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonAnimation.m; path = src/spine/SkeletonAnimation.m; sourceTree = ""; }; + 43F7FDA51927C33C00CA4038 /* SkeletonRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkeletonRenderer.h; path = src/spine/SkeletonRenderer.h; sourceTree = ""; }; + 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SkeletonRenderer.m; path = src/spine/SkeletonRenderer.m; sourceTree = ""; }; + 43F7FDAA1927C34600CA4038 /* SpineboyExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpineboyExample.h; sourceTree = ""; }; + 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SpineboyExample.m; sourceTree = ""; }; + 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "goblins-ffd.atlas"; sourceTree = ""; }; + 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "goblins-ffd.json"; sourceTree = ""; }; + 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "goblins-ffd.png"; sourceTree = ""; }; + 43F7FDB31927D04200CA4038 /* GoblinsExample.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GoblinsExample.h; sourceTree = ""; }; + 43F7FDB41927D04200CA4038 /* GoblinsExample.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GoblinsExample.m; sourceTree = ""; }; + 43F7FE9B1927F85F00CA4038 /* LICENSE_cocos2d.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE_cocos2d.txt; path = cocos2d/LICENSE_cocos2d.txt; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 4319B51016FF9B2600C1D7A9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 43F705D91929063F00CA4038 /* Foundation.framework in Frameworks */, + 43F705D61929063F00CA4038 /* CoreText.framework in Frameworks */, + 43F705D81929063F00CA4038 /* CoreGraphics.framework in Frameworks */, + 43F705DA1929063F00CA4038 /* OpenGLES.framework in Frameworks */, + 43F705DB1929063F00CA4038 /* QuartzCore.framework in Frameworks */, + 43F705DC1929063F00CA4038 /* UIKit.framework in Frameworks */, + 43F705DD1929063F00CA4038 /* AVFoundation.framework in Frameworks */, + 43F705DE1929063F00CA4038 /* AudioToolbox.framework in Frameworks */, + 43F705DF1929063F00CA4038 /* OpenAL.framework in Frameworks */, + 43F705E01929063F00CA4038 /* GameKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 4319B50816FF9B2600C1D7A9 = { + isa = PBXGroup; + children = ( + 4319B6BC16FF9D1700C1D7A9 /* Classes */, + 4319B7CB16FF9D3900C1D7A9 /* Resources */, + 43C32A0F170B1282004A9460 /* Resources-mac */, + 4319B6C616FF9D3900C1D7A9 /* libs */, + 4319B51616FF9B2600C1D7A9 /* Frameworks */, + 4319B51416FF9B2600C1D7A9 /* Products */, + ); + sourceTree = ""; + }; + 4319B51416FF9B2600C1D7A9 /* Products */ = { + isa = PBXGroup; + children = ( + 4319B51316FF9B2600C1D7A9 /* SpineExample.app */, + ); + name = Products; + sourceTree = ""; + }; + 4319B51616FF9B2600C1D7A9 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 43F705CA1929063F00CA4038 /* CoreText.framework */, + 43F705CC1929063F00CA4038 /* CoreGraphics.framework */, + 43F705CD1929063F00CA4038 /* Foundation.framework */, + 43F705CE1929063F00CA4038 /* OpenGLES.framework */, + 43F705CF1929063F00CA4038 /* QuartzCore.framework */, + 43F705D01929063F00CA4038 /* UIKit.framework */, + 43F705D11929063F00CA4038 /* AVFoundation.framework */, + 43F705D21929063F00CA4038 /* AudioToolbox.framework */, + 43F705D31929063F00CA4038 /* OpenAL.framework */, + 43F705D41929063F00CA4038 /* GameKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 4319B6BC16FF9D1700C1D7A9 /* Classes */ = { + isa = PBXGroup; + children = ( + 4319B8921701168A00C1D7A9 /* spine-c */, + 4319B8931701168F00C1D7A9 /* spine-cocos2d-iphone */, + 43F7FDAA1927C34600CA4038 /* SpineboyExample.h */, + 43F7FDAB1927C34600CA4038 /* SpineboyExample.m */, + 43F7FDB31927D04200CA4038 /* GoblinsExample.h */, + 43F7FDB41927D04200CA4038 /* GoblinsExample.m */, + 43C32A10170B1295004A9460 /* AppDelegate.h */, + 43C32A11170B1295004A9460 /* AppDelegate.m */, + 43C32A19170B1295004A9460 /* main.m */, + 43C32A1A170B1295004A9460 /* Prefix.pch */, + ); + name = Classes; + path = example; + sourceTree = SOURCE_ROOT; + }; + 4319B6C616FF9D3900C1D7A9 /* libs */ = { + isa = PBXGroup; + children = ( + 43F70430192905A000CA4038 /* Chipmunk */, + 43F702331928F1D800CA4038 /* ObjectAL */, + 43F701171928F1AD00CA4038 /* cocos2d */, + 43F7FE9B1927F85F00CA4038 /* LICENSE_cocos2d.txt */, + ); + path = libs; + sourceTree = SOURCE_ROOT; + }; + 4319B7CB16FF9D3900C1D7A9 /* Resources */ = { + isa = PBXGroup; + children = ( + 43F7FDAD1927C35600CA4038 /* goblins-ffd.atlas */, + 43F7FDAE1927C35600CA4038 /* goblins-ffd.json */, + 43F7FDAF1927C35600CA4038 /* goblins-ffd.png */, + 43C32A30170D0A4D004A9460 /* spineboy.atlas */, + 43C32A31170D0A4D004A9460 /* spineboy.json */, + 43C32A32170D0A4D004A9460 /* spineboy.png */, + ); + path = Resources; + sourceTree = SOURCE_ROOT; + }; + 4319B8921701168A00C1D7A9 /* spine-c */ = { + isa = PBXGroup; + children = ( + 43F7FD581927C31700CA4038 /* Animation.c */, + 43F7FD891927C32800CA4038 /* Animation.h */, + 43F7FD591927C31700CA4038 /* AnimationState.c */, + 43F7FD8A1927C32800CA4038 /* AnimationState.h */, + 43F7FD5A1927C31700CA4038 /* AnimationStateData.c */, + 43F7FD8B1927C32800CA4038 /* AnimationStateData.h */, + 43F7FD5B1927C31700CA4038 /* Atlas.c */, + 43F7FD8C1927C32800CA4038 /* Atlas.h */, + 43F7FD5C1927C31700CA4038 /* AtlasAttachmentLoader.c */, + 43F7FD8D1927C32800CA4038 /* AtlasAttachmentLoader.h */, + 43F7FD5D1927C31700CA4038 /* Attachment.c */, + 43F7FD8E1927C32800CA4038 /* Attachment.h */, + 43F7FD5E1927C31700CA4038 /* AttachmentLoader.c */, + 43F7FD8F1927C32800CA4038 /* AttachmentLoader.h */, + 43F7FD5F1927C31700CA4038 /* Bone.c */, + 43F7FD901927C32800CA4038 /* Bone.h */, + 43F7FD601927C31700CA4038 /* BoneData.c */, + 43F7FD911927C32800CA4038 /* BoneData.h */, + 43F7FD611927C31700CA4038 /* BoundingBoxAttachment.c */, + 43F7FD921927C32800CA4038 /* BoundingBoxAttachment.h */, + 43F7FD621927C31700CA4038 /* Event.c */, + 43F7FD931927C32800CA4038 /* Event.h */, + 43F7FD631927C31700CA4038 /* EventData.c */, + 43F7FD941927C32800CA4038 /* EventData.h */, + 43F7FD641927C31700CA4038 /* extension.c */, + 43F7FD951927C32800CA4038 /* extension.h */, + 43F7FD651927C31700CA4038 /* Json.c */, + 43F7FD661927C31700CA4038 /* Json.h */, + 43F7FD671927C31700CA4038 /* MeshAttachment.c */, + 43F7FD961927C32800CA4038 /* MeshAttachment.h */, + 43F7FD681927C31700CA4038 /* RegionAttachment.c */, + 43F7FD971927C32800CA4038 /* RegionAttachment.h */, + 43F7FD691927C31700CA4038 /* Skeleton.c */, + 43F7FD981927C32800CA4038 /* Skeleton.h */, + 43F7FD6A1927C31700CA4038 /* SkeletonBounds.c */, + 43F7FD991927C32800CA4038 /* SkeletonBounds.h */, + 43F7FD6B1927C31700CA4038 /* SkeletonData.c */, + 43F7FD9A1927C32800CA4038 /* SkeletonData.h */, + 43F7FD6C1927C31700CA4038 /* SkeletonJson.c */, + 43F7FD9B1927C32800CA4038 /* SkeletonJson.h */, + 43F7FD6D1927C31700CA4038 /* Skin.c */, + 43F7FD9C1927C32800CA4038 /* Skin.h */, + 43F7FD6E1927C31700CA4038 /* SkinnedMeshAttachment.c */, + 43F7FD9D1927C32800CA4038 /* SkinnedMeshAttachment.h */, + 43F7FD6F1927C31700CA4038 /* Slot.c */, + 43F7FD9E1927C32800CA4038 /* Slot.h */, + 43F7FD701927C31700CA4038 /* SlotData.c */, + 43F7FD9F1927C32800CA4038 /* SlotData.h */, + 43F7FDA01927C32800CA4038 /* spine.h */, + ); + name = "spine-c"; + path = ..; + sourceTree = ""; + }; + 4319B8931701168F00C1D7A9 /* spine-cocos2d-iphone */ = { + isa = PBXGroup; + children = ( + 43F7FDA11927C33C00CA4038 /* PolygonBatch.h */, + 43F7FDA21927C33C00CA4038 /* PolygonBatch.m */, + 43F7FDA31927C33C00CA4038 /* SkeletonAnimation.h */, + 43F7FDA41927C33C00CA4038 /* SkeletonAnimation.m */, + 43F7FDA51927C33C00CA4038 /* SkeletonRenderer.h */, + 43F7FDA61927C33C00CA4038 /* SkeletonRenderer.m */, + 43BFBE0D170A778A00ECBACB /* spine-cocos2d-iphone.m */, + 43BFBE0E170A778A00ECBACB /* spine-cocos2d-iphone.h */, + ); + name = "spine-cocos2d-iphone"; + path = ..; + sourceTree = ""; + }; + 43C32A0F170B1282004A9460 /* Resources-mac */ = { + isa = PBXGroup; + children = ( + 43C32A12170B1295004A9460 /* English.lproj */, + 43C32A17170B1295004A9460 /* icon.icns */, + 43C32A18170B1295004A9460 /* Info.plist */, + ); + name = "Resources-mac"; + sourceTree = ""; + }; + 43C32A12170B1295004A9460 /* English.lproj */ = { + isa = PBXGroup; + children = ( + 43C32A13170B1295004A9460 /* InfoPlist.strings */, + 43C32A15170B1295004A9460 /* MainMenu.xib */, + ); + name = English.lproj; + path = "Resources-mac/English.lproj"; + sourceTree = ""; + }; + 43F701171928F1AD00CA4038 /* cocos2d */ = { + isa = PBXGroup; + children = ( + 43F701181928F1AD00CA4038 /* CCAction.h */, + 43F701191928F1AD00CA4038 /* CCAction.m */, + 43F7011A1928F1AD00CA4038 /* CCActionCatmullRom.h */, + 43F7011B1928F1AD00CA4038 /* CCActionCatmullRom.m */, + 43F7011C1928F1AD00CA4038 /* CCActionEase.h */, + 43F7011D1928F1AD00CA4038 /* CCActionEase.m */, + 43F7011E1928F1AD00CA4038 /* CCActionInstant.h */, + 43F7011F1928F1AD00CA4038 /* CCActionInstant.m */, + 43F701201928F1AD00CA4038 /* CCActionInterval.h */, + 43F701211928F1AD00CA4038 /* CCActionInterval.m */, + 43F701221928F1AD00CA4038 /* CCActionManager.h */, + 43F701231928F1AD00CA4038 /* CCActionManager.m */, + 43F701241928F1AD00CA4038 /* CCActionProgressTimer.h */, + 43F701251928F1AD00CA4038 /* CCActionProgressTimer.m */, + 43F701261928F1AD00CA4038 /* CCActionTween.h */, + 43F701271928F1AD00CA4038 /* CCActionTween.m */, + 43F701281928F1AD00CA4038 /* CCAnimation.h */, + 43F701291928F1AD00CA4038 /* CCAnimation.m */, + 43F7012A1928F1AD00CA4038 /* CCAnimationCache.h */, + 43F7012B1928F1AD00CA4038 /* CCAnimationCache.m */, + 43F7012C1928F1AD00CA4038 /* CCAtlasNode.h */, + 43F7012D1928F1AD00CA4038 /* CCAtlasNode.m */, + 43F7012E1928F1AD00CA4038 /* CCClippingNode.h */, + 43F7012F1928F1AD00CA4038 /* CCClippingNode.m */, + 43F701301928F1AD00CA4038 /* ccConfig.h */, + 43F701311928F1AD00CA4038 /* CCConfiguration.h */, + 43F701321928F1AD00CA4038 /* CCConfiguration.m */, + 43F701331928F1AD00CA4038 /* CCDirector.h */, + 43F701341928F1AD00CA4038 /* CCDirector.m */, + 43F701351928F1AD00CA4038 /* CCDirector_Private.h */, + 43F701361928F1AD00CA4038 /* CCDrawingPrimitives.h */, + 43F701371928F1AD00CA4038 /* CCDrawingPrimitives.m */, + 43F701381928F1AD00CA4038 /* CCDrawNode.h */, + 43F701391928F1AD00CA4038 /* CCDrawNode.m */, + 43F7013A1928F1AD00CA4038 /* ccFPSImages.h */, + 43F7013B1928F1AD00CA4038 /* ccFPSImages.m */, + 43F7013C1928F1AD00CA4038 /* CCGLProgram.h */, + 43F7013D1928F1AD00CA4038 /* CCGLProgram.m */, + 43F7013E1928F1AD00CA4038 /* ccGLStateCache.h */, + 43F7013F1928F1AD00CA4038 /* ccGLStateCache.m */, + 43F701401928F1AD00CA4038 /* CCLabelAtlas.h */, + 43F701411928F1AD00CA4038 /* CCLabelAtlas.m */, + 43F701421928F1AD00CA4038 /* CCLabelBMFont.h */, + 43F701431928F1AD00CA4038 /* CCLabelBMFont.m */, + 43F701441928F1AD00CA4038 /* CCLabelBMFont_Private.h */, + 43F701451928F1AD00CA4038 /* CCLabelTTF.h */, + 43F701461928F1AD00CA4038 /* CCLabelTTF.m */, + 43F701471928F1AD00CA4038 /* CCLayout.h */, + 43F701481928F1AD00CA4038 /* CCLayout.m */, + 43F701491928F1AD00CA4038 /* CCLayoutBox.h */, + 43F7014A1928F1AD00CA4038 /* CCLayoutBox.m */, + 43F7014B1928F1AD00CA4038 /* ccMacros.h */, + 43F7014C1928F1AD00CA4038 /* CCMotionStreak.h */, + 43F7014D1928F1AD00CA4038 /* CCMotionStreak.m */, + 43F7014E1928F1AD00CA4038 /* CCNode+Debug.h */, + 43F7014F1928F1AD00CA4038 /* CCNode+Debug.m */, + 43F701501928F1AD00CA4038 /* CCNode.h */, + 43F701511928F1AD00CA4038 /* CCNode.m */, + 43F701521928F1AD00CA4038 /* CCNode_Private.h */, + 43F701531928F1AD00CA4038 /* CCNodeColor.h */, + 43F701541928F1AD00CA4038 /* CCNodeColor.m */, + 43F701551928F1AD00CA4038 /* CCParallaxNode.h */, + 43F701561928F1AD00CA4038 /* CCParallaxNode.m */, + 43F701571928F1AD00CA4038 /* CCParticleBatchNode.h */, + 43F701581928F1AD00CA4038 /* CCParticleBatchNode.m */, + 43F701591928F1AD00CA4038 /* CCParticleExamples.h */, + 43F7015A1928F1AD00CA4038 /* CCParticleExamples.m */, + 43F7015B1928F1AD00CA4038 /* CCParticleSystem.h */, + 43F7015C1928F1AD00CA4038 /* CCParticleSystem.m */, + 43F7015D1928F1AD00CA4038 /* CCParticleSystem_Private.h */, + 43F7015E1928F1AD00CA4038 /* CCParticleSystemBase.h */, + 43F7015F1928F1AD00CA4038 /* CCParticleSystemBase.m */, + 43F701601928F1AD00CA4038 /* CCParticleSystemBase_Private.h */, + 43F701611928F1AD00CA4038 /* CCPhysics+ObjectiveChipmunk.h */, + 43F701621928F1AD00CA4038 /* CCPhysicsBody.h */, + 43F701631928F1AD00CA4038 /* CCPhysicsBody.m */, + 43F701641928F1AD00CA4038 /* CCPhysicsJoint.h */, + 43F701651928F1AD00CA4038 /* CCPhysicsJoint.m */, + 43F701661928F1AD00CA4038 /* CCPhysicsNode.h */, + 43F701671928F1AD00CA4038 /* CCPhysicsNode.m */, + 43F701681928F1AD00CA4038 /* CCPhysicsShape.h */, + 43F701691928F1AD00CA4038 /* CCPhysicsShape.m */, + 43F7016A1928F1AD00CA4038 /* CCProgressNode.h */, + 43F7016B1928F1AD00CA4038 /* CCProgressNode.m */, + 43F7016C1928F1AD00CA4038 /* CCProgressNode_Private.h */, + 43F7016D1928F1AD00CA4038 /* CCProtocols.h */, + 43F7016E1928F1AD00CA4038 /* CCRenderTexture.h */, + 43F7016F1928F1AD00CA4038 /* CCRenderTexture.m */, + 43F701701928F1AD00CA4038 /* CCResponder.h */, + 43F701711928F1AD00CA4038 /* CCResponder.m */, + 43F701721928F1AD00CA4038 /* CCResponderManager.h */, + 43F701731928F1AD00CA4038 /* CCResponderManager.m */, + 43F701741928F1AD00CA4038 /* CCScene.h */, + 43F701751928F1AD00CA4038 /* CCScene.m */, + 43F701761928F1AD00CA4038 /* CCScheduler.h */, + 43F701771928F1AD00CA4038 /* CCScheduler.m */, + 43F701781928F1AD00CA4038 /* ccShader_Position_uColor_frag.h */, + 43F701791928F1AD00CA4038 /* ccShader_Position_uColor_vert.h */, + 43F7017A1928F1AD00CA4038 /* ccShader_PositionColor_frag.h */, + 43F7017B1928F1AD00CA4038 /* ccShader_PositionColor_vert.h */, + 43F7017C1928F1AD00CA4038 /* ccShader_PositionColorLengthTexture_frag.h */, + 43F7017D1928F1AD00CA4038 /* ccShader_PositionColorLengthTexture_vert.h */, + 43F7017E1928F1AD00CA4038 /* ccShader_PositionTexture_frag.h */, + 43F7017F1928F1AD00CA4038 /* ccShader_PositionTexture_uColor_frag.h */, + 43F701801928F1AD00CA4038 /* ccShader_PositionTexture_uColor_vert.h */, + 43F701811928F1AD00CA4038 /* ccShader_PositionTexture_vert.h */, + 43F701821928F1AD00CA4038 /* ccShader_PositionTextureA8Color_frag.h */, + 43F701831928F1AD00CA4038 /* ccShader_PositionTextureA8Color_vert.h */, + 43F701841928F1AD00CA4038 /* ccShader_PositionTextureColor_frag.h */, + 43F701851928F1AD00CA4038 /* ccShader_PositionTextureColor_vert.h */, + 43F701861928F1AD00CA4038 /* ccShader_PositionTextureColorAlphaTest_frag.h */, + 43F701871928F1AD00CA4038 /* CCShaderCache.h */, + 43F701881928F1AD00CA4038 /* CCShaderCache.m */, + 43F701891928F1AD00CA4038 /* ccShaders.h */, + 43F7018A1928F1AD00CA4038 /* ccShaders.m */, + 43F7018B1928F1AD00CA4038 /* CCSprite.h */, + 43F7018C1928F1AD00CA4038 /* CCSprite.m */, + 43F7018D1928F1AD00CA4038 /* CCSprite9Slice.h */, + 43F7018E1928F1AD00CA4038 /* CCSprite9Slice.m */, + 43F7018F1928F1AD00CA4038 /* CCSprite_Private.h */, + 43F701901928F1AD00CA4038 /* CCSpriteBatchNode.h */, + 43F701911928F1AD00CA4038 /* CCSpriteBatchNode.m */, + 43F701921928F1AD00CA4038 /* CCSpriteBatchNode_Private.h */, + 43F701931928F1AD00CA4038 /* CCSpriteFrame.h */, + 43F701941928F1AD00CA4038 /* CCSpriteFrame.m */, + 43F701951928F1AD00CA4038 /* CCSpriteFrameCache.h */, + 43F701961928F1AD00CA4038 /* CCSpriteFrameCache.m */, + 43F701971928F1AD00CA4038 /* CCTexture.h */, + 43F701981928F1AD00CA4038 /* CCTexture.m */, + 43F701991928F1AD00CA4038 /* CCTexture_Private.h */, + 43F7019A1928F1AD00CA4038 /* CCTextureAtlas.h */, + 43F7019B1928F1AD00CA4038 /* CCTextureAtlas.m */, + 43F7019C1928F1AD00CA4038 /* CCTextureCache.h */, + 43F7019D1928F1AD00CA4038 /* CCTextureCache.m */, + 43F7019E1928F1AD00CA4038 /* CCTexturePVR.h */, + 43F7019F1928F1AD00CA4038 /* CCTexturePVR.m */, + 43F701A01928F1AD00CA4038 /* CCTiledMap.h */, + 43F701A11928F1AD00CA4038 /* CCTiledMap.m */, + 43F701A21928F1AD00CA4038 /* CCTiledMapLayer.h */, + 43F701A31928F1AD00CA4038 /* CCTiledMapLayer.m */, + 43F701A41928F1AD00CA4038 /* CCTiledMapLayer_Private.h */, + 43F701A51928F1AD00CA4038 /* CCTiledMapObjectGroup.h */, + 43F701A61928F1AD00CA4038 /* CCTiledMapObjectGroup.m */, + 43F701A71928F1AD00CA4038 /* CCTMXXMLParser.h */, + 43F701A81928F1AD00CA4038 /* CCTMXXMLParser.m */, + 43F701A91928F1AD00CA4038 /* CCTransition.h */, + 43F701AA1928F1AD00CA4038 /* CCTransition.m */, + 43F701AB1928F1AD00CA4038 /* ccTypes.h */, + 43F701AC1928F1AD00CA4038 /* cocos2d.h */, + 43F701AD1928F1AD00CA4038 /* cocos2d.m */, + 43F701AE1928F1AD00CA4038 /* Platforms */, + 43F701C61928F1AD00CA4038 /* Support */, + ); + name = cocos2d; + path = cocos2d/cocos2d; + sourceTree = SOURCE_ROOT; + }; + 43F701AE1928F1AD00CA4038 /* Platforms */ = { + isa = PBXGroup; + children = ( + 43F701AF1928F1AD00CA4038 /* CCGL.h */, + 43F701B01928F1AD00CA4038 /* CCNS.h */, + 43F701B11928F1AD00CA4038 /* iOS */, + 43F701BD1928F1AD00CA4038 /* Mac */, + ); + path = Platforms; + sourceTree = ""; + }; + 43F701B11928F1AD00CA4038 /* iOS */ = { + isa = PBXGroup; + children = ( + 43F701B21928F1AD00CA4038 /* CCAppDelegate.h */, + 43F701B31928F1AD00CA4038 /* CCAppDelegate.m */, + 43F701B41928F1AD00CA4038 /* CCDirectorIOS.h */, + 43F701B51928F1AD00CA4038 /* CCDirectorIOS.m */, + 43F701B61928F1AD00CA4038 /* CCES2Renderer.h */, + 43F701B71928F1AD00CA4038 /* CCES2Renderer.m */, + 43F701B81928F1AD00CA4038 /* CCESRenderer.h */, + 43F701B91928F1AD00CA4038 /* CCGLView.h */, + 43F701BA1928F1AD00CA4038 /* CCGLView.m */, + 43F701BB1928F1AD00CA4038 /* UITouch+CC.h */, + 43F701BC1928F1AD00CA4038 /* UITouch+CC.m */, + ); + path = iOS; + sourceTree = ""; + }; + 43F701BD1928F1AD00CA4038 /* Mac */ = { + isa = PBXGroup; + children = ( + 43F701BE1928F1AD00CA4038 /* CCDirectorMac.h */, + 43F701BF1928F1AD00CA4038 /* CCDirectorMac.m */, + 43F701C01928F1AD00CA4038 /* CCGLView.h */, + 43F701C11928F1AD00CA4038 /* CCGLView.m */, + 43F701C21928F1AD00CA4038 /* CCWindow.h */, + 43F701C31928F1AD00CA4038 /* CCWindow.m */, + 43F701C41928F1AD00CA4038 /* NSEvent+CC.h */, + 43F701C51928F1AD00CA4038 /* NSEvent+CC.m */, + ); + path = Mac; + sourceTree = ""; + }; + 43F701C61928F1AD00CA4038 /* Support */ = { + isa = PBXGroup; + children = ( + 43F701C71928F1AD00CA4038 /* base64.c */, + 43F701C81928F1AD00CA4038 /* base64.h */, + 43F701C91928F1AD00CA4038 /* CCColor.h */, + 43F701CA1928F1AD00CA4038 /* CCColor.m */, + 43F701CB1928F1AD00CA4038 /* CCFileUtils.h */, + 43F701CC1928F1AD00CA4038 /* CCFileUtils.m */, + 43F701CD1928F1AD00CA4038 /* CCProfiling.h */, + 43F701CE1928F1AD00CA4038 /* CCProfiling.m */, + 43F701CF1928F1AD00CA4038 /* ccUtils.c */, + 43F701D01928F1AD00CA4038 /* ccUtils.h */, + 43F701D11928F1AD00CA4038 /* CCVertex.h */, + 43F701D21928F1AD00CA4038 /* CCVertex.m */, + 43F701D31928F1AD00CA4038 /* CGPointExtension.h */, + 43F701D41928F1AD00CA4038 /* CGPointExtension.m */, + 43F701D51928F1AD00CA4038 /* NSAttributedString+CCAdditions.h */, + 43F701D61928F1AD00CA4038 /* NSAttributedString+CCAdditions.m */, + 43F701D71928F1AD00CA4038 /* NSThread+performBlock.h */, + 43F701D81928F1AD00CA4038 /* NSThread+performBlock.m */, + 43F701D91928F1AD00CA4038 /* OpenGL_Internal.h */, + 43F701DA1928F1AD00CA4038 /* TGAlib.h */, + 43F701DB1928F1AD00CA4038 /* TGAlib.m */, + 43F701DC1928F1AD00CA4038 /* TransformUtils.h */, + 43F701DD1928F1AD00CA4038 /* TransformUtils.m */, + 43F701DE1928F1AD00CA4038 /* uthash.h */, + 43F701DF1928F1AD00CA4038 /* utlist.h */, + 43F701E01928F1AD00CA4038 /* ZipUtils.h */, + 43F701E11928F1AD00CA4038 /* ZipUtils.m */, + ); + path = Support; + sourceTree = ""; + }; + 43F702331928F1D800CA4038 /* ObjectAL */ = { + isa = PBXGroup; + children = ( + 43F702341928F1D800CA4038 /* Actions */, + 43F7023E1928F1D800CA4038 /* AudioTrack */, + 43F702451928F1D800CA4038 /* OALSimpleAudio.h */, + 43F702461928F1D800CA4038 /* OALSimpleAudio.m */, + 43F702471928F1D800CA4038 /* ObjectAL.h */, + 43F702481928F1D800CA4038 /* ObjectALConfig.h */, + 43F702491928F1D800CA4038 /* OpenAL */, + 43F702601928F1D800CA4038 /* Session */, + 43F702651928F1D800CA4038 /* Support */, + ); + name = ObjectAL; + path = cocos2d/external/ObjectAL; + sourceTree = SOURCE_ROOT; + }; + 43F702341928F1D800CA4038 /* Actions */ = { + isa = PBXGroup; + children = ( + 43F702351928F1D800CA4038 /* OALAction+Private.h */, + 43F702361928F1D800CA4038 /* OALAction.h */, + 43F702371928F1D800CA4038 /* OALAction.m */, + 43F702381928F1D800CA4038 /* OALActionManager.h */, + 43F702391928F1D800CA4038 /* OALActionManager.m */, + 43F7023A1928F1D800CA4038 /* OALAudioActions.h */, + 43F7023B1928F1D800CA4038 /* OALAudioActions.m */, + 43F7023C1928F1D800CA4038 /* OALUtilityActions.h */, + 43F7023D1928F1D800CA4038 /* OALUtilityActions.m */, + ); + path = Actions; + sourceTree = ""; + }; + 43F7023E1928F1D800CA4038 /* AudioTrack */ = { + isa = PBXGroup; + children = ( + 43F7023F1928F1D800CA4038 /* OALAudioTrack.h */, + 43F702401928F1D800CA4038 /* OALAudioTrack.m */, + 43F702411928F1D800CA4038 /* OALAudioTrackNotifications.h */, + 43F702421928F1D800CA4038 /* OALAudioTrackNotifications.m */, + 43F702431928F1D800CA4038 /* OALAudioTracks.h */, + 43F702441928F1D800CA4038 /* OALAudioTracks.m */, + ); + path = AudioTrack; + sourceTree = ""; + }; + 43F702491928F1D800CA4038 /* OpenAL */ = { + isa = PBXGroup; + children = ( + 43F7024A1928F1D800CA4038 /* ALBuffer.h */, + 43F7024B1928F1D800CA4038 /* ALBuffer.m */, + 43F7024C1928F1D800CA4038 /* ALCaptureDevice.h */, + 43F7024D1928F1D800CA4038 /* ALCaptureDevice.m */, + 43F7024E1928F1D800CA4038 /* ALChannelSource.h */, + 43F7024F1928F1D800CA4038 /* ALChannelSource.m */, + 43F702501928F1D800CA4038 /* ALContext.h */, + 43F702511928F1D800CA4038 /* ALContext.m */, + 43F702521928F1D800CA4038 /* ALDevice.h */, + 43F702531928F1D800CA4038 /* ALDevice.m */, + 43F702541928F1D800CA4038 /* ALListener.h */, + 43F702551928F1D800CA4038 /* ALListener.m */, + 43F702561928F1D800CA4038 /* ALSoundSource.h */, + 43F702571928F1D800CA4038 /* ALSoundSourcePool.h */, + 43F702581928F1D800CA4038 /* ALSoundSourcePool.m */, + 43F702591928F1D800CA4038 /* ALSource.h */, + 43F7025A1928F1D800CA4038 /* ALSource.m */, + 43F7025B1928F1D800CA4038 /* ALTypes.h */, + 43F7025C1928F1D800CA4038 /* ALWrapper.h */, + 43F7025D1928F1D800CA4038 /* ALWrapper.m */, + 43F7025E1928F1D800CA4038 /* OpenALManager.h */, + 43F7025F1928F1D800CA4038 /* OpenALManager.m */, + ); + path = OpenAL; + sourceTree = ""; + }; + 43F702601928F1D800CA4038 /* Session */ = { + isa = PBXGroup; + children = ( + 43F702611928F1D800CA4038 /* OALAudioSession.h */, + 43F702621928F1D800CA4038 /* OALAudioSession.m */, + 43F702631928F1D800CA4038 /* OALSuspendHandler.h */, + 43F702641928F1D800CA4038 /* OALSuspendHandler.m */, + ); + path = Session; + sourceTree = ""; + }; + 43F702651928F1D800CA4038 /* Support */ = { + isa = PBXGroup; + children = ( + 43F702661928F1D800CA4038 /* ARCSafe_MemMgmt.h */, + 43F702671928F1D800CA4038 /* IOSVersion.h */, + 43F702681928F1D800CA4038 /* IOSVersion.m */, + 43F702691928F1D800CA4038 /* mach_timing.c */, + 43F7026A1928F1D800CA4038 /* mach_timing.h */, + 43F7026B1928F1D800CA4038 /* NSMutableArray+WeakReferences.h */, + 43F7026C1928F1D800CA4038 /* NSMutableArray+WeakReferences.m */, + 43F7026D1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.h */, + 43F7026E1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.m */, + 43F7026F1928F1D800CA4038 /* OALAudioFile.h */, + 43F702701928F1D800CA4038 /* OALAudioFile.m */, + 43F702711928F1D800CA4038 /* OALNotifications.h */, + 43F702721928F1D800CA4038 /* OALTools.h */, + 43F702731928F1D800CA4038 /* OALTools.m */, + 43F702741928F1D800CA4038 /* ObjectALMacros.h */, + 43F702751928F1D800CA4038 /* SynthesizeSingleton.h */, + ); + path = Support; + sourceTree = ""; + }; + 43F70430192905A000CA4038 /* Chipmunk */ = { + isa = PBXGroup; + children = ( + 43F70477192905A100CA4038 /* include */, + 43F704D5192905A100CA4038 /* src */, + ); + name = Chipmunk; + path = cocos2d/external/Chipmunk; + sourceTree = SOURCE_ROOT; + }; + 43F70477192905A100CA4038 /* include */ = { + isa = PBXGroup; + children = ( + 43F70478192905A100CA4038 /* chipmunk */, + ); + path = include; + sourceTree = ""; + }; + 43F70478192905A100CA4038 /* chipmunk */ = { + isa = PBXGroup; + children = ( + 43F70479192905A100CA4038 /* chipmunk.h */, + 43F7047A192905A100CA4038 /* chipmunk_ffi.h */, + 43F7047B192905A100CA4038 /* chipmunk_private.h */, + 43F7047C192905A100CA4038 /* chipmunk_types.h */, + 43F7047D192905A100CA4038 /* chipmunk_unsafe.h */, + 43F7047E192905A100CA4038 /* cpArbiter.h */, + 43F7047F192905A100CA4038 /* cpBB.h */, + 43F70480192905A100CA4038 /* cpBody.h */, + 43F70481192905A100CA4038 /* cpConstraint.h */, + 43F70482192905A100CA4038 /* cpDampedRotarySpring.h */, + 43F70483192905A100CA4038 /* cpDampedSpring.h */, + 43F70484192905A100CA4038 /* cpGearJoint.h */, + 43F70485192905A100CA4038 /* cpGrooveJoint.h */, + 43F70486192905A100CA4038 /* cpPinJoint.h */, + 43F70487192905A100CA4038 /* cpPivotJoint.h */, + 43F70488192905A100CA4038 /* cpPolyShape.h */, + 43F70489192905A100CA4038 /* cpRatchetJoint.h */, + 43F7048A192905A100CA4038 /* cpRotaryLimitJoint.h */, + 43F7048B192905A100CA4038 /* cpShape.h */, + 43F7048C192905A100CA4038 /* cpSimpleMotor.h */, + 43F7048D192905A100CA4038 /* cpSlideJoint.h */, + 43F7048E192905A100CA4038 /* cpSpace.h */, + 43F7048F192905A100CA4038 /* cpSpatialIndex.h */, + 43F70490192905A100CA4038 /* cpTransform.h */, + 43F70491192905A100CA4038 /* cpVect.h */, + ); + path = chipmunk; + sourceTree = ""; + }; + 43F704D5192905A100CA4038 /* src */ = { + isa = PBXGroup; + children = ( + 43F704D6192905A100CA4038 /* chipmunk.c */, + 43F704D7192905A100CA4038 /* CMakeLists.txt */, + 43F704D8192905A100CA4038 /* cpArbiter.c */, + 43F704D9192905A100CA4038 /* cpArray.c */, + 43F704DA192905A100CA4038 /* cpBBTree.c */, + 43F704DB192905A100CA4038 /* cpBody.c */, + 43F704DC192905A100CA4038 /* cpCollision.c */, + 43F704DD192905A100CA4038 /* cpConstraint.c */, + 43F704DE192905A100CA4038 /* cpDampedRotarySpring.c */, + 43F704DF192905A100CA4038 /* cpDampedSpring.c */, + 43F704E0192905A100CA4038 /* cpGearJoint.c */, + 43F704E1192905A100CA4038 /* cpGrooveJoint.c */, + 43F704E2192905A100CA4038 /* cpHashSet.c */, + 43F704E3192905A100CA4038 /* cpPinJoint.c */, + 43F704E4192905A100CA4038 /* cpPivotJoint.c */, + 43F704E5192905A100CA4038 /* cpPolyShape.c */, + 43F704E6192905A100CA4038 /* cpRatchetJoint.c */, + 43F704E7192905A100CA4038 /* cpRotaryLimitJoint.c */, + 43F704E8192905A100CA4038 /* cpShape.c */, + 43F704E9192905A100CA4038 /* cpSimpleMotor.c */, + 43F704EA192905A100CA4038 /* cpSlideJoint.c */, + 43F704EB192905A100CA4038 /* cpSpace.c */, + 43F704EC192905A100CA4038 /* cpSpaceComponent.c */, + 43F704ED192905A100CA4038 /* cpSpaceDebug.c */, + 43F704EE192905A100CA4038 /* cpSpaceHash.c */, + 43F704EF192905A100CA4038 /* cpSpaceQuery.c */, + 43F704F0192905A100CA4038 /* cpSpaceStep.c */, + 43F704F1192905A100CA4038 /* cpSpatialIndex.c */, + 43F704F2192905A100CA4038 /* cpSweep1D.c */, + 43F704F3192905A100CA4038 /* prime.h */, + ); + path = src; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 4319B51216FF9B2600C1D7A9 /* SpineExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4319B6AC16FF9B2B00C1D7A9 /* Build configuration list for PBXNativeTarget "SpineExample" */; + buildPhases = ( + 4319B50F16FF9B2600C1D7A9 /* Sources */, + 4319B51016FF9B2600C1D7A9 /* Frameworks */, + 4319B51116FF9B2600C1D7A9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SpineExample; + productName = "spine-cocos2d-iphone-mac"; + productReference = 4319B51316FF9B2600C1D7A9 /* SpineExample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 4319B50A16FF9B2600C1D7A9 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = "Esoteric Software"; + }; + buildConfigurationList = 4319B50D16FF9B2600C1D7A9 /* Build configuration list for PBXProject "spine-cocos2d-iphone-mac" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + English, + ); + mainGroup = 4319B50816FF9B2600C1D7A9; + productRefGroup = 4319B51416FF9B2600C1D7A9 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 4319B51216FF9B2600C1D7A9 /* SpineExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 4319B51116FF9B2600C1D7A9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 43C32A1C170B1295004A9460 /* InfoPlist.strings in Resources */, + 43C32A1D170B1295004A9460 /* MainMenu.xib in Resources */, + 43C32A1E170B1295004A9460 /* icon.icns in Resources */, + 43C32A36170D0A4D004A9460 /* spineboy.atlas in Resources */, + 43C32A37170D0A4D004A9460 /* spineboy.json in Resources */, + 43C32A38170D0A4D004A9460 /* spineboy.png in Resources */, + 43F7FDB01927C35600CA4038 /* goblins-ffd.atlas in Resources */, + 43F7FDB11927C35600CA4038 /* goblins-ffd.json in Resources */, + 43F7FDB21927C35600CA4038 /* goblins-ffd.png in Resources */, + 43F7FEFE1927F85F00CA4038 /* LICENSE_cocos2d.txt in Resources */, + 43F7057B192905A200CA4038 /* CMakeLists.txt in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 4319B50F16FF9B2600C1D7A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 43BFBE0F170A778A00ECBACB /* spine-cocos2d-iphone.m in Sources */, + 43C32A1B170B1295004A9460 /* AppDelegate.m in Sources */, + 43C32A20170B1295004A9460 /* main.m in Sources */, + 43F7FD711927C31700CA4038 /* Animation.c in Sources */, + 43F7FD721927C31700CA4038 /* AnimationState.c in Sources */, + 43F7FD731927C31700CA4038 /* AnimationStateData.c in Sources */, + 43F7FD741927C31700CA4038 /* Atlas.c in Sources */, + 43F7FD751927C31700CA4038 /* AtlasAttachmentLoader.c in Sources */, + 43F7FD761927C31700CA4038 /* Attachment.c in Sources */, + 43F7FD771927C31700CA4038 /* AttachmentLoader.c in Sources */, + 43F7FD781927C31700CA4038 /* Bone.c in Sources */, + 43F7FD791927C31700CA4038 /* BoneData.c in Sources */, + 43F7FD7A1927C31700CA4038 /* BoundingBoxAttachment.c in Sources */, + 43F7FD7B1927C31700CA4038 /* Event.c in Sources */, + 43F7FD7C1927C31700CA4038 /* EventData.c in Sources */, + 43F7FD7D1927C31700CA4038 /* extension.c in Sources */, + 43F7FD7E1927C31700CA4038 /* Json.c in Sources */, + 43F7FD7F1927C31700CA4038 /* MeshAttachment.c in Sources */, + 43F7FD801927C31700CA4038 /* RegionAttachment.c in Sources */, + 43F7FD811927C31700CA4038 /* Skeleton.c in Sources */, + 43F7FD821927C31700CA4038 /* SkeletonBounds.c in Sources */, + 43F7FD831927C31700CA4038 /* SkeletonData.c in Sources */, + 43F7FD841927C31700CA4038 /* SkeletonJson.c in Sources */, + 43F7FD851927C31700CA4038 /* Skin.c in Sources */, + 43F7FD861927C31700CA4038 /* SkinnedMeshAttachment.c in Sources */, + 43F7FD871927C31700CA4038 /* Slot.c in Sources */, + 43F7FD881927C31700CA4038 /* SlotData.c in Sources */, + 43F7FDA71927C33C00CA4038 /* PolygonBatch.m in Sources */, + 43F7FDA81927C33C00CA4038 /* SkeletonAnimation.m in Sources */, + 43F7FDA91927C33C00CA4038 /* SkeletonRenderer.m in Sources */, + 43F7FDAC1927C34600CA4038 /* SpineboyExample.m in Sources */, + 43F7FDB51927D04200CA4038 /* GoblinsExample.m in Sources */, + 43F701E21928F1AD00CA4038 /* CCAction.m in Sources */, + 43F701E31928F1AD00CA4038 /* CCActionCatmullRom.m in Sources */, + 43F701E41928F1AD00CA4038 /* CCActionEase.m in Sources */, + 43F701E51928F1AD00CA4038 /* CCActionInstant.m in Sources */, + 43F701E61928F1AD00CA4038 /* CCActionInterval.m in Sources */, + 43F701E71928F1AD00CA4038 /* CCActionManager.m in Sources */, + 43F701E81928F1AD00CA4038 /* CCActionProgressTimer.m in Sources */, + 43F701E91928F1AD00CA4038 /* CCActionTween.m in Sources */, + 43F701EA1928F1AD00CA4038 /* CCAnimation.m in Sources */, + 43F701EB1928F1AD00CA4038 /* CCAnimationCache.m in Sources */, + 43F701EC1928F1AD00CA4038 /* CCAtlasNode.m in Sources */, + 43F701ED1928F1AD00CA4038 /* CCClippingNode.m in Sources */, + 43F701EE1928F1AD00CA4038 /* CCConfiguration.m in Sources */, + 43F701EF1928F1AD00CA4038 /* CCDirector.m in Sources */, + 43F701F01928F1AD00CA4038 /* CCDrawingPrimitives.m in Sources */, + 43F701F11928F1AD00CA4038 /* CCDrawNode.m in Sources */, + 43F701F21928F1AD00CA4038 /* ccFPSImages.m in Sources */, + 43F701F31928F1AD00CA4038 /* CCGLProgram.m in Sources */, + 43F701F41928F1AD00CA4038 /* ccGLStateCache.m in Sources */, + 43F701F51928F1AD00CA4038 /* CCLabelAtlas.m in Sources */, + 43F701F61928F1AD00CA4038 /* CCLabelBMFont.m in Sources */, + 43F701F71928F1AD00CA4038 /* CCLabelTTF.m in Sources */, + 43F701F81928F1AD00CA4038 /* CCLayout.m in Sources */, + 43F701F91928F1AD00CA4038 /* CCLayoutBox.m in Sources */, + 43F701FA1928F1AD00CA4038 /* CCMotionStreak.m in Sources */, + 43F701FB1928F1AD00CA4038 /* CCNode+Debug.m in Sources */, + 43F701FC1928F1AD00CA4038 /* CCNode.m in Sources */, + 43F701FD1928F1AD00CA4038 /* CCNodeColor.m in Sources */, + 43F701FE1928F1AD00CA4038 /* CCParallaxNode.m in Sources */, + 43F701FF1928F1AD00CA4038 /* CCParticleBatchNode.m in Sources */, + 43F702001928F1AD00CA4038 /* CCParticleExamples.m in Sources */, + 43F702011928F1AD00CA4038 /* CCParticleSystem.m in Sources */, + 43F702021928F1AD00CA4038 /* CCParticleSystemBase.m in Sources */, + 43F702031928F1AD00CA4038 /* CCPhysicsBody.m in Sources */, + 43F702041928F1AD00CA4038 /* CCPhysicsJoint.m in Sources */, + 43F702051928F1AD00CA4038 /* CCPhysicsNode.m in Sources */, + 43F702061928F1AD00CA4038 /* CCPhysicsShape.m in Sources */, + 43F702071928F1AD00CA4038 /* CCProgressNode.m in Sources */, + 43F702081928F1AD00CA4038 /* CCRenderTexture.m in Sources */, + 43F702091928F1AD00CA4038 /* CCResponder.m in Sources */, + 43F7020A1928F1AD00CA4038 /* CCResponderManager.m in Sources */, + 43F7020B1928F1AD00CA4038 /* CCScene.m in Sources */, + 43F7020C1928F1AD00CA4038 /* CCScheduler.m in Sources */, + 43F7020D1928F1AD00CA4038 /* CCShaderCache.m in Sources */, + 43F7020E1928F1AD00CA4038 /* ccShaders.m in Sources */, + 43F7020F1928F1AD00CA4038 /* CCSprite.m in Sources */, + 43F702101928F1AD00CA4038 /* CCSprite9Slice.m in Sources */, + 43F702111928F1AD00CA4038 /* CCSpriteBatchNode.m in Sources */, + 43F702121928F1AD00CA4038 /* CCSpriteFrame.m in Sources */, + 43F702131928F1AD00CA4038 /* CCSpriteFrameCache.m in Sources */, + 43F702141928F1AD00CA4038 /* CCTexture.m in Sources */, + 43F702151928F1AD00CA4038 /* CCTextureAtlas.m in Sources */, + 43F702161928F1AD00CA4038 /* CCTextureCache.m in Sources */, + 43F702171928F1AD00CA4038 /* CCTexturePVR.m in Sources */, + 43F702181928F1AD00CA4038 /* CCTiledMap.m in Sources */, + 43F702191928F1AD00CA4038 /* CCTiledMapLayer.m in Sources */, + 43F7021A1928F1AD00CA4038 /* CCTiledMapObjectGroup.m in Sources */, + 43F7021B1928F1AD00CA4038 /* CCTMXXMLParser.m in Sources */, + 43F7021C1928F1AD00CA4038 /* CCTransition.m in Sources */, + 43F7021D1928F1AD00CA4038 /* cocos2d.m in Sources */, + 43F7021E1928F1AD00CA4038 /* CCAppDelegate.m in Sources */, + 43F7021F1928F1AD00CA4038 /* CCDirectorIOS.m in Sources */, + 43F702201928F1AD00CA4038 /* CCES2Renderer.m in Sources */, + 43F702211928F1AD00CA4038 /* CCGLView.m in Sources */, + 43F702221928F1AD00CA4038 /* UITouch+CC.m in Sources */, + 43F702231928F1AD00CA4038 /* CCDirectorMac.m in Sources */, + 43F702241928F1AD00CA4038 /* CCGLView.m in Sources */, + 43F702251928F1AD00CA4038 /* CCWindow.m in Sources */, + 43F702261928F1AD00CA4038 /* NSEvent+CC.m in Sources */, + 43F702271928F1AD00CA4038 /* base64.c in Sources */, + 43F702281928F1AD00CA4038 /* CCColor.m in Sources */, + 43F702291928F1AD00CA4038 /* CCFileUtils.m in Sources */, + 43F7022A1928F1AD00CA4038 /* CCProfiling.m in Sources */, + 43F7022B1928F1AD00CA4038 /* ccUtils.c in Sources */, + 43F7022C1928F1AD00CA4038 /* CCVertex.m in Sources */, + 43F7022D1928F1AD00CA4038 /* CGPointExtension.m in Sources */, + 43F7022E1928F1AD00CA4038 /* NSAttributedString+CCAdditions.m in Sources */, + 43F7022F1928F1AD00CA4038 /* NSThread+performBlock.m in Sources */, + 43F702301928F1AD00CA4038 /* TGAlib.m in Sources */, + 43F702311928F1AD00CA4038 /* TransformUtils.m in Sources */, + 43F702321928F1AD00CA4038 /* ZipUtils.m in Sources */, + 43F702761928F1D800CA4038 /* OALAction.m in Sources */, + 43F702771928F1D800CA4038 /* OALActionManager.m in Sources */, + 43F702781928F1D800CA4038 /* OALAudioActions.m in Sources */, + 43F702791928F1D800CA4038 /* OALUtilityActions.m in Sources */, + 43F7027A1928F1D800CA4038 /* OALAudioTrack.m in Sources */, + 43F7027B1928F1D800CA4038 /* OALAudioTrackNotifications.m in Sources */, + 43F7027C1928F1D800CA4038 /* OALAudioTracks.m in Sources */, + 43F7027D1928F1D800CA4038 /* OALSimpleAudio.m in Sources */, + 43F7027E1928F1D800CA4038 /* ALBuffer.m in Sources */, + 43F7027F1928F1D800CA4038 /* ALCaptureDevice.m in Sources */, + 43F702801928F1D800CA4038 /* ALChannelSource.m in Sources */, + 43F702811928F1D800CA4038 /* ALContext.m in Sources */, + 43F702821928F1D800CA4038 /* ALDevice.m in Sources */, + 43F702831928F1D800CA4038 /* ALListener.m in Sources */, + 43F702841928F1D800CA4038 /* ALSoundSourcePool.m in Sources */, + 43F702851928F1D800CA4038 /* ALSource.m in Sources */, + 43F702861928F1D800CA4038 /* ALWrapper.m in Sources */, + 43F702871928F1D800CA4038 /* OpenALManager.m in Sources */, + 43F702881928F1D800CA4038 /* OALAudioSession.m in Sources */, + 43F702891928F1D800CA4038 /* OALSuspendHandler.m in Sources */, + 43F7028A1928F1D800CA4038 /* IOSVersion.m in Sources */, + 43F7028B1928F1D800CA4038 /* mach_timing.c in Sources */, + 43F7028C1928F1D800CA4038 /* NSMutableArray+WeakReferences.m in Sources */, + 43F7028D1928F1D800CA4038 /* NSMutableDictionary+WeakReferences.m in Sources */, + 43F7028E1928F1D800CA4038 /* OALAudioFile.m in Sources */, + 43F7028F1928F1D800CA4038 /* OALTools.m in Sources */, + 43F7057A192905A200CA4038 /* chipmunk.c in Sources */, + 43F7057C192905A200CA4038 /* cpArbiter.c in Sources */, + 43F7057D192905A200CA4038 /* cpArray.c in Sources */, + 43F7057E192905A200CA4038 /* cpBBTree.c in Sources */, + 43F7057F192905A200CA4038 /* cpBody.c in Sources */, + 43F70580192905A200CA4038 /* cpCollision.c in Sources */, + 43F70581192905A200CA4038 /* cpConstraint.c in Sources */, + 43F70582192905A200CA4038 /* cpDampedRotarySpring.c in Sources */, + 43F70583192905A200CA4038 /* cpDampedSpring.c in Sources */, + 43F70584192905A200CA4038 /* cpGearJoint.c in Sources */, + 43F70585192905A200CA4038 /* cpGrooveJoint.c in Sources */, + 43F70586192905A200CA4038 /* cpHashSet.c in Sources */, + 43F70587192905A200CA4038 /* cpPinJoint.c in Sources */, + 43F70588192905A200CA4038 /* cpPivotJoint.c in Sources */, + 43F70589192905A200CA4038 /* cpPolyShape.c in Sources */, + 43F7058A192905A200CA4038 /* cpRatchetJoint.c in Sources */, + 43F7058B192905A200CA4038 /* cpRotaryLimitJoint.c in Sources */, + 43F7058C192905A200CA4038 /* cpShape.c in Sources */, + 43F7058D192905A200CA4038 /* cpSimpleMotor.c in Sources */, + 43F7058E192905A200CA4038 /* cpSlideJoint.c in Sources */, + 43F7058F192905A200CA4038 /* cpSpace.c in Sources */, + 43F70590192905A200CA4038 /* cpSpaceComponent.c in Sources */, + 43F70591192905A200CA4038 /* cpSpaceDebug.c in Sources */, + 43F70592192905A200CA4038 /* cpSpaceHash.c in Sources */, + 43F70593192905A200CA4038 /* cpSpaceQuery.c in Sources */, + 43F70594192905A200CA4038 /* cpSpaceStep.c in Sources */, + 43F70595192905A200CA4038 /* cpSpatialIndex.c in Sources */, + 43F70596192905A200CA4038 /* cpSweep1D.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 43C32A13170B1295004A9460 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 43C32A14170B1295004A9460 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 43C32A15170B1295004A9460 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 43C32A16170B1295004A9460 /* English */, + ); + name = MainMenu.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 4319B6AA16FF9B2B00C1D7A9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + DEBUG, + "COCOS2D_DEBUG=1", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 4319B6AB16FF9B2B00C1D7A9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + NDEBUG, + "NS_BLOCK_ASSERTIONS=1", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 4319B6AD16FF9B2B00C1D7A9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks\"", + ); + GCC_DYNAMIC_NO_PIC = NO; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Resources-mac/Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + HEADER_SEARCH_PATHS = ( + "\"cocos2d/external/Chipmunk/include\"", + "\"src\"", + "\"../../spine-c/include\"", + "\"cocos2d/external/kazmath/include\"", + "\"cocos2d/external/Chipmunk/objectivec/include\"", + ); + INFOPLIST_FILE = "Resources-mac/Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glew/lib/Release/Win32\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glfw/lib-msvc100\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libGLEW/lib\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libglfw/lib\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib\"", + ); + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_LDFLAGS = ( + "-lz", + "-lsqlite3", + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Debug; + }; + 4319B6AE16FF9B2B00C1D7A9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ENABLE_OBJC_ARC = YES; + COPY_PHASE_STRIP = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/System/Library/Frameworks\"", + ); + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "Resources-mac/Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + HEADER_SEARCH_PATHS = ( + "\"cocos2d/external/Chipmunk/include\"", + "\"src\"", + "\"../../spine-c/include\"", + "\"cocos2d/external/kazmath/include\"", + "\"cocos2d/external/Chipmunk/objectivec/include\"", + ); + INFOPLIST_FILE = "Resources-mac/Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glew/lib/Release/Win32\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/msvc/glfw/lib-msvc100\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libGLEW/lib\"", + "\"$(SRCROOT)/cocos2d/external/Chipmunk/xcode/libglfw/lib\"", + "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib\"", + ); + OTHER_CFLAGS = ""; + OTHER_CPLUSPLUSFLAGS = "$(OTHER_CFLAGS)"; + OTHER_LDFLAGS = ( + "-lz", + "-lsqlite3", + "-ObjC", + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + WRAPPER_EXTENSION = app; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 4319B50D16FF9B2600C1D7A9 /* Build configuration list for PBXProject "spine-cocos2d-iphone-mac" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4319B6AA16FF9B2B00C1D7A9 /* Debug */, + 4319B6AB16FF9B2B00C1D7A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4319B6AC16FF9B2B00C1D7A9 /* Build configuration list for PBXNativeTarget "SpineExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4319B6AD16FF9B2B00C1D7A9 /* Debug */, + 4319B6AE16FF9B2B00C1D7A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 4319B50A16FF9B2600C1D7A9 /* Project object */; +} diff --git a/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..0eb03b25f --- /dev/null +++ b/spine-cocos2d-iphone/3.0/spine-cocos2d-iphone-mac.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.h b/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.h new file mode 100644 index 000000000..f4c075ab3 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.h @@ -0,0 +1,51 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#import + +@interface PolygonBatch : NSObject { + int _capacity; + ccV2F_C4B_T2F* _vertices; + int _verticesCount; + GLushort* _triangles; + int _trianglesCount; + CCTexture* _texture; +} + ++ (id) createWithCapacity:(int)capacity; + +- (id) initWithCapacity:(int)capacity; + +- (void) add:(CCTexture*)texture vertices:(const float*)vertices uvs:(const float*)uvs + verticesCount:(int)verticesCount triangles:(const int*)triangles trianglesCount:(int)trianglesCount + color:(ccColor4B*)color; +- (void) flush; + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.m b/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.m new file mode 100644 index 000000000..0c9b7efc1 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/PolygonBatch.m @@ -0,0 +1,107 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#import +#import +#import +#import "CCTexture_Private.h" + +@implementation PolygonBatch + ++ (id) createWithCapacity:(int)capacity { + return [[(PolygonBatch*)[self alloc] initWithCapacity:capacity] autorelease]; +} + +- (id) initWithCapacity:(int)capacity { + // 32767 is max index, so 32767 / 3 - (32767 / 3 % 3) = 10920. + NSAssert(capacity <= 10920, @"capacity cannot be > 10920"); + NSAssert(capacity >= 0, @"capacity cannot be < 0"); + + self = [super init]; + if (!self) return nil; + + _capacity = capacity; + _vertices = MALLOC(ccV2F_C4B_T2F, capacity); + _triangles = MALLOC(GLushort, capacity * 3); + + return self; +} + +- (void) dealloc { + FREE(_vertices); + FREE(_triangles); + [super dealloc]; +} + +- (void) add:(CCTexture*)addTexture vertices:(const float*)addVertices uvs:(const float*)uvs + verticesCount:(int)addVerticesCount triangles:(const int*)addTriangles trianglesCount:(int)addTrianglesCount + color:(ccColor4B*)color { + + if ( + addTexture != _texture + || _verticesCount + (addVerticesCount >> 1) > _capacity + || _trianglesCount + addTrianglesCount > _capacity * 3) { + [self flush]; + _texture = addTexture; + } + + for (int i = 0; i < addTrianglesCount; ++i, ++_trianglesCount) + _triangles[_trianglesCount] = addTriangles[i] + _verticesCount; + + for (int i = 0; i < addVerticesCount; i += 2, ++_verticesCount) { + ccV2F_C4B_T2F* vertex = _vertices + _verticesCount; + vertex->vertices.x = addVertices[i]; + vertex->vertices.y = addVertices[i + 1]; + vertex->colors = *color; + vertex->texCoords.u = uvs[i]; + vertex->texCoords.v = uvs[i + 1]; + } +} + +- (void) flush { + if (!_verticesCount) return; + + ccGLBindTexture2D(_texture.name); + glEnableVertexAttribArray(kCCVertexAttrib_Position); + glEnableVertexAttribArray(kCCVertexAttrib_Color); + glEnableVertexAttribArray(kCCVertexAttrib_TexCoords); + glVertexAttribPointer(kCCVertexAttrib_Position, 2, GL_FLOAT, GL_FALSE, sizeof(ccV2F_C4B_T2F), &_vertices[0].vertices); + glVertexAttribPointer(kCCVertexAttrib_Color, 4, GL_UNSIGNED_BYTE, GL_TRUE, sizeof(ccV2F_C4B_T2F), &_vertices[0].colors); + glVertexAttribPointer(kCCVertexAttrib_TexCoords, 2, GL_FLOAT, GL_FALSE, sizeof(ccV2F_C4B_T2F), &_vertices[0].texCoords); + + glDrawElements(GL_TRIANGLES, _trianglesCount, GL_UNSIGNED_SHORT, _triangles); + + _verticesCount = 0; + _trianglesCount = 0; + + CHECK_GL_ERROR_DEBUG(); +} + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.h b/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.h new file mode 100644 index 000000000..30fbf2e3e --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.h @@ -0,0 +1,86 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#define SPINE_SHORT_NAMES +#import +#import +#import "cocos2d.h" + +@class SkeletonAnimation; + +typedef void(^StartListener)(int trackIndex); +typedef void(^EndListener)(int trackIndex); +typedef void(^CompleteListener)(int trackIndex, int loopCount); +typedef void(^EventListener)(int trackIndex, spEvent* event); + +/** Draws an animated skeleton, providing an AnimationState for applying one or more animations and queuing animations to be + * played later. */ +@interface SkeletonAnimation : SkeletonRenderer { + AnimationState* _state; + bool _ownsAnimationStateData; + + StartListener _startListener; + EndListener _endListener; + CompleteListener _completeListener; + EventListener _eventListener; +} + ++ (id) skeletonWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale; ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale; + +- (id) initWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; +- (id) initWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale; +- (id) initWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale; + +- (void) setAnimationStateData:(AnimationStateData*)stateData; +- (void) setMixFrom:(NSString*)fromAnimation to:(NSString*)toAnimation duration:(float)duration; + +- (TrackEntry*) setAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop; +- (TrackEntry*) addAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop afterDelay:(int)delay; +- (TrackEntry*) getCurrentForTrack:(int)trackIndex; +- (void) clearTracks; +- (void) clearTrack:(int)trackIndex; + +- (void) setListenerForEntry:(spTrackEntry*)entry onStart:(StartListener)listener; +- (void) setListenerForEntry:(spTrackEntry*)entry onEnd:(EndListener)listener; +- (void) setListenerForEntry:(spTrackEntry*)entry onComplete:(CompleteListener)listener; +- (void) setListenerForEntry:(spTrackEntry*)entry onEvent:(EventListener)listener; + +- (void) onAnimationStateEvent:(int)trackIndex type:(EventType)type event:(Event*)event loopCount:(int)loopCount; +- (void) onTrackEntryEvent:(int)trackIndex type:(EventType)type event:(Event*)event loopCount:(int)loopCount; + +@property (nonatomic, readonly) AnimationState* state; +@property (nonatomic, copy) StartListener startListener; +@property (nonatomic, copy) EndListener endListener; +@property (nonatomic, copy) CompleteListener completeListener; +@property (nonatomic, copy) EventListener eventListener; + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.m b/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.m new file mode 100644 index 000000000..8c18d2e09 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonAnimation.m @@ -0,0 +1,253 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#import +#import +#import + +static void animationCallback (AnimationState* state, int trackIndex, EventType type, Event* event, int loopCount) { + [(SkeletonAnimation*)state->rendererObject onAnimationStateEvent:trackIndex type:type event:event loopCount:loopCount]; +} + +void trackEntryCallback (spAnimationState* state, int trackIndex, spEventType type, spEvent* event, int loopCount) { + [(SkeletonAnimation*)state->rendererObject onTrackEntryEvent:trackIndex type:type event:event loopCount:loopCount]; +} + +typedef struct _TrackEntryListeners { + StartListener startListener; + EndListener endListener; + CompleteListener completeListener; + EventListener eventListener; +} _TrackEntryListeners; + +static _TrackEntryListeners* getListeners (spTrackEntry* entry) { + if (!entry->rendererObject) { + entry->rendererObject = NEW(_TrackEntryListeners); + entry->listener = trackEntryCallback; + } + return (_TrackEntryListeners*)entry->rendererObject; +} + +void disposeTrackEntry (spTrackEntry* entry) { + if (entry->rendererObject) { + _TrackEntryListeners* listeners = (_TrackEntryListeners*)entry->rendererObject; + [listeners->startListener release]; + [listeners->endListener release]; + [listeners->completeListener release]; + [listeners->eventListener release]; + FREE(listeners); + } + _spTrackEntry_dispose(entry); +} + +// + +@interface SkeletonAnimation (Private) +- (void) initialize; +@end + +@implementation SkeletonAnimation + +@synthesize state = _state; +@synthesize startListener = _startListener; +@synthesize endListener = _endListener; +@synthesize completeListener = _completeListener; +@synthesize eventListener = _eventListener; + ++ (id) skeletonWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { + return [[[self alloc] initWithData:skeletonData ownsSkeletonData:ownsSkeletonData] autorelease]; +} + ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale { + return [[[self alloc] initWithFile:skeletonDataFile atlas:atlas scale:scale] autorelease]; +} + ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale { + return [[[self alloc] initWithFile:skeletonDataFile atlasFile:atlasFile scale:scale] autorelease]; +} + +- (void) initialize { + _ownsAnimationStateData = true; + _state = AnimationState_create(AnimationStateData_create(_skeleton->data)); + _state->rendererObject = self; + _state->listener = animationCallback; + + _spAnimationState* stateInternal = (_spAnimationState*)_state; + stateInternal->disposeTrackEntry = disposeTrackEntry; +} + +- (id) initWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { + self = [super initWithData:skeletonData ownsSkeletonData:ownsSkeletonData]; + if (!self) return nil; + + [self initialize]; + + return self; +} + +- (id) initWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale { + self = [super initWithFile:skeletonDataFile atlas:atlas scale:scale]; + if (!self) return nil; + + [self initialize]; + + return self; +} + +- (id) initWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale { + self = [super initWithFile:skeletonDataFile atlasFile:atlasFile scale:scale]; + if (!self) return nil; + + [self initialize]; + + return self; +} + +- (void) dealloc { + if (_ownsAnimationStateData) AnimationStateData_dispose(_state->data); + AnimationState_dispose(_state); + + [_startListener release]; + [_endListener release]; + [_completeListener release]; + [_eventListener release]; + + [super dealloc]; +} + +- (void) update:(CCTime)deltaTime { + [super update:deltaTime]; + + deltaTime *= _timeScale; + AnimationState_update(_state, deltaTime); + AnimationState_apply(_state, _skeleton); + Skeleton_updateWorldTransform(_skeleton); +} + +- (void) setAnimationStateData:(AnimationStateData*)stateData { + NSAssert(stateData, @"stateData cannot be null."); + + if (_ownsAnimationStateData) AnimationStateData_dispose(_state->data); + AnimationState_dispose(_state); + + _ownsAnimationStateData = false; + _state = AnimationState_create(stateData); + _state->rendererObject = self; + _state->listener = animationCallback; +} + +- (void) setMixFrom:(NSString*)fromAnimation to:(NSString*)toAnimation duration:(float)duration { + AnimationStateData_setMixByName(_state->data, [fromAnimation UTF8String], [toAnimation UTF8String], duration); +} + +- (TrackEntry*) setAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop { + Animation* animation = SkeletonData_findAnimation(_skeleton->data, [name UTF8String]); + if (!animation) { + CCLOG(@"Spine: Animation not found: %@", name); + return 0; + } + return AnimationState_setAnimation(_state, trackIndex, animation, loop); +} + +- (TrackEntry*) addAnimationForTrack:(int)trackIndex name:(NSString*)name loop:(bool)loop afterDelay:(int)delay { + Animation* animation = SkeletonData_findAnimation(_skeleton->data, [name UTF8String]); + if (!animation) { + CCLOG(@"Spine: Animation not found: %@", name); + return 0; + } + return AnimationState_addAnimation(_state, trackIndex, animation, loop, delay); +} + +- (TrackEntry*) getCurrentForTrack:(int)trackIndex { + return AnimationState_getCurrent(_state, trackIndex); +} + +- (void) clearTracks { + AnimationState_clearTracks(_state); +} + +- (void) clearTrack:(int)trackIndex { + AnimationState_clearTrack(_state, trackIndex); +} + +- (void) onAnimationStateEvent:(int)trackIndex type:(EventType)type event:(Event*)event loopCount:(int)loopCount { + switch (type) { + case SP_ANIMATION_START: + if (_startListener) _startListener(trackIndex); + break; + case SP_ANIMATION_END: + if (_endListener) _endListener(trackIndex); + break; + case SP_ANIMATION_COMPLETE: + if (_completeListener) _completeListener(trackIndex, loopCount); + break; + case SP_ANIMATION_EVENT: + if (_eventListener) _eventListener(trackIndex, event); + break; + } +} + +- (void) onTrackEntryEvent:(int)trackIndex type:(EventType)type event:(Event*)event loopCount:(int)loopCount { + spTrackEntry* entry = spAnimationState_getCurrent(_state, trackIndex); + if (!entry->rendererObject) return; + _TrackEntryListeners* listeners = (_TrackEntryListeners*)entry->rendererObject; + switch (type) { + case SP_ANIMATION_START: + if (listeners->startListener) listeners->startListener(trackIndex); + break; + case SP_ANIMATION_END: + if (listeners->endListener) listeners->endListener(trackIndex); + break; + case SP_ANIMATION_COMPLETE: + if (listeners->completeListener) listeners->completeListener(trackIndex, loopCount); + break; + case SP_ANIMATION_EVENT: + if (listeners->eventListener) listeners->eventListener(trackIndex, event); + break; + } +} + +- (void) setListenerForEntry:(spTrackEntry*)entry onStart:(StartListener)listener { + getListeners(entry)->startListener = [listener copy]; +} + +- (void) setListenerForEntry:(spTrackEntry*)entry onEnd:(EndListener)listener { + getListeners(entry)->endListener = [listener copy]; +} + +- (void) setListenerForEntry:(spTrackEntry*)entry onComplete:(CompleteListener)listener { + getListeners(entry)->completeListener = [listener copy]; +} + +- (void) setListenerForEntry:(spTrackEntry*)entry onEvent:(EventListener)listener { + getListeners(entry)->eventListener = [listener copy]; +} + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.h b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.h new file mode 100644 index 000000000..c01e85ea1 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.h @@ -0,0 +1,95 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#define SPINE_SHORT_NAMES +#import +#import "cocos2d.h" + +@class PolygonBatch; + +/** Draws a skeleton. */ +@interface SkeletonRenderer : CCNode { + Skeleton* _skeleton; + Bone* _rootBone; + float _timeScale; + bool _debugSlots; + bool _debugBones; + bool _premultipliedAlpha; + ccBlendFunc _blendFunc; + + bool _ownsSkeletonData; + Atlas* _atlas; + PolygonBatch* batch; + float* worldVertices; +} + ++ (id) skeletonWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale; ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale; + +- (id) initWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; +- (id) initWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale; +- (id) initWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale; + +- (CCTexture*) getTextureForRegion:(RegionAttachment*)attachment; +- (CCTexture*) getTextureForMesh:(MeshAttachment*)attachment; +- (CCTexture*) getTextureForSkinnedMesh:(SkinnedMeshAttachment*)attachment; + +// --- Convenience methods for common Skeleton_* functions. +- (void) updateWorldTransform; + +- (void) setToSetupPose; +- (void) setBonesToSetupPose; +- (void) setSlotsToSetupPose; + +/* Returns 0 if the bone was not found. */ +- (Bone*) findBone:(NSString*)boneName; + +/* Returns 0 if the slot was not found. */ +- (Slot*) findSlot:(NSString*)slotName; + +/* Sets the skin used to look up attachments not found in the SkeletonData defaultSkin. Attachments from the new skin are + * attached if the corresponding attachment from the old skin was attached. If there was no old skin, each slot's setup mode + * attachment is attached from the new skin. Returns false if the skin was not found. + * @param skin May be 0.*/ +- (bool) setSkin:(NSString*)skinName; + +/* Returns 0 if the slot or attachment was not found. */ +- (Attachment*) getAttachment:(NSString*)slotName attachmentName:(NSString*)attachmentName; +/* Returns false if the slot or attachment was not found. */ +- (bool) setAttachment:(NSString*)slotName attachmentName:(NSString*)attachmentName; + +@property (nonatomic, readonly) Skeleton* skeleton; +@property (nonatomic) float timeScale; +@property (nonatomic) bool debugSlots; +@property (nonatomic) bool debugBones; +@property (nonatomic) Bone* rootBone; + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m new file mode 100644 index 000000000..b0c6adad1 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/SkeletonRenderer.m @@ -0,0 +1,362 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#import +#import +#import +#import +#import "CCNode_Private.h" + +static const int quadTriangles[6] = {0, 1, 2, 2, 3, 0}; + +@interface SkeletonRenderer (Private) +- (void) initialize:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData; +@end + +@implementation SkeletonRenderer + +@synthesize skeleton = _skeleton; +@synthesize rootBone = _rootBone; +@synthesize timeScale = _timeScale; +@synthesize debugSlots = _debugSlots; +@synthesize debugBones = _debugBones; + ++ (id) skeletonWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { + return [[[self alloc] initWithData:skeletonData ownsSkeletonData:ownsSkeletonData] autorelease]; +} + ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale { + return [[[self alloc] initWithFile:skeletonDataFile atlas:atlas scale:scale] autorelease]; +} + ++ (id) skeletonWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale { + return [[[self alloc] initWithFile:skeletonDataFile atlasFile:atlasFile scale:scale] autorelease]; +} + +- (void) initialize:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { + _ownsSkeletonData = ownsSkeletonData; + + _timeScale = 1; + + worldVertices = MALLOC(float, 1000); // Max number of vertices per mesh. + + batch = [[PolygonBatch createWithCapacity:2000] retain]; // Max number of vertices and triangles per batch. + + _skeleton = Skeleton_create(skeletonData); + _rootBone = _skeleton->bones[0]; + + _blendFunc.src = GL_ONE; + _blendFunc.dst = GL_ONE_MINUS_SRC_ALPHA; + [self setOpacityModifyRGB:YES]; + + [self setShaderProgram:[[CCShaderCache sharedShaderCache] programForKey:kCCShader_PositionTextureColor]]; +} + +- (id) initWithData:(SkeletonData*)skeletonData ownsSkeletonData:(bool)ownsSkeletonData { + NSAssert(skeletonData, @"skeletonData cannot be null."); + + self = [super init]; + if (!self) return nil; + + [self initialize:skeletonData ownsSkeletonData:ownsSkeletonData]; + + return self; +} + +- (id) initWithFile:(NSString*)skeletonDataFile atlas:(Atlas*)atlas scale:(float)scale { + self = [super init]; + if (!self) return nil; + + SkeletonJson* json = SkeletonJson_create(atlas); + json->scale = scale == 0 ? (1 / [CCDirector sharedDirector].contentScaleFactor) : scale; + SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, [skeletonDataFile UTF8String]); + NSAssert(skeletonData, ([NSString stringWithFormat:@"Error reading skeleton data file: %@\nError: %s", skeletonDataFile, json->error])); + SkeletonJson_dispose(json); + if (!skeletonData) return 0; + + [self initialize:skeletonData ownsSkeletonData:YES]; + + return self; +} + +- (id) initWithFile:(NSString*)skeletonDataFile atlasFile:(NSString*)atlasFile scale:(float)scale { + self = [super init]; + if (!self) return nil; + + _atlas = Atlas_createFromFile([atlasFile UTF8String], 0); + NSAssert(_atlas, ([NSString stringWithFormat:@"Error reading atlas file: %@", atlasFile])); + if (!_atlas) return 0; + + SkeletonJson* json = SkeletonJson_create(_atlas); + json->scale = scale == 0 ? (1 / [CCDirector sharedDirector].contentScaleFactor) : scale; + SkeletonData* skeletonData = SkeletonJson_readSkeletonDataFile(json, [skeletonDataFile UTF8String]); + NSAssert(skeletonData, ([NSString stringWithFormat:@"Error reading skeleton data file: %@\nError: %s", skeletonDataFile, json->error])); + SkeletonJson_dispose(json); + if (!skeletonData) return 0; + + [self initialize:skeletonData ownsSkeletonData:YES]; + + return self; +} + +- (void) dealloc { + if (_ownsSkeletonData) SkeletonData_dispose(_skeleton->data); + if (_atlas) Atlas_dispose(_atlas); + Skeleton_dispose(_skeleton); + [batch release]; + FREE(worldVertices); + [super dealloc]; +} + +- (void) update:(CCTime)deltaTime { + Skeleton_update(_skeleton, deltaTime * _timeScale); +} + +- (void) draw { + CC_NODE_DRAW_SETUP(); + + CCColor* nodeColor = self.color; + _skeleton->r = nodeColor.red; + _skeleton->g = nodeColor.green; + _skeleton->b = nodeColor.blue; + _skeleton->a = self.opacity; + + int additive = -1; + ccColor4B color; + const float* uvs = 0; + int verticesCount = 0; + const int* triangles = 0; + int trianglesCount = 0; + float r = 0, g = 0, b = 0, a = 0; + for (int i = 0, n = _skeleton->slotCount; i < n; i++) { + Slot* slot = _skeleton->drawOrder[i]; + if (!slot->attachment) continue; + CCTexture *texture = 0; + switch (slot->attachment->type) { + case SP_ATTACHMENT_REGION: { + spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment; + spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); + texture = [self getTextureForRegion:attachment]; + uvs = attachment->uvs; + verticesCount = 8; + triangles = quadTriangles; + trianglesCount = 6; + r = attachment->r; + g = attachment->g; + b = attachment->b; + a = attachment->a; + break; + } + case SP_ATTACHMENT_MESH: { + spMeshAttachment* attachment = (spMeshAttachment*)slot->attachment; + spMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); + texture = [self getTextureForMesh:attachment]; + uvs = attachment->uvs; + verticesCount = attachment->verticesCount; + triangles = attachment->triangles; + trianglesCount = attachment->trianglesCount; + r = attachment->r; + g = attachment->g; + b = attachment->b; + a = attachment->a; + break; + } + case SP_ATTACHMENT_SKINNED_MESH: { + spSkinnedMeshAttachment* attachment = (spSkinnedMeshAttachment*)slot->attachment; + spSkinnedMeshAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot, worldVertices); + texture = [self getTextureForSkinnedMesh:attachment]; + uvs = attachment->uvs; + verticesCount = attachment->uvsCount; + triangles = attachment->triangles; + trianglesCount = attachment->trianglesCount; + r = attachment->r; + g = attachment->g; + b = attachment->b; + a = attachment->a; + break; + } + default: ; + } + if (texture) { + if (slot->data->additiveBlending != additive) { + [batch flush]; + ccGLBlendFunc(_blendFunc.src, slot->data->additiveBlending ? GL_ONE : _blendFunc.dst); + additive = slot->data->additiveBlending; + } + color.a = _skeleton->a * slot->a * a * 255; + float multiplier = _premultipliedAlpha ? color.a : 255; + color.r = _skeleton->r * slot->r * r * multiplier; + color.g = _skeleton->g * slot->g * g * multiplier; + color.b = _skeleton->b * slot->b * b * multiplier; + [batch add:texture vertices:worldVertices uvs:uvs verticesCount:verticesCount + triangles:triangles trianglesCount:trianglesCount color:&color]; + } + } + [batch flush]; + + if (_debugSlots) { + // Slots. + + ccDrawColor4B(0, 0, 255, 255); + glLineWidth(1); + CGPoint points[4]; + for (int i = 0, n = _skeleton->slotCount; i < n; i++) { + Slot* slot = _skeleton->drawOrder[i]; + if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue; + RegionAttachment* attachment = (RegionAttachment*)slot->attachment; + spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices); + points[0] = ccp(worldVertices[0], worldVertices[1]); + points[1] = ccp(worldVertices[2], worldVertices[3]); + points[2] = ccp(worldVertices[4], worldVertices[5]); + points[3] = ccp(worldVertices[6], worldVertices[7]); + ccDrawPoly(points, 4, true); + } + } + if (_debugBones) { + // Bone lengths. + glLineWidth(2); + ccDrawColor4B(255, 0, 0, 255); + for (int i = 0, n = _skeleton->boneCount; i < n; i++) { + Bone *bone = _skeleton->bones[i]; + float x = bone->data->length * bone->m00 + bone->worldX; + float y = bone->data->length * bone->m10 + bone->worldY; + ccDrawLine(ccp(bone->worldX, bone->worldY), ccp(x, y)); + } + // Bone origins. + ccPointSize(4); + ccDrawColor4B(0, 0, 255, 255); // Root bone is blue. + for (int i = 0, n = _skeleton->boneCount; i < n; i++) { + Bone *bone = _skeleton->bones[i]; + ccDrawPoint(ccp(bone->worldX, bone->worldY)); + if (i == 0) ccDrawColor4B(0, 255, 0, 255); + } + } +} + +- (CCTexture*) getTextureForRegion:(RegionAttachment*)attachment { + return (CCTexture*)((AtlasRegion*)attachment->rendererObject)->page->rendererObject; +} + +- (CCTexture*) getTextureForMesh:(MeshAttachment*)attachment { + return (CCTexture*)((AtlasRegion*)attachment->rendererObject)->page->rendererObject; +} + +- (CCTexture*) getTextureForSkinnedMesh:(SkinnedMeshAttachment*)attachment { + return (CCTexture*)((AtlasRegion*)attachment->rendererObject)->page->rendererObject; +} + +- (CGRect) boundingBox { + float minX = FLT_MAX, minY = FLT_MAX, maxX = FLT_MIN, maxY = FLT_MIN; + float scaleX = self.scaleX; + float scaleY = self.scaleY; + float vertices[8]; + for (int i = 0; i < _skeleton->slotCount; ++i) { + Slot* slot = _skeleton->slots[i]; + if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue; + RegionAttachment* attachment = (RegionAttachment*)slot->attachment; + RegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, vertices); + minX = fmin(minX, vertices[VERTEX_X1] * scaleX); + minY = fmin(minY, vertices[VERTEX_Y1] * scaleY); + maxX = fmax(maxX, vertices[VERTEX_X1] * scaleX); + maxY = fmax(maxY, vertices[VERTEX_Y1] * scaleY); + minX = fmin(minX, vertices[VERTEX_X4] * scaleX); + minY = fmin(minY, vertices[VERTEX_Y4] * scaleY); + maxX = fmax(maxX, vertices[VERTEX_X4] * scaleX); + maxY = fmax(maxY, vertices[VERTEX_Y4] * scaleY); + minX = fmin(minX, vertices[VERTEX_X2] * scaleX); + minY = fmin(minY, vertices[VERTEX_Y2] * scaleY); + maxX = fmax(maxX, vertices[VERTEX_X2] * scaleX); + maxY = fmax(maxY, vertices[VERTEX_Y2] * scaleY); + minX = fmin(minX, vertices[VERTEX_X3] * scaleX); + minY = fmin(minY, vertices[VERTEX_Y3] * scaleY); + maxX = fmax(maxX, vertices[VERTEX_X3] * scaleX); + maxY = fmax(maxY, vertices[VERTEX_Y3] * scaleY); + } + minX = self.position.x + minX; + minY = self.position.y + minY; + maxX = self.position.x + maxX; + maxY = self.position.y + maxY; + return CGRectMake(minX, minY, maxX - minX, maxY - minY); +} + +// --- Convenience methods for Skeleton_* functions. + +- (void) updateWorldTransform { + Skeleton_updateWorldTransform(_skeleton); +} + +- (void) setToSetupPose { + Skeleton_setToSetupPose(_skeleton); +} +- (void) setBonesToSetupPose { + Skeleton_setBonesToSetupPose(_skeleton); +} +- (void) setSlotsToSetupPose { + Skeleton_setSlotsToSetupPose(_skeleton); +} + +- (Bone*) findBone:(NSString*)boneName { + return Skeleton_findBone(_skeleton, [boneName UTF8String]); +} + +- (Slot*) findSlot:(NSString*)slotName { + return Skeleton_findSlot(_skeleton, [slotName UTF8String]); +} + +- (bool) setSkin:(NSString*)skinName { + return (bool)Skeleton_setSkinByName(_skeleton, skinName ? [skinName UTF8String] : 0); +} + +- (Attachment*) getAttachment:(NSString*)slotName attachmentName:(NSString*)attachmentName { + return Skeleton_getAttachmentForSlotName(_skeleton, [slotName UTF8String], [attachmentName UTF8String]); +} +- (bool) setAttachment:(NSString*)slotName attachmentName:(NSString*)attachmentName { + return (bool)Skeleton_setAttachment(_skeleton, [slotName UTF8String], [attachmentName UTF8String]); +} + +// --- CCBlendProtocol + +- (void) setBlendFunc:(ccBlendFunc)func { + self.blendFunc = func; +} + +- (ccBlendFunc) blendFunc { + return _blendFunc; +} + +- (void) setOpacityModifyRGB:(BOOL)value { + _premultipliedAlpha = value; +} + +- (BOOL) doesOpacityModifyRGB { + return _premultipliedAlpha; +} + +@end diff --git a/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.h b/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.h new file mode 100644 index 000000000..7ba6b46e3 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.h @@ -0,0 +1,35 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#define SPINE_SHORT_NAMES +#import +#import "cocos2d.h" +#import +#import diff --git a/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.m b/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.m new file mode 100644 index 000000000..046c36669 --- /dev/null +++ b/spine-cocos2d-iphone/3.0/src/spine/spine-cocos2d-iphone.m @@ -0,0 +1,48 @@ +/****************************************************************************** + * Spine Runtimes Software License + * Version 2.1 + * + * Copyright (c) 2013, Esoteric Software + * All rights reserved. + * + * You are granted a perpetual, non-exclusive, non-sublicensable and + * non-transferable license to install, execute and perform the Spine Runtimes + * Software (the "Software") solely for internal use. Without the written + * permission of Esoteric Software (typically granted by licensing Spine), you + * may not (a) modify, translate, adapt or otherwise create derivative works, + * improvements of the Software or develop new applications using the Software + * or (b) remove, delete, alter or obscure any trademarks or any copyright, + * trademark, patent or other intellectual property or proprietary rights + * notices on or in the Software, including any copy thereof. Redistributions + * in binary or source form must include this license and terms. + * + * THIS SOFTWARE IS PROVIDED BY ESOTERIC SOFTWARE "AS IS" AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + * EVENT SHALL ESOTERIC SOFTARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +#import +#import + +void _AtlasPage_createTexture (AtlasPage* self, const char* path) { + CCTexture* texture = [[CCTexture textureWithFile:@(path)] retain]; + self->rendererObject = texture; + CGSize size = texture.contentSizeInPixels; + self->width = size.width; + self->height = size.height; +} + +void _AtlasPage_disposeTexture (AtlasPage* self) { + [(CCTexture*)self->rendererObject release]; +} + +char* _Util_readFile (const char* path, int* length) { + return _readFile([[[CCFileUtils sharedFileUtils] fullPathForFilename:@(path)] UTF8String], length); +}