diff --git a/Classes/Retronator/Xni/Framework/Content/ContentManager.m b/Classes/Retronator/Xni/Framework/Content/ContentManager.m index b2825a6..db33817 100644 --- a/Classes/Retronator/Xni/Framework/Content/ContentManager.m +++ b/Classes/Retronator/Xni/Framework/Content/ContentManager.m @@ -179,6 +179,10 @@ [loadedAssets removeAllObjects]; } +-(NSString*)description{ + return [NSString stringWithFormat:@"%@ withAssets:%@",[super description],loadedAssets]; +} + - (void) dealloc { [loadedAssets release]; diff --git a/Classes/Retronator/Xni/Framework/Game.m b/Classes/Retronator/Xni/Framework/Game.m index c49d8b4..386a426 100644 --- a/Classes/Retronator/Xni/Framework/Game.m +++ b/Classes/Retronator/Xni/Framework/Game.m @@ -84,7 +84,7 @@ static NSArray *drawOrderSort; [Guide initializeWithGame:self]; // Get the game host. - gameHost = (GameHost*)[UIApplication sharedApplication]; + gameHost = (GameHost*)[UIApplication sharedApplication]; } return self; @@ -286,7 +286,6 @@ static NSArray *drawOrderSort; - (void) endRun {} - // Internal methods - (void) presentModalViewController:(UIViewController*)viewController { @@ -407,6 +406,7 @@ static NSArray *drawOrderSort; + - (void) dealloc { [disposed raiseWithSender:self]; diff --git a/Classes/Retronator/Xni/Framework/GameViewController.m b/Classes/Retronator/Xni/Framework/GameViewController.m index 5642279..338cb30 100644 --- a/Classes/Retronator/Xni/Framework/GameViewController.m +++ b/Classes/Retronator/Xni/Framework/GameViewController.m @@ -78,7 +78,8 @@ } } -- (void)loadView { +- (void)loadView { + [super loadView]; GameView *gameView = [[GameView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; self.view = gameView; @@ -116,18 +117,22 @@ - (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[TouchPanel getInstance] touchesBegan:touches withEvent:event]; + [super touchesBegan:touches withEvent:event]; } - (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { [[TouchPanel getInstance] touchesMoved:touches withEvent:event]; + [super touchesMoved:touches withEvent:event]; } - (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [[TouchPanel getInstance] touchesEnded:touches withEvent:event]; + [super touchesEnded:touches withEvent:event]; } - (void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { [[TouchPanel getInstance] touchesCancelled:touches withEvent:event]; + [super touchesCancelled:touches withEvent:event]; } - (void)dealloc { diff --git a/Classes/Retronator/Xni/Framework/GameWindow.m b/Classes/Retronator/Xni/Framework/GameWindow.m index 28a8c92..35bd681 100644 --- a/Classes/Retronator/Xni/Framework/GameWindow.m +++ b/Classes/Retronator/Xni/Framework/GameWindow.m @@ -123,6 +123,7 @@ // Add the game view to the window. [window addSubview: gameViewController.view]; + window.rootViewController = gameViewController; // Report view to TouchPanel. [[TouchPanel getInstance] setView:gameViewController.gameView]; diff --git a/Classes/Retronator/Xni/Framework/GamerServices/Guide.m b/Classes/Retronator/Xni/Framework/GamerServices/Guide.m index e9d8202..8a2a3d1 100644 --- a/Classes/Retronator/Xni/Framework/GamerServices/Guide.m +++ b/Classes/Retronator/Xni/Framework/GamerServices/Guide.m @@ -123,8 +123,7 @@ static Guide *instance = nil; isVisible = NO; } -- (void) dealloc -{ +- (void) dealloc { [messageBoxResults release]; [super dealloc]; } diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice+Internal.h b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice+Internal.h index 7f2ef87..1db44e2 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice+Internal.h +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice+Internal.h @@ -12,6 +12,8 @@ @interface GraphicsDevice (Internal) +@property (nonatomic) BOOL rrt; + - (uint) createTexture; - (void) releaseTexture:(uint)textureId; diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h index 6a6cea7..6ac5b11 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.h @@ -83,6 +83,10 @@ - (void) setVertexBuffer:(VertexBuffer*)vertexBuffer vertexOffset:(int)vertexOffset; - (void) setVertexBuffers:(VertexBufferBinding*)vertexBuffer, ... NS_REQUIRES_NIL_TERMINATION; +//Render Targets +- (void) setRenderTarget:(RenderTarget2D*)renderTarget; +//- (RenderTarget2D*) getRenderTarget; + // Drawing // From buffers diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m index 418e0c6..4c2d194 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m @@ -9,7 +9,7 @@ #import "GraphicsDevice.h" #import "GraphicsDevice+Internal.h" #import - +#import #import "Retronator.Xni.Framework.h" #import "Retronator.Xni.Framework.Graphics.h" @@ -18,8 +18,11 @@ #import "SamplerStateCollection+Internal.h" #import "IndexBuffer+Internal.h" #import "VertexBuffer+Internal.h" +#import "RenderTarget2D+Internal.h" -@interface GraphicsDevice() +@interface GraphicsDevice(){ + BOOL rrt; +} + (void) getFormat:(GLenum*)format AndType:(GLenum*)type ForSurfaceFormat:(SurfaceFormat)surfaceFormat; - (void) setData:(void*)data size:(int)sizeInBytes toBufferId:(uint)buffer resourceType:(ResourceType)resourceType bufferUsage:(BufferUsage)bufferUsage; @@ -542,8 +545,70 @@ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter); } -- (void) dealloc -{ +- (void) setRenderTarget:(RenderTarget2D*)renderTarget{ + if (renderTarget == nil) { + if (rrt) { + //We had render target before now we have to flip it vertically + rrt = NO; + } + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer); + }else{ + GLuint rtFramebuffer = [renderTarget colorFramebuffer]; + GLuint rtRenderbuffer = [renderTarget colorRenderbuffer]; + + GLenum format, type; + [GraphicsDevice getFormat:&format AndType:&type ForSurfaceFormat:renderTarget.format]; + + // RENDER TO TEXTURE BUFFER + // This is the buffer we will be rendering to and using as a texture + // on out screen plane + glBindFramebufferOES(GL_FRAMEBUFFER_OES, rtFramebuffer); + +// glBindRenderbufferOES(GL_RENDERBUFFER_OES, rtRenderbuffer); +// +// glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer); +// glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, renderTarget.width, renderTarget.height); +// glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer); + + // create the texture object + glBindTexture(GL_TEXTURE_2D, renderTarget.textureId); + + // set the texture parameter filtering (feel free to use other TexParams) + // you have to do this, forgetting to do this will make it not work. + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR); + + + // fill the texture data (the max texture size needs to be power of 2) + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, renderTarget.width, renderTarget.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + + // attach the frameBuffer to the texture object + glFramebufferTexture2DOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_TEXTURE_2D, renderTarget.textureId, 0); + + //glOrthof(0, renderTarget.width, renderTarget.height, 0, -1, 1); + + // CHECK FRAME BUFFER STATUS HERE + + +// GLenum status = glCheckFramebufferStatusOES(GL_FRAMEBUFFER); +// if(status == GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT){ +// NSLog(@"GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"); +// }else if(status == GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT){ +// NSLog(@"GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"); +// }else if(status == GL_FRAMEBUFFER_UNSUPPORTED){ +// NSLog(@"GL_FRAMEBUFFER_UNSUPPORTED"); +// }else if(status == GL_FRAMEBUFFER_COMPLETE){ +// NSLog(@"GL_FRAMEBUFFER_COMPLETE"); +// } + rrt = YES; + } +} + +- (RenderTarget2D*) getRenderTarget{ + return nil; +} + +- (void) dealloc{ [blendState release]; [depthStencilState release]; [rasterizerState release]; diff --git a/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D+Internal.h b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D+Internal.h new file mode 100644 index 0000000..61a1403 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D+Internal.h @@ -0,0 +1,17 @@ +// +// RenderTarget2D+Internal.h +// XNI +// +// Created by Samo Pajk on 9/6/12. +// Copyright (c) 2012 Retronator. All rights reserved. +// + +#import + +@interface RenderTarget2D (Internal) + +- (GLuint) colorFramebuffer; + +- (GLuint) colorRenderbuffer; + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.h b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.h new file mode 100644 index 0000000..bece649 --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.h @@ -0,0 +1,25 @@ +// +// RenderTarget2D.h +// XNI +// +// Created by Samo Pajk on 9/3/12. +// Copyright (c) 2012 Samo Pajk. All rights reserved. +// + +#import "Texture2D.h" + +@interface RenderTarget2D : Texture2D + +@property (nonatomic, readonly) BOOL isContentLost; +@property (nonatomic, readonly) RenderTargetUsage renderTargetUsage; + +- (id)initWithGraphicsDevice:(GraphicsDevice *)theGraphicsDevice + width:(int)theWidth + height:(int)theHeight + mipmap:(BOOL)theMipmap + surfaceFormat:(SurfaceFormat)theSurfaceFormat + depthFormat:(DepthFormat)theDepthFormat + multiSampleCount:(int) theMultisampleCount + usage:(RenderTargetUsage)theUsage; + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.m b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.m new file mode 100644 index 0000000..0c04a4a --- /dev/null +++ b/Classes/Retronator/Xni/Framework/Graphics/RenderTarget2D.m @@ -0,0 +1,67 @@ +// +// RenderTarget2D.m +// XNI +// +// Created by Samo Pajk on 9/3/12. +// Copyright (c) 2012 Samo Pajk. All rights reserved. +// + +#import "RenderTarget2D.h" +#import "Retronator.Xni.Framework.h" +#import "Retronator.Xni.Framework.Graphics.h" + +#import +#import +#import +#import + +@interface RenderTarget2D (){ + GLuint framebuffer; + GLuint renderBuffer; +} + +@end + +@implementation RenderTarget2D + +- (id)initWithGraphicsDevice:(GraphicsDevice *)theGraphicsDevice + width:(int)theWidth + height:(int)theHeight + mipmap:(BOOL)theMipmap + surfaceFormat:(SurfaceFormat)theSurfaceFormat + depthFormat:(DepthFormat)theDepthFormat + multiSampleCount:(int) theMultisampleCount + usage:(RenderTargetUsage)theUsage{ + + self = [super initWithGraphicsDevice:theGraphicsDevice width:theWidth height:theHeight mipMaps:theMipmap format:theSurfaceFormat]; + if (self) { + //Texture is already created by super object. + //Here we only create a framebuffer. + glGenFramebuffersOES(1, &framebuffer); + + glGenRenderbuffersOES(1, &renderBuffer); + + } + return self; +} + +@synthesize renderTargetUsage, isContentLost; + +-(GLuint) colorFramebuffer{ + return framebuffer; +} + +-(GLuint) colorRenderbuffer{ + return renderBuffer; +} + +- (void)dealloc{ + glDeleteFramebuffers(1, &framebuffer); + [super dealloc]; +} + +- (void) saveAsPng:(NSData*)textureData width:(int)width height:(int)height{ + +} + +@end diff --git a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h index 8558988..91786d0 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h +++ b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.classes.h @@ -1,6 +1,6 @@ #import "GraphicsEnums.h" -@class GraphicsResource, Texture, Texture2D, Effect, EffectTechnique, EffectPass, BasicEffect, DirectionalLight; +@class GraphicsResource, Texture, Texture2D, RenderTarget2D, Effect, EffectTechnique, EffectPass, BasicEffect, DirectionalLight; #import "VertexStructs.h" @class VertexElement, VertexPositionColor, VertexPositionTexture, VertexPositionColorTexture, VertexPositionNormalTexture, VertexDeclaration; diff --git a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h index bddb466..f427a0b 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h +++ b/Classes/Retronator/Xni/Framework/Graphics/Retronator.Xni.Framework.Graphics.h @@ -3,6 +3,7 @@ #import "GraphicsResource.h" #import "Texture.h" #import "Texture2D.h" +#import "RenderTarget2D.h" #import "Effect.h" #import "EffectTechnique.h" #import "EffectPass.h" diff --git a/Classes/Retronator/Xni/Framework/Graphics/SpriteBatch.m b/Classes/Retronator/Xni/Framework/Graphics/SpriteBatch.m index 7c29257..db15f15 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/SpriteBatch.m +++ b/Classes/Retronator/Xni/Framework/Graphics/SpriteBatch.m @@ -52,6 +52,8 @@ typedef struct { static NSArray *textureSort; static NSArray *frontToBackSort; static NSArray *backToFrontSort; +static Vector2 *currentOrigin; +static Vector2 *characterOrigin; static inline void SpriteSetSource(XniSprite *sprite, Rectangle *source, Texture2D *texture, SpriteEffects effects) { if (source) { @@ -187,6 +189,9 @@ static VertexPositionColorTextureStruct vertices[4]; backToFrontSort = [[NSArray arrayWithObject:depthDescendingSortDescriptor] retain]; spritePool = [[XniAdaptiveArray alloc] initWithItemSize:sizeof(XniSprite*) initialCapacity:64]; + + currentOrigin = [[Vector2 alloc] init]; + characterOrigin = [[Vector2 alloc] init]; } - (void) setProjection { @@ -346,8 +351,10 @@ static VertexPositionColorTextureStruct vertices[4]; - (void) drawStringWithSpriteFont:(SpriteFont*)spriteFont text:(NSString*)text to:(Vector2*)position tintWithColor:(Color*)color rotation:(float)rotation origin:(Vector2*)origin scale:(Vector2*)scale effects:(SpriteEffects)effects layerDepth:(float)layerDepth { - Vector2 *currentOrigin = [Vector2 vectorWithX:origin.x y:origin.y-spriteFont.lineSpacing]; - Vector2 *characterOrigin = [Vector2 zero]; + currentOrigin.x = origin.x; + currentOrigin.y = origin.y-spriteFont.lineSpacing; + characterOrigin.x = 0; + characterOrigin.y = 0; for (int i = 0; i < [text length]; i++) { unichar character = [text characterAtIndex:i]; @@ -509,8 +516,7 @@ void draw(XniSprite *sprite, NSMutableArray *sprites, SpriteSortMode sortMode, S [vertexArray clear]; } -- (void) dealloc -{ +- (void) dealloc{ [self.graphicsDevice.deviceReset unsubscribeDelegate:[Delegate delegateWithTarget:self Method:@selector(setProjection)]]; [basicEffect release]; [sprites release]; diff --git a/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.h b/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.h index a11efa2..b0c97f0 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.h +++ b/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.h @@ -19,7 +19,8 @@ @private Texture2D *texture; - NSDictionary *characterMap; + Rectangle *characterMap[128]; + NSDictionary *characterMapD; } @property (nonatomic, readonly) NSSet *characters; diff --git a/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.m b/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.m index 91aafd3..30df972 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.m +++ b/Classes/Retronator/Xni/Framework/Graphics/SpriteFont.m @@ -18,9 +18,15 @@ self = [super init]; if (self != nil) { texture = [theTexture retain]; - characterMap = [theCharacterMap retain]; - - characters = [[NSSet alloc] initWithArray:[characterMap allKeys]]; + characterMapD = [theCharacterMap retain]; + + //Array for fast access + for (int i = 0; i < 128; i++) { + Rectangle *rect = [theCharacterMap objectForKey:[NSNumber numberWithUnsignedShort:i]]; + characterMap[i] = [rect retain]; + } + + characters = [[NSSet alloc] initWithArray:[theCharacterMap allKeys]]; lineSpacing = theLineSpacing; } @@ -62,10 +68,16 @@ } - (Rectangle *) sourceRectangleForCharacter:(unichar)character { - Rectangle *result = [characterMap objectForKey:[NSNumber numberWithChar:character]]; - + Rectangle *result = nil; + + if (character < 128) { + result = characterMap[character]; + }else{ + result = [characterMapD objectForKey:[NSNumber numberWithUnsignedChar:character]]; + } + if (!result && defaultCharacter) { - result = [characterMap objectForKey:defaultCharacter]; + result = [characterMapD objectForKey:[NSNumber numberWithUnsignedChar:character]]; } if (!result) { @@ -75,12 +87,14 @@ return result; } -- (void) dealloc -{ +- (void) dealloc{ [characters release]; [defaultCharacter release]; [texture release]; - [characterMap release]; + //[characterMap release]; + for (int i = 0; i < 256; i++) { + [characterMap[i] release]; + } [super dealloc]; } diff --git a/Classes/Retronator/Xni/Framework/Input/Touch/TouchPanel.m b/Classes/Retronator/Xni/Framework/Input/Touch/TouchPanel.m index f0b29a9..ad128d3 100644 --- a/Classes/Retronator/Xni/Framework/Input/Touch/TouchPanel.m +++ b/Classes/Retronator/Xni/Framework/Input/Touch/TouchPanel.m @@ -114,7 +114,6 @@ static TouchPanel *instance; return [instance readGesture]; } - + (TouchPanel*) getInstance { return instance; } diff --git a/XNI.xcodeproj/project.pbxproj b/XNI.xcodeproj/project.pbxproj index 2b67e25..8aa245e 100644 --- a/XNI.xcodeproj/project.pbxproj +++ b/XNI.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 25ACE63C15F735B700EB9C26 /* RenderTarget2D.h in Headers */ = {isa = PBXBuildFile; fileRef = 25AE5D5115F5440B00B73D10 /* RenderTarget2D.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 25AE5D5315F5440B00B73D10 /* RenderTarget2D.h in Headers */ = {isa = PBXBuildFile; fileRef = 25AE5D5115F5440B00B73D10 /* RenderTarget2D.h */; }; + 25AE5D5415F5440B00B73D10 /* RenderTarget2D.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE5D5215F5440B00B73D10 /* RenderTarget2D.m */; }; + 25B3F9E615F9CC0E00C7DF1E /* RenderTarget2D.m in Sources */ = {isa = PBXBuildFile; fileRef = 25AE5D5215F5440B00B73D10 /* RenderTarget2D.m */; }; AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; B50769151264EE9500E4474F /* GameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B50769131264EE9500E4474F /* GameComponent.m */; }; B507691D1264EF0B00E4474F /* DrawableGameComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = B507691B1264EF0B00E4474F /* DrawableGameComponent.m */; }; @@ -762,6 +766,9 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 25A980CC15F92763005F1A78 /* RenderTarget2D+Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RenderTarget2D+Internal.h"; sourceTree = ""; }; + 25AE5D5115F5440B00B73D10 /* RenderTarget2D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderTarget2D.h; sourceTree = ""; }; + 25AE5D5215F5440B00B73D10 /* RenderTarget2D.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RenderTarget2D.m; sourceTree = ""; }; 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 = ""; }; B50769131264EE9500E4474F /* GameComponent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameComponent.m; sourceTree = ""; }; @@ -1501,6 +1508,9 @@ B50806FE122E4ECF00C330E2 /* Texture.m */, B5080701122E4EE900C330E2 /* Texture2D.h */, B5080702122E4EE900C330E2 /* Texture2D.m */, + 25AE5D5115F5440B00B73D10 /* RenderTarget2D.h */, + 25AE5D5215F5440B00B73D10 /* RenderTarget2D.m */, + 25A980CC15F92763005F1A78 /* RenderTarget2D+Internal.h */, B5E78B7812429BBD00DDD99A /* Effect.h */, B5E78B7912429BBD00DDD99A /* Effect.m */, B5EA65D5124952C9001245A4 /* EffectTechnique.h */, @@ -1800,6 +1810,7 @@ files = ( B570A1A113E1DC3B0085E85E /* Retronator.Devices.Sensors.classes.h in Headers */, B570A1A213E1DC3B0085E85E /* Retronator.Devices.Sensors.h in Headers */, + 25ACE63C15F735B700EB9C26 /* RenderTarget2D.h in Headers */, B570A1A313E1DC3B0085E85E /* SensorsEnums.h in Headers */, B570A1A413E1DC3B0085E85E /* Accelerometer.h in Headers */, B570A1A513E1DC3B0085E85E /* AccelerometerReadingEventArgs.h in Headers */, @@ -2235,6 +2246,7 @@ B54E75551356241B007AD718 /* Collection.h in Headers */, B54E75561356241B007AD718 /* ReadOnlyCollection.h in Headers */, B54E75571356241B007AD718 /* IAsyncResult.h in Headers */, + 25AE5D5315F5440B00B73D10 /* RenderTarget2D.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2347,6 +2359,7 @@ B570A28A13E1DC3B0085E85E /* Color.m in Sources */, B570A28B13E1DC3B0085E85E /* GraphicsDeviceManager.m in Sources */, B570A28C13E1DC3B0085E85E /* Texture.m in Sources */, + 25B3F9E615F9CC0E00C7DF1E /* RenderTarget2D.m in Sources */, B570A28D13E1DC3B0085E85E /* Texture2D.m in Sources */, B570A28E13E1DC3B0085E85E /* GraphicsResource.m in Sources */, B570A28F13E1DC3B0085E85E /* ContentManager.m in Sources */, @@ -2654,6 +2667,7 @@ B572BC41130EB6D900B6DB47 /* AchievementCollection.m in Sources */, B572BC45130EB70100B6DB47 /* Achievement.m in Sources */, B5F503B013156241007AB367 /* XniShowMessageBoxResult.m in Sources */, + 25AE5D5415F5440B00B73D10 /* RenderTarget2D.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/XNI.xcodeproj/xcshareddata/xcschemes/XNI Release.xcscheme b/XNI.xcodeproj/xcshareddata/xcschemes/XNI Release.xcscheme new file mode 100644 index 0000000..d719ff3 --- /dev/null +++ b/XNI.xcodeproj/xcshareddata/xcschemes/XNI Release.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/XNI.xcodeproj/xcshareddata/xcschemes/XNI.xcscheme b/XNI.xcodeproj/xcshareddata/xcschemes/XNI.xcscheme new file mode 100644 index 0000000..b9496c3 --- /dev/null +++ b/XNI.xcodeproj/xcshareddata/xcschemes/XNI.xcscheme @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + +