From 3cb652087dc8d8b32cbb54006fed94c8cdfa5677 Mon Sep 17 00:00:00 2001 From: Xawotihs Date: Sun, 12 Dec 2010 15:58:47 +0000 Subject: [PATCH] iOS frontend and XCode project --- JGE/src/iOS/EAGLView.h | 33 + JGE/src/iOS/EAGLView.m | 349 +++++ JGE/src/iOS/EAGLViewController.h | 7 + JGE/src/iOS/EAGLViewController.m | 171 +++ JGE/src/iOS/EAGLViewController.xib | 333 +++++ JGE/src/iOS/ES2Renderer.h | 27 + JGE/src/iOS/ES2Renderer.m | 192 +++ JGE/src/iOS/ESRenderer.h | 11 + JGE/src/iOS/MainWindow.xib | 465 +++++++ JGE/src/iOS/main.m | 9 + JGE/src/iOS/wagicAppDelegate.h | 14 + JGE/src/iOS/wagicAppDelegate.m | 43 + projects/mtg/wagic-Info.plist | 43 + projects/mtg/wagic.xcodeproj/project.pbxproj | 1259 ++++++++++++++++++ projects/mtg/wagic_Prefix.pch | 14 + 15 files changed, 2970 insertions(+) create mode 100755 JGE/src/iOS/EAGLView.h create mode 100755 JGE/src/iOS/EAGLView.m create mode 100755 JGE/src/iOS/EAGLViewController.h create mode 100755 JGE/src/iOS/EAGLViewController.m create mode 100755 JGE/src/iOS/EAGLViewController.xib create mode 100755 JGE/src/iOS/ES2Renderer.h create mode 100755 JGE/src/iOS/ES2Renderer.m create mode 100755 JGE/src/iOS/ESRenderer.h create mode 100755 JGE/src/iOS/MainWindow.xib create mode 100755 JGE/src/iOS/main.m create mode 100755 JGE/src/iOS/wagicAppDelegate.h create mode 100755 JGE/src/iOS/wagicAppDelegate.m create mode 100755 projects/mtg/wagic-Info.plist create mode 100755 projects/mtg/wagic.xcodeproj/project.pbxproj create mode 100755 projects/mtg/wagic_Prefix.pch diff --git a/JGE/src/iOS/EAGLView.h b/JGE/src/iOS/EAGLView.h new file mode 100755 index 000000000..322eab2c2 --- /dev/null +++ b/JGE/src/iOS/EAGLView.h @@ -0,0 +1,33 @@ +#import +#import + +#import "ESRenderer.h" + +// This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass. +// The view content is basically an EAGL surface you render your OpenGL scene into. +// Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel. +@interface EAGLView : UIView +{ +@private + id renderer; + + BOOL animating; + BOOL started; + NSInteger animationFrameInterval; + // Use of the CADisplayLink class is the preferred method for controlling your animation timing. + // CADisplayLink will link to the main display and fire every vsync when added to a given run-loop. + // The NSTimer class is used only as fallback when running on a pre 3.1 device where CADisplayLink + // isn't available. + id displayLink; + CGPoint currentLocation; +} + +@property (readonly, nonatomic, getter=isAnimating) BOOL animating; +@property (nonatomic) NSInteger animationFrameInterval; +@property(nonatomic, readwrite) CGPoint currentLocation; + +- (void)startAnimation; +- (void)stopAnimation; +- (void)drawView:(id)sender; + +@end diff --git a/JGE/src/iOS/EAGLView.m b/JGE/src/iOS/EAGLView.m new file mode 100755 index 000000000..efdbfe97c --- /dev/null +++ b/JGE/src/iOS/EAGLView.m @@ -0,0 +1,349 @@ +#import "EAGLView.h" + +#import "ES2Renderer.h" + +#include +#include "JGE.h" +#include "JTypes.h" +#include "JApp.h" +#include "JFileSystem.h" +#include "JRenderer.h" +#include "JGameLauncher.h" + + +uint64_t lastTickCount; +JGE* g_engine = NULL; +static JApp* g_app = NULL; +static JGameLauncher* g_launcher = NULL; + +void JGECreateDefaultBindings() +{ +} + +int JGEGetTime() +{ + return CFAbsoluteTimeGetCurrent() * 1000; +} + +bool InitGame(void) +{ + g_engine = JGE::GetInstance(); + g_app = g_launcher->GetGameApp(); + g_app->Create(); + g_engine->SetApp(g_app); + + JRenderer::GetInstance()->Enable2D(); + struct timeval tv; + gettimeofday(&tv, NULL); + lastTickCount = tv.tv_sec * 1000 + tv.tv_usec / 1000; + + return true; +} + +void DestroyGame(void) +{ + g_engine->SetApp(NULL); + if (g_app) + { + g_app->Destroy(); + delete g_app; + g_app = NULL; + } + + JGE::Destroy(); + + g_engine = NULL; +} + + +@implementation EAGLView + +@synthesize animating; +@dynamic animationFrameInterval; +@synthesize currentLocation; + +// You must implement this method ++ (Class)layerClass +{ + return [CAEAGLLayer class]; +} + + +- (void)dealloc +{ + [renderer release]; + + [super dealloc]; +} + +-(id)initWithFrame:(CGRect)frame { + + NSLog(@"EAGL View - init With Frame: origin(%f %f) size(%f %f)", + frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); + + if ((self = [super initWithFrame:frame])) { + + self = [self initialize]; + + } // if ((self = [super initWithFrame:frame])) + + return self; +} + +//The EAGL view is stored in the nib file. When it's unarchived it's sent -initWithCoder: +- (id)initWithCoder:(NSCoder*)coder +{ + if ((self = [super initWithCoder:coder])) + { + self = [self initialize]; + } + + return self; +} + +-(id)initialize { + + NSLog(@"EAGL View - initialize EAGL"); + + CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer; + + NSLog(@"bounds: %f %f %f %f", eaglLayer.bounds.origin.x, eaglLayer.bounds.origin.y, eaglLayer.bounds.size.width, eaglLayer.bounds.size.height); + + eaglLayer.opaque = TRUE; + eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: + [NSNumber numberWithBool:FALSE], kEAGLDrawablePropertyRetainedBacking, + kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, + nil]; + + renderer = [[ES2Renderer alloc] init]; + + if (!renderer) + { + NSLog(@"OpenGl ES2 Renderer creation failed, time to code some OpenGl ES1.1 Renderer !!!"); + + [self release]; + return nil; + } + + animating = FALSE; + started = FALSE; + animationFrameInterval = 1; + displayLink = nil; + + UIGestureRecognizer *recognizer; + + /* + Create a double tap recognizer to handle OK. + */ + recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleOK:)]; + [self addGestureRecognizer:recognizer]; + ((UITapGestureRecognizer*)recognizer).numberOfTapsRequired = 2; + [recognizer release]; + + /* + Create a 2 fingers right swipe gesture recognizer to handle next phase. + */ + recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleNextPhase:)]; + ((UISwipeGestureRecognizer*)recognizer).direction = UISwipeGestureRecognizerDirectionRight; + ((UISwipeGestureRecognizer*)recognizer).numberOfTouchesRequired = 2; + [self addGestureRecognizer:recognizer]; + [recognizer release]; + + /* + Create a 2 fingers left swipe gesture recognizer to handle interruption. + */ + recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleInterrupt:)]; + ((UISwipeGestureRecognizer*)recognizer).direction = UISwipeGestureRecognizerDirectionLeft; + ((UISwipeGestureRecognizer*)recognizer).numberOfTouchesRequired = 2; + [self addGestureRecognizer:recognizer]; + [recognizer release]; + + /* + Create a 3 fingers up swipe gesture recognizer to handle menu. + */ + recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleMenu:)]; + ((UISwipeGestureRecognizer*)recognizer).direction = UISwipeGestureRecognizerDirectionUp; + ((UISwipeGestureRecognizer*)recognizer).numberOfTouchesRequired = 3; + [self addGestureRecognizer:recognizer]; + [recognizer release]; + + /* + Create a 2 fingers long press gesture recognizer to handle hand display. + */ + recognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleHand:)]; + ((UILongPressGestureRecognizer*)recognizer).minimumPressDuration = 1; + ((UILongPressGestureRecognizer*)recognizer).numberOfTouchesRequired = 2; + + [self addGestureRecognizer:recognizer]; + [recognizer release]; + + return self; +} + +- (void)handleHand:(UILongPressGestureRecognizer *)recognizer { + g_engine->HoldKey_NoRepeat(JGE_BTN_NEXT); +} + +- (void)handleMenu:(UISwipeGestureRecognizer *)recognizer { + g_engine->HoldKey_NoRepeat(JGE_BTN_MENU); +} + +- (void)handleInterrupt:(UISwipeGestureRecognizer *)recognizer { + g_engine->HoldKey_NoRepeat(JGE_BTN_SEC); +} + +- (void)handleNextPhase:(UISwipeGestureRecognizer *)recognizer { + g_engine->HoldKey_NoRepeat(JGE_BTN_PREV); +} + +- (void)handleOK:(UITapGestureRecognizer *)recognizer { + g_engine->HoldKey_NoRepeat(JGE_BTN_OK); +} + +- (void)drawView:(id)sender +{ + [renderer render]; +} + +- (void)layoutSubviews +{ + [self stopAnimation]; + [renderer resizeFromLayer:(CAEAGLLayer*)self.layer]; + [self startAnimation]; + + [self drawView:nil]; +} + +- (NSInteger)animationFrameInterval +{ + return animationFrameInterval; +} + +- (void)setAnimationFrameInterval:(NSInteger)frameInterval +{ + // Frame interval defines how many display frames must pass between each time the + // display link fires. The display link will only fire 30 times a second when the + // frame internal is two on a display that refreshes 60 times a second. The default + // frame interval setting of one will fire 60 times a second when the display refreshes + // at 60 times a second. A frame interval setting of less than one results in undefined + // behavior. + if (frameInterval >= 1) + { + animationFrameInterval = frameInterval; + + if (animating) + { + [self stopAnimation]; + [self startAnimation]; + } + } +} + +- (void)startAnimation +{ + if (!animating) + { + // CADisplayLink is API new to iPhone SDK 3.1. Compiling against earlier versions will result in a warning, but can be dismissed + // if the system version runtime check for CADisplayLink exists in -initWithCoder:. The runtime check ensures this code will + // not be called in system versions earlier than 3.1. + + displayLink = [NSClassFromString(@"CADisplayLink") displayLinkWithTarget:self selector:@selector(drawView:)]; + [displayLink setFrameInterval:animationFrameInterval]; + [displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; + + animating = TRUE; + } + + if(!started) + { + // Init JGE mess + g_launcher = new JGameLauncher(); + + u32 flags = g_launcher->GetInitFlags(); + + if ((flags&JINIT_FLAG_ENABLE3D)!=0) + { + JRenderer::Set3DFlag(true); + } + + if (!InitGame()) + { + //return 1; + } + + JGECreateDefaultBindings(); + + started = TRUE; + } +} + +- (void)stopAnimation +{ + if (animating) + { + [displayLink invalidate]; + displayLink = nil; + + animating = FALSE; + } +} + +// Handles the start of a touch +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch* touch = [[event touchesForView:self] anyObject]; + + // Convert touch point from UIView referential to OpenGL one (upside-down flip) + currentLocation = [touch previousLocationInView:self]; + ES2Renderer* es2renderer = (ES2Renderer*)renderer; + + int actualWidth = (int) JRenderer::GetInstance()->GetActualWidth(); + int actualHeight = (int) JRenderer::GetInstance()->GetActualHeight(); + if (currentLocation.y >= es2renderer.viewPort.top && + currentLocation.y <= es2renderer.viewPort.bottom && + currentLocation.x <= es2renderer.viewPort.right && + currentLocation.x >= es2renderer.viewPort.left) { + g_engine->LeftClicked( + ((currentLocation.x-es2renderer.viewPort.left)*SCREEN_WIDTH)/actualWidth, + ((currentLocation.y-es2renderer.viewPort.top)*SCREEN_HEIGHT)/actualHeight); + } else if(currentLocation.yHoldKey_NoRepeat(JGE_BTN_MENU); + } else if(currentLocation.y>es2renderer.viewPort.bottom) { + g_engine->HoldKey_NoRepeat(JGE_BTN_NEXT); + } +} + +// Handles the continuation of a touch. +- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event +{ + UITouch* touch = [[event touchesForView:self] anyObject]; + + // Convert touch point from UIView referential to OpenGL one (upside-down flip) + currentLocation = [touch previousLocationInView:self]; + ES2Renderer* es2renderer = (ES2Renderer*)renderer; + + int actualWidth = (int) JRenderer::GetInstance()->GetActualWidth(); + int actualHeight = (int) JRenderer::GetInstance()->GetActualHeight(); + if (currentLocation.y >= es2renderer.viewPort.top && + currentLocation.y <= es2renderer.viewPort.bottom && + currentLocation.x <= es2renderer.viewPort.right && + currentLocation.x >= es2renderer.viewPort.left) { + g_engine->LeftClicked( + ((currentLocation.x-es2renderer.viewPort.left)*SCREEN_WIDTH)/actualWidth, + ((currentLocation.y-es2renderer.viewPort.top)*SCREEN_HEIGHT)/actualHeight); + } else if(currentLocation.yHoldKey_NoRepeat(JGE_BTN_MENU); + } else if(currentLocation.y>es2renderer.viewPort.bottom) { + g_engine->HoldKey_NoRepeat(JGE_BTN_NEXT); + } +} + +// Handles the end of a touch event. +- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event +{ + // If appropriate, add code necessary to save the state of the application. + // This application is not saving state. +} + +@end + diff --git a/JGE/src/iOS/EAGLViewController.h b/JGE/src/iOS/EAGLViewController.h new file mode 100755 index 000000000..e95c52d21 --- /dev/null +++ b/JGE/src/iOS/EAGLViewController.h @@ -0,0 +1,7 @@ +#import + +@interface EAGLViewController : UIViewController { + +} + +@end diff --git a/JGE/src/iOS/EAGLViewController.m b/JGE/src/iOS/EAGLViewController.m new file mode 100755 index 000000000..62129c9c4 --- /dev/null +++ b/JGE/src/iOS/EAGLViewController.m @@ -0,0 +1,171 @@ +#import "EAGLViewController.h" +#import "EAGLView.h" + + + +@interface EAGLViewController (PrivateMethods) +- (NSString*)interfaceOrientationName:(UIInterfaceOrientation) interfaceOrientation; +- (NSString*)deviceOrientationName:(UIDeviceOrientation) deviceOrientation; +@end + +@implementation EAGLViewController + +- (id)init { + self = [super init]; + if (self) { + // Custom initialization. + } + return self; +} + +- (void)dealloc { + [super dealloc]; +} + + +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { + NSLog(@"EAGL ViewController - loadView"); + + CGRect frame = [[UIScreen mainScreen] applicationFrame]; + + EAGLView *eaglView = [[[EAGLView alloc] initWithFrame:frame] autorelease]; + + self.view = eaglView; +} + + +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + NSLog(@"EAGL ViewController - view Did Load"); + [super viewDidLoad]; +} + +- (void)viewWillAppear:(BOOL)animated { + + NSLog(@"EAGL ViewController - view Will Appear"); + +} + + +- (void)viewDidAppear:(BOOL)animated { + + NSLog(@"EAGL ViewController - view Did Appear"); + + UIDeviceOrientation currentDeviceOrientation = [UIDevice currentDevice].orientation; + UIInterfaceOrientation currentInterfaceOrientation = self.interfaceOrientation; + + NSLog(@"Current Interface: %@. Current Device: %@", + [self interfaceOrientationName:currentInterfaceOrientation], + [self deviceOrientationName:currentDeviceOrientation]); +} + + + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Overriden to allow any orientation. + return YES; +} + +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + + UIDeviceOrientation currentDeviceOrientation = [UIDevice currentDevice].orientation; + UIInterfaceOrientation currentInterfaceOrientation = self.interfaceOrientation; + + NSLog(@"EAGL ViewController - will Rotate To Interface: %@. Current Interface: %@. Current Device: %@", + [self interfaceOrientationName:toInterfaceOrientation], + [self interfaceOrientationName:currentInterfaceOrientation], + [self deviceOrientationName:currentDeviceOrientation]); + +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { + + UIDeviceOrientation currentDeviceOrientation = [UIDevice currentDevice].orientation; + UIInterfaceOrientation currentInterfaceOrientation = self.interfaceOrientation; + + NSLog(@"EAGL ViewController - did Rotate From Interface: %@. Current Interface: %@. Current Device: %@", + [self interfaceOrientationName:fromInterfaceOrientation], + [self interfaceOrientationName:currentInterfaceOrientation], + [self deviceOrientationName:currentDeviceOrientation]); + +} + + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc. that aren't in use. +} + + +- (void)viewDidUnload { + [super viewDidUnload]; + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (NSString*)interfaceOrientationName:(UIInterfaceOrientation) interfaceOrientation { + + NSString* result = nil; + + switch (interfaceOrientation) { + + case UIInterfaceOrientationPortrait: + result = @"Portrait"; + break; + case UIInterfaceOrientationPortraitUpsideDown: + result = @"Portrait UpsideDown"; + break; + case UIInterfaceOrientationLandscapeLeft: + result = @"LandscapeLeft"; + break; + case UIInterfaceOrientationLandscapeRight: + result = @"LandscapeRight"; + break; + default: + result = @"Unknown Interface Orientation"; + } + + return result; +}; + +- (NSString*)deviceOrientationName:(UIDeviceOrientation) deviceOrientation { + + NSString* result = nil; + + switch (deviceOrientation) { + + case UIDeviceOrientationUnknown: + result = @"Unknown"; + break; + case UIDeviceOrientationPortrait: + result = @"Portrait"; + break; + case UIDeviceOrientationPortraitUpsideDown: + result = @"Portrait UpsideDown"; + break; + case UIDeviceOrientationLandscapeLeft: + result = @"LandscapeLeft"; + break; + case UIDeviceOrientationLandscapeRight: + result = @"LandscapeRight"; + break; + case UIDeviceOrientationFaceUp: + result = @"FaceUp"; + break; + case UIDeviceOrientationFaceDown: + result = @"FaceDown"; + break; + default: + result = @"Unknown Device Orientation"; + } + + return result; +}; + + + +@end diff --git a/JGE/src/iOS/EAGLViewController.xib b/JGE/src/iOS/EAGLViewController.xib new file mode 100755 index 000000000..81b2d2bac --- /dev/null +++ b/JGE/src/iOS/EAGLViewController.xib @@ -0,0 +1,333 @@ + + + + 800 + 10D573 + 762 + 1038.29 + 460.00 + + YES + + YES + + + YES + + + + YES + + + + YES + + + YES + + + + YES + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + + + YES + + + + YES + + 0 + + + + + + -1 + + + EAGL View Controller + + + -2 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + + + YES + EAGLViewController + UIResponder + + + + YES + + + YES + + + + + YES + + + YES + + + + 3 + + + + YES + + EAGLViewController + UIViewController + + IBProjectSource + Classes/EAGLViewController.h + + + + + YES + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSNetServices.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPort.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSStream.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSXMLParser.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIAccessibility.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UINibLoading.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIResponder + NSObject + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UITextField.h + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UINavigationController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UIPopoverController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UITabBarController.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + + 0 + IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + wagic.xcodeproj + 3 + 87 + + diff --git a/JGE/src/iOS/ES2Renderer.h b/JGE/src/iOS/ES2Renderer.h new file mode 100755 index 000000000..7baf371a2 --- /dev/null +++ b/JGE/src/iOS/ES2Renderer.h @@ -0,0 +1,27 @@ +#import "ESRenderer.h" + +#import +#import + +@interface ES2Renderer : NSObject +{ +@private + EAGLContext *context; + + // The pixel dimensions of the CAEAGLLayer + GLint backingWidth; + GLint backingHeight; + + // The OpenGL ES names for the framebuffer and renderbuffer used to render to this view + GLuint defaultFramebuffer, colorRenderbuffer; + + Rect viewPort; +} + +- (void)render; +- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer; + +@property(nonatomic, readwrite) Rect viewPort; +@property(nonatomic, readwrite) GLint backingHeight; + +@end diff --git a/JGE/src/iOS/ES2Renderer.m b/JGE/src/iOS/ES2Renderer.m new file mode 100755 index 000000000..b11ca975c --- /dev/null +++ b/JGE/src/iOS/ES2Renderer.m @@ -0,0 +1,192 @@ +#import "ES2Renderer.h" + +#include +#include "JGE.h" +#include "JTypes.h" +#include "JApp.h" +#include "JFileSystem.h" +#include "JRenderer.h" +#include "JGameLauncher.h" + +#define ACTUAL_SCREEN_WIDTH (SCREEN_WIDTH) +#define ACTUAL_SCREEN_HEIGHT (SCREEN_HEIGHT) +#define ACTUAL_RATIO ((GLfloat)ACTUAL_SCREEN_WIDTH / (GLfloat)ACTUAL_SCREEN_HEIGHT) + +extern JGE* g_engine; +extern uint64_t lastTickCount; +bool checkFramebufferStatus(); + + +@implementation ES2Renderer + +@synthesize viewPort; +@synthesize backingHeight; + +// Create an OpenGL ES 2.0 context +- (id)init +{ + if ((self = [super init])) + { + backingWidth = -1; + backingHeight = -1; + + context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; + + if (!context || ![EAGLContext setCurrentContext:context]) + { + [self release]; + return nil; + } + } + + return self; +} + +- (void)render +{ + NSLog(@"Renderer - render"); + + struct timeval tv; + uint dt; + + // This application only creates a single context which is already set current at this point. + // This call is redundant, but needed if dealing with multiple contexts. + [EAGLContext setCurrentContext:context]; + + // This application only creates a single default framebuffer which is already bound at this point. + // This call is redundant, but needed if dealing with multiple framebuffers. + glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer); + + if ((GLfloat)backingWidth / (GLfloat)backingHeight < ACTUAL_RATIO) + { + viewPort.left = 0; + viewPort.top = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2; + viewPort.right = backingWidth; + viewPort.bottom = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2 + backingWidth / ACTUAL_RATIO; + } + else + { + viewPort.left = -(backingHeight*ACTUAL_RATIO-backingWidth)/2; + viewPort.top = 0; + viewPort.right = backingHeight * ACTUAL_RATIO; + viewPort.bottom = -((backingWidth/ACTUAL_RATIO)-backingHeight)/2 + backingWidth / ACTUAL_RATIO + backingHeight; + } + + glViewport(viewPort.left, viewPort.top, viewPort.right-viewPort.left, viewPort.bottom-viewPort.top); + + JRenderer::GetInstance()->SetActualWidth(viewPort.right-viewPort.left); + JRenderer::GetInstance()->SetActualHeight(viewPort.bottom-viewPort.top); + + + gettimeofday(&tv, NULL); + uint64_t tickCount = tv.tv_sec * 1000 + tv.tv_usec / 1000; + dt = (tickCount - lastTickCount); + lastTickCount = tickCount; + + g_engine->SetDelta((float)dt / 1000.0f); + g_engine->Update((float)dt / 1000.0f); + + g_engine->Render(); + + // This application only creates a single color renderbuffer which is already bound at this point. + // This call is redundant, but needed if dealing with multiple renderbuffers. + glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer); + [context presentRenderbuffer:GL_RENDERBUFFER]; +} + + +- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer +{ + if(defaultFramebuffer) { + glDeleteFramebuffers(1, &defaultFramebuffer); + defaultFramebuffer = 0; + } + + if(colorRenderbuffer) { + glDeleteRenderbuffers(1, &colorRenderbuffer); + colorRenderbuffer = 0; + } + + glGenFramebuffers(1, &defaultFramebuffer); + glBindFramebuffer(GL_FRAMEBUFFER, defaultFramebuffer); + + glGenRenderbuffers(1, &colorRenderbuffer); + glBindRenderbuffer(GL_RENDERBUFFER, colorRenderbuffer); + + // Allocate color buffer backing based on the current layer size + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer); + [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer]; + glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &backingWidth); + glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &backingHeight); + + checkFramebufferStatus(); + + glDepthFunc(GL_LEQUAL); // The Type Of Depth Testing (Less Or Equal) + glEnable(GL_TEXTURE_2D); + glEnable(GL_DEPTH_TEST); + glEnable(GL_CULL_FACE); // do not calculate inside of poly's + glFrontFace(GL_CCW); + glEnable (GL_BLEND); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +// glEnable(GL_SCISSOR_TEST); // Enable Clipping + + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Black Background (yes that's the way fuckers) + glClearDepthf(1.0f); // Depth Buffer Setup + + return YES; +} + +bool checkFramebufferStatus() { + + GLenum status = (GLenum)glCheckFramebufferStatus(GL_FRAMEBUFFER); + + switch(status) { + + case GL_FRAMEBUFFER_COMPLETE: + return true; + + case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: + printf("Framebuffer incomplete,incomplete attachment\n"); + return false; + + case GL_FRAMEBUFFER_UNSUPPORTED: + printf("Unsupported framebuffer format\n"); + return false; + + case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: + printf("Framebuffer incomplete,missing attachment\n"); + return false; + + } + + return false; +} + + +- (void)dealloc +{ + // Tear down GL + if (defaultFramebuffer) + { + glDeleteFramebuffers(1, &defaultFramebuffer); + defaultFramebuffer = 0; + } + + if (colorRenderbuffer) + { + glDeleteRenderbuffers(1, &colorRenderbuffer); + colorRenderbuffer = 0; + } + + // Tear down context + if ([EAGLContext currentContext] == context) + [EAGLContext setCurrentContext:nil]; + + [context release]; + context = nil; + + [super dealloc]; +} + +@end diff --git a/JGE/src/iOS/ESRenderer.h b/JGE/src/iOS/ESRenderer.h new file mode 100755 index 000000000..6eb55efed --- /dev/null +++ b/JGE/src/iOS/ESRenderer.h @@ -0,0 +1,11 @@ +#import + +#import +#import + +@protocol ESRenderer + +- (void)render; +- (BOOL)resizeFromLayer:(CAEAGLLayer *)layer; + +@end diff --git a/JGE/src/iOS/MainWindow.xib b/JGE/src/iOS/MainWindow.xib new file mode 100755 index 000000000..32b0a474d --- /dev/null +++ b/JGE/src/iOS/MainWindow.xib @@ -0,0 +1,465 @@ + + + + 1056 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 132 + + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + IBIPadFramework + + + IBFirstResponder + IBIPadFramework + + + IBIPadFramework + + + + 2 + + + 1 + + IBIPadFramework + NO + + + + 292 + {768, 1024} + + 1 + MSAxIDEAA + + NO + NO + IBIPadFramework + YES + YES + + + + + YES + + + window + + + + 7 + + + + delegate + + + + 8 + + + + glViewController + + + + 12 + + + + + YES + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + YES + + + + + 6 + + + + + 11 + + + EAGL View Controller + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 11.CustomClassName + 11.IBEditorWindowLastContentRect + 11.IBPluginDependency + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 2.IBViewBoundsToFrameTransform + 6.CustomClassName + 6.IBPluginDependency + + + YES + UIApplication + UIResponder + EAGLViewController + {{-4, -150}, {500, 698}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{0, 4}, {783, 852}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAAAAAAAAxH+AAA + + wagicAppDelegate + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 12 + + + + YES + + EAGLViewController + UIViewController + + IBProjectSource + Classes/EAGLViewController.h + + + + wagicAppDelegate + NSObject + + YES + + YES + glViewController + window + + + YES + EAGLViewController + UIWindow + + + + YES + + YES + glViewController + window + + + YES + + glViewController + EAGLViewController + + + window + UIWindow + + + + + IBProjectSource + Classes/wagicAppDelegate.h + + + + wagicAppDelegate + NSObject + + IBUserSource + + + + + + YES + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIAccessibility.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UINibLoading.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIApplication + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIApplication.h + + + + UIResponder + NSObject + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIPrintFormatter.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UITextField.h + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UINavigationController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UIPopoverController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UITabBarController.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + UIWindow + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIWindow.h + + + + + 0 + IBIPadFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + wagic.xcodeproj + 3 + 132 + + diff --git a/JGE/src/iOS/main.m b/JGE/src/iOS/main.m new file mode 100755 index 000000000..2a26f1b87 --- /dev/null +++ b/JGE/src/iOS/main.m @@ -0,0 +1,9 @@ +#import + +int main(int argc, char *argv[]) { + + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, nil); + [pool release]; + return retVal; +} diff --git a/JGE/src/iOS/wagicAppDelegate.h b/JGE/src/iOS/wagicAppDelegate.h new file mode 100755 index 000000000..b55d8f86e --- /dev/null +++ b/JGE/src/iOS/wagicAppDelegate.h @@ -0,0 +1,14 @@ +#import + +@class EAGLViewController; + +@interface wagicAppDelegate : NSObject { + UIWindow *window; + EAGLViewController *glViewController; +} + +@property (nonatomic, retain) IBOutlet UIWindow *window; +@property (nonatomic, retain) IBOutlet EAGLViewController *glViewController; + +@end + diff --git a/JGE/src/iOS/wagicAppDelegate.m b/JGE/src/iOS/wagicAppDelegate.m new file mode 100755 index 000000000..5dc7eb4ce --- /dev/null +++ b/JGE/src/iOS/wagicAppDelegate.m @@ -0,0 +1,43 @@ +#import "wagicAppDelegate.h" +#import "EAGLView.h" +#import "EAGLViewController.h" + + +@implementation wagicAppDelegate + +@synthesize window; +@synthesize glViewController; + + +- (void) applicationDidFinishLaunching:(UIApplication *)application +{ + [self.window addSubview:self.glViewController.view]; + [self.window makeKeyAndVisible]; +} + +- (void)applicationWillResignActive:(UIApplication *)application +{ + EAGLView *eaglView = (EAGLView *)self.glViewController.view; + [eaglView stopAnimation]; +} + +- (void)applicationDidBecomeActive:(UIApplication *)application +{ +// [glView startAnimation]; +} + +- (void)applicationWillTerminate:(UIApplication *)application +{ + EAGLView *eaglView = (EAGLView *)self.glViewController.view; + [eaglView stopAnimation]; +} + +- (void)dealloc +{ + [window release]; + [glViewController release]; + + [super dealloc]; +} + +@end diff --git a/projects/mtg/wagic-Info.plist b/projects/mtg/wagic-Info.plist new file mode 100755 index 000000000..91efc2234 --- /dev/null +++ b/projects/mtg/wagic-Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + wagic-64x64.png + CFBundleGetInfoString + + CFBundleShortVersionString + + CFBundleIdentifier + somethingsmart.com.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + NSMainNibFile + MainWindow + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/projects/mtg/wagic.xcodeproj/project.pbxproj b/projects/mtg/wagic.xcodeproj/project.pbxproj new file mode 100755 index 000000000..0711c17e8 --- /dev/null +++ b/projects/mtg/wagic.xcodeproj/project.pbxproj @@ -0,0 +1,1259 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; + 28FD15000DC6FC520079059D /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD14FF0DC6FC520079059D /* OpenGLES.framework */; }; + 28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28FD15070DC6FC5B0079059D /* QuartzCore.framework */; }; + CE885AF012861E7600CF4FC8 /* libstdc++.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = CE885AEF12861E7600CF4FC8 /* libstdc++.dylib */; }; + CE97CD1E1295AB4300FDFD3B /* SimplePopup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CE97CD1D1295AB4300FDFD3B /* SimplePopup.cpp */; }; + CE9A478512B514BA00C9F38A /* EAGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477612B514BA00C9F38A /* EAGLView.m */; }; + CE9A478612B514BA00C9F38A /* EAGLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477812B514BA00C9F38A /* EAGLViewController.m */; }; + CE9A478912B514BA00C9F38A /* ES2Renderer.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477D12B514BA00C9F38A /* ES2Renderer.m */; }; + CE9A478A12B514BA00C9F38A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A477F12B514BA00C9F38A /* main.m */; }; + CE9A478D12B514BA00C9F38A /* wagicAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9A478412B514BA00C9F38A /* wagicAppDelegate.m */; }; + CEA377581291C60500B9016A /* ActionElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376EE1291C60500B9016A /* ActionElement.cpp */; }; + CEA377591291C60500B9016A /* ActionLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376EF1291C60500B9016A /* ActionLayer.cpp */; }; + CEA3775A1291C60500B9016A /* ActionStack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F01291C60500B9016A /* ActionStack.cpp */; }; + CEA3775B1291C60500B9016A /* AIMomirPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F11291C60500B9016A /* AIMomirPlayer.cpp */; }; + CEA3775C1291C60500B9016A /* AIPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F21291C60500B9016A /* AIPlayer.cpp */; }; + CEA3775D1291C60500B9016A /* AIStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F31291C60500B9016A /* AIStats.cpp */; }; + CEA3775E1291C60500B9016A /* AllAbilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F41291C60500B9016A /* AllAbilities.cpp */; }; + CEA3775F1291C60500B9016A /* CardDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F51291C60500B9016A /* CardDescriptor.cpp */; }; + CEA377601291C60500B9016A /* CardDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F61291C60500B9016A /* CardDisplay.cpp */; }; + CEA377611291C60500B9016A /* CardEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F71291C60500B9016A /* CardEffect.cpp */; }; + CEA377621291C60500B9016A /* CardGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F81291C60500B9016A /* CardGui.cpp */; }; + CEA377631291C60500B9016A /* CardPrimitive.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376F91291C60500B9016A /* CardPrimitive.cpp */; }; + CEA377641291C60500B9016A /* CardSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FA1291C60500B9016A /* CardSelector.cpp */; }; + CEA377651291C60500B9016A /* CardSelectorSingleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FB1291C60500B9016A /* CardSelectorSingleton.cpp */; }; + CEA377661291C60500B9016A /* Closest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FC1291C60500B9016A /* Closest.cpp */; }; + CEA377671291C60500B9016A /* Counters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FD1291C60500B9016A /* Counters.cpp */; }; + CEA377681291C60500B9016A /* Credits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FE1291C60500B9016A /* Credits.cpp */; }; + CEA377691291C60500B9016A /* Damage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA376FF1291C60500B9016A /* Damage.cpp */; }; + CEA3776A1291C60500B9016A /* DamagerDamaged.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377001291C60500B9016A /* DamagerDamaged.cpp */; }; + CEA3776B1291C60500B9016A /* DeckDataWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377011291C60500B9016A /* DeckDataWrapper.cpp */; }; + CEA3776C1291C60500B9016A /* DeckEditorMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377021291C60500B9016A /* DeckEditorMenu.cpp */; }; + CEA3776D1291C60500B9016A /* DeckManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377031291C60500B9016A /* DeckManager.cpp */; }; + CEA3776E1291C60500B9016A /* DeckMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377041291C60500B9016A /* DeckMenu.cpp */; }; + CEA3776F1291C60500B9016A /* DeckMenuItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377051291C60500B9016A /* DeckMenuItem.cpp */; }; + CEA377701291C60500B9016A /* DeckMetaData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377061291C60500B9016A /* DeckMetaData.cpp */; }; + CEA377711291C60500B9016A /* DeckStats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377071291C60500B9016A /* DeckStats.cpp */; }; + CEA377721291C60500B9016A /* DuelLayers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377081291C60500B9016A /* DuelLayers.cpp */; }; + CEA377731291C60500B9016A /* Effects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377091291C60500B9016A /* Effects.cpp */; }; + CEA377741291C60500B9016A /* ExtraCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770A1291C60500B9016A /* ExtraCost.cpp */; }; + CEA377751291C60500B9016A /* GameApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770B1291C60500B9016A /* GameApp.cpp */; }; + CEA377761291C60500B9016A /* GameLauncher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770C1291C60500B9016A /* GameLauncher.cpp */; }; + CEA377771291C60500B9016A /* GameObserver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770D1291C60500B9016A /* GameObserver.cpp */; }; + CEA377781291C60500B9016A /* GameOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770E1291C60500B9016A /* GameOptions.cpp */; }; + CEA377791291C60500B9016A /* GameState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3770F1291C60500B9016A /* GameState.cpp */; }; + CEA3777A1291C60500B9016A /* GameStateAwards.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377101291C60500B9016A /* GameStateAwards.cpp */; }; + CEA3777B1291C60500B9016A /* GameStateDeckViewer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377111291C60500B9016A /* GameStateDeckViewer.cpp */; }; + CEA3777C1291C60500B9016A /* GameStateDuel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377121291C60500B9016A /* GameStateDuel.cpp */; }; + CEA3777D1291C60500B9016A /* GameStateMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377131291C60500B9016A /* GameStateMenu.cpp */; }; + CEA3777E1291C60500B9016A /* GameStateOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377141291C60500B9016A /* GameStateOptions.cpp */; }; + CEA3777F1291C60500B9016A /* GameStateShop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377151291C60500B9016A /* GameStateShop.cpp */; }; + CEA377801291C60500B9016A /* GameStateStory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377161291C60500B9016A /* GameStateStory.cpp */; }; + CEA377811291C60500B9016A /* GameStateTransitions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377171291C60500B9016A /* GameStateTransitions.cpp */; }; + CEA377821291C60500B9016A /* GuiAvatars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377181291C60500B9016A /* GuiAvatars.cpp */; }; + CEA377831291C60500B9016A /* GuiBackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377191291C60500B9016A /* GuiBackground.cpp */; }; + CEA377841291C60500B9016A /* GuiCardsController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771A1291C60500B9016A /* GuiCardsController.cpp */; }; + CEA377851291C60500B9016A /* GuiCombat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771B1291C60500B9016A /* GuiCombat.cpp */; }; + CEA377861291C60500B9016A /* GuiFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771C1291C60500B9016A /* GuiFrame.cpp */; }; + CEA377871291C60500B9016A /* GuiHand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771D1291C60500B9016A /* GuiHand.cpp */; }; + CEA377881291C60500B9016A /* GuiLayers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771E1291C60500B9016A /* GuiLayers.cpp */; }; + CEA377891291C60500B9016A /* GuiMana.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3771F1291C60500B9016A /* GuiMana.cpp */; }; + CEA3778B1291C60500B9016A /* GuiPhaseBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377211291C60500B9016A /* GuiPhaseBar.cpp */; }; + CEA3778C1291C60500B9016A /* GuiPlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377221291C60500B9016A /* GuiPlay.cpp */; }; + CEA3778D1291C60500B9016A /* GuiStatic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377231291C60500B9016A /* GuiStatic.cpp */; }; + CEA3778E1291C60500B9016A /* ManaCost.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377241291C60500B9016A /* ManaCost.cpp */; }; + CEA3778F1291C60500B9016A /* ManaCostHybrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377251291C60500B9016A /* ManaCostHybrid.cpp */; }; + CEA377901291C60500B9016A /* MenuItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377261291C60500B9016A /* MenuItem.cpp */; }; + CEA377911291C60500B9016A /* MTGAbility.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377271291C60500B9016A /* MTGAbility.cpp */; }; + CEA377931291C60500B9016A /* MTGCard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377291291C60500B9016A /* MTGCard.cpp */; }; + CEA377941291C60500B9016A /* MTGCardInstance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772A1291C60500B9016A /* MTGCardInstance.cpp */; }; + CEA377951291C60500B9016A /* MTGDeck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772B1291C60500B9016A /* MTGDeck.cpp */; }; + CEA377961291C60500B9016A /* MTGDefinitions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772C1291C60500B9016A /* MTGDefinitions.cpp */; }; + CEA377971291C60500B9016A /* MTGGamePhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772D1291C60500B9016A /* MTGGamePhase.cpp */; }; + CEA377981291C60500B9016A /* MTGGameZones.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772E1291C60500B9016A /* MTGGameZones.cpp */; }; + CEA377991291C60500B9016A /* MTGPack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3772F1291C60500B9016A /* MTGPack.cpp */; }; + CEA3779A1291C60500B9016A /* MTGRules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377301291C60500B9016A /* MTGRules.cpp */; }; + CEA3779C1291C60500B9016A /* Navigator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377321291C60500B9016A /* Navigator.cpp */; }; + CEA3779D1291C60500B9016A /* OptionItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377331291C60500B9016A /* OptionItem.cpp */; }; + CEA3779E1291C60500B9016A /* PhaseRing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377341291C60500B9016A /* PhaseRing.cpp */; }; + CEA3779F1291C60500B9016A /* Player.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377351291C60500B9016A /* Player.cpp */; }; + CEA377A01291C60500B9016A /* PlayerData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377361291C60500B9016A /* PlayerData.cpp */; }; + CEA377A11291C60500B9016A /* PlayGuiObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377371291C60500B9016A /* PlayGuiObject.cpp */; }; + CEA377A21291C60500B9016A /* PlayGuiObjectController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377381291C60500B9016A /* PlayGuiObjectController.cpp */; }; + CEA377A31291C60500B9016A /* Pos.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377391291C60500B9016A /* Pos.cpp */; }; + CEA377A41291C60500B9016A /* PrecompiledHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3773A1291C60500B9016A /* PrecompiledHeader.cpp */; }; + CEA377A51291C60500B9016A /* PriceList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3773B1291C60500B9016A /* PriceList.cpp */; }; + CEA377A61291C60500B9016A /* ReplacementEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3773C1291C60500B9016A /* ReplacementEffects.cpp */; }; + CEA377A71291C60500B9016A /* Rules.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3773D1291C60500B9016A /* Rules.cpp */; }; + CEA377A91291C60500B9016A /* SimpleMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3773F1291C60500B9016A /* SimpleMenu.cpp */; }; + CEA377AA1291C60500B9016A /* SimpleMenuItem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377401291C60500B9016A /* SimpleMenuItem.cpp */; }; + CEA377AB1291C60500B9016A /* SimplePad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377411291C60500B9016A /* SimplePad.cpp */; }; + CEA377AC1291C60500B9016A /* StoryFlow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377421291C60500B9016A /* StoryFlow.cpp */; }; + CEA377AD1291C60500B9016A /* StyleManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377431291C60500B9016A /* StyleManager.cpp */; }; + CEA377AE1291C60500B9016A /* Subtypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377441291C60500B9016A /* Subtypes.cpp */; }; + CEA377AF1291C60500B9016A /* TargetChooser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377451291C60500B9016A /* TargetChooser.cpp */; }; + CEA377B01291C60500B9016A /* TargetsList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377461291C60500B9016A /* TargetsList.cpp */; }; + CEA377B11291C60500B9016A /* Tasks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377471291C60500B9016A /* Tasks.cpp */; }; + CEA377B41291C60500B9016A /* TextScroller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774A1291C60500B9016A /* TextScroller.cpp */; }; + CEA377B51291C60500B9016A /* ThisDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774B1291C60500B9016A /* ThisDescriptor.cpp */; }; + CEA377B61291C60500B9016A /* Token.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774C1291C60500B9016A /* Token.cpp */; }; + CEA377B71291C60500B9016A /* Translate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774D1291C60500B9016A /* Translate.cpp */; }; + CEA377B81291C60500B9016A /* TranslateKeys.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774E1291C60500B9016A /* TranslateKeys.cpp */; }; + CEA377B91291C60500B9016A /* Trash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA3774F1291C60500B9016A /* Trash.cpp */; }; + CEA377BA1291C60500B9016A /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377501291C60500B9016A /* utils.cpp */; }; + CEA377BB1291C60500B9016A /* WCachedResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377511291C60500B9016A /* WCachedResource.cpp */; }; + CEA377BC1291C60500B9016A /* WDataSrc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377521291C60500B9016A /* WDataSrc.cpp */; }; + CEA377BD1291C60500B9016A /* WEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377531291C60500B9016A /* WEvent.cpp */; }; + CEA377BE1291C60500B9016A /* WFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377541291C60500B9016A /* WFilter.cpp */; }; + CEA377BF1291C60500B9016A /* WFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377551291C60500B9016A /* WFont.cpp */; }; + CEA377C01291C60500B9016A /* WGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377561291C60500B9016A /* WGui.cpp */; }; + CEA377C11291C60500B9016A /* WResourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEA377571291C60500B9016A /* WResourceManager.cpp */; }; + CECB67E112B517C000321D5A /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CECB67E012B517C000321D5A /* MainWindow.xib */; }; + CED2152C128DFAFF0050149E /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CED2152B128DFAFF0050149E /* CoreGraphics.framework */; }; + CEE232F9128A01F400C34032 /* Encoding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B1128A01F400C34032 /* Encoding.cpp */; }; + CEE232FB128A01F400C34032 /* hgecolor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B4128A01F400C34032 /* hgecolor.cpp */; }; + CEE232FC128A01F400C34032 /* hgedistort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B5128A01F400C34032 /* hgedistort.cpp */; }; + CEE232FD128A01F400C34032 /* hgefont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B6128A01F400C34032 /* hgefont.cpp */; }; + CEE232FE128A01F400C34032 /* hgeparticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B7128A01F400C34032 /* hgeparticle.cpp */; }; + CEE232FF128A01F400C34032 /* hgepmanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B8128A01F400C34032 /* hgepmanager.cpp */; }; + CEE23300128A01F400C34032 /* hgerect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232B9128A01F400C34032 /* hgerect.cpp */; }; + CEE23301128A01F400C34032 /* hgevector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232BA128A01F400C34032 /* hgevector.cpp */; }; + CEE23302128A01F400C34032 /* JAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232BB128A01F400C34032 /* JAnimator.cpp */; }; + CEE23303128A01F400C34032 /* JApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232BC128A01F400C34032 /* JApp.cpp */; }; + CEE23306128A01F400C34032 /* JDistortionMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232BF128A01F400C34032 /* JDistortionMesh.cpp */; }; + CEE23307128A01F400C34032 /* JFileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C0128A01F400C34032 /* JFileSystem.cpp */; }; + CEE23308128A01F400C34032 /* JGameObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C1128A01F400C34032 /* JGameObject.cpp */; }; + CEE2330A128A01F400C34032 /* JGE.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C3128A01F400C34032 /* JGE.cpp */; }; + CEE2330C128A01F400C34032 /* JGui.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C5128A01F400C34032 /* JGui.cpp */; }; + CEE2330D128A01F400C34032 /* JLBFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C6128A01F400C34032 /* JLBFont.cpp */; }; + CEE2330E128A01F400C34032 /* JLogger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C7128A01F400C34032 /* JLogger.cpp */; }; + CEE2330F128A01F400C34032 /* JMD2Model.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232C8128A01F400C34032 /* JMD2Model.cpp */; }; + CEE23312128A01F400C34032 /* JOBJModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232CB128A01F400C34032 /* JOBJModel.cpp */; }; + CEE23313128A01F400C34032 /* JParticle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232CC128A01F400C34032 /* JParticle.cpp */; }; + CEE23314128A01F400C34032 /* JParticleEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232CD128A01F400C34032 /* JParticleEffect.cpp */; }; + CEE23315128A01F400C34032 /* JParticleEmitter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232CE128A01F400C34032 /* JParticleEmitter.cpp */; }; + CEE23316128A01F400C34032 /* JParticleSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232CF128A01F400C34032 /* JParticleSystem.cpp */; }; + CEE23317128A01F400C34032 /* JResourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232D0128A01F400C34032 /* JResourceManager.cpp */; }; + CEE2331A128A01F400C34032 /* JSpline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232D3128A01F400C34032 /* JSpline.cpp */; }; + CEE2331B128A01F400C34032 /* JSprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232D4128A01F400C34032 /* JSprite.cpp */; }; + CEE2331E128A01F400C34032 /* JGfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232D8128A01F400C34032 /* JGfx.cpp */; }; + CEE2331F128A01F400C34032 /* JSfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232D9128A01F400C34032 /* JSfx.cpp */; }; + CEE23323128A01F400C34032 /* tinystr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232DE128A01F400C34032 /* tinystr.cpp */; }; + CEE23324128A01F400C34032 /* tinyxml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232E0128A01F400C34032 /* tinyxml.cpp */; }; + CEE23325128A01F400C34032 /* tinyxmlerror.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232E2128A01F400C34032 /* tinyxmlerror.cpp */; }; + CEE23326128A01F400C34032 /* tinyxmlparser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232E3128A01F400C34032 /* tinyxmlparser.cpp */; }; + CEE23327128A01F400C34032 /* ChangeLogUnzip in Resources */ = {isa = PBXBuildFile; fileRef = CEE232E5128A01F400C34032 /* ChangeLogUnzip */; }; + CEE23328128A01F400C34032 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = CEE232E7128A01F400C34032 /* ioapi.c */; }; + CEE2332D128A01F400C34032 /* mztools.c in Sources */ = {isa = PBXBuildFile; fileRef = CEE232EE128A01F400C34032 /* mztools.c */; }; + CEE2332E128A01F400C34032 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = CEE232F0128A01F400C34032 /* unzip.c */; }; + CEE23330128A01F400C34032 /* Vector2D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CEE232F4128A01F400C34032 /* Vector2D.cpp */; }; + CEE23331128A01F400C34032 /* vram.c in Sources */ = {isa = PBXBuildFile; fileRef = CEE232F5128A01F400C34032 /* vram.c */; }; + F233DC3812A111EB008594F2 /* icon-64x64.png in Resources */ = {isa = PBXBuildFile; fileRef = F233DC3712A111EB008594F2 /* icon-64x64.png */; }; + F2494AC912A1BBFD00D6284A /* Res in Resources */ = {isa = PBXBuildFile; fileRef = F24944BE12A1BBFD00D6284A /* Res */; }; + F2494ADC12A1BD4100D6284A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F2494ADB12A1BD4100D6284A /* libz.dylib */; }; + F2CDD5E312A6F7A2007B35AF /* EAGLViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F2CDD5E212A6F7A2007B35AF /* EAGLViewController.xib */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 1D6058910D05DD3D006BFB54 /* wagic.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = wagic.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 28FD14FF0DC6FC520079059D /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 28FD15070DC6FC5B0079059D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 8D1107310486CEB800E47090 /* wagic-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "wagic-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; + CE885AEF12861E7600CF4FC8 /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/gcc/arm-apple-darwin10/4.2.1/libstdc++.dylib"; sourceTree = SDKROOT; }; + CE8B8A231299C22900A3CDEF /* DebugRoutines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugRoutines.h; sourceTree = ""; }; + CE97CD1D1295AB4300FDFD3B /* SimplePopup.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = SimplePopup.cpp; sourceTree = ""; }; + CE97CD201295AB5400FDFD3B /* SimplePopup.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = SimplePopup.h; sourceTree = ""; }; + CE9A477512B514BA00C9F38A /* EAGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EAGLView.h; path = ../../JGE/src/iOS/EAGLView.h; sourceTree = SOURCE_ROOT; }; + CE9A477612B514BA00C9F38A /* EAGLView.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = EAGLView.m; path = ../../JGE/src/iOS/EAGLView.m; sourceTree = SOURCE_ROOT; }; + CE9A477712B514BA00C9F38A /* EAGLViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EAGLViewController.h; path = ../../JGE/src/iOS/EAGLViewController.h; sourceTree = SOURCE_ROOT; }; + CE9A477812B514BA00C9F38A /* EAGLViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = EAGLViewController.m; path = ../../JGE/src/iOS/EAGLViewController.m; sourceTree = SOURCE_ROOT; }; + CE9A477C12B514BA00C9F38A /* ES2Renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ES2Renderer.h; path = ../../JGE/src/iOS/ES2Renderer.h; sourceTree = SOURCE_ROOT; }; + CE9A477D12B514BA00C9F38A /* ES2Renderer.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = ES2Renderer.m; path = ../../JGE/src/iOS/ES2Renderer.m; sourceTree = SOURCE_ROOT; }; + CE9A477E12B514BA00C9F38A /* ESRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ESRenderer.h; path = ../../JGE/src/iOS/ESRenderer.h; sourceTree = SOURCE_ROOT; }; + CE9A477F12B514BA00C9F38A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../../JGE/src/iOS/main.m; sourceTree = SOURCE_ROOT; }; + CE9A478112B514BA00C9F38A /* wagic_Prefix.pch */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = wagic_Prefix.pch; sourceTree = ""; }; + CE9A478312B514BA00C9F38A /* wagicAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wagicAppDelegate.h; path = ../../JGE/src/iOS/wagicAppDelegate.h; sourceTree = SOURCE_ROOT; }; + CE9A478412B514BA00C9F38A /* wagicAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = wagicAppDelegate.m; path = ../../JGE/src/iOS/wagicAppDelegate.m; sourceTree = SOURCE_ROOT; }; + CEA376861291C60500B9016A /* ActionElement.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ActionElement.h; sourceTree = ""; }; + CEA376871291C60500B9016A /* ActionLayer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ActionLayer.h; sourceTree = ""; }; + CEA376881291C60500B9016A /* ActionStack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ActionStack.h; sourceTree = ""; }; + CEA376891291C60500B9016A /* AIMomirPlayer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = AIMomirPlayer.h; sourceTree = ""; }; + CEA3768A1291C60500B9016A /* AIPlayer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = AIPlayer.h; sourceTree = ""; }; + CEA3768B1291C60500B9016A /* AIStats.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = AIStats.h; sourceTree = ""; }; + CEA3768C1291C60500B9016A /* AllAbilities.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = AllAbilities.h; sourceTree = ""; }; + CEA3768D1291C60500B9016A /* CardDescriptor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardDescriptor.h; sourceTree = ""; }; + CEA3768E1291C60500B9016A /* CardDisplay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardDisplay.h; sourceTree = ""; }; + CEA3768F1291C60500B9016A /* CardEffect.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardEffect.h; sourceTree = ""; }; + CEA376901291C60500B9016A /* CardGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardGui.h; sourceTree = ""; }; + CEA376911291C60500B9016A /* CardPrimitive.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardPrimitive.h; sourceTree = ""; }; + CEA376921291C60500B9016A /* CardSelector.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardSelector.h; sourceTree = ""; }; + CEA376931291C60500B9016A /* CardSelectorSingleton.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = CardSelectorSingleton.h; sourceTree = ""; }; + CEA376941291C60500B9016A /* config.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = config.h; sourceTree = ""; }; + CEA376951291C60500B9016A /* Counters.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Counters.h; sourceTree = ""; }; + CEA376961291C60500B9016A /* Credits.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Credits.h; sourceTree = ""; }; + CEA376971291C60500B9016A /* Damage.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Damage.h; sourceTree = ""; }; + CEA376981291C60500B9016A /* DamagerDamaged.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DamagerDamaged.h; sourceTree = ""; }; + CEA376991291C60500B9016A /* DeckDataWrapper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckDataWrapper.h; sourceTree = ""; }; + CEA3769A1291C60500B9016A /* DeckEditorMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckEditorMenu.h; sourceTree = ""; }; + CEA3769B1291C60500B9016A /* DeckManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckManager.h; sourceTree = ""; }; + CEA3769C1291C60500B9016A /* DeckMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckMenu.h; sourceTree = ""; }; + CEA3769D1291C60500B9016A /* DeckMenuItem.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckMenuItem.h; sourceTree = ""; }; + CEA3769E1291C60500B9016A /* DeckMetaData.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckMetaData.h; sourceTree = ""; }; + CEA3769F1291C60500B9016A /* DeckStats.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DeckStats.h; sourceTree = ""; }; + CEA376A01291C60500B9016A /* DuelLayers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DuelLayers.h; sourceTree = ""; }; + CEA376A11291C60500B9016A /* Effects.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Effects.h; sourceTree = ""; }; + CEA376A21291C60500B9016A /* ExtraCost.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ExtraCost.h; sourceTree = ""; }; + CEA376A31291C60500B9016A /* GameApp.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameApp.h; sourceTree = ""; }; + CEA376A41291C60500B9016A /* GameObserver.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameObserver.h; sourceTree = ""; }; + CEA376A51291C60500B9016A /* GameOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameOptions.h; sourceTree = ""; }; + CEA376A61291C60500B9016A /* GameState.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameState.h; sourceTree = ""; }; + CEA376A71291C60500B9016A /* GameStateAwards.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateAwards.h; sourceTree = ""; }; + CEA376A81291C60500B9016A /* GameStateDeckViewer.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateDeckViewer.h; sourceTree = ""; }; + CEA376A91291C60500B9016A /* GameStateDuel.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateDuel.h; sourceTree = ""; }; + CEA376AA1291C60500B9016A /* GameStateMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateMenu.h; sourceTree = ""; }; + CEA376AB1291C60500B9016A /* GameStateOptions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateOptions.h; sourceTree = ""; }; + CEA376AC1291C60500B9016A /* GameStateShop.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateShop.h; sourceTree = ""; }; + CEA376AD1291C60500B9016A /* GameStateStory.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateStory.h; sourceTree = ""; }; + CEA376AE1291C60500B9016A /* GameStateTransitions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GameStateTransitions.h; sourceTree = ""; }; + CEA376AF1291C60500B9016A /* GuiAvatars.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiAvatars.h; sourceTree = ""; }; + CEA376B01291C60500B9016A /* GuiBackground.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiBackground.h; sourceTree = ""; }; + CEA376B11291C60500B9016A /* GuiCardsController.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiCardsController.h; sourceTree = ""; }; + CEA376B21291C60500B9016A /* GuiCombat.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiCombat.h; sourceTree = ""; }; + CEA376B31291C60500B9016A /* GuiFrame.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiFrame.h; sourceTree = ""; }; + CEA376B41291C60500B9016A /* GuiHand.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiHand.h; sourceTree = ""; }; + CEA376B51291C60500B9016A /* GuiLayers.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiLayers.h; sourceTree = ""; }; + CEA376B61291C60500B9016A /* GuiMana.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiMana.h; sourceTree = ""; }; + CEA376B71291C60500B9016A /* GuiPhaseBar.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiPhaseBar.h; sourceTree = ""; }; + CEA376B81291C60500B9016A /* GuiPlay.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiPlay.h; sourceTree = ""; }; + CEA376B91291C60500B9016A /* GuiStatic.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = GuiStatic.h; sourceTree = ""; }; + CEA376BA1291C60500B9016A /* ManaCost.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ManaCost.h; sourceTree = ""; }; + CEA376BB1291C60500B9016A /* ManaCostHybrid.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ManaCostHybrid.h; sourceTree = ""; }; + CEA376BC1291C60500B9016A /* MenuItem.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MenuItem.h; sourceTree = ""; }; + CEA376BD1291C60500B9016A /* MTGAbility.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGAbility.h; sourceTree = ""; }; + CEA376BE1291C60500B9016A /* MTGCard.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGCard.h; sourceTree = ""; }; + CEA376BF1291C60500B9016A /* MTGCardInstance.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGCardInstance.h; sourceTree = ""; }; + CEA376C01291C60500B9016A /* MTGDeck.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGDeck.h; sourceTree = ""; }; + CEA376C11291C60500B9016A /* MTGDefinitions.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGDefinitions.h; sourceTree = ""; }; + CEA376C21291C60500B9016A /* MTGGamePhase.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGGamePhase.h; sourceTree = ""; }; + CEA376C31291C60500B9016A /* MTGGameZones.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGGameZones.h; sourceTree = ""; }; + CEA376C41291C60500B9016A /* MTGPack.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGPack.h; sourceTree = ""; }; + CEA376C51291C60500B9016A /* MTGRules.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = MTGRules.h; sourceTree = ""; }; + CEA376C61291C60500B9016A /* Navigator.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Navigator.h; sourceTree = ""; }; + CEA376C71291C60500B9016A /* OptionItem.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = OptionItem.h; sourceTree = ""; }; + CEA376C81291C60500B9016A /* OSD.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = OSD.h; sourceTree = ""; }; + CEA376C91291C60500B9016A /* PhaseRing.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PhaseRing.h; sourceTree = ""; }; + CEA376CA1291C60500B9016A /* Player.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Player.h; sourceTree = ""; }; + CEA376CB1291C60500B9016A /* PlayerData.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PlayerData.h; sourceTree = ""; }; + CEA376CC1291C60500B9016A /* PlayGuiObject.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PlayGuiObject.h; sourceTree = ""; }; + CEA376CD1291C60500B9016A /* PlayGuiObjectController.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PlayGuiObjectController.h; sourceTree = ""; }; + CEA376CE1291C60500B9016A /* Pos.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Pos.h; sourceTree = ""; }; + CEA376CF1291C60500B9016A /* PrecompiledHeader.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PrecompiledHeader.h; sourceTree = ""; }; + CEA376D01291C60500B9016A /* PriceList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = PriceList.h; sourceTree = ""; }; + CEA376D11291C60500B9016A /* ReplacementEffects.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ReplacementEffects.h; sourceTree = ""; }; + CEA376D21291C60500B9016A /* Rules.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Rules.h; sourceTree = ""; }; + CEA376D41291C60500B9016A /* SimpleMenu.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = SimpleMenu.h; sourceTree = ""; }; + CEA376D51291C60500B9016A /* SimpleMenuItem.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = SimpleMenuItem.h; sourceTree = ""; }; + CEA376D61291C60500B9016A /* SimplePad.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = SimplePad.h; sourceTree = ""; }; + CEA376D71291C60500B9016A /* StoryFlow.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = StoryFlow.h; sourceTree = ""; }; + CEA376D81291C60500B9016A /* StyleManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = StyleManager.h; sourceTree = ""; }; + CEA376D91291C60500B9016A /* Subtypes.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Subtypes.h; sourceTree = ""; }; + CEA376DA1291C60500B9016A /* Targetable.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Targetable.h; sourceTree = ""; }; + CEA376DB1291C60500B9016A /* TargetChooser.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TargetChooser.h; sourceTree = ""; }; + CEA376DC1291C60500B9016A /* TargetsList.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TargetsList.h; sourceTree = ""; }; + CEA376DD1291C60500B9016A /* Tasks.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Tasks.h; sourceTree = ""; }; + CEA376DE1291C60500B9016A /* TestSuiteAI.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TestSuiteAI.h; sourceTree = ""; }; + CEA376DF1291C60500B9016A /* TextScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TextScroller.h; sourceTree = ""; }; + CEA376E01291C60500B9016A /* ThisDescriptor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = ThisDescriptor.h; sourceTree = ""; }; + CEA376E11291C60500B9016A /* Token.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Token.h; sourceTree = ""; }; + CEA376E21291C60500B9016A /* Translate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Translate.h; sourceTree = ""; }; + CEA376E31291C60500B9016A /* TranslateKeys.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = TranslateKeys.h; sourceTree = ""; }; + CEA376E41291C60500B9016A /* Trash.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Trash.h; sourceTree = ""; }; + CEA376E51291C60500B9016A /* utils.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = utils.h; sourceTree = ""; }; + CEA376E61291C60500B9016A /* WCachedResource.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WCachedResource.h; sourceTree = ""; }; + CEA376E71291C60500B9016A /* WDataSrc.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WDataSrc.h; sourceTree = ""; }; + CEA376E81291C60500B9016A /* WEvent.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WEvent.h; sourceTree = ""; }; + CEA376E91291C60500B9016A /* WFilter.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WFilter.h; sourceTree = ""; }; + CEA376EA1291C60500B9016A /* WFont.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WFont.h; sourceTree = ""; }; + CEA376EB1291C60500B9016A /* WGui.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WGui.h; sourceTree = ""; }; + CEA376EC1291C60500B9016A /* WResourceManager.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = WResourceManager.h; sourceTree = ""; }; + CEA376EE1291C60500B9016A /* ActionElement.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ActionElement.cpp; sourceTree = ""; }; + CEA376EF1291C60500B9016A /* ActionLayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ActionLayer.cpp; sourceTree = ""; }; + CEA376F01291C60500B9016A /* ActionStack.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ActionStack.cpp; sourceTree = ""; }; + CEA376F11291C60500B9016A /* AIMomirPlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = AIMomirPlayer.cpp; sourceTree = ""; }; + CEA376F21291C60500B9016A /* AIPlayer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = AIPlayer.cpp; sourceTree = ""; }; + CEA376F31291C60500B9016A /* AIStats.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = AIStats.cpp; sourceTree = ""; }; + CEA376F41291C60500B9016A /* AllAbilities.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = AllAbilities.cpp; sourceTree = ""; }; + CEA376F51291C60500B9016A /* CardDescriptor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardDescriptor.cpp; sourceTree = ""; }; + CEA376F61291C60500B9016A /* CardDisplay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardDisplay.cpp; sourceTree = ""; }; + CEA376F71291C60500B9016A /* CardEffect.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardEffect.cpp; sourceTree = ""; }; + CEA376F81291C60500B9016A /* CardGui.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardGui.cpp; sourceTree = ""; }; + CEA376F91291C60500B9016A /* CardPrimitive.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardPrimitive.cpp; sourceTree = ""; }; + CEA376FA1291C60500B9016A /* CardSelector.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardSelector.cpp; sourceTree = ""; }; + CEA376FB1291C60500B9016A /* CardSelectorSingleton.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = CardSelectorSingleton.cpp; sourceTree = ""; }; + CEA376FC1291C60500B9016A /* Closest.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = Closest.cpp; sourceTree = ""; }; + CEA376FD1291C60500B9016A /* Counters.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Counters.cpp; sourceTree = ""; }; + CEA376FE1291C60500B9016A /* Credits.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Credits.cpp; sourceTree = ""; }; + CEA376FF1291C60500B9016A /* Damage.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Damage.cpp; sourceTree = ""; }; + CEA377001291C60500B9016A /* DamagerDamaged.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DamagerDamaged.cpp; sourceTree = ""; }; + CEA377011291C60500B9016A /* DeckDataWrapper.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckDataWrapper.cpp; sourceTree = ""; }; + CEA377021291C60500B9016A /* DeckEditorMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckEditorMenu.cpp; sourceTree = ""; }; + CEA377031291C60500B9016A /* DeckManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckManager.cpp; sourceTree = ""; }; + CEA377041291C60500B9016A /* DeckMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckMenu.cpp; sourceTree = ""; }; + CEA377051291C60500B9016A /* DeckMenuItem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckMenuItem.cpp; sourceTree = ""; }; + CEA377061291C60500B9016A /* DeckMetaData.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckMetaData.cpp; sourceTree = ""; }; + CEA377071291C60500B9016A /* DeckStats.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DeckStats.cpp; sourceTree = ""; }; + CEA377081291C60500B9016A /* DuelLayers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = DuelLayers.cpp; sourceTree = ""; }; + CEA377091291C60500B9016A /* Effects.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Effects.cpp; sourceTree = ""; }; + CEA3770A1291C60500B9016A /* ExtraCost.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ExtraCost.cpp; sourceTree = ""; }; + CEA3770B1291C60500B9016A /* GameApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameApp.cpp; sourceTree = ""; }; + CEA3770C1291C60500B9016A /* GameLauncher.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameLauncher.cpp; sourceTree = ""; }; + CEA3770D1291C60500B9016A /* GameObserver.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameObserver.cpp; sourceTree = ""; }; + CEA3770E1291C60500B9016A /* GameOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameOptions.cpp; sourceTree = ""; }; + CEA3770F1291C60500B9016A /* GameState.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameState.cpp; sourceTree = ""; }; + CEA377101291C60500B9016A /* GameStateAwards.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateAwards.cpp; sourceTree = ""; }; + CEA377111291C60500B9016A /* GameStateDeckViewer.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateDeckViewer.cpp; sourceTree = ""; }; + CEA377121291C60500B9016A /* GameStateDuel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateDuel.cpp; sourceTree = ""; }; + CEA377131291C60500B9016A /* GameStateMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateMenu.cpp; sourceTree = ""; }; + CEA377141291C60500B9016A /* GameStateOptions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateOptions.cpp; sourceTree = ""; }; + CEA377151291C60500B9016A /* GameStateShop.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateShop.cpp; sourceTree = ""; }; + CEA377161291C60500B9016A /* GameStateStory.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateStory.cpp; sourceTree = ""; }; + CEA377171291C60500B9016A /* GameStateTransitions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GameStateTransitions.cpp; sourceTree = ""; }; + CEA377181291C60500B9016A /* GuiAvatars.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiAvatars.cpp; sourceTree = ""; }; + CEA377191291C60500B9016A /* GuiBackground.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiBackground.cpp; sourceTree = ""; }; + CEA3771A1291C60500B9016A /* GuiCardsController.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiCardsController.cpp; sourceTree = ""; }; + CEA3771B1291C60500B9016A /* GuiCombat.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiCombat.cpp; sourceTree = ""; }; + CEA3771C1291C60500B9016A /* GuiFrame.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiFrame.cpp; sourceTree = ""; }; + CEA3771D1291C60500B9016A /* GuiHand.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiHand.cpp; sourceTree = ""; }; + CEA3771E1291C60500B9016A /* GuiLayers.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiLayers.cpp; sourceTree = ""; }; + CEA3771F1291C60500B9016A /* GuiMana.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiMana.cpp; sourceTree = ""; }; + CEA377211291C60500B9016A /* GuiPhaseBar.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiPhaseBar.cpp; sourceTree = ""; }; + CEA377221291C60500B9016A /* GuiPlay.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiPlay.cpp; sourceTree = ""; }; + CEA377231291C60500B9016A /* GuiStatic.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = GuiStatic.cpp; sourceTree = ""; }; + CEA377241291C60500B9016A /* ManaCost.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ManaCost.cpp; sourceTree = ""; }; + CEA377251291C60500B9016A /* ManaCostHybrid.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ManaCostHybrid.cpp; sourceTree = ""; }; + CEA377261291C60500B9016A /* MenuItem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MenuItem.cpp; sourceTree = ""; }; + CEA377271291C60500B9016A /* MTGAbility.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGAbility.cpp; sourceTree = ""; }; + CEA377291291C60500B9016A /* MTGCard.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGCard.cpp; sourceTree = ""; }; + CEA3772A1291C60500B9016A /* MTGCardInstance.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGCardInstance.cpp; sourceTree = ""; }; + CEA3772B1291C60500B9016A /* MTGDeck.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGDeck.cpp; sourceTree = ""; }; + CEA3772C1291C60500B9016A /* MTGDefinitions.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGDefinitions.cpp; sourceTree = ""; }; + CEA3772D1291C60500B9016A /* MTGGamePhase.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGGamePhase.cpp; sourceTree = ""; }; + CEA3772E1291C60500B9016A /* MTGGameZones.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGGameZones.cpp; sourceTree = ""; }; + CEA3772F1291C60500B9016A /* MTGPack.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGPack.cpp; sourceTree = ""; }; + CEA377301291C60500B9016A /* MTGRules.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = MTGRules.cpp; sourceTree = ""; }; + CEA377321291C60500B9016A /* Navigator.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Navigator.cpp; sourceTree = ""; }; + CEA377331291C60500B9016A /* OptionItem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = OptionItem.cpp; sourceTree = ""; }; + CEA377341291C60500B9016A /* PhaseRing.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PhaseRing.cpp; sourceTree = ""; }; + CEA377351291C60500B9016A /* Player.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Player.cpp; sourceTree = ""; }; + CEA377361291C60500B9016A /* PlayerData.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PlayerData.cpp; sourceTree = ""; }; + CEA377371291C60500B9016A /* PlayGuiObject.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PlayGuiObject.cpp; sourceTree = ""; }; + CEA377381291C60500B9016A /* PlayGuiObjectController.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PlayGuiObjectController.cpp; sourceTree = ""; }; + CEA377391291C60500B9016A /* Pos.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Pos.cpp; sourceTree = ""; }; + CEA3773A1291C60500B9016A /* PrecompiledHeader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PrecompiledHeader.cpp; sourceTree = ""; }; + CEA3773B1291C60500B9016A /* PriceList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = PriceList.cpp; sourceTree = ""; }; + CEA3773C1291C60500B9016A /* ReplacementEffects.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ReplacementEffects.cpp; sourceTree = ""; }; + CEA3773D1291C60500B9016A /* Rules.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Rules.cpp; sourceTree = ""; }; + CEA3773F1291C60500B9016A /* SimpleMenu.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = SimpleMenu.cpp; sourceTree = ""; }; + CEA377401291C60500B9016A /* SimpleMenuItem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = SimpleMenuItem.cpp; sourceTree = ""; }; + CEA377411291C60500B9016A /* SimplePad.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = SimplePad.cpp; sourceTree = ""; }; + CEA377421291C60500B9016A /* StoryFlow.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = StoryFlow.cpp; sourceTree = ""; }; + CEA377431291C60500B9016A /* StyleManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = StyleManager.cpp; sourceTree = ""; }; + CEA377441291C60500B9016A /* Subtypes.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Subtypes.cpp; sourceTree = ""; }; + CEA377451291C60500B9016A /* TargetChooser.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = TargetChooser.cpp; sourceTree = ""; }; + CEA377461291C60500B9016A /* TargetsList.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = TargetsList.cpp; sourceTree = ""; }; + CEA377471291C60500B9016A /* Tasks.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Tasks.cpp; sourceTree = ""; }; + CEA3774A1291C60500B9016A /* TextScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = TextScroller.cpp; sourceTree = ""; }; + CEA3774B1291C60500B9016A /* ThisDescriptor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = ThisDescriptor.cpp; sourceTree = ""; }; + CEA3774C1291C60500B9016A /* Token.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Token.cpp; sourceTree = ""; }; + CEA3774D1291C60500B9016A /* Translate.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Translate.cpp; sourceTree = ""; }; + CEA3774E1291C60500B9016A /* TranslateKeys.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = TranslateKeys.cpp; sourceTree = ""; }; + CEA3774F1291C60500B9016A /* Trash.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = Trash.cpp; sourceTree = ""; }; + CEA377501291C60500B9016A /* utils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = utils.cpp; sourceTree = ""; }; + CEA377511291C60500B9016A /* WCachedResource.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WCachedResource.cpp; sourceTree = ""; }; + CEA377521291C60500B9016A /* WDataSrc.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WDataSrc.cpp; sourceTree = ""; }; + CEA377531291C60500B9016A /* WEvent.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WEvent.cpp; sourceTree = ""; }; + CEA377541291C60500B9016A /* WFilter.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WFilter.cpp; sourceTree = ""; }; + CEA377551291C60500B9016A /* WFont.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WFont.cpp; sourceTree = ""; }; + CEA377561291C60500B9016A /* WGui.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WGui.cpp; sourceTree = ""; }; + CEA377571291C60500B9016A /* WResourceManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = WResourceManager.cpp; sourceTree = ""; }; + CECB67E012B517C000321D5A /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MainWindow.xib; path = ../../JGE/src/iOS/MainWindow.xib; sourceTree = SOURCE_ROOT; }; + CED2152B128DFAFF0050149E /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + CEE2321D128A01DD00C34032 /* Encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Encoding.h; sourceTree = ""; }; + CEE2321F128A01DD00C34032 /* hgecolor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgecolor.h; sourceTree = ""; }; + CEE23220128A01DD00C34032 /* hgedistort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgedistort.h; sourceTree = ""; }; + CEE23221128A01DD00C34032 /* hgefont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgefont.h; sourceTree = ""; }; + CEE23222128A01DD00C34032 /* hgeparticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgeparticle.h; sourceTree = ""; }; + CEE23223128A01DD00C34032 /* hgerect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgerect.h; sourceTree = ""; }; + CEE23224128A01DD00C34032 /* hgevector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hgevector.h; sourceTree = ""; }; + CEE23225128A01DD00C34032 /* JAnimator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JAnimator.h; sourceTree = ""; }; + CEE23226128A01DD00C34032 /* JApp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JApp.h; sourceTree = ""; }; + CEE23227128A01DD00C34032 /* JAssert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JAssert.h; sourceTree = ""; }; + CEE23228128A01DD00C34032 /* JAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JAudio.h; sourceTree = ""; }; + CEE23229128A01DD00C34032 /* JCooleyesMP3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JCooleyesMP3.h; sourceTree = ""; }; + CEE2322A128A01DD00C34032 /* JDistortionMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JDistortionMesh.h; sourceTree = ""; }; + CEE2322B128A01DD00C34032 /* JFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JFileSystem.h; sourceTree = ""; }; + CEE2322C128A01DD00C34032 /* JGameLauncher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JGameLauncher.h; sourceTree = ""; }; + CEE2322D128A01DD00C34032 /* JGameObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JGameObject.h; sourceTree = ""; }; + CEE2322F128A01DD00C34032 /* JGE.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JGE.h; sourceTree = ""; }; + CEE23230128A01DD00C34032 /* JGui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JGui.h; sourceTree = ""; }; + CEE23231128A01DD00C34032 /* JLBFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JLBFont.h; sourceTree = ""; }; + CEE23232128A01DD00C34032 /* JLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JLogger.h; sourceTree = ""; }; + CEE23233128A01DD00C34032 /* JMD2Model.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JMD2Model.h; sourceTree = ""; }; + CEE23234128A01DD00C34032 /* JMP3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JMP3.h; sourceTree = ""; }; + CEE23235128A01DD00C34032 /* JNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JNetwork.h; sourceTree = ""; }; + CEE23236128A01DD00C34032 /* JOBJModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JOBJModel.h; sourceTree = ""; }; + CEE23237128A01DD00C34032 /* JParticle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JParticle.h; sourceTree = ""; }; + CEE23238128A01DD00C34032 /* JParticleEffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JParticleEffect.h; sourceTree = ""; }; + CEE23239128A01DD00C34032 /* JParticleEmitter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JParticleEmitter.h; sourceTree = ""; }; + CEE2323A128A01DD00C34032 /* JParticleSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JParticleSystem.h; sourceTree = ""; }; + CEE2323B128A01DD00C34032 /* JRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JRenderer.h; sourceTree = ""; }; + CEE2323C128A01DD00C34032 /* JResourceManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JResourceManager.h; sourceTree = ""; }; + CEE2323D128A01DD00C34032 /* JSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSocket.h; sourceTree = ""; }; + CEE2323E128A01DD00C34032 /* JSoundSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSoundSystem.h; sourceTree = ""; }; + CEE2323F128A01DD00C34032 /* JSpline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSpline.h; sourceTree = ""; }; + CEE23240128A01DD00C34032 /* JSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSprite.h; sourceTree = ""; }; + CEE23242128A01DD00C34032 /* JTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JTypes.h; sourceTree = ""; }; + CEE232AC128A01DE00C34032 /* Vector2D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vector2D.h; sourceTree = ""; }; + CEE232AD128A01DE00C34032 /* Vector3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Vector3D.h; sourceTree = ""; }; + CEE232AE128A01DE00C34032 /* vram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vram.h; sourceTree = ""; }; + CEE232B1128A01F400C34032 /* Encoding.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = Encoding.cpp; sourceTree = ""; }; + CEE232B4128A01F400C34032 /* hgecolor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgecolor.cpp; sourceTree = ""; }; + CEE232B5128A01F400C34032 /* hgedistort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgedistort.cpp; sourceTree = ""; }; + CEE232B6128A01F400C34032 /* hgefont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgefont.cpp; sourceTree = ""; }; + CEE232B7128A01F400C34032 /* hgeparticle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgeparticle.cpp; sourceTree = ""; }; + CEE232B8128A01F400C34032 /* hgepmanager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgepmanager.cpp; sourceTree = ""; }; + CEE232B9128A01F400C34032 /* hgerect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgerect.cpp; sourceTree = ""; }; + CEE232BA128A01F400C34032 /* hgevector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = hgevector.cpp; sourceTree = ""; }; + CEE232BB128A01F400C34032 /* JAnimator.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JAnimator.cpp; sourceTree = ""; }; + CEE232BC128A01F400C34032 /* JApp.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JApp.cpp; sourceTree = ""; }; + CEE232BF128A01F400C34032 /* JDistortionMesh.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JDistortionMesh.cpp; sourceTree = ""; }; + CEE232C0128A01F400C34032 /* JFileSystem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JFileSystem.cpp; sourceTree = ""; }; + CEE232C1128A01F400C34032 /* JGameObject.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JGameObject.cpp; sourceTree = ""; }; + CEE232C3128A01F400C34032 /* JGE.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JGE.cpp; sourceTree = ""; }; + CEE232C5128A01F400C34032 /* JGui.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JGui.cpp; sourceTree = ""; }; + CEE232C6128A01F400C34032 /* JLBFont.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JLBFont.cpp; sourceTree = ""; }; + CEE232C7128A01F400C34032 /* JLogger.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JLogger.cpp; sourceTree = ""; }; + CEE232C8128A01F400C34032 /* JMD2Model.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JMD2Model.cpp; sourceTree = ""; }; + CEE232CB128A01F400C34032 /* JOBJModel.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JOBJModel.cpp; sourceTree = ""; }; + CEE232CC128A01F400C34032 /* JParticle.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JParticle.cpp; sourceTree = ""; }; + CEE232CD128A01F400C34032 /* JParticleEffect.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JParticleEffect.cpp; sourceTree = ""; }; + CEE232CE128A01F400C34032 /* JParticleEmitter.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JParticleEmitter.cpp; sourceTree = ""; }; + CEE232CF128A01F400C34032 /* JParticleSystem.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JParticleSystem.cpp; sourceTree = ""; }; + CEE232D0128A01F400C34032 /* JResourceManager.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JResourceManager.cpp; sourceTree = ""; }; + CEE232D3128A01F400C34032 /* JSpline.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; fileEncoding = 4; path = JSpline.cpp; sourceTree = ""; }; + CEE232D4128A01F400C34032 /* JSprite.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JSprite.cpp; sourceTree = ""; }; + CEE232D8128A01F400C34032 /* JGfx.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = JGfx.cpp; sourceTree = ""; }; + CEE232D9128A01F400C34032 /* JSfx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSfx.cpp; sourceTree = ""; }; + CEE232DE128A01F400C34032 /* tinystr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinystr.cpp; sourceTree = ""; }; + CEE232DF128A01F400C34032 /* tinystr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinystr.h; sourceTree = ""; }; + CEE232E0128A01F400C34032 /* tinyxml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxml.cpp; sourceTree = ""; }; + CEE232E1128A01F400C34032 /* tinyxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tinyxml.h; sourceTree = ""; }; + CEE232E2128A01F400C34032 /* tinyxmlerror.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlerror.cpp; sourceTree = ""; }; + CEE232E3128A01F400C34032 /* tinyxmlparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinyxmlparser.cpp; sourceTree = ""; }; + CEE232E5128A01F400C34032 /* ChangeLogUnzip */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ChangeLogUnzip; sourceTree = ""; }; + CEE232E6128A01F400C34032 /* crypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = crypt.h; sourceTree = ""; }; + CEE232E7128A01F400C34032 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = ""; }; + CEE232E8128A01F400C34032 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = ""; }; + CEE232EE128A01F400C34032 /* mztools.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mztools.c; sourceTree = ""; }; + CEE232EF128A01F400C34032 /* mztools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mztools.h; sourceTree = ""; }; + CEE232F0128A01F400C34032 /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = ""; }; + CEE232F1128A01F400C34032 /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = ""; }; + CEE232F4128A01F400C34032 /* Vector2D.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = Vector2D.cpp; sourceTree = ""; }; + CEE232F5128A01F400C34032 /* vram.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vram.c; sourceTree = ""; }; + F233DC3712A111EB008594F2 /* icon-64x64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-64x64.png"; sourceTree = ""; }; + F24944BE12A1BBFD00D6284A /* Res */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Res; path = bin/Res; sourceTree = ""; }; + F2494ADB12A1BD4100D6284A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; + F2CDD5E212A6F7A2007B35AF /* EAGLViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = EAGLViewController.xib; path = ../../JGE/src/iOS/EAGLViewController.xib; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, + 28FD15000DC6FC520079059D /* OpenGLES.framework in Frameworks */, + 28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */, + CE885AF012861E7600CF4FC8 /* libstdc++.dylib in Frameworks */, + CED2152C128DFAFF0050149E /* CoreGraphics.framework in Frameworks */, + F2494ADC12A1BD4100D6284A /* libz.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 19C28FACFE9D520D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 1D6058910D05DD3D006BFB54 /* wagic.app */, + ); + name = Products; + sourceTree = ""; + }; + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { + isa = PBXGroup; + children = ( + CE9A477512B514BA00C9F38A /* EAGLView.h */, + CE9A477612B514BA00C9F38A /* EAGLView.m */, + CE9A477712B514BA00C9F38A /* EAGLViewController.h */, + CE9A477812B514BA00C9F38A /* EAGLViewController.m */, + CE9A477C12B514BA00C9F38A /* ES2Renderer.h */, + CE9A477D12B514BA00C9F38A /* ES2Renderer.m */, + CE9A477E12B514BA00C9F38A /* ESRenderer.h */, + CE9A477F12B514BA00C9F38A /* main.m */, + CE9A478112B514BA00C9F38A /* wagic_Prefix.pch */, + CE9A478312B514BA00C9F38A /* wagicAppDelegate.h */, + CE9A478412B514BA00C9F38A /* wagicAppDelegate.m */, + CEA376841291C5CD00B9016A /* Wagic */, + CEE2320D128A00EC00C34032 /* JGE */, + 29B97317FDCFA39411CA2CEA /* Resources */, + 29B97323FDCFA39411CA2CEA /* Frameworks */, + 19C28FACFE9D520D11CA2CBB /* Products */, + ); + name = CustomTemplate; + sourceTree = ""; + }; + 29B97317FDCFA39411CA2CEA /* Resources */ = { + isa = PBXGroup; + children = ( + F2CDD5E212A6F7A2007B35AF /* EAGLViewController.xib */, + 8D1107310486CEB800E47090 /* wagic-Info.plist */, + F233DC3712A111EB008594F2 /* icon-64x64.png */, + CECB67E012B517C000321D5A /* MainWindow.xib */, + F24944BE12A1BBFD00D6284A /* Res */, + ); + name = Resources; + sourceTree = ""; + }; + 29B97323FDCFA39411CA2CEA /* Frameworks */ = { + isa = PBXGroup; + children = ( + CED2152B128DFAFF0050149E /* CoreGraphics.framework */, + 28FD15070DC6FC5B0079059D /* QuartzCore.framework */, + 28FD14FF0DC6FC520079059D /* OpenGLES.framework */, + 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, + 1D30AB110D05D00D00671497 /* Foundation.framework */, + CE885AEF12861E7600CF4FC8 /* libstdc++.dylib */, + F2494ADB12A1BD4100D6284A /* libz.dylib */, + ); + name = Frameworks; + sourceTree = ""; + }; + CEA376841291C5CD00B9016A /* Wagic */ = { + isa = PBXGroup; + children = ( + CEA376851291C60500B9016A /* include */, + CEA376ED1291C60500B9016A /* src */, + ); + name = Wagic; + sourceTree = ""; + }; + CEA376851291C60500B9016A /* include */ = { + isa = PBXGroup; + children = ( + CE97CD201295AB5400FDFD3B /* SimplePopup.h */, + CEA376861291C60500B9016A /* ActionElement.h */, + CEA376871291C60500B9016A /* ActionLayer.h */, + CEA376881291C60500B9016A /* ActionStack.h */, + CEA376891291C60500B9016A /* AIMomirPlayer.h */, + CEA3768A1291C60500B9016A /* AIPlayer.h */, + CEA3768B1291C60500B9016A /* AIStats.h */, + CEA3768C1291C60500B9016A /* AllAbilities.h */, + CEA3768D1291C60500B9016A /* CardDescriptor.h */, + CEA3768E1291C60500B9016A /* CardDisplay.h */, + CEA3768F1291C60500B9016A /* CardEffect.h */, + CEA376901291C60500B9016A /* CardGui.h */, + CEA376911291C60500B9016A /* CardPrimitive.h */, + CEA376921291C60500B9016A /* CardSelector.h */, + CEA376931291C60500B9016A /* CardSelectorSingleton.h */, + CEA376941291C60500B9016A /* config.h */, + CEA376951291C60500B9016A /* Counters.h */, + CEA376961291C60500B9016A /* Credits.h */, + CEA376971291C60500B9016A /* Damage.h */, + CEA376981291C60500B9016A /* DamagerDamaged.h */, + CEA376991291C60500B9016A /* DeckDataWrapper.h */, + CEA3769A1291C60500B9016A /* DeckEditorMenu.h */, + CEA3769B1291C60500B9016A /* DeckManager.h */, + CEA3769C1291C60500B9016A /* DeckMenu.h */, + CEA3769D1291C60500B9016A /* DeckMenuItem.h */, + CEA3769E1291C60500B9016A /* DeckMetaData.h */, + CEA3769F1291C60500B9016A /* DeckStats.h */, + CEA376A01291C60500B9016A /* DuelLayers.h */, + CEA376A11291C60500B9016A /* Effects.h */, + CEA376A21291C60500B9016A /* ExtraCost.h */, + CEA376A31291C60500B9016A /* GameApp.h */, + CEA376A41291C60500B9016A /* GameObserver.h */, + CEA376A51291C60500B9016A /* GameOptions.h */, + CEA376A61291C60500B9016A /* GameState.h */, + CEA376A71291C60500B9016A /* GameStateAwards.h */, + CEA376A81291C60500B9016A /* GameStateDeckViewer.h */, + CEA376A91291C60500B9016A /* GameStateDuel.h */, + CEA376AA1291C60500B9016A /* GameStateMenu.h */, + CEA376AB1291C60500B9016A /* GameStateOptions.h */, + CEA376AC1291C60500B9016A /* GameStateShop.h */, + CEA376AD1291C60500B9016A /* GameStateStory.h */, + CEA376AE1291C60500B9016A /* GameStateTransitions.h */, + CEA376AF1291C60500B9016A /* GuiAvatars.h */, + CEA376B01291C60500B9016A /* GuiBackground.h */, + CEA376B11291C60500B9016A /* GuiCardsController.h */, + CEA376B21291C60500B9016A /* GuiCombat.h */, + CEA376B31291C60500B9016A /* GuiFrame.h */, + CEA376B41291C60500B9016A /* GuiHand.h */, + CEA376B51291C60500B9016A /* GuiLayers.h */, + CEA376B61291C60500B9016A /* GuiMana.h */, + CEA376B71291C60500B9016A /* GuiPhaseBar.h */, + CEA376B81291C60500B9016A /* GuiPlay.h */, + CEA376B91291C60500B9016A /* GuiStatic.h */, + CEA376BA1291C60500B9016A /* ManaCost.h */, + CEA376BB1291C60500B9016A /* ManaCostHybrid.h */, + CEA376BC1291C60500B9016A /* MenuItem.h */, + CEA376BD1291C60500B9016A /* MTGAbility.h */, + CEA376BE1291C60500B9016A /* MTGCard.h */, + CEA376BF1291C60500B9016A /* MTGCardInstance.h */, + CEA376C01291C60500B9016A /* MTGDeck.h */, + CEA376C11291C60500B9016A /* MTGDefinitions.h */, + CEA376C21291C60500B9016A /* MTGGamePhase.h */, + CEA376C31291C60500B9016A /* MTGGameZones.h */, + CEA376C41291C60500B9016A /* MTGPack.h */, + CEA376C51291C60500B9016A /* MTGRules.h */, + CEA376C61291C60500B9016A /* Navigator.h */, + CEA376C71291C60500B9016A /* OptionItem.h */, + CEA376C81291C60500B9016A /* OSD.h */, + CEA376C91291C60500B9016A /* PhaseRing.h */, + CEA376CA1291C60500B9016A /* Player.h */, + CEA376CB1291C60500B9016A /* PlayerData.h */, + CEA376CC1291C60500B9016A /* PlayGuiObject.h */, + CEA376CD1291C60500B9016A /* PlayGuiObjectController.h */, + CEA376CE1291C60500B9016A /* Pos.h */, + CEA376CF1291C60500B9016A /* PrecompiledHeader.h */, + CEA376D01291C60500B9016A /* PriceList.h */, + CEA376D11291C60500B9016A /* ReplacementEffects.h */, + CEA376D21291C60500B9016A /* Rules.h */, + CEA376D41291C60500B9016A /* SimpleMenu.h */, + CEA376D51291C60500B9016A /* SimpleMenuItem.h */, + CEA376D61291C60500B9016A /* SimplePad.h */, + CEA376D71291C60500B9016A /* StoryFlow.h */, + CEA376D81291C60500B9016A /* StyleManager.h */, + CEA376D91291C60500B9016A /* Subtypes.h */, + CEA376DA1291C60500B9016A /* Targetable.h */, + CEA376DB1291C60500B9016A /* TargetChooser.h */, + CEA376DC1291C60500B9016A /* TargetsList.h */, + CEA376DD1291C60500B9016A /* Tasks.h */, + CEA376DE1291C60500B9016A /* TestSuiteAI.h */, + CEA376DF1291C60500B9016A /* TextScroller.h */, + CEA376E01291C60500B9016A /* ThisDescriptor.h */, + CEA376E11291C60500B9016A /* Token.h */, + CEA376E21291C60500B9016A /* Translate.h */, + CEA376E31291C60500B9016A /* TranslateKeys.h */, + CEA376E41291C60500B9016A /* Trash.h */, + CEA376E51291C60500B9016A /* utils.h */, + CEA376E61291C60500B9016A /* WCachedResource.h */, + CEA376E71291C60500B9016A /* WDataSrc.h */, + CEA376E81291C60500B9016A /* WEvent.h */, + CEA376E91291C60500B9016A /* WFilter.h */, + CEA376EA1291C60500B9016A /* WFont.h */, + CEA376EB1291C60500B9016A /* WGui.h */, + CEA376EC1291C60500B9016A /* WResourceManager.h */, + ); + path = include; + sourceTree = ""; + }; + CEA376ED1291C60500B9016A /* src */ = { + isa = PBXGroup; + children = ( + CE97CD1D1295AB4300FDFD3B /* SimplePopup.cpp */, + CEA376EE1291C60500B9016A /* ActionElement.cpp */, + CEA376EF1291C60500B9016A /* ActionLayer.cpp */, + CEA376F01291C60500B9016A /* ActionStack.cpp */, + CEA376F11291C60500B9016A /* AIMomirPlayer.cpp */, + CEA376F21291C60500B9016A /* AIPlayer.cpp */, + CEA376F31291C60500B9016A /* AIStats.cpp */, + CEA376F41291C60500B9016A /* AllAbilities.cpp */, + CEA376F51291C60500B9016A /* CardDescriptor.cpp */, + CEA376F61291C60500B9016A /* CardDisplay.cpp */, + CEA376F71291C60500B9016A /* CardEffect.cpp */, + CEA376F81291C60500B9016A /* CardGui.cpp */, + CEA376F91291C60500B9016A /* CardPrimitive.cpp */, + CEA376FA1291C60500B9016A /* CardSelector.cpp */, + CEA376FB1291C60500B9016A /* CardSelectorSingleton.cpp */, + CEA376FC1291C60500B9016A /* Closest.cpp */, + CEA376FD1291C60500B9016A /* Counters.cpp */, + CEA376FE1291C60500B9016A /* Credits.cpp */, + CEA376FF1291C60500B9016A /* Damage.cpp */, + CEA377001291C60500B9016A /* DamagerDamaged.cpp */, + CEA377011291C60500B9016A /* DeckDataWrapper.cpp */, + CEA377021291C60500B9016A /* DeckEditorMenu.cpp */, + CEA377031291C60500B9016A /* DeckManager.cpp */, + CEA377041291C60500B9016A /* DeckMenu.cpp */, + CEA377051291C60500B9016A /* DeckMenuItem.cpp */, + CEA377061291C60500B9016A /* DeckMetaData.cpp */, + CEA377071291C60500B9016A /* DeckStats.cpp */, + CEA377081291C60500B9016A /* DuelLayers.cpp */, + CEA377091291C60500B9016A /* Effects.cpp */, + CEA3770A1291C60500B9016A /* ExtraCost.cpp */, + CEA3770B1291C60500B9016A /* GameApp.cpp */, + CEA3770C1291C60500B9016A /* GameLauncher.cpp */, + CEA3770D1291C60500B9016A /* GameObserver.cpp */, + CEA3770E1291C60500B9016A /* GameOptions.cpp */, + CEA3770F1291C60500B9016A /* GameState.cpp */, + CEA377101291C60500B9016A /* GameStateAwards.cpp */, + CEA377111291C60500B9016A /* GameStateDeckViewer.cpp */, + CEA377121291C60500B9016A /* GameStateDuel.cpp */, + CEA377131291C60500B9016A /* GameStateMenu.cpp */, + CEA377141291C60500B9016A /* GameStateOptions.cpp */, + CEA377151291C60500B9016A /* GameStateShop.cpp */, + CEA377161291C60500B9016A /* GameStateStory.cpp */, + CEA377171291C60500B9016A /* GameStateTransitions.cpp */, + CEA377181291C60500B9016A /* GuiAvatars.cpp */, + CEA377191291C60500B9016A /* GuiBackground.cpp */, + CEA3771A1291C60500B9016A /* GuiCardsController.cpp */, + CEA3771B1291C60500B9016A /* GuiCombat.cpp */, + CEA3771C1291C60500B9016A /* GuiFrame.cpp */, + CEA3771D1291C60500B9016A /* GuiHand.cpp */, + CEA3771E1291C60500B9016A /* GuiLayers.cpp */, + CEA3771F1291C60500B9016A /* GuiMana.cpp */, + CEA377211291C60500B9016A /* GuiPhaseBar.cpp */, + CEA377221291C60500B9016A /* GuiPlay.cpp */, + CEA377231291C60500B9016A /* GuiStatic.cpp */, + CEA377241291C60500B9016A /* ManaCost.cpp */, + CEA377251291C60500B9016A /* ManaCostHybrid.cpp */, + CEA377261291C60500B9016A /* MenuItem.cpp */, + CEA377271291C60500B9016A /* MTGAbility.cpp */, + CEA377291291C60500B9016A /* MTGCard.cpp */, + CEA3772A1291C60500B9016A /* MTGCardInstance.cpp */, + CEA3772B1291C60500B9016A /* MTGDeck.cpp */, + CEA3772C1291C60500B9016A /* MTGDefinitions.cpp */, + CEA3772D1291C60500B9016A /* MTGGamePhase.cpp */, + CEA3772E1291C60500B9016A /* MTGGameZones.cpp */, + CEA3772F1291C60500B9016A /* MTGPack.cpp */, + CEA377301291C60500B9016A /* MTGRules.cpp */, + CEA377321291C60500B9016A /* Navigator.cpp */, + CEA377331291C60500B9016A /* OptionItem.cpp */, + CEA377341291C60500B9016A /* PhaseRing.cpp */, + CEA377351291C60500B9016A /* Player.cpp */, + CEA377361291C60500B9016A /* PlayerData.cpp */, + CEA377371291C60500B9016A /* PlayGuiObject.cpp */, + CEA377381291C60500B9016A /* PlayGuiObjectController.cpp */, + CEA377391291C60500B9016A /* Pos.cpp */, + CEA3773A1291C60500B9016A /* PrecompiledHeader.cpp */, + CEA3773B1291C60500B9016A /* PriceList.cpp */, + CEA3773C1291C60500B9016A /* ReplacementEffects.cpp */, + CEA3773D1291C60500B9016A /* Rules.cpp */, + CEA3773F1291C60500B9016A /* SimpleMenu.cpp */, + CEA377401291C60500B9016A /* SimpleMenuItem.cpp */, + CEA377411291C60500B9016A /* SimplePad.cpp */, + CEA377421291C60500B9016A /* StoryFlow.cpp */, + CEA377431291C60500B9016A /* StyleManager.cpp */, + CEA377441291C60500B9016A /* Subtypes.cpp */, + CEA377451291C60500B9016A /* TargetChooser.cpp */, + CEA377461291C60500B9016A /* TargetsList.cpp */, + CEA377471291C60500B9016A /* Tasks.cpp */, + CEA3774A1291C60500B9016A /* TextScroller.cpp */, + CEA3774B1291C60500B9016A /* ThisDescriptor.cpp */, + CEA3774C1291C60500B9016A /* Token.cpp */, + CEA3774D1291C60500B9016A /* Translate.cpp */, + CEA3774E1291C60500B9016A /* TranslateKeys.cpp */, + CEA3774F1291C60500B9016A /* Trash.cpp */, + CEA377501291C60500B9016A /* utils.cpp */, + CEA377511291C60500B9016A /* WCachedResource.cpp */, + CEA377521291C60500B9016A /* WDataSrc.cpp */, + CEA377531291C60500B9016A /* WEvent.cpp */, + CEA377541291C60500B9016A /* WFilter.cpp */, + CEA377551291C60500B9016A /* WFont.cpp */, + CEA377561291C60500B9016A /* WGui.cpp */, + CEA377571291C60500B9016A /* WResourceManager.cpp */, + ); + path = src; + sourceTree = ""; + }; + CEE2320D128A00EC00C34032 /* JGE */ = { + isa = PBXGroup; + children = ( + CEE232AF128A01F400C34032 /* src */, + CEE2321B128A01DD00C34032 /* include */, + ); + name = JGE; + sourceTree = ""; + }; + CEE2321B128A01DD00C34032 /* include */ = { + isa = PBXGroup; + children = ( + CE8B8A231299C22900A3CDEF /* DebugRoutines.h */, + CEE2321D128A01DD00C34032 /* Encoding.h */, + CEE2321E128A01DD00C34032 /* hge */, + CEE23225128A01DD00C34032 /* JAnimator.h */, + CEE23226128A01DD00C34032 /* JApp.h */, + CEE23227128A01DD00C34032 /* JAssert.h */, + CEE23228128A01DD00C34032 /* JAudio.h */, + CEE23229128A01DD00C34032 /* JCooleyesMP3.h */, + CEE2322A128A01DD00C34032 /* JDistortionMesh.h */, + CEE2322B128A01DD00C34032 /* JFileSystem.h */, + CEE2322C128A01DD00C34032 /* JGameLauncher.h */, + CEE2322D128A01DD00C34032 /* JGameObject.h */, + CEE2322F128A01DD00C34032 /* JGE.h */, + CEE23230128A01DD00C34032 /* JGui.h */, + CEE23231128A01DD00C34032 /* JLBFont.h */, + CEE23232128A01DD00C34032 /* JLogger.h */, + CEE23233128A01DD00C34032 /* JMD2Model.h */, + CEE23234128A01DD00C34032 /* JMP3.h */, + CEE23235128A01DD00C34032 /* JNetwork.h */, + CEE23236128A01DD00C34032 /* JOBJModel.h */, + CEE23237128A01DD00C34032 /* JParticle.h */, + CEE23238128A01DD00C34032 /* JParticleEffect.h */, + CEE23239128A01DD00C34032 /* JParticleEmitter.h */, + CEE2323A128A01DD00C34032 /* JParticleSystem.h */, + CEE2323B128A01DD00C34032 /* JRenderer.h */, + CEE2323C128A01DD00C34032 /* JResourceManager.h */, + CEE2323D128A01DD00C34032 /* JSocket.h */, + CEE2323E128A01DD00C34032 /* JSoundSystem.h */, + CEE2323F128A01DD00C34032 /* JSpline.h */, + CEE23240128A01DD00C34032 /* JSprite.h */, + CEE23242128A01DD00C34032 /* JTypes.h */, + CEE232AC128A01DE00C34032 /* Vector2D.h */, + CEE232AD128A01DE00C34032 /* Vector3D.h */, + CEE232AE128A01DE00C34032 /* vram.h */, + ); + name = include; + path = ../../JGE/include; + sourceTree = SOURCE_ROOT; + }; + CEE2321E128A01DD00C34032 /* hge */ = { + isa = PBXGroup; + children = ( + CEE2321F128A01DD00C34032 /* hgecolor.h */, + CEE23220128A01DD00C34032 /* hgedistort.h */, + CEE23221128A01DD00C34032 /* hgefont.h */, + CEE23222128A01DD00C34032 /* hgeparticle.h */, + CEE23223128A01DD00C34032 /* hgerect.h */, + CEE23224128A01DD00C34032 /* hgevector.h */, + ); + path = hge; + sourceTree = ""; + }; + CEE232AF128A01F400C34032 /* src */ = { + isa = PBXGroup; + children = ( + CEE232B3128A01F400C34032 /* hge */, + CEE232D7128A01F400C34032 /* pc */, + CEE232DD128A01F400C34032 /* tinyxml */, + CEE232E4128A01F400C34032 /* unzip */, + CEE232B1128A01F400C34032 /* Encoding.cpp */, + CEE232BB128A01F400C34032 /* JAnimator.cpp */, + CEE232BC128A01F400C34032 /* JApp.cpp */, + CEE232BF128A01F400C34032 /* JDistortionMesh.cpp */, + CEE232C0128A01F400C34032 /* JFileSystem.cpp */, + CEE232C1128A01F400C34032 /* JGameObject.cpp */, + CEE232C3128A01F400C34032 /* JGE.cpp */, + CEE232C5128A01F400C34032 /* JGui.cpp */, + CEE232C6128A01F400C34032 /* JLBFont.cpp */, + CEE232C7128A01F400C34032 /* JLogger.cpp */, + CEE232C8128A01F400C34032 /* JMD2Model.cpp */, + CEE232CB128A01F400C34032 /* JOBJModel.cpp */, + CEE232CC128A01F400C34032 /* JParticle.cpp */, + CEE232CD128A01F400C34032 /* JParticleEffect.cpp */, + CEE232CE128A01F400C34032 /* JParticleEmitter.cpp */, + CEE232CF128A01F400C34032 /* JParticleSystem.cpp */, + CEE232D0128A01F400C34032 /* JResourceManager.cpp */, + CEE232D3128A01F400C34032 /* JSpline.cpp */, + CEE232D4128A01F400C34032 /* JSprite.cpp */, + CEE232F4128A01F400C34032 /* Vector2D.cpp */, + CEE232F5128A01F400C34032 /* vram.c */, + ); + name = src; + path = ../../JGE/src; + sourceTree = SOURCE_ROOT; + }; + CEE232B3128A01F400C34032 /* hge */ = { + isa = PBXGroup; + children = ( + CEE232B4128A01F400C34032 /* hgecolor.cpp */, + CEE232B5128A01F400C34032 /* hgedistort.cpp */, + CEE232B6128A01F400C34032 /* hgefont.cpp */, + CEE232B7128A01F400C34032 /* hgeparticle.cpp */, + CEE232B8128A01F400C34032 /* hgepmanager.cpp */, + CEE232B9128A01F400C34032 /* hgerect.cpp */, + CEE232BA128A01F400C34032 /* hgevector.cpp */, + ); + path = hge; + sourceTree = ""; + }; + CEE232D7128A01F400C34032 /* pc */ = { + isa = PBXGroup; + children = ( + CEE232D8128A01F400C34032 /* JGfx.cpp */, + CEE232D9128A01F400C34032 /* JSfx.cpp */, + ); + path = pc; + sourceTree = ""; + }; + CEE232DD128A01F400C34032 /* tinyxml */ = { + isa = PBXGroup; + children = ( + CEE232DE128A01F400C34032 /* tinystr.cpp */, + CEE232DF128A01F400C34032 /* tinystr.h */, + CEE232E0128A01F400C34032 /* tinyxml.cpp */, + CEE232E1128A01F400C34032 /* tinyxml.h */, + CEE232E2128A01F400C34032 /* tinyxmlerror.cpp */, + CEE232E3128A01F400C34032 /* tinyxmlparser.cpp */, + ); + path = tinyxml; + sourceTree = ""; + }; + CEE232E4128A01F400C34032 /* unzip */ = { + isa = PBXGroup; + children = ( + CEE232E5128A01F400C34032 /* ChangeLogUnzip */, + CEE232E6128A01F400C34032 /* crypt.h */, + CEE232E7128A01F400C34032 /* ioapi.c */, + CEE232E8128A01F400C34032 /* ioapi.h */, + CEE232EE128A01F400C34032 /* mztools.c */, + CEE232EF128A01F400C34032 /* mztools.h */, + CEE232F0128A01F400C34032 /* unzip.c */, + CEE232F1128A01F400C34032 /* unzip.h */, + ); + path = unzip; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1D6058900D05DD3D006BFB54 /* wagic */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "wagic" */; + buildPhases = ( + 1D60588D0D05DD3D006BFB54 /* Resources */, + 1D60588E0D05DD3D006BFB54 /* Sources */, + 1D60588F0D05DD3D006BFB54 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = wagic; + productName = testproject; + productReference = 1D6058910D05DD3D006BFB54 /* wagic.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 29B97313FDCFA39411CA2CEA /* Project object */ = { + isa = PBXProject; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "wagic" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1D6058900D05DD3D006BFB54 /* wagic */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1D60588D0D05DD3D006BFB54 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CEE23327128A01F400C34032 /* ChangeLogUnzip in Resources */, + F233DC3812A111EB008594F2 /* icon-64x64.png in Resources */, + F2494AC912A1BBFD00D6284A /* Res in Resources */, + F2CDD5E312A6F7A2007B35AF /* EAGLViewController.xib in Resources */, + CECB67E112B517C000321D5A /* MainWindow.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1D60588E0D05DD3D006BFB54 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CEE232F9128A01F400C34032 /* Encoding.cpp in Sources */, + CEE232FB128A01F400C34032 /* hgecolor.cpp in Sources */, + CEE232FC128A01F400C34032 /* hgedistort.cpp in Sources */, + CEE232FD128A01F400C34032 /* hgefont.cpp in Sources */, + CEE232FE128A01F400C34032 /* hgeparticle.cpp in Sources */, + CEE232FF128A01F400C34032 /* hgepmanager.cpp in Sources */, + CEE23300128A01F400C34032 /* hgerect.cpp in Sources */, + CEE23301128A01F400C34032 /* hgevector.cpp in Sources */, + CEE23302128A01F400C34032 /* JAnimator.cpp in Sources */, + CEE23303128A01F400C34032 /* JApp.cpp in Sources */, + CEE23306128A01F400C34032 /* JDistortionMesh.cpp in Sources */, + CEE23307128A01F400C34032 /* JFileSystem.cpp in Sources */, + CEE23308128A01F400C34032 /* JGameObject.cpp in Sources */, + CEE2330A128A01F400C34032 /* JGE.cpp in Sources */, + CEE2330C128A01F400C34032 /* JGui.cpp in Sources */, + CEE2330D128A01F400C34032 /* JLBFont.cpp in Sources */, + CEE2330E128A01F400C34032 /* JLogger.cpp in Sources */, + CEE2330F128A01F400C34032 /* JMD2Model.cpp in Sources */, + CEE23312128A01F400C34032 /* JOBJModel.cpp in Sources */, + CEE23313128A01F400C34032 /* JParticle.cpp in Sources */, + CEE23314128A01F400C34032 /* JParticleEffect.cpp in Sources */, + CEE23315128A01F400C34032 /* JParticleEmitter.cpp in Sources */, + CEE23316128A01F400C34032 /* JParticleSystem.cpp in Sources */, + CEE23317128A01F400C34032 /* JResourceManager.cpp in Sources */, + CEE2331A128A01F400C34032 /* JSpline.cpp in Sources */, + CEE2331B128A01F400C34032 /* JSprite.cpp in Sources */, + CEE2331E128A01F400C34032 /* JGfx.cpp in Sources */, + CEE2331F128A01F400C34032 /* JSfx.cpp in Sources */, + CEE23323128A01F400C34032 /* tinystr.cpp in Sources */, + CEE23324128A01F400C34032 /* tinyxml.cpp in Sources */, + CEE23325128A01F400C34032 /* tinyxmlerror.cpp in Sources */, + CEE23326128A01F400C34032 /* tinyxmlparser.cpp in Sources */, + CEE23328128A01F400C34032 /* ioapi.c in Sources */, + CEE2332D128A01F400C34032 /* mztools.c in Sources */, + CEE2332E128A01F400C34032 /* unzip.c in Sources */, + CEE23330128A01F400C34032 /* Vector2D.cpp in Sources */, + CEE23331128A01F400C34032 /* vram.c in Sources */, + CEA377581291C60500B9016A /* ActionElement.cpp in Sources */, + CEA377591291C60500B9016A /* ActionLayer.cpp in Sources */, + CEA3775A1291C60500B9016A /* ActionStack.cpp in Sources */, + CEA3775B1291C60500B9016A /* AIMomirPlayer.cpp in Sources */, + CEA3775C1291C60500B9016A /* AIPlayer.cpp in Sources */, + CEA3775D1291C60500B9016A /* AIStats.cpp in Sources */, + CEA3775E1291C60500B9016A /* AllAbilities.cpp in Sources */, + CEA3775F1291C60500B9016A /* CardDescriptor.cpp in Sources */, + CEA377601291C60500B9016A /* CardDisplay.cpp in Sources */, + CEA377611291C60500B9016A /* CardEffect.cpp in Sources */, + CEA377621291C60500B9016A /* CardGui.cpp in Sources */, + CEA377631291C60500B9016A /* CardPrimitive.cpp in Sources */, + CEA377641291C60500B9016A /* CardSelector.cpp in Sources */, + CEA377651291C60500B9016A /* CardSelectorSingleton.cpp in Sources */, + CEA377661291C60500B9016A /* Closest.cpp in Sources */, + CEA377671291C60500B9016A /* Counters.cpp in Sources */, + CEA377681291C60500B9016A /* Credits.cpp in Sources */, + CEA377691291C60500B9016A /* Damage.cpp in Sources */, + CEA3776A1291C60500B9016A /* DamagerDamaged.cpp in Sources */, + CEA3776B1291C60500B9016A /* DeckDataWrapper.cpp in Sources */, + CEA3776C1291C60500B9016A /* DeckEditorMenu.cpp in Sources */, + CEA3776D1291C60500B9016A /* DeckManager.cpp in Sources */, + CEA3776E1291C60500B9016A /* DeckMenu.cpp in Sources */, + CEA3776F1291C60500B9016A /* DeckMenuItem.cpp in Sources */, + CEA377701291C60500B9016A /* DeckMetaData.cpp in Sources */, + CEA377711291C60500B9016A /* DeckStats.cpp in Sources */, + CEA377721291C60500B9016A /* DuelLayers.cpp in Sources */, + CEA377731291C60500B9016A /* Effects.cpp in Sources */, + CEA377741291C60500B9016A /* ExtraCost.cpp in Sources */, + CEA377751291C60500B9016A /* GameApp.cpp in Sources */, + CEA377761291C60500B9016A /* GameLauncher.cpp in Sources */, + CEA377771291C60500B9016A /* GameObserver.cpp in Sources */, + CEA377781291C60500B9016A /* GameOptions.cpp in Sources */, + CEA377791291C60500B9016A /* GameState.cpp in Sources */, + CEA3777A1291C60500B9016A /* GameStateAwards.cpp in Sources */, + CEA3777B1291C60500B9016A /* GameStateDeckViewer.cpp in Sources */, + CEA3777C1291C60500B9016A /* GameStateDuel.cpp in Sources */, + CEA3777D1291C60500B9016A /* GameStateMenu.cpp in Sources */, + CEA3777E1291C60500B9016A /* GameStateOptions.cpp in Sources */, + CEA3777F1291C60500B9016A /* GameStateShop.cpp in Sources */, + CEA377801291C60500B9016A /* GameStateStory.cpp in Sources */, + CEA377811291C60500B9016A /* GameStateTransitions.cpp in Sources */, + CEA377821291C60500B9016A /* GuiAvatars.cpp in Sources */, + CEA377831291C60500B9016A /* GuiBackground.cpp in Sources */, + CEA377841291C60500B9016A /* GuiCardsController.cpp in Sources */, + CEA377851291C60500B9016A /* GuiCombat.cpp in Sources */, + CEA377861291C60500B9016A /* GuiFrame.cpp in Sources */, + CEA377871291C60500B9016A /* GuiHand.cpp in Sources */, + CEA377881291C60500B9016A /* GuiLayers.cpp in Sources */, + CEA377891291C60500B9016A /* GuiMana.cpp in Sources */, + CEA3778B1291C60500B9016A /* GuiPhaseBar.cpp in Sources */, + CEA3778C1291C60500B9016A /* GuiPlay.cpp in Sources */, + CEA3778D1291C60500B9016A /* GuiStatic.cpp in Sources */, + CEA3778E1291C60500B9016A /* ManaCost.cpp in Sources */, + CEA3778F1291C60500B9016A /* ManaCostHybrid.cpp in Sources */, + CEA377901291C60500B9016A /* MenuItem.cpp in Sources */, + CEA377911291C60500B9016A /* MTGAbility.cpp in Sources */, + CEA377931291C60500B9016A /* MTGCard.cpp in Sources */, + CEA377941291C60500B9016A /* MTGCardInstance.cpp in Sources */, + CEA377951291C60500B9016A /* MTGDeck.cpp in Sources */, + CEA377961291C60500B9016A /* MTGDefinitions.cpp in Sources */, + CEA377971291C60500B9016A /* MTGGamePhase.cpp in Sources */, + CEA377981291C60500B9016A /* MTGGameZones.cpp in Sources */, + CEA377991291C60500B9016A /* MTGPack.cpp in Sources */, + CEA3779A1291C60500B9016A /* MTGRules.cpp in Sources */, + CEA3779C1291C60500B9016A /* Navigator.cpp in Sources */, + CEA3779D1291C60500B9016A /* OptionItem.cpp in Sources */, + CEA3779E1291C60500B9016A /* PhaseRing.cpp in Sources */, + CEA3779F1291C60500B9016A /* Player.cpp in Sources */, + CEA377A01291C60500B9016A /* PlayerData.cpp in Sources */, + CEA377A11291C60500B9016A /* PlayGuiObject.cpp in Sources */, + CEA377A21291C60500B9016A /* PlayGuiObjectController.cpp in Sources */, + CEA377A31291C60500B9016A /* Pos.cpp in Sources */, + CEA377A41291C60500B9016A /* PrecompiledHeader.cpp in Sources */, + CEA377A51291C60500B9016A /* PriceList.cpp in Sources */, + CEA377A61291C60500B9016A /* ReplacementEffects.cpp in Sources */, + CEA377A71291C60500B9016A /* Rules.cpp in Sources */, + CEA377A91291C60500B9016A /* SimpleMenu.cpp in Sources */, + CEA377AA1291C60500B9016A /* SimpleMenuItem.cpp in Sources */, + CEA377AB1291C60500B9016A /* SimplePad.cpp in Sources */, + CEA377AC1291C60500B9016A /* StoryFlow.cpp in Sources */, + CEA377AD1291C60500B9016A /* StyleManager.cpp in Sources */, + CEA377AE1291C60500B9016A /* Subtypes.cpp in Sources */, + CEA377AF1291C60500B9016A /* TargetChooser.cpp in Sources */, + CEA377B01291C60500B9016A /* TargetsList.cpp in Sources */, + CEA377B11291C60500B9016A /* Tasks.cpp in Sources */, + CEA377B41291C60500B9016A /* TextScroller.cpp in Sources */, + CEA377B51291C60500B9016A /* ThisDescriptor.cpp in Sources */, + CEA377B61291C60500B9016A /* Token.cpp in Sources */, + CEA377B71291C60500B9016A /* Translate.cpp in Sources */, + CEA377B81291C60500B9016A /* TranslateKeys.cpp in Sources */, + CEA377B91291C60500B9016A /* Trash.cpp in Sources */, + CEA377BA1291C60500B9016A /* utils.cpp in Sources */, + CEA377BB1291C60500B9016A /* WCachedResource.cpp in Sources */, + CEA377BC1291C60500B9016A /* WDataSrc.cpp in Sources */, + CEA377BD1291C60500B9016A /* WEvent.cpp in Sources */, + CEA377BE1291C60500B9016A /* WFilter.cpp in Sources */, + CEA377BF1291C60500B9016A /* WFont.cpp in Sources */, + CEA377C01291C60500B9016A /* WGui.cpp in Sources */, + CEA377C11291C60500B9016A /* WResourceManager.cpp in Sources */, + CE97CD1E1295AB4300FDFD3B /* SimplePopup.cpp in Sources */, + CE9A478512B514BA00C9F38A /* EAGLView.m in Sources */, + CE9A478612B514BA00C9F38A /* EAGLViewController.m in Sources */, + CE9A478912B514BA00C9F38A /* ES2Renderer.m in Sources */, + CE9A478A12B514BA00C9F38A /* main.m in Sources */, + CE9A478D12B514BA00C9F38A /* wagicAppDelegate.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 1D6058940D05DD3E006BFB54 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = YES; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = wagic_Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = ( + IOS, + DEBUG, + DARWIN_NO_CARBON, + FT2_BUILD_LIBRARY, + ); + "GCC_THUMB_SUPPORT[arch=armv6]" = ""; + HEADER_SEARCH_PATHS = ( + ../../JGE/include/, + include/, + ); + INFOPLIST_FILE = "wagic-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SDKROOT)/usr/lib/gcc/arm-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/arm-apple-darwin9/4.0.1\"", + "\"$(SDKROOT)/usr/lib/gcc/i686-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/i686-apple-darwin9/4.0.1\"", + "\"$(SDKROOT)/usr/lib/gcc/powerpc-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/powerpc-apple-darwin9/4.0.1\"", + ); + "New Setting" = ""; + PRODUCT_NAME = wagic; + SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO; + }; + name = Debug; + }; + 1D6058950D05DD3E006BFB54 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + COPY_PHASE_STRIP = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = testproject_Prefix.pch; + "GCC_THUMB_SUPPORT[arch=armv6]" = ""; + INFOPLIST_FILE = "wagic-Info.plist"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SDKROOT)/usr/lib/gcc/arm-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/arm-apple-darwin9/4.0.1\"", + "\"$(SDKROOT)/usr/lib/gcc/i686-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/i686-apple-darwin9/4.0.1\"", + "\"$(SDKROOT)/usr/lib/gcc/powerpc-apple-darwin10/4.2.1\"", + "\"$(SDKROOT)/usr/lib/gcc/powerpc-apple-darwin9/4.0.1\"", + ); + PRODUCT_NAME = testproject; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + C01FCF4F08A954540054247B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEPLOYMENT_LOCATION = NO; + DEPLOYMENT_POSTPROCESSING = NO; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_PREPROCESSOR_DEFINITIONS = DEBUG; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PREBINDING = NO; + SDKROOT = iphoneos3.2; + TARGETED_DEVICE_FAMILY = 2; + }; + name = Debug; + }; + C01FCF5008A954540054247B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + PREBINDING = NO; + SDKROOT = iphoneos3.2; + TARGETED_DEVICE_FAMILY = 2; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "wagic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1D6058940D05DD3E006BFB54 /* Debug */, + 1D6058950D05DD3E006BFB54 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "wagic" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C01FCF4F08A954540054247B /* Debug */, + C01FCF5008A954540054247B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; +} diff --git a/projects/mtg/wagic_Prefix.pch b/projects/mtg/wagic_Prefix.pch new file mode 100755 index 000000000..c8940b30f --- /dev/null +++ b/projects/mtg/wagic_Prefix.pch @@ -0,0 +1,14 @@ +// +// Prefix header for all source files of the 'testproject' target in the 'testproject' project +// + +#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