1
0
mirror of https://github.com/thes3m/XNI synced 2024-12-26 13:26:06 +01:00

SpriteBatch implemented and fixed.

git-svn-id: http://xni.googlecode.com/svn/XNI@35 ac433895-eea3-a490-d80a-17149a75e588
This commit is contained in:
Matej Jan 2010-10-19 13:31:39 +00:00
parent 093802dbc4
commit 3194ca93e7
27 changed files with 922 additions and 71 deletions

View File

@ -32,7 +32,11 @@
@property (nonatomic) Byte a;
@property (nonatomic) uint packedValue;
//- (Vector3*) toVector3;
+ (Color*) multiply:(Color*)color withScalar:(float)value;
- (void) multiply:(float)value;
- (Vector3*) toVector3;
- (Vector4*) toVector4;
// Constants
+ (Color*) aliceBlue;

View File

@ -8,8 +8,9 @@
#import "Color.h"
#define CLAMP_TO_BYTE(X) (X < 0 ? 0 : (X > 255 ? 255 : X))
#import "Retronator.Xni.Framework.h"
#define CLAMP_TO_BYTE(X) (X < 0 ? 0 : (X > 255 ? 255 : X))
@implementation Color
@ -80,10 +81,24 @@
// METHODS
/*- (Vector3 *) toVector3 {
return [Vector3 vectorWithX:data.red Y:data.green Z:data.blue];
}*/
+ (Color*) multiply:(Color*)color withScalar:(float)value {
return [Color colorWithRed:color.r * value green:color.g * value blue:color.b * value alpha:color.a * value];
}
- (void) multiply:(float)value {
self.r *= value;
self.g *= value;
self.b *= value;
self.a *= value;
}
- (Vector3 *) toVector3 {
return [Vector3 vectorWithX:self.r/255.0f y:self.g/255.0f z:self.b/255.0f];
}
- (Vector4 *) toVector4 {
return [Vector4 vectorWithX:self.r/255.0f y:self.g/255.0f z:self.b/255.0f w:self.a/255.0f];
}
// Constants
+ (Color*) aliceBlue {return [Color colorWithRed:240 green:248 blue:255 alpha:255];}

View File

@ -0,0 +1,30 @@
//
// DrawableGameComponent.h
// XNI
//
// Created by Matej Jan on 12.10.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Retronator.Xni.Framework.Graphics.classes.h"
#import "GameComponent.h"
#import "IDrawable.h"
@interface DrawableGameComponent : GameComponent <IDrawable> {
@private
BOOL visible;
int drawOrder;
Event *visibleChanged;
Event *drawOrderChanged;
id<IGraphicsDeviceService> graphicsDeviceService;
}
@property (nonatomic, readonly) GraphicsDevice* graphicsDevice;
- (void) loadContent;
- (void) unloadContent;
@end

View File

@ -0,0 +1,69 @@
//
// DrawableGameComponent.m
// XNI
//
// Created by Matej Jan on 12.10.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import "DrawableGameComponent.h"
#import "System.h"
#import "Retronator.Xni.Framework.h"
#import "Retronator.Xni.Framework.Graphics.h"
@implementation DrawableGameComponent
- (id) initWithGame:(Game *)theGame {
if (self = [super initWithGame:theGame]) {
visible = YES;
drawOrder = 0;
visibleChanged = [[Event alloc] init];
drawOrderChanged = [[Event alloc] init];
graphicsDeviceService = [self.game.services getServiceOfType:[Protocols graphicsDeviceService]];
}
return self;
}
@synthesize visible;
- (void) setVisible:(BOOL)value {
if (visible != value) {
visible = value;
[visibleChanged raiseWithSender:self];
}
}
@synthesize drawOrder;
- (void) setDrawOrder:(int)value {
if (drawOrder != value) {
drawOrder = value;
[drawOrderChanged raiseWithSender:self];
}
}
@synthesize visibleChanged;
@synthesize drawOrderChanged;
- (GraphicsDevice*) graphicsDevice {
return graphicsDeviceService.graphicsDevice;
}
- (void) initialize {
[self loadContent];
}
- (void) loadContent {}
- (void) drawWithGameTime:(GameTime*)gameTime {}
- (void) unloadContent {}
- (void) dealloc
{
[self unloadContent];
[drawOrderChanged release];
[visibleChanged release];
[super dealloc];
}
@end

View File

@ -41,6 +41,8 @@
// Game components
GameComponentCollection *components;
NSMutableArray *enabledComponents;
NSMutableArray *visibleComponents;
// Services
GameServiceContainer *services;
@ -73,5 +75,4 @@
- (void) unloadContent;
- (void) endRun;
@end

View File

@ -15,6 +15,17 @@
@implementation Game
NSArray *updateOrderSort;
NSArray *drawOrderSort;
+ (void) initialize {
NSSortDescriptor *updateOrderSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"updateOrder" ascending:YES] autorelease];
NSSortDescriptor *drawOrderSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"drawOrder" ascending:YES] autorelease];
updateOrderSort = [[NSArray arrayWithObject:updateOrderSortDescriptor] retain];
drawOrderSort = [[NSArray arrayWithObject:drawOrderSortDescriptor] retain];
}
- (id) init
{
if (self = [super init]) {
@ -22,8 +33,14 @@
gameTime = [[GameTime alloc] init];
components = [[GameComponentCollection alloc] init];
enabledComponents = [[NSMutableArray alloc] init];
visibleComponents = [[NSMutableArray alloc] init];
[components.componentAdded subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentAddedTo:eventArgs:)]];
[components.componentRemoved subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentRemovedFrom:eventArgs:)]];
services = [[GameServiceContainer alloc] init];
@ -175,14 +192,8 @@
- (void) beginRun {}
- (void) updateWithGameTime:(GameTime*)theGameTime {
for (id component in components) {
if (![component conformsToProtocol:@protocol(IUpdatable)]) {
continue;
}
id<IUpdatable> updatable = component;
if (updatable.enabled) {
[updatable updateWithGameTime:theGameTime];
}
for (id<IUpdatable> updatable in enabledComponents) {
[updatable updateWithGameTime:theGameTime];
}
}
@ -191,14 +202,8 @@
}
- (void) drawWithGameTime:(GameTime*)theGameTime {
for (id component in components) {
if (![component conformsToProtocol:@protocol(IDrawable)]) {
continue;
}
id<IDrawable> drawable = component;
if (drawable.visible) {
[drawable drawWithGameTime:theGameTime];
}
for (id<IDrawable> drawable in visibleComponents) {
[drawable drawWithGameTime:theGameTime];
}
}
@ -210,19 +215,110 @@
- (void) endRun {}
// Private methods
// Private methods for component management.
- (void) addEnabledComponent:(id<IUpdatable>)component {
[enabledComponents addObject:component];
[enabledComponents sortUsingDescriptors:updateOrderSort];
}
- (void) addVisibleComponent:(id<IDrawable>)component {
[visibleComponents addObject:component];
[visibleComponents sortUsingDescriptors:drawOrderSort];
}
- (void) componentAddedTo:(GameComponentCollection*)sender eventArgs:(GameComponentCollectionEventArgs*)e {
if (initializeDone) {
// Initialize component if it's being added after main initialize has been called.
if (initializeDone) {
[e.gameComponent initialize];
}
// Process updatable component.
if ([e.gameComponent conformsToProtocol:@protocol(IUpdatable)]) {
id<IUpdatable> updatable = (id<IUpdatable>)e.gameComponent;
if (updatable.enabled) {
[self addEnabledComponent:updatable];
}
[updatable.enabledChanged subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentEnabledChanged:eventArgs:)]];
[updatable.updateOrderChanged subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentUpdateOrderChanged:eventArgs:)]];
}
// Process updatable component.
if ([e.gameComponent conformsToProtocol:@protocol(IDrawable)]) {
id<IDrawable> drawable = (id<IDrawable>)e.gameComponent;
if (drawable.visible) {
[self addVisibleComponent:drawable];
}
[drawable.visibleChanged subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentVisibleChanged:eventArgs:)]];
[drawable.drawOrderChanged subscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentDrawOrderChanged:eventArgs:)]];
}
}
- (void) componentRemovedFrom:(GameComponentCollection*)sender eventArgs:(GameComponentCollectionEventArgs*)e {
// Process updatable component.
if ([e.gameComponent conformsToProtocol:@protocol(IUpdatable)]) {
id<IUpdatable> updatable = (id<IUpdatable>)e.gameComponent;
if (updatable.enabled) {
[enabledComponents removeObject:updatable];
}
[updatable.enabledChanged unsubscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentEnabledChanged:eventArgs:)]];
[updatable.updateOrderChanged unsubscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentUpdateOrderChanged:eventArgs:)]];
}
// Process updatable component.
if ([e.gameComponent conformsToProtocol:@protocol(IDrawable)]) {
id<IDrawable> drawable = (id<IDrawable>)e.gameComponent;
if (drawable.visible) {
[visibleComponents removeObject:drawable];
}
[drawable.visibleChanged unsubscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentVisibleChanged:eventArgs:)]];
[drawable.drawOrderChanged unsubscribeDelegate:
[Delegate delegateWithTarget:self Method:@selector(componentDrawOrderChanged:eventArgs:)]];
}
}
- (void) componentEnabledChanged:(id<IUpdatable>)sender eventArgs:(EventArgs*)e {
if (sender.enabled) {
[self addEnabledComponent: sender];
} else {
[enabledComponents removeObject:sender];
}
}
- (void) componentUpdateOrderChanged:(id<IUpdatable>)sender eventArgs:(EventArgs*)e {
[enabledComponents sortUsingDescriptors:updateOrderSort];
}
- (void) componentVisibleChanged:(id<IDrawable>)sender eventArgs:(EventArgs*)e {
if (sender.visible) {
[self addVisibleComponent:sender];
} else {
[visibleComponents removeObject:sender];
}
}
- (void) componentDrawOrderChanged:(id<IDrawable>)sender eventArgs:(EventArgs*)e {
[visibleComponents sortUsingDescriptors:drawOrderSort];
}
- (void) dealloc
{
[self unloadContent];
[gameTime release];
[enabledComponents release];
[visibleComponents release];
[components release];
[services release];

View File

@ -0,0 +1,29 @@
//
// GameComponent.h
// XNI
//
// Created by Matej Jan on 12.10.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "System.classes.h"
#import "Retronator.Xni.Framework.classes.h"
#import "IGameComponent.h"
#import "IUpdatable.h"
@interface GameComponent : NSObject <IGameComponent, IUpdatable> {
@private
BOOL enabled;
Game *game;
int updateOrder;
Event *enabledChanged;
Event *updateOrderChanged;
}
- (id) initWithGame:(Game*) theGame;
@property (nonatomic, readonly) Game *game;
@end

View File

@ -0,0 +1,61 @@
//
// GameComponent.m
// XNI
//
// Created by Matej Jan on 12.10.10.
// Copyright 2010 Retronator. All rights reserved.
//
#import "GameComponent.h"
#import "System.h"
#import "Retronator.Xni.Framework.h"
@implementation GameComponent
- (id) initWithGame:(Game *)theGame {
if (self = [super init]) {
game = theGame;
enabled = YES;
updateOrder = 0;
enabledChanged = [[Event alloc] init];
updateOrderChanged = [[Event alloc] init];
}
return self;
}
@synthesize game;
@synthesize enabled;
- (void) setEnabled:(BOOL)value {
if (enabled != value) {
enabled = value;
[enabledChanged raiseWithSender:self];
}
}
@synthesize updateOrder;
- (void) setUpdateOrder:(int)value {
if (updateOrder != value) {
updateOrder = value;
[updateOrderChanged raiseWithSender:self];
}
}
@synthesize enabledChanged;
@synthesize updateOrderChanged;
- (void) initialize {}
- (void) updateWithGameTime:(GameTime*)gameTime {}
- (void) dealloc
{
[updateOrderChanged release];
[enabledChanged release];
[super dealloc];
}
@end

View File

@ -19,7 +19,7 @@
CAEAGLLayer *eaglLayer = (CAEAGLLayer*)self.layer;
eaglLayer.opaque = TRUE;
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking,
kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];
}

View File

@ -10,6 +10,7 @@
#import "Retronator.Xni.Framework.h"
#import "TouchPanel+Internal.h"
#import "GameView.h"
@implementation GameViewController
@ -50,7 +51,7 @@
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
//InterfaceOrientationFlags orientationFlag = 1 << interfaceOrientation;
return YES;// gameWindow.allowedOrientations & orientationFlag;
return YES; // gameWindow.allowedOrientations & orientationFlag;
}

View File

@ -11,6 +11,7 @@
#import "System.h"
#import "Retronator.Xni.Framework.classes.h"
@class GameViewController;
@interface GameWindow : NSObject {
Rectangle *clientBounds;

View File

@ -9,6 +9,8 @@
#import "GameWindow.h"
#import "Retronator.Xni.Framework.h"
#import "GameViewController.h"
#import "GameView.h"
@implementation GameWindow
@ -55,7 +57,7 @@
gameViewController.wantsFullScreenLayout = willBeFullscreen;
[[UIApplication sharedApplication] setStatusBarHidden:willBeFullscreen];
gameViewController.view.frame = [UIScreen mainScreen].applicationFrame;
clientBounds = [Rectangle rectangleWithCGRect:gameViewController.view.bounds];
clientBounds = [[Rectangle rectangleWithCGRect:gameViewController.view.bounds] retain];
}
- (void) endScreenDeviceChange {

View File

@ -11,6 +11,7 @@
#import <OpenGLES/ES1/glext.h>
#import <OpenGLES/ES2/glext.h>
#import "System.classes.h"
#import "Retronator.Xni.Framework.classes.h"
#import "Retronator.Xni.Framework.Graphics.classes.h"
@ -37,6 +38,10 @@
TextureCollection *textures;
Viewport *viewport;
// Events
Event *deviceResetting;
Event *deviceReset;
NSMutableArray *vertices;
}
@ -54,6 +59,9 @@
@property (nonatomic, readonly) TextureCollection *textures;
@property (nonatomic, retain) Viewport *viewport;
@property (nonatomic, readonly) Event *deviceResetting;
@property (nonatomic, readonly) Event *deviceReset;
+ (int) getNumberOfVerticesForPrimitiveType:(PrimitiveType)primitiveType primitiveCount:(int)primitiveCount;
// Presentation

View File

@ -63,6 +63,10 @@
samplerStates = [[SamplerStateCollection alloc] init];
textures = [[TextureCollection alloc] init];
[samplerStates insertObject:[SamplerState linearClamp] atIndex:0];
// Create events.
deviceResetting = [[Event alloc] init];
deviceReset = [[Event alloc] init];
}
return self;
@ -127,8 +131,13 @@
}
}
@synthesize deviceReset;
@synthesize deviceResetting;
// Presentation
- (void) reset {
[deviceResetting raiseWithSender:self];
CAEAGLLayer *layer = (CAEAGLLayer*)game.window.handle;
// Allocate color buffer backing based on the current layer size.
@ -154,6 +163,8 @@
// Set state defaults.
glEnable(GL_BLEND);
[deviceReset raiseWithSender:self];
}
- (void) present {
@ -292,6 +303,8 @@
[samplerStates release];
[textures release];
[viewport release];
[deviceResetting release];
[deviceReset release];
[super dealloc];
}

View File

@ -8,7 +8,7 @@
@property (nonatomic, readonly) Event *deviceCreated;
@property (nonatomic, readonly) Event *deviceDisposing;
@property (nonatomic, readonly) Event *deviceReseting;
@property (nonatomic, readonly) Event *deviceResetting;
@property (nonatomic, readonly) Event *deviceReset;
@end

View File

@ -23,6 +23,8 @@
BOOL beginCalled;
int drawCalls;
NSMutableArray *sprites;
VertexPositionColorTextureArray *vertexArray;
}

View File

@ -18,7 +18,7 @@ typedef struct {
float height;
} RectangleFStruct;
@interface Sprite : NSObject
@interface XniSprite : NSObject
{
@public
Texture2D *texture;
@ -32,13 +32,17 @@ typedef struct {
@property (nonatomic, readonly) Texture2D *texture;
@property (nonatomic, readonly) float layerDepth;
@property (nonatomic, readonly) uint textureId;
@end
@implementation Sprite
@implementation XniSprite
@synthesize texture;
@synthesize layerDepth;
- (uint) textureId {
return texture.textureId;
}
@end
@ -48,7 +52,7 @@ NSArray *textureSort;
NSArray *frontToBackSort;
NSArray *backToFrontSort;
static inline void SpriteSetSource(Sprite *sprite, Rectangle *source, Texture2D *texture, SpriteEffects effects) {
static inline void SpriteSetSource(XniSprite *sprite, Rectangle *source, Texture2D *texture, SpriteEffects effects) {
if (source) {
sprite->source.x = (float)source.x / texture.width;
sprite->source.y = (float)source.y / texture.height;
@ -70,7 +74,7 @@ static inline void SpriteSetSource(Sprite *sprite, Rectangle *source, Texture2D
}
}
static inline void SpriteSetVertices(Sprite *sprite, float positionX, float positionY, float originX, float originY, float scaleX, float scaleY, float rotation, float width, float height) {
static inline void SpriteSetVertices(XniSprite *sprite, float positionX, float positionY, float originX, float originY, float scaleX, float scaleY, float rotation, float width, float height) {
float x = originX * scaleX;
float y = -originY * scaleY;
float c = cos(rotation);
@ -83,33 +87,34 @@ static inline void SpriteSetVertices(Sprite *sprite, float positionX, float posi
sprite->height.y = height * scaleY * c;
}
static inline void SpriteSetDestinationFast(Sprite *sprite, Rectangle *destination) {
static inline void SpriteSetDestinationFast(XniSprite *sprite, Rectangle *destination) {
sprite->position.x = destination.x;
sprite->position.y = destination.y;
sprite->width.x = destination.width;
sprite->height.y = destination.height;
}
static inline void SpriteSetDestination(Sprite *sprite, Rectangle *destination, float originX, float originY, float rotation) {
static inline void SpriteSetDestination(XniSprite *sprite, Rectangle *destination, float originX, float originY, float rotation) {
SpriteSetVertices(sprite, destination.x + originX, destination.y + originY, originX, originY, 1, 1, rotation, destination.width, destination.height);
}
static inline void SpriteSetPositionFast(Sprite *sprite, Vector2 *position, float width, float height) {
static inline void SpriteSetPositionFast(XniSprite *sprite, Vector2 *position, float width, float height) {
sprite->position.x = position.x;
sprite->position.y = position.y;
sprite->width.x = width;
sprite->height.y = height;
}
static inline void SpriteSetPosition(Sprite *sprite, Vector2 *position, float originX, float originY, float scaleX, float scaleY, float rotation, float width, float height) {
static inline void SpriteSetPosition(XniSprite *sprite, Vector2 *position, float originX, float originY, float scaleX, float scaleY, float rotation, float width, float height) {
SpriteSetVertices(sprite, position.x, position.y, originX, originY, scaleX, scaleY, rotation, width, height);
}
@interface SpriteBatch()
- (void) setProjection;
- (void) apply;
- (void) draw:(Sprite*)sprite;
- (void) draw:(XniSprite*)sprite;
- (void) draw;
- (void) drawFrom:(int)startIndex to:(int)endIndex;
@ -125,24 +130,23 @@ static VertexPositionColorTextureStruct vertices[4];
self = [super initWithGraphicsDevice:theGraphicsDevice];
if (self != nil) {
basicEffect = [[BasicEffect alloc] initWithGraphicsDevice:theGraphicsDevice];
basicEffect.projection = [Matrix createOrthographicOffCenterWithLeft:0
right:theGraphicsDevice.viewport.width
bottom:theGraphicsDevice.viewport.height
top:0
zNearPlane:0
zFarPlane:1];
[self setProjection];
basicEffect.textureEnabled = YES;
basicEffect.vertexColorEnabled = YES;
sprites = [[NSMutableArray alloc] init];
vertexArray = [[VertexPositionColorTextureArray alloc] initWithInitialCapacity:256];
[theGraphicsDevice.deviceReset subscribeDelegate:[Delegate delegateWithTarget:self Method:@selector(setProjection)]];
}
return self;
}
+ (void) initialize {
identity = [[Matrix identity] retain];
NSSortDescriptor *textureSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"texture" ascending:YES] autorelease];
NSSortDescriptor *textureSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"textureId" ascending:YES] autorelease];
NSSortDescriptor *depthAscendingSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"layerDepth" ascending:YES] autorelease];
NSSortDescriptor *depthDescendingSortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"layerDepth" ascending:NO] autorelease];
@ -153,6 +157,15 @@ static VertexPositionColorTextureStruct vertices[4];
backToFrontSort = [[NSArray arrayWithObjects:depthDescendingSortDescriptor, textureSortDescriptor, nil] retain];
}
- (void) setProjection {
basicEffect.projection = [Matrix createOrthographicOffCenterWithLeft:0
right:self.graphicsDevice.viewport.width
bottom:self.graphicsDevice.viewport.height
top:0
zNearPlane:0
zFarPlane:1];
}
- (void) begin {
[self beginWithSortMode:SpriteSortModeDeffered BlendState:nil SamplerState:nil DepthStencilState:nil RasterizerState:nil Effect:nil TransformMatrix:nil];
}
@ -211,7 +224,7 @@ static VertexPositionColorTextureStruct vertices[4];
}
- (void) draw:(Texture2D*)texture toRectangle:(Rectangle*)destinationRectangle tintWithColor:(Color*)color {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetDestinationFast(sprite, destinationRectangle);
SpriteSetSource(sprite, nil, texture, SpriteEffectsNone);
@ -220,7 +233,7 @@ static VertexPositionColorTextureStruct vertices[4];
}
- (void) draw:(Texture2D*)texture toRectangle:(Rectangle*)destinationRectangle fromRectangle:(Rectangle*)sourceRectangle tintWithColor:(Color*)color {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetDestinationFast(sprite, destinationRectangle);
SpriteSetSource(sprite, sourceRectangle, texture, SpriteEffectsNone);
@ -230,7 +243,7 @@ static VertexPositionColorTextureStruct vertices[4];
- (void) draw:(Texture2D*)texture toRectangle:(Rectangle*)destinationRectangle fromRectangle:(Rectangle*)sourceRectangle tintWithColor:(Color*)color
rotation:(float)rotation origin:(Vector2*)origin effects:(SpriteEffects)effects layerDepth:(float)layerDepth {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetDestination(sprite, destinationRectangle, origin.x, origin.y, rotation);
SpriteSetSource(sprite, sourceRectangle, texture, effects);
@ -240,7 +253,7 @@ static VertexPositionColorTextureStruct vertices[4];
}
- (void) draw:(Texture2D*)texture to:(Vector2*)position tintWithColor:(Color*)color {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetPositionFast(sprite, position, texture.width, texture.height);
SpriteSetSource(sprite, nil, texture, SpriteEffectsNone);
@ -249,7 +262,7 @@ static VertexPositionColorTextureStruct vertices[4];
}
- (void) draw:(Texture2D*)texture to:(Vector2*)position fromRectangle:(Rectangle*)sourceRectangle tintWithColor:(Color*)color {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetPositionFast(sprite, position, sourceRectangle ? sourceRectangle.width : texture.width, sourceRectangle ? sourceRectangle.height : texture.height);
SpriteSetSource(sprite, sourceRectangle, texture, SpriteEffectsNone);
@ -259,7 +272,7 @@ static VertexPositionColorTextureStruct vertices[4];
- (void) draw:(Texture2D*)texture to:(Vector2*)position fromRectangle:(Rectangle*)sourceRectangle tintWithColor:(Color*)color
rotation:(float)rotation origin:(Vector2*)origin scaleUniform:(float)scale effects:(SpriteEffects)effects layerDepth:(float)layerDepth {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetPosition(sprite, position, origin.x, origin.y, scale, scale, rotation, sourceRectangle ? sourceRectangle.width : texture.width, sourceRectangle ? sourceRectangle.height : texture.height);
SpriteSetSource(sprite, sourceRectangle, texture, effects);
@ -269,7 +282,7 @@ static VertexPositionColorTextureStruct vertices[4];
- (void) draw:(Texture2D*)texture to:(Vector2*)position fromRectangle:(Rectangle*)sourceRectangle tintWithColor:(Color*)color
rotation:(float)rotation origin:(Vector2*)origin scale:(Vector2*)scale effects:(SpriteEffects)effects layerDepth:(float)layerDepth {
Sprite *sprite = [[[Sprite alloc] init] autorelease];
XniSprite *sprite = [[[XniSprite alloc] init] autorelease];
sprite->texture = texture;
SpriteSetPosition(sprite, position, origin.x, origin.y, scale.x, scale.y, rotation, sourceRectangle ? sourceRectangle.width : texture.width, sourceRectangle ? sourceRectangle.height : texture.height);
SpriteSetSource(sprite, sourceRectangle, texture, effects);
@ -278,11 +291,12 @@ static VertexPositionColorTextureStruct vertices[4];
[self draw:sprite];
}
- (void) draw:(Sprite *)sprite {
- (void) draw:(XniSprite *)sprite {
[sprites addObject:sprite];
if (sortMode == SpriteSortModeImmediate) {
[self draw];
[sprites removeAllObjects];
}
}
@ -337,11 +351,11 @@ static VertexPositionColorTextureStruct vertices[4];
// Continue until all sprites are drawn.
while (startIndex < count) {
// Get the texture for the next batch.
Texture2D *currentTexture = ((Sprite*)[sprites objectAtIndex:startIndex]).texture;
Texture2D *currentTexture = ((XniSprite*)[sprites objectAtIndex:startIndex]).texture;
// Try to expend the end to include all sprites with the same texture.
if (count > 1) {
while (endIndex + 1 < count && ((Sprite*)[sprites objectAtIndex:endIndex + 1]).texture == currentTexture) {
while (endIndex + 1 < count && ((XniSprite*)[sprites objectAtIndex:endIndex + 1]).texture == currentTexture) {
endIndex++;
}
}
@ -359,7 +373,7 @@ static VertexPositionColorTextureStruct vertices[4];
// Fill the vertex array
for (int i = startIndex; i <= endIndex; i++) {
Sprite *sprite = [sprites objectAtIndex:i];
XniSprite *sprite = [sprites objectAtIndex:i];
vertices[0].position.x = sprite->position.x;
vertices[0].position.y = sprite->position.y;
@ -401,7 +415,7 @@ static VertexPositionColorTextureStruct vertices[4];
}
// Apply the effect with the texture.
basicEffect.texture = ((Sprite*)[sprites objectAtIndex:startIndex]).texture;
basicEffect.texture = ((XniSprite*)[sprites objectAtIndex:startIndex]).texture;
[[basicEffect.currentTechnique.passes objectAtIndex:0] apply];
// Draw the vertex array.

View File

@ -28,7 +28,7 @@
GraphicsDevice *graphicsDevice;
Event *deviceCreated;
Event *deviceDisposing;
Event *deviceReseting;
Event *deviceResetting;
Event *deviceReset;
}

View File

@ -19,7 +19,7 @@
deviceCreated = [[Event alloc] init];
deviceDisposing = [[Event alloc] init];
deviceReseting = [[Event alloc] init];
deviceResetting = [[Event alloc] init];
deviceReset = [[Event alloc] init];
[game.services addService:self ofType:[Protocols graphicsDeviceManager]];
@ -40,7 +40,7 @@
@synthesize graphicsDevice;
@synthesize deviceCreated;
@synthesize deviceDisposing;
@synthesize deviceReseting;
@synthesize deviceResetting;
@synthesize deviceReset;
- (void) toggleFullscreen {
@ -89,7 +89,7 @@
[deviceCreated raiseWithSender:self];
} else {
// Reset the existing device.
[deviceReseting raiseWithSender:self];
[deviceResetting raiseWithSender:self];
[graphicsDevice reset];
[game.window endScreenDeviceChange];
[deviceReset raiseWithSender:self];
@ -101,7 +101,7 @@
[graphicsDevice release];
[deviceCreated release];
[deviceDisposing release];
[deviceReseting release];
[deviceResetting release];
[deviceReset release];
[super dealloc];
}

View File

@ -3,7 +3,10 @@
@protocol IDrawable
@property (nonatomic) BOOL visible;
@property (nonatomic) int drawOrder;
@property (nonatomic, readonly) Event *visibleChanged;
@property (nonatomic, readonly) Event *drawOrderChanged;
- (void) drawWithGameTime:(GameTime*)gameTime;

View File

@ -1,4 +1,4 @@
@protocol IGameComponent
@protocol IGameComponent <NSObject>
- (void) initialize;

View File

@ -3,7 +3,10 @@
@protocol IUpdatable
@property (nonatomic) BOOL enabled;
@property (nonatomic) int updateOrder;
@property (nonatomic, readonly) Event *enabledChanged;
@property (nonatomic, readonly) Event *updateOrderChanged;
- (void) updateWithGameTime:(GameTime*)gameTime;

View File

@ -23,6 +23,7 @@
@property (nonatomic) TouchLocationState state;
- (void) moveIfPressed;
- (void) moveToPosition:(Vector2*)newPosition;
- (TouchLocation*) createTouchLocation;
@ -47,6 +48,12 @@ static int nextID = 0;
@synthesize state;
- (void) moveIfPressed {
if (state == TouchLocationStatePressed) {
state = TouchLocationStateMoved;
}
}
- (void) moveToPosition:(Vector2*)newPosition {
[previousPosition release];
previousPosition = position;
@ -110,6 +117,9 @@ static TouchPanel *instance;
TouchCollection *collection = [[[TouchCollection alloc] init] autorelease];
for (InternalTouchLocation *touch in [touchLocations allValues]) {
[collection addObject:[touch createTouchLocation]];
// After get state is done, all pressed touches should be moved.
[touch moveIfPressed];
}
return collection;
}

View File

@ -10,7 +10,7 @@
@class Game, GameTime, GameServiceContainer, GraphicsDeviceManager;
// Game host
@class GameHost, GameWindow, GameViewController, GameView;
@class GameHost, GameWindow;
// Game components
@protocol IGameComponent, IUpdatable, IDrawable;

View File

@ -15,15 +15,13 @@
// Game host
#import "GameHost.h"
#import "GameWindow.h"
#import "GameViewController.h"
#import "GameView.h"
// Game components
#import "IGameComponent.h"
#import "IUpdatable.h"
#import "IDrawable.h"
//#import "GameComponent.h"
//#import "DrawableGameComponent.h"
#import "GameComponent.h"
#import "DrawableGameComponent.h"
#import "GameComponentCollection.h"
#import "GameComponentCollectionEventArgs.h"

View File

@ -6,4 +6,4 @@
@class Delegate, Event, EventArgs;
// Arrays
@class AdaptiveArray;
@class AdaptiveArray;

View File

@ -8,6 +8,10 @@
/* Begin PBXBuildFile section */
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
B50769141264EE9500E4474F /* GameComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = B50769121264EE9500E4474F /* GameComponent.h */; settings = {ATTRIBUTES = (Public, ); }; };
B50769151264EE9500E4474F /* GameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B50769131264EE9500E4474F /* GameComponent.m */; };
B507691C1264EF0B00E4474F /* DrawableGameComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = B507691A1264EF0B00E4474F /* DrawableGameComponent.h */; settings = {ATTRIBUTES = (Public, ); }; };
B507691D1264EF0B00E4474F /* DrawableGameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B507691B1264EF0B00E4474F /* DrawableGameComponent.m */; };
B50806FF122E4ECF00C330E2 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = B50806FD122E4ECF00C330E2 /* Texture.h */; settings = {ATTRIBUTES = (Public, ); }; };
B5080700122E4ECF00C330E2 /* Texture.m in Sources */ = {isa = PBXBuildFile; fileRef = B50806FE122E4ECF00C330E2 /* Texture.m */; };
B5080703122E4EE900C330E2 /* Texture2D.h in Headers */ = {isa = PBXBuildFile; fileRef = B5080701122E4EE900C330E2 /* Texture2D.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -75,6 +79,194 @@
B5BBC2D31248F98D0066F5ED /* VertexBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2D11248F98D0066F5ED /* VertexBuffer.m */; };
B5BBC2EC1248FC7A0066F5ED /* VertexBufferBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC2EA1248FC7A0066F5ED /* VertexBufferBinding.h */; settings = {ATTRIBUTES = (Public, ); }; };
B5BBC2ED1248FC7A0066F5ED /* VertexBufferBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2EB1248FC7A0066F5ED /* VertexBufferBinding.m */; };
B5C6FDD9126DD2AE002ED666 /* XNI_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = B5F4E2A812095FAF00B2FC0F /* XNI_Prefix.pch */; };
B5C6FDDA126DD2AE002ED666 /* GameView.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE194C11F89C1F00BF3275 /* GameView.h */; };
B5C6FDDB126DD2AE002ED666 /* TouchPanel+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = B52BACF9125527E200B308F6 /* TouchPanel+Internal.h */; };
B5C6FDDC126DD2AE002ED666 /* GameViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE194811F89C0900BF3275 /* GameViewController.h */; };
B5C6FDDD126DD2AE002ED666 /* VertexBufferBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC2EA1248FC7A0066F5ED /* VertexBufferBinding.h */; };
B5C6FDDE126DD2AE002ED666 /* IndexBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC1CD1248D4CB0066F5ED /* IndexBuffer.h */; };
B5C6FDDF126DD2AE002ED666 /* Vector2.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853B31239334300E6FD71 /* Vector2.h */; };
B5C6FDE0126DD2AE002ED666 /* Retronator.Xni.Framework.Content.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A1C83012353F9B00DB60CB /* Retronator.Xni.Framework.Content.classes.h */; };
B5C6FDE1126DD2AE002ED666 /* Vector2Struct.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853B71239335900E6FD71 /* Vector2Struct.h */; };
B5C6FDE2126DD2AE002ED666 /* Effect.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B7812429BBD00DDD99A /* Effect.h */; };
B5C6FDE3126DD2AE002ED666 /* AdaptiveArray.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA637C124921D0001245A4 /* AdaptiveArray.h */; };
B5C6FDE4126DD2AE002ED666 /* BlendState.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B6012429AEC00DDD99A /* BlendState.h */; };
B5C6FDE5126DD2AE002ED666 /* TouchPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC59F71252B917001E7DFC /* TouchPanel.h */; };
B5C6FDE6126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE82E11FF1213000DB38B /* Retronator.Xni.Framework.Graphics.classes.h */; };
B5C6FDE7126DD2AE002ED666 /* SamplerState.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B6C12429B1A00DDD99A /* SamplerState.h */; };
B5C6FDE8126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE83011FF1222000DB38B /* Retronator.Xni.Framework.Graphics.h */; };
B5C6FDE9126DD2AE002ED666 /* Matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853A5123931F900E6FD71 /* Matrix.h */; };
B5C6FDEA126DD2AE002ED666 /* Retronator.Xni.Framework.Content.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A1C82E12353F8700DB60CB /* Retronator.Xni.Framework.Content.h */; };
B5C6FDEB126DD2AE002ED666 /* ContentIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD8211236E76E00F99511 /* ContentIdentity.h */; };
B5C6FDEC126DD2AE002ED666 /* Texture2D.h in Headers */ = {isa = PBXBuildFile; fileRef = B5080701122E4EE900C330E2 /* Texture2D.h */; };
B5C6FDED126DD2AE002ED666 /* VertexPositionColor.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA636D124917E2001245A4 /* VertexPositionColor.h */; };
B5C6FDEE126DD2AE002ED666 /* MatrixStruct.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853A3123931F100E6FD71 /* MatrixStruct.h */; };
B5C6FDEF126DD2AE002ED666 /* Vector4.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F8539B12392E2000E6FD71 /* Vector4.h */; };
B5C6FDF0126DD2AE002ED666 /* Retronator.Xni.Framework.Input.Touch.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC59FB1252BE32001E7DFC /* Retronator.Xni.Framework.Input.Touch.classes.h */; };
B5C6FDF1126DD2AE002ED666 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = B50806FD122E4ECF00C330E2 /* Texture.h */; };
B5C6FDF2126DD2AE002ED666 /* ContentItem.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD81D1236E59A00F99511 /* ContentItem.h */; };
B5C6FDF3126DD2AE002ED666 /* EffectTechnique.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA65D5124952C9001245A4 /* EffectTechnique.h */; };
B5C6FDF4126DD2AE002ED666 /* IGraphicsDeviceService.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE82A11FF10EF000DB38B /* IGraphicsDeviceService.h */; };
B5C6FDF5126DD2AE002ED666 /* SamplerStateCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC1DE1248D5640066F5ED /* SamplerStateCollection.h */; };
B5C6FDF6126DD2AE002ED666 /* VertexArray.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA638D1249229D001245A4 /* VertexArray.h */; };
B5C6FDF7126DD2AE002ED666 /* FrameworkEnums.h in Headers */ = {isa = PBXBuildFile; fileRef = B52BADAC1255426600B308F6 /* FrameworkEnums.h */; };
B5C6FDF8126DD2AE002ED666 /* Color.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE90711FF352E000DB38B /* Color.h */; };
B5C6FDF9126DD2AE002ED666 /* MipmapChainCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC50F123A739100B72347 /* MipmapChainCollection.h */; };
B5C6FDFA126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD81B1236E56800F99511 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.h */; };
B5C6FDFB126DD2AE002ED666 /* Retronator.Xni.Framework.Input.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC5A921252C710001E7DFC /* Retronator.Xni.Framework.Input.h */; };
B5C6FDFC126DD2AE002ED666 /* VertexPositionTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA65511249482D001245A4 /* VertexPositionTexture.h */; };
B5C6FDFD126DD2AE002ED666 /* IServiceProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC559123A846C00B72347 /* IServiceProvider.h */; };
B5C6FDFE126DD2AE002ED666 /* System.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE18A311F888BC00BF3275 /* System.h */; };
B5C6FDFF126DD2AE002ED666 /* Retronator.Xni.Framework.Input.Touch.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC59FD1252BE3B001E7DFC /* Retronator.Xni.Framework.Input.Touch.h */; };
B5C6FE00126DD2AE002ED666 /* RasterizerState.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B6812429B0E00DDD99A /* RasterizerState.h */; };
B5C6FE01126DD2AE002ED666 /* IGameComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE80111FF0AE3000DB38B /* IGameComponent.h */; };
B5C6FE02126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD80B1236E21900F99511 /* Retronator.Xni.Framework.Content.Pipeline.h */; };
B5C6FE03126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.PackedVector.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD89F1236F1FF00F99511 /* Retronator.Xni.Framework.Graphics.PackedVector.classes.h */; };
B5C6FE04126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD80D1236E22B00F99511 /* Retronator.Xni.Framework.Content.Pipeline.classes.h */; };
B5C6FE05126DD2AE002ED666 /* DepthStencilState.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B6412429AF900DDD99A /* DepthStencilState.h */; };
B5C6FE06126DD2AE002ED666 /* PackedVectorStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F8536D1239206700E6FD71 /* PackedVectorStructs.h */; };
B5C6FE07126DD2AE002ED666 /* VertexPositionColorArray.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA655E1249495C001245A4 /* VertexPositionColorArray.h */; };
B5C6FE08126DD2AE002ED666 /* GameHost.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE18FA11F88AD900BF3275 /* GameHost.h */; };
B5C6FE09126DD2AE002ED666 /* ColorPixelBitmapContent.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F8546B1239484700E6FD71 /* ColorPixelBitmapContent.h */; };
B5C6FE0A126DD2AE002ED666 /* GestureSample.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC5A4D1252C2DF001E7DFC /* GestureSample.h */; };
B5C6FE0B126DD2AE002ED666 /* GameWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE18FC11F88AD900BF3275 /* GameWindow.h */; };
B5C6FE0C126DD2AE002ED666 /* Rectangle.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE190211F88AF500BF3275 /* Rectangle.h */; };
B5C6FE0D126DD2AE002ED666 /* TouchLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC5A0E1252BEDF001E7DFC /* TouchLocation.h */; };
B5C6FE0E126DD2AE002ED666 /* SpriteBatch.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E78B481242925600DDD99A /* SpriteBatch.h */; };
B5C6FE0F126DD2AE002ED666 /* TextureContent.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD8661236EC2300F99511 /* TextureContent.h */; };
B5C6FE10126DD2AE002ED666 /* VertexPositionColorTextureArray.h in Headers */ = {isa = PBXBuildFile; fileRef = B57E36CA124BE36E00DDAA42 /* VertexPositionColorTextureArray.h */; };
B5C6FE11126DD2AE002ED666 /* GameTime.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE82011FF0D4F000DB38B /* GameTime.h */; };
B5C6FE12126DD2AE002ED666 /* BasicEffect.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA660012495618001245A4 /* BasicEffect.h */; };
B5C6FE13126DD2AE002ED666 /* Retronator.Xni.Framework.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE18A011F8888B00BF3275 /* Retronator.Xni.Framework.h */; };
B5C6FE14126DD2AE002ED666 /* Quaternion.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853CB1239357400E6FD71 /* Quaternion.h */; };
B5C6FE15126DD2AE002ED666 /* IDrawable.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE80611FF0B3C000DB38B /* IDrawable.h */; };
B5C6FE16126DD2AE002ED666 /* DrawableGameComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = B507691A1264EF0B00E4474F /* DrawableGameComponent.h */; };
B5C6FE17126DD2AE002ED666 /* VertexElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC2BA1248F2990066F5ED /* VertexElement.h */; };
B5C6FE18126DD2AE002ED666 /* TextureImporter.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD80F1236E25700F99511 /* TextureImporter.h */; };
B5C6FE19126DD2AE002ED666 /* InputEnums.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC5A181252BF63001E7DFC /* InputEnums.h */; };
B5C6FE1A126DD2AE002ED666 /* GameComponentCollectionEventArgs.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE80811FF0C24000DB38B /* GameComponentCollectionEventArgs.h */; };
B5C6FE1B126DD2AE002ED666 /* RectangleStruct.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE190611F88B5D00BF3275 /* RectangleStruct.h */; };
B5C6FE1C126DD2AE002ED666 /* IGraphicsDeviceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE82C11FF10FD000DB38B /* IGraphicsDeviceManager.h */; };
B5C6FE1D126DD2AE002ED666 /* IUpdatable.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE80411FF0B2D000DB38B /* IUpdatable.h */; };
B5C6FE1E126DD2AE002ED666 /* VertexDeclaration.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC2AC1248F0C40066F5ED /* VertexDeclaration.h */; };
B5C6FE1F126DD2AE002ED666 /* ReachGraphicsDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C111FF29E8000DB38B /* ReachGraphicsDevice.h */; };
B5C6FE20126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD8191236E55E00F99511 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.classes.h */; };
B5C6FE21126DD2AE002ED666 /* Vector4Struct.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F8539F12392E4500E6FD71 /* Vector4Struct.h */; };
B5C6FE22126DD2AE002ED666 /* ContentManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A1C83212353FBB00DB60CB /* ContentManager.h */; };
B5C6FE23126DD2AE002ED666 /* Game.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE7E911FF04E3000DB38B /* Game.h */; };
B5C6FE24126DD2AE002ED666 /* ContentTypeReaderManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC5C5123A928A00B72347 /* ContentTypeReaderManager.h */; };
B5C6FE25126DD2AE002ED666 /* GameComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = B50769121264EE9500E4474F /* GameComponent.h */; };
B5C6FE26126DD2AE002ED666 /* TextureCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC1EF1248D6090066F5ED /* TextureCollection.h */; };
B5C6FE27126DD2AE002ED666 /* Protocols.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE89411FF16A3000DB38B /* Protocols.h */; };
B5C6FE28126DD2AE002ED666 /* Viewport.h in Headers */ = {isa = PBXBuildFile; fileRef = B57E3663124BC23E00DDAA42 /* Viewport.h */; };
B5C6FE29126DD2AE002ED666 /* ContentTypeReader.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC5C1123A927500B72347 /* ContentTypeReader.h */; };
B5C6FE2A126DD2AE002ED666 /* Texture2DContentTypeReader.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC5C9123A92BB00B72347 /* Texture2DContentTypeReader.h */; };
B5C6FE2B126DD2AE002ED666 /* Texture2DContent.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC525123A79E800B72347 /* Texture2DContent.h */; };
B5C6FE2C126DD2AE002ED666 /* VectorConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F85385123929F800E6FD71 /* VectorConverter.h */; };
B5C6FE2D126DD2AE002ED666 /* BitmapContent.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD86C1236ED3900F99511 /* BitmapContent.h */; };
B5C6FE2E126DD2AE002ED666 /* GraphicsEnums.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C911FF2AD6000DB38B /* GraphicsEnums.h */; };
B5C6FE2F126DD2AE002ED666 /* VertexStructs.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA634E12491709001245A4 /* VertexStructs.h */; };
B5C6FE30126DD2AE002ED666 /* GraphicsResource.h in Headers */ = {isa = PBXBuildFile; fileRef = B508070A122E4FBB00C330E2 /* GraphicsResource.h */; };
B5C6FE31126DD2AE002ED666 /* Vector3Struct.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853BB1239336C00E6FD71 /* Vector3Struct.h */; };
B5C6FE32126DD2AE002ED666 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189411F8884A00BF3275 /* Event.h */; };
B5C6FE33126DD2AE002ED666 /* VertexBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5BBC2D01248F98D0066F5ED /* VertexBuffer.h */; };
B5C6FE34126DD2AE002ED666 /* HiDefGraphicsDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE8C511FF2A23000DB38B /* HiDefGraphicsDevice.h */; };
B5C6FE35126DD2AE002ED666 /* EventArgs.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189611F8884A00BF3275 /* EventArgs.h */; };
B5C6FE36126DD2AE002ED666 /* GraphicsDeviceManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE98F11FF546B000DB38B /* GraphicsDeviceManager.h */; };
B5C6FE37126DD2AE002ED666 /* TouchCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EC5A051252BE9E001E7DFC /* TouchCollection.h */; };
B5C6FE38126DD2AE002ED666 /* DirectionalLight.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA660B124956CE001245A4 /* DirectionalLight.h */; };
B5C6FE39126DD2AE002ED666 /* EffectPass.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA65CD12495297001245A4 /* EffectPass.h */; };
B5C6FE3A126DD2AE002ED666 /* GameComponentCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE7FD11FF0A0F000DB38B /* GameComponentCollection.h */; };
B5C6FE3B126DD2AE002ED666 /* System.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189E11F8886D00BF3275 /* System.classes.h */; };
B5C6FE3C126DD2AE002ED666 /* Vector3.h in Headers */ = {isa = PBXBuildFile; fileRef = B5F853AF1239331C00E6FD71 /* Vector3.h */; };
B5C6FE3D126DD2AE002ED666 /* VertexPositionColorTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = B57E36BC124BE2DD00DDAA42 /* VertexPositionColorTexture.h */; };
B5C6FE3E126DD2AE002ED666 /* Delegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189211F8884A00BF3275 /* Delegate.h */; };
B5C6FE3F126DD2AE002ED666 /* VertexPositionTextureArray.h in Headers */ = {isa = PBXBuildFile; fileRef = B5EA657612494AC3001245A4 /* VertexPositionTextureArray.h */; };
B5C6FE40126DD2AE002ED666 /* ContentReader.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC5BB123A915700B72347 /* ContentReader.h */; };
B5C6FE41126DD2AE002ED666 /* PixelBitmapContent.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD8801236EFF200F99511 /* PixelBitmapContent.h */; };
B5C6FE42126DD2AE002ED666 /* ContentImporter.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD7EE1236E07300F99511 /* ContentImporter.h */; };
B5C6FE43126DD2AE002ED666 /* GraphicsDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE85A11FF1326000DB38B /* GraphicsDevice.h */; };
B5C6FE44126DD2AE002ED666 /* Retronator.Xni.Framework.classes.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DE189F11F8888B00BF3275 /* Retronator.Xni.Framework.classes.h */; };
B5C6FE45126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.PackedVector.h in Headers */ = {isa = PBXBuildFile; fileRef = B59AD8A11236F20B00F99511 /* Retronator.Xni.Framework.Graphics.PackedVector.h */; };
B5C6FE46126DD2AE002ED666 /* GameServiceContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE7ED11FF06BB000DB38B /* GameServiceContainer.h */; };
B5C6FE47126DD2AE002ED666 /* MipmapChain.h in Headers */ = {isa = PBXBuildFile; fileRef = B56CC50B123A6F3600B72347 /* MipmapChain.h */; };
B5C6FE48126DD2B7002ED666 /* GameHost.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE18FB11F88AD900BF3275 /* GameHost.m */; };
B5C6FE49126DD2B7002ED666 /* HiDefGraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE8C611FF2A23000DB38B /* HiDefGraphicsDevice.m */; };
B5C6FE4A126DD2B7002ED666 /* MipmapChainCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC510123A739100B72347 /* MipmapChainCollection.m */; };
B5C6FE4B126DD2B7002ED666 /* Event.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE189511F8884A00BF3275 /* Event.m */; };
B5C6FE4C126DD2B7002ED666 /* RasterizerState.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B6912429B0E00DDD99A /* RasterizerState.m */; };
B5C6FE4D126DD2B7002ED666 /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE7EA11FF04E3000DB38B /* Game.m */; };
B5C6FE4E126DD2B7002ED666 /* PixelBitmapContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD8811236EFF200F99511 /* PixelBitmapContent.m */; };
B5C6FE4F126DD2B7002ED666 /* TextureContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD8671236EC2300F99511 /* TextureContent.m */; };
B5C6FE50126DD2B7002ED666 /* TouchLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EC5A0F1252BEDF001E7DFC /* TouchLocation.m */; };
B5C6FE51126DD2B7002ED666 /* GameServiceContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE7EE11FF06BB000DB38B /* GameServiceContainer.m */; };
B5C6FE52126DD2B7002ED666 /* GameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B50769131264EE9500E4474F /* GameComponent.m */; };
B5C6FE53126DD2B7002ED666 /* Rectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE190311F88AF500BF3275 /* Rectangle.m */; };
B5C6FE54126DD2B7002ED666 /* VectorConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F85386123929F800E6FD71 /* VectorConverter.m */; };
B5C6FE55126DD2B7002ED666 /* IndexBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC1CE1248D4CB0066F5ED /* IndexBuffer.m */; };
B5C6FE56126DD2B7002ED666 /* Effect.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B7912429BBD00DDD99A /* Effect.m */; };
B5C6FE57126DD2B7002ED666 /* ContentIdentity.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD8221236E76E00F99511 /* ContentIdentity.m */; };
B5C6FE58126DD2B7002ED666 /* Texture.m in Sources */ = {isa = PBXBuildFile; fileRef = B50806FE122E4ECF00C330E2 /* Texture.m */; };
B5C6FE59126DD2B7002ED666 /* GestureSample.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EC5A4E1252C2DF001E7DFC /* GestureSample.m */; };
B5C6FE5A126DD2B7002ED666 /* BlendState.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B6112429AEC00DDD99A /* BlendState.m */; };
B5C6FE5B126DD2B7002ED666 /* VertexElement.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2BB1248F2990066F5ED /* VertexElement.m */; };
B5C6FE5C126DD2B7002ED666 /* SamplerStateCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC1DF1248D5640066F5ED /* SamplerStateCollection.m */; };
B5C6FE5D126DD2B7002ED666 /* Texture2DContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC526123A79E800B72347 /* Texture2DContent.m */; };
B5C6FE5E126DD2B7002ED666 /* GameComponentCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE7FE11FF0A0F000DB38B /* GameComponentCollection.m */; };
B5C6FE5F126DD2B7002ED666 /* GameTime.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE82111FF0D4F000DB38B /* GameTime.m */; };
B5C6FE60126DD2B7002ED666 /* BitmapContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD86D1236ED3900F99511 /* BitmapContent.m */; };
B5C6FE61126DD2B7002ED666 /* TouchPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EC59F81252B917001E7DFC /* TouchPanel.m */; };
B5C6FE62126DD2B7002ED666 /* TouchCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EC5A061252BE9E001E7DFC /* TouchCollection.m */; };
B5C6FE63126DD2B7002ED666 /* Texture2D.m in Sources */ = {isa = PBXBuildFile; fileRef = B5080702122E4EE900C330E2 /* Texture2D.m */; };
B5C6FE64126DD2B7002ED666 /* EffectTechnique.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA65D6124952C9001245A4 /* EffectTechnique.m */; };
B5C6FE65126DD2B7002ED666 /* AdaptiveArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA637D124921D0001245A4 /* AdaptiveArray.m */; };
B5C6FE66126DD2B7002ED666 /* Delegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE189311F8884A00BF3275 /* Delegate.m */; };
B5C6FE67126DD2B7002ED666 /* GameView.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE194D11F89C1F00BF3275 /* GameView.m */; };
B5C6FE68126DD2B7002ED666 /* VertexPositionColorTextureArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B57E36CB124BE36E00DDAA42 /* VertexPositionColorTextureArray.m */; };
B5C6FE69126DD2B7002ED666 /* VertexPositionTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA65521249482D001245A4 /* VertexPositionTexture.m */; };
B5C6FE6A126DD2B7002ED666 /* VertexPositionColor.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA636E124917E2001245A4 /* VertexPositionColor.m */; };
B5C6FE6B126DD2B7002ED666 /* ContentImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD7EF1236E07300F99511 /* ContentImporter.m */; };
B5C6FE6C126DD2B7002ED666 /* VertexBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2D11248F98D0066F5ED /* VertexBuffer.m */; };
B5C6FE6D126DD2B7002ED666 /* GameViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE194911F89C0900BF3275 /* GameViewController.m */; };
B5C6FE6E126DD2B7002ED666 /* TextureImporter.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD8101236E25700F99511 /* TextureImporter.m */; };
B5C6FE6F126DD2B7002ED666 /* GameComponentCollectionEventArgs.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE80911FF0C24000DB38B /* GameComponentCollectionEventArgs.m */; };
B5C6FE70126DD2B7002ED666 /* GameWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE18FD11F88AD900BF3275 /* GameWindow.m */; };
B5C6FE71126DD2B7002ED666 /* ColorPixelBitmapContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F8546C1239484700E6FD71 /* ColorPixelBitmapContent.m */; };
B5C6FE72126DD2B7002ED666 /* DirectionalLight.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA660C124956CE001245A4 /* DirectionalLight.m */; };
B5C6FE73126DD2B7002ED666 /* BasicEffect.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA660112495618001245A4 /* BasicEffect.m */; };
B5C6FE74126DD2B7002ED666 /* Vector3.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F853B01239331C00E6FD71 /* Vector3.m */; };
B5C6FE75126DD2B7002ED666 /* VertexArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA638E1249229D001245A4 /* VertexArray.m */; };
B5C6FE76126DD2B7002ED666 /* MipmapChain.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC50C123A6F3600B72347 /* MipmapChain.m */; };
B5C6FE77126DD2B7002ED666 /* Texture2DContentTypeReader.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC5CA123A92BB00B72347 /* Texture2DContentTypeReader.m */; };
B5C6FE78126DD2B7002ED666 /* SpriteBatch.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B491242925600DDD99A /* SpriteBatch.m */; };
B5C6FE79126DD2B7002ED666 /* VertexPositionColorArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA655F1249495C001245A4 /* VertexPositionColorArray.m */; };
B5C6FE7A126DD2B7002ED666 /* Vector2.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F853B41239334300E6FD71 /* Vector2.m */; };
B5C6FE7B126DD2B7002ED666 /* Vector4.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F8539C12392E2000E6FD71 /* Vector4.m */; };
B5C6FE7C126DD2B7002ED666 /* DrawableGameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B507691B1264EF0B00E4474F /* DrawableGameComponent.m */; };
B5C6FE7D126DD2B7002ED666 /* ContentManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A1C83312353FBB00DB60CB /* ContentManager.m */; };
B5C6FE7E126DD2B7002ED666 /* DepthStencilState.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B6512429AF900DDD99A /* DepthStencilState.m */; };
B5C6FE7F126DD2B7002ED666 /* Quaternion.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F853CC1239357400E6FD71 /* Quaternion.m */; };
B5C6FE80126DD2B7002ED666 /* Matrix.m in Sources */ = {isa = PBXBuildFile; fileRef = B5F853A6123931F900E6FD71 /* Matrix.m */; };
B5C6FE81126DD2B7002ED666 /* Color.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE90811FF352E000DB38B /* Color.m */; };
B5C6FE82126DD2B7002ED666 /* Viewport.m in Sources */ = {isa = PBXBuildFile; fileRef = B57E3664124BC23E00DDAA42 /* Viewport.m */; };
B5C6FE83126DD2B7002ED666 /* ContentItem.m in Sources */ = {isa = PBXBuildFile; fileRef = B59AD81E1236E59A00F99511 /* ContentItem.m */; };
B5C6FE84126DD2B7002ED666 /* ContentTypeReaderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC5C6123A928A00B72347 /* ContentTypeReaderManager.m */; };
B5C6FE85126DD2B7002ED666 /* VertexPositionTextureArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA657712494AC3001245A4 /* VertexPositionTextureArray.m */; };
B5C6FE86126DD2B7002ED666 /* VertexPositionColorTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = B57E36BD124BE2DD00DDAA42 /* VertexPositionColorTexture.m */; };
B5C6FE87126DD2B7002ED666 /* VertexBufferBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2EB1248FC7A0066F5ED /* VertexBufferBinding.m */; };
B5C6FE88126DD2B7002ED666 /* VertexDeclaration.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC2AD1248F0C40066F5ED /* VertexDeclaration.m */; };
B5C6FE89126DD2B7002ED666 /* GraphicsDeviceManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE99011FF546B000DB38B /* GraphicsDeviceManager.m */; };
B5C6FE8A126DD2B7002ED666 /* ContentReader.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC5BC123A915700B72347 /* ContentReader.m */; };
B5C6FE8B126DD2B7002ED666 /* EventArgs.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DE189711F8884A00BF3275 /* EventArgs.m */; };
B5C6FE8C126DD2B7002ED666 /* TextureCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = B5BBC1F01248D6090066F5ED /* TextureCollection.m */; };
B5C6FE8D126DD2B7002ED666 /* GraphicsResource.m in Sources */ = {isa = PBXBuildFile; fileRef = B508070B122E4FBB00C330E2 /* GraphicsResource.m */; };
B5C6FE8E126DD2B7002ED666 /* EffectPass.m in Sources */ = {isa = PBXBuildFile; fileRef = B5EA65CE12495297001245A4 /* EffectPass.m */; };
B5C6FE8F126DD2B7002ED666 /* SamplerState.m in Sources */ = {isa = PBXBuildFile; fileRef = B5E78B6D12429B1A00DDD99A /* SamplerState.m */; };
B5C6FE90126DD2B7002ED666 /* GraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE85B11FF1326000DB38B /* GraphicsDevice.m */; };
B5C6FE91126DD2B7002ED666 /* ContentTypeReader.m in Sources */ = {isa = PBXBuildFile; fileRef = B56CC5C2123A927500B72347 /* ContentTypeReader.m */; };
B5C6FE92126DD2B7002ED666 /* ReachGraphicsDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE8C211FF29E8000DB38B /* ReachGraphicsDevice.m */; };
B5C6FE93126DD2B7002ED666 /* Protocols.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE89511FF16A3000DB38B /* Protocols.m */; };
B5C6FEE9126DD2EA002ED666 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
B5DDE7EB11FF04E3000DB38B /* Game.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE7E911FF04E3000DB38B /* Game.h */; settings = {ATTRIBUTES = (Public, ); }; };
B5DDE7EC11FF04E3000DB38B /* Game.m in Sources */ = {isa = PBXBuildFile; fileRef = B5DDE7EA11FF04E3000DB38B /* Game.m */; };
B5DDE7EF11FF06BB000DB38B /* GameServiceContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B5DDE7ED11FF06BB000DB38B /* GameServiceContainer.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -195,6 +387,10 @@
/* Begin PBXFileReference section */
AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
B50769121264EE9500E4474F /* GameComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameComponent.h; sourceTree = "<group>"; };
B50769131264EE9500E4474F /* GameComponent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameComponent.m; sourceTree = "<group>"; };
B507691A1264EF0B00E4474F /* DrawableGameComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawableGameComponent.h; sourceTree = "<group>"; };
B507691B1264EF0B00E4474F /* DrawableGameComponent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DrawableGameComponent.m; sourceTree = "<group>"; };
B50806FD122E4ECF00C330E2 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = "<group>"; };
B50806FE122E4ECF00C330E2 /* Texture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Texture.m; sourceTree = "<group>"; };
B5080701122E4EE900C330E2 /* Texture2D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture2D.h; sourceTree = "<group>"; };
@ -262,6 +458,7 @@
B5BBC2D11248F98D0066F5ED /* VertexBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VertexBuffer.m; sourceTree = "<group>"; };
B5BBC2EA1248FC7A0066F5ED /* VertexBufferBinding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VertexBufferBinding.h; sourceTree = "<group>"; };
B5BBC2EB1248FC7A0066F5ED /* VertexBufferBinding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VertexBufferBinding.m; sourceTree = "<group>"; };
B5C6FDD3126DD292002ED666 /* libXNI Release.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libXNI Release.a"; sourceTree = BUILT_PRODUCTS_DIR; };
B5DDE7E911FF04E3000DB38B /* Game.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Game.h; sourceTree = "<group>"; };
B5DDE7EA11FF04E3000DB38B /* Game.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Game.m; sourceTree = "<group>"; };
B5DDE7ED11FF06BB000DB38B /* GameServiceContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameServiceContainer.h; sourceTree = "<group>"; };
@ -382,6 +579,14 @@
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
B5C6FDD1126DD292002ED666 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B5C6FEE9126DD2EA002ED666 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC07C0554694100DB518D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -397,6 +602,7 @@
isa = PBXGroup;
children = (
D2AAC07E0554694100DB518D /* libXNI.a */,
B5C6FDD3126DD292002ED666 /* libXNI Release.a */,
);
name = Products;
sourceTree = "<group>";
@ -635,6 +841,10 @@
B5DDE80111FF0AE3000DB38B /* IGameComponent.h */,
B5DDE80411FF0B2D000DB38B /* IUpdatable.h */,
B5DDE80611FF0B3C000DB38B /* IDrawable.h */,
B50769121264EE9500E4474F /* GameComponent.h */,
B50769131264EE9500E4474F /* GameComponent.m */,
B507691A1264EF0B00E4474F /* DrawableGameComponent.h */,
B507691B1264EF0B00E4474F /* DrawableGameComponent.m */,
B5DDE7FD11FF0A0F000DB38B /* GameComponentCollection.h */,
B5DDE7FE11FF0A0F000DB38B /* GameComponentCollection.m */,
B5DDE80811FF0C24000DB38B /* GameComponentCollectionEventArgs.h */,
@ -708,6 +918,124 @@
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
B5C6FDCF126DD292002ED666 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
B5C6FDD9126DD2AE002ED666 /* XNI_Prefix.pch in Headers */,
B5C6FDDA126DD2AE002ED666 /* GameView.h in Headers */,
B5C6FDDB126DD2AE002ED666 /* TouchPanel+Internal.h in Headers */,
B5C6FDDC126DD2AE002ED666 /* GameViewController.h in Headers */,
B5C6FDDD126DD2AE002ED666 /* VertexBufferBinding.h in Headers */,
B5C6FDDE126DD2AE002ED666 /* IndexBuffer.h in Headers */,
B5C6FDDF126DD2AE002ED666 /* Vector2.h in Headers */,
B5C6FDE0126DD2AE002ED666 /* Retronator.Xni.Framework.Content.classes.h in Headers */,
B5C6FDE1126DD2AE002ED666 /* Vector2Struct.h in Headers */,
B5C6FDE2126DD2AE002ED666 /* Effect.h in Headers */,
B5C6FDE3126DD2AE002ED666 /* AdaptiveArray.h in Headers */,
B5C6FDE4126DD2AE002ED666 /* BlendState.h in Headers */,
B5C6FDE5126DD2AE002ED666 /* TouchPanel.h in Headers */,
B5C6FDE6126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.classes.h in Headers */,
B5C6FDE7126DD2AE002ED666 /* SamplerState.h in Headers */,
B5C6FDE8126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.h in Headers */,
B5C6FDE9126DD2AE002ED666 /* Matrix.h in Headers */,
B5C6FDEA126DD2AE002ED666 /* Retronator.Xni.Framework.Content.h in Headers */,
B5C6FDEB126DD2AE002ED666 /* ContentIdentity.h in Headers */,
B5C6FDEC126DD2AE002ED666 /* Texture2D.h in Headers */,
B5C6FDED126DD2AE002ED666 /* VertexPositionColor.h in Headers */,
B5C6FDEE126DD2AE002ED666 /* MatrixStruct.h in Headers */,
B5C6FDEF126DD2AE002ED666 /* Vector4.h in Headers */,
B5C6FDF0126DD2AE002ED666 /* Retronator.Xni.Framework.Input.Touch.classes.h in Headers */,
B5C6FDF1126DD2AE002ED666 /* Texture.h in Headers */,
B5C6FDF2126DD2AE002ED666 /* ContentItem.h in Headers */,
B5C6FDF3126DD2AE002ED666 /* EffectTechnique.h in Headers */,
B5C6FDF4126DD2AE002ED666 /* IGraphicsDeviceService.h in Headers */,
B5C6FDF5126DD2AE002ED666 /* SamplerStateCollection.h in Headers */,
B5C6FDF6126DD2AE002ED666 /* VertexArray.h in Headers */,
B5C6FDF7126DD2AE002ED666 /* FrameworkEnums.h in Headers */,
B5C6FDF8126DD2AE002ED666 /* Color.h in Headers */,
B5C6FDF9126DD2AE002ED666 /* MipmapChainCollection.h in Headers */,
B5C6FDFA126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.h in Headers */,
B5C6FDFB126DD2AE002ED666 /* Retronator.Xni.Framework.Input.h in Headers */,
B5C6FDFC126DD2AE002ED666 /* VertexPositionTexture.h in Headers */,
B5C6FDFD126DD2AE002ED666 /* IServiceProvider.h in Headers */,
B5C6FDFE126DD2AE002ED666 /* System.h in Headers */,
B5C6FDFF126DD2AE002ED666 /* Retronator.Xni.Framework.Input.Touch.h in Headers */,
B5C6FE00126DD2AE002ED666 /* RasterizerState.h in Headers */,
B5C6FE01126DD2AE002ED666 /* IGameComponent.h in Headers */,
B5C6FE02126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.h in Headers */,
B5C6FE03126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.PackedVector.classes.h in Headers */,
B5C6FE04126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.classes.h in Headers */,
B5C6FE05126DD2AE002ED666 /* DepthStencilState.h in Headers */,
B5C6FE06126DD2AE002ED666 /* PackedVectorStructs.h in Headers */,
B5C6FE07126DD2AE002ED666 /* VertexPositionColorArray.h in Headers */,
B5C6FE08126DD2AE002ED666 /* GameHost.h in Headers */,
B5C6FE09126DD2AE002ED666 /* ColorPixelBitmapContent.h in Headers */,
B5C6FE0A126DD2AE002ED666 /* GestureSample.h in Headers */,
B5C6FE0B126DD2AE002ED666 /* GameWindow.h in Headers */,
B5C6FE0C126DD2AE002ED666 /* Rectangle.h in Headers */,
B5C6FE0D126DD2AE002ED666 /* TouchLocation.h in Headers */,
B5C6FE0E126DD2AE002ED666 /* SpriteBatch.h in Headers */,
B5C6FE0F126DD2AE002ED666 /* TextureContent.h in Headers */,
B5C6FE10126DD2AE002ED666 /* VertexPositionColorTextureArray.h in Headers */,
B5C6FE11126DD2AE002ED666 /* GameTime.h in Headers */,
B5C6FE12126DD2AE002ED666 /* BasicEffect.h in Headers */,
B5C6FE13126DD2AE002ED666 /* Retronator.Xni.Framework.h in Headers */,
B5C6FE14126DD2AE002ED666 /* Quaternion.h in Headers */,
B5C6FE15126DD2AE002ED666 /* IDrawable.h in Headers */,
B5C6FE16126DD2AE002ED666 /* DrawableGameComponent.h in Headers */,
B5C6FE17126DD2AE002ED666 /* VertexElement.h in Headers */,
B5C6FE18126DD2AE002ED666 /* TextureImporter.h in Headers */,
B5C6FE19126DD2AE002ED666 /* InputEnums.h in Headers */,
B5C6FE1A126DD2AE002ED666 /* GameComponentCollectionEventArgs.h in Headers */,
B5C6FE1B126DD2AE002ED666 /* RectangleStruct.h in Headers */,
B5C6FE1C126DD2AE002ED666 /* IGraphicsDeviceManager.h in Headers */,
B5C6FE1D126DD2AE002ED666 /* IUpdatable.h in Headers */,
B5C6FE1E126DD2AE002ED666 /* VertexDeclaration.h in Headers */,
B5C6FE1F126DD2AE002ED666 /* ReachGraphicsDevice.h in Headers */,
B5C6FE20126DD2AE002ED666 /* Retronator.Xni.Framework.Content.Pipeline.Graphics.classes.h in Headers */,
B5C6FE21126DD2AE002ED666 /* Vector4Struct.h in Headers */,
B5C6FE22126DD2AE002ED666 /* ContentManager.h in Headers */,
B5C6FE23126DD2AE002ED666 /* Game.h in Headers */,
B5C6FE24126DD2AE002ED666 /* ContentTypeReaderManager.h in Headers */,
B5C6FE25126DD2AE002ED666 /* GameComponent.h in Headers */,
B5C6FE26126DD2AE002ED666 /* TextureCollection.h in Headers */,
B5C6FE27126DD2AE002ED666 /* Protocols.h in Headers */,
B5C6FE28126DD2AE002ED666 /* Viewport.h in Headers */,
B5C6FE29126DD2AE002ED666 /* ContentTypeReader.h in Headers */,
B5C6FE2A126DD2AE002ED666 /* Texture2DContentTypeReader.h in Headers */,
B5C6FE2B126DD2AE002ED666 /* Texture2DContent.h in Headers */,
B5C6FE2C126DD2AE002ED666 /* VectorConverter.h in Headers */,
B5C6FE2D126DD2AE002ED666 /* BitmapContent.h in Headers */,
B5C6FE2E126DD2AE002ED666 /* GraphicsEnums.h in Headers */,
B5C6FE2F126DD2AE002ED666 /* VertexStructs.h in Headers */,
B5C6FE30126DD2AE002ED666 /* GraphicsResource.h in Headers */,
B5C6FE31126DD2AE002ED666 /* Vector3Struct.h in Headers */,
B5C6FE32126DD2AE002ED666 /* Event.h in Headers */,
B5C6FE33126DD2AE002ED666 /* VertexBuffer.h in Headers */,
B5C6FE34126DD2AE002ED666 /* HiDefGraphicsDevice.h in Headers */,
B5C6FE35126DD2AE002ED666 /* EventArgs.h in Headers */,
B5C6FE36126DD2AE002ED666 /* GraphicsDeviceManager.h in Headers */,
B5C6FE37126DD2AE002ED666 /* TouchCollection.h in Headers */,
B5C6FE38126DD2AE002ED666 /* DirectionalLight.h in Headers */,
B5C6FE39126DD2AE002ED666 /* EffectPass.h in Headers */,
B5C6FE3A126DD2AE002ED666 /* GameComponentCollection.h in Headers */,
B5C6FE3B126DD2AE002ED666 /* System.classes.h in Headers */,
B5C6FE3C126DD2AE002ED666 /* Vector3.h in Headers */,
B5C6FE3D126DD2AE002ED666 /* VertexPositionColorTexture.h in Headers */,
B5C6FE3E126DD2AE002ED666 /* Delegate.h in Headers */,
B5C6FE3F126DD2AE002ED666 /* VertexPositionTextureArray.h in Headers */,
B5C6FE40126DD2AE002ED666 /* ContentReader.h in Headers */,
B5C6FE41126DD2AE002ED666 /* PixelBitmapContent.h in Headers */,
B5C6FE42126DD2AE002ED666 /* ContentImporter.h in Headers */,
B5C6FE43126DD2AE002ED666 /* GraphicsDevice.h in Headers */,
B5C6FE44126DD2AE002ED666 /* Retronator.Xni.Framework.classes.h in Headers */,
B5C6FE45126DD2AE002ED666 /* Retronator.Xni.Framework.Graphics.PackedVector.h in Headers */,
B5C6FE46126DD2AE002ED666 /* GameServiceContainer.h in Headers */,
B5C6FE47126DD2AE002ED666 /* MipmapChain.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC07A0554694100DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -821,12 +1149,32 @@
B5EC5A931252C710001E7DFC /* Retronator.Xni.Framework.Input.h in Headers */,
B52BACFB125527E200B308F6 /* TouchPanel+Internal.h in Headers */,
B52BADAD1255426600B308F6 /* FrameworkEnums.h in Headers */,
B50769141264EE9500E4474F /* GameComponent.h in Headers */,
B507691C1264EF0B00E4474F /* DrawableGameComponent.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
B5C6FDD2126DD292002ED666 /* XNI Release */ = {
isa = PBXNativeTarget;
buildConfigurationList = B5C6FEEC126DD30C002ED666 /* Build configuration list for PBXNativeTarget "XNI Release" */;
buildPhases = (
B5C6FDCF126DD292002ED666 /* Headers */,
B5C6FDD0126DD292002ED666 /* Sources */,
B5C6FDD1126DD292002ED666 /* Frameworks */,
B5C6FE95126DD2CD002ED666 /* ShellScript */,
);
buildRules = (
);
dependencies = (
);
name = "XNI Release";
productName = "XNI Release";
productReference = B5C6FDD3126DD292002ED666 /* libXNI Release.a */;
productType = "com.apple.product-type.library.static";
};
D2AAC07D0554694100DB518D /* XNI */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "XNI" */;
@ -854,18 +1202,125 @@
};
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "XNI" */;
compatibilityVersion = "Xcode 3.1";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 0867D691FE84028FC02AAC07 /* XNI */;
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
D2AAC07D0554694100DB518D /* XNI */,
B5C6FDD2126DD292002ED666 /* XNI Release */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
B5C6FE95126DD2CD002ED666 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "# Purpose:\n# Create a static library for iPhone from within XCode\n# Because Apple staff DELIBERATELY broke Xcode to make this impossible from the GUI (Xcode 3.2.3 specifically states this in the Release notes!)\n# ...no, I don't understand why they did such a stupid thing either!\n#\n# Author: Adam Martin - http://twitter.com/redglassesapps\n# Based on: original script from Eonil (main changes: Eonil's script WILL NOT WORK in Xcode GUI - it WILL CRASH YOUR COMPUTER)\n#\n# More info: see this Stack Overflow question: http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4\n\n\n#####################[ part 1 ]##################\n# First, work out the BASESDK version number (NB: Apple ought to report this, but they hide it)\n# (incidental: searching for substrings in sh is a nightmare! Sob)\n\nSDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\\{3\\}$')\n\n# Next, work out if we're in SIM or DEVICE\n\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]\nthen\nOTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION}\nelse\nOTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION}\nfi\n\necho \"XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})\"\necho \"...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}\"\n#\n#####################[ end of part 1 ]##################\n\n#####################[ part 2 ]##################\n#\n# IF this is the original invocation, invoke WHATEVER other builds are required\n#\n# Xcode is already building ONE target...\n#\n# ...but this is a LIBRARY, so Apple is wrong to set it to build just one.\n# ...we need to build ALL targets\n# ...we MUST NOT re-build the target that is ALREADY being built: Xcode WILL CRASH YOUR COMPUTER if you try this (infinite recursion!)\n#\n#\n# So: build ONLY the missing platforms/configurations.\n\nif [ \"true\" = ${ALREADYINVOKED} ]\nthen\necho \"RECURSION: I am NOT the root invocation, so I'm NOT going to recurse\"\nelse\n# CRITICAL:\n# Prevent infinite recursion (Xcode sucks)\nexport ALREADYINVOKED=\"true\"\n\necho \"RECURSION: I am the root ... recursing all missing build targets NOW...\"\necho \"RECURSION: ...about to invoke: xcodebuild -configuration \\\"${CONFIGURATION}\\\" -target \\\"${TARGET_NAME}\\\" -sdk \\\"${OTHER_SDK_TO_BUULD}\\\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\"\nxcodebuild -configuration \"${CONFIGURATION}\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\nfi\n\nACTION=\"build\"\n\n#Merge all platform binaries as a fat binary for each configurations.\n\nCURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos\nCURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator\nCURRENTCONFIG_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal\n\n# ... remove the products of previous runs of this script\n# NB: this directory is ONLY created by this script - it should be safe to delete!\n\nrm -rf \"${CURRENTCONFIG_UNIVERSAL_DIR}\"\nmkdir \"${CURRENTCONFIG_UNIVERSAL_DIR}\"\n\n#\necho \"lipo: for current configuration (${CONFIGURATION}) creating output file: ${CURRENTCONFIG_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\"\nlipo -create -output \"${CURRENTCONFIG_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}\"";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
B5C6FDD0126DD292002ED666 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B5C6FE48126DD2B7002ED666 /* GameHost.m in Sources */,
B5C6FE49126DD2B7002ED666 /* HiDefGraphicsDevice.m in Sources */,
B5C6FE4A126DD2B7002ED666 /* MipmapChainCollection.m in Sources */,
B5C6FE4B126DD2B7002ED666 /* Event.m in Sources */,
B5C6FE4C126DD2B7002ED666 /* RasterizerState.m in Sources */,
B5C6FE4D126DD2B7002ED666 /* Game.m in Sources */,
B5C6FE4E126DD2B7002ED666 /* PixelBitmapContent.m in Sources */,
B5C6FE4F126DD2B7002ED666 /* TextureContent.m in Sources */,
B5C6FE50126DD2B7002ED666 /* TouchLocation.m in Sources */,
B5C6FE51126DD2B7002ED666 /* GameServiceContainer.m in Sources */,
B5C6FE52126DD2B7002ED666 /* GameComponent.m in Sources */,
B5C6FE53126DD2B7002ED666 /* Rectangle.m in Sources */,
B5C6FE54126DD2B7002ED666 /* VectorConverter.m in Sources */,
B5C6FE55126DD2B7002ED666 /* IndexBuffer.m in Sources */,
B5C6FE56126DD2B7002ED666 /* Effect.m in Sources */,
B5C6FE57126DD2B7002ED666 /* ContentIdentity.m in Sources */,
B5C6FE58126DD2B7002ED666 /* Texture.m in Sources */,
B5C6FE59126DD2B7002ED666 /* GestureSample.m in Sources */,
B5C6FE5A126DD2B7002ED666 /* BlendState.m in Sources */,
B5C6FE5B126DD2B7002ED666 /* VertexElement.m in Sources */,
B5C6FE5C126DD2B7002ED666 /* SamplerStateCollection.m in Sources */,
B5C6FE5D126DD2B7002ED666 /* Texture2DContent.m in Sources */,
B5C6FE5E126DD2B7002ED666 /* GameComponentCollection.m in Sources */,
B5C6FE5F126DD2B7002ED666 /* GameTime.m in Sources */,
B5C6FE60126DD2B7002ED666 /* BitmapContent.m in Sources */,
B5C6FE61126DD2B7002ED666 /* TouchPanel.m in Sources */,
B5C6FE62126DD2B7002ED666 /* TouchCollection.m in Sources */,
B5C6FE63126DD2B7002ED666 /* Texture2D.m in Sources */,
B5C6FE64126DD2B7002ED666 /* EffectTechnique.m in Sources */,
B5C6FE65126DD2B7002ED666 /* AdaptiveArray.m in Sources */,
B5C6FE66126DD2B7002ED666 /* Delegate.m in Sources */,
B5C6FE67126DD2B7002ED666 /* GameView.m in Sources */,
B5C6FE68126DD2B7002ED666 /* VertexPositionColorTextureArray.m in Sources */,
B5C6FE69126DD2B7002ED666 /* VertexPositionTexture.m in Sources */,
B5C6FE6A126DD2B7002ED666 /* VertexPositionColor.m in Sources */,
B5C6FE6B126DD2B7002ED666 /* ContentImporter.m in Sources */,
B5C6FE6C126DD2B7002ED666 /* VertexBuffer.m in Sources */,
B5C6FE6D126DD2B7002ED666 /* GameViewController.m in Sources */,
B5C6FE6E126DD2B7002ED666 /* TextureImporter.m in Sources */,
B5C6FE6F126DD2B7002ED666 /* GameComponentCollectionEventArgs.m in Sources */,
B5C6FE70126DD2B7002ED666 /* GameWindow.m in Sources */,
B5C6FE71126DD2B7002ED666 /* ColorPixelBitmapContent.m in Sources */,
B5C6FE72126DD2B7002ED666 /* DirectionalLight.m in Sources */,
B5C6FE73126DD2B7002ED666 /* BasicEffect.m in Sources */,
B5C6FE74126DD2B7002ED666 /* Vector3.m in Sources */,
B5C6FE75126DD2B7002ED666 /* VertexArray.m in Sources */,
B5C6FE76126DD2B7002ED666 /* MipmapChain.m in Sources */,
B5C6FE77126DD2B7002ED666 /* Texture2DContentTypeReader.m in Sources */,
B5C6FE78126DD2B7002ED666 /* SpriteBatch.m in Sources */,
B5C6FE79126DD2B7002ED666 /* VertexPositionColorArray.m in Sources */,
B5C6FE7A126DD2B7002ED666 /* Vector2.m in Sources */,
B5C6FE7B126DD2B7002ED666 /* Vector4.m in Sources */,
B5C6FE7C126DD2B7002ED666 /* DrawableGameComponent.m in Sources */,
B5C6FE7D126DD2B7002ED666 /* ContentManager.m in Sources */,
B5C6FE7E126DD2B7002ED666 /* DepthStencilState.m in Sources */,
B5C6FE7F126DD2B7002ED666 /* Quaternion.m in Sources */,
B5C6FE80126DD2B7002ED666 /* Matrix.m in Sources */,
B5C6FE81126DD2B7002ED666 /* Color.m in Sources */,
B5C6FE82126DD2B7002ED666 /* Viewport.m in Sources */,
B5C6FE83126DD2B7002ED666 /* ContentItem.m in Sources */,
B5C6FE84126DD2B7002ED666 /* ContentTypeReaderManager.m in Sources */,
B5C6FE85126DD2B7002ED666 /* VertexPositionTextureArray.m in Sources */,
B5C6FE86126DD2B7002ED666 /* VertexPositionColorTexture.m in Sources */,
B5C6FE87126DD2B7002ED666 /* VertexBufferBinding.m in Sources */,
B5C6FE88126DD2B7002ED666 /* VertexDeclaration.m in Sources */,
B5C6FE89126DD2B7002ED666 /* GraphicsDeviceManager.m in Sources */,
B5C6FE8A126DD2B7002ED666 /* ContentReader.m in Sources */,
B5C6FE8B126DD2B7002ED666 /* EventArgs.m in Sources */,
B5C6FE8C126DD2B7002ED666 /* TextureCollection.m in Sources */,
B5C6FE8D126DD2B7002ED666 /* GraphicsResource.m in Sources */,
B5C6FE8E126DD2B7002ED666 /* EffectPass.m in Sources */,
B5C6FE8F126DD2B7002ED666 /* SamplerState.m in Sources */,
B5C6FE90126DD2B7002ED666 /* GraphicsDevice.m in Sources */,
B5C6FE91126DD2B7002ED666 /* ContentTypeReader.m in Sources */,
B5C6FE92126DD2B7002ED666 /* ReachGraphicsDevice.m in Sources */,
B5C6FE93126DD2B7002ED666 /* Protocols.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D2AAC07B0554694100DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -944,6 +1399,8 @@
B5EC5A081252BE9E001E7DFC /* TouchCollection.m in Sources */,
B5EC5A111252BEDF001E7DFC /* TouchLocation.m in Sources */,
B5EC5A501252C2DF001E7DFC /* GestureSample.m in Sources */,
B50769151264EE9500E4474F /* GameComponent.m in Sources */,
B507691D1264EF0B00E4474F /* DrawableGameComponent.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -976,7 +1433,7 @@
DSTROOT = /tmp/XNI.dst;
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "XNOC iOS_Prefix.pch";
GCC_PREFIX_HEADER = XNI_Prefix.pch;
INSTALL_PATH = /usr/local/lib;
PRODUCT_NAME = XNI;
};
@ -993,7 +1450,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos4.0;
SDKROOT = iphoneos4.1;
};
name = Debug;
};
@ -1006,7 +1463,32 @@
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos4.0;
SDKROOT = iphoneos4.1;
};
name = Release;
};
B5C6FDD7126DD293002ED666 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
PREBINDING = NO;
PRODUCT_NAME = "XNI Release";
};
name = Debug;
};
B5C6FDD8126DD293002ED666 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PREBINDING = NO;
PRODUCT_NAME = "XNI Release";
ZERO_LINK = NO;
};
name = Release;
};
@ -1031,6 +1513,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
B5C6FEEC126DD30C002ED666 /* Build configuration list for PBXNativeTarget "XNI Release" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B5C6FDD7126DD293002ED666 /* Debug */,
B5C6FDD8126DD293002ED666 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;