diff --git a/Classes/.DS_Store b/Classes/.DS_Store deleted file mode 100644 index 2674645..0000000 Binary files a/Classes/.DS_Store and /dev/null differ diff --git a/Classes/Retronator/Xni/Framework/GameComponentCollection.h b/Classes/Retronator/Xni/Framework/GameComponentCollection.h index ebb2c57..f62c421 100644 --- a/Classes/Retronator/Xni/Framework/GameComponentCollection.h +++ b/Classes/Retronator/Xni/Framework/GameComponentCollection.h @@ -25,5 +25,6 @@ - (void) addComponent:(id)component; - (void) removeComponent:(id)component; +- (BOOL) contains:(id)component; @end diff --git a/Classes/Retronator/Xni/Framework/GameComponentCollection.m b/Classes/Retronator/Xni/Framework/GameComponentCollection.m index 67294de..d179b2c 100644 --- a/Classes/Retronator/Xni/Framework/GameComponentCollection.m +++ b/Classes/Retronator/Xni/Framework/GameComponentCollection.m @@ -33,6 +33,9 @@ } - (void) addComponent:(id)component { + if ([components containsObject:component]) { + NSLog(@"WARNING: Game component added twice:%@", component); + } [components addObject:component]; [componentAdded raiseWithSender:self eventArgs:[GameComponentCollectionEventArgs @@ -46,6 +49,10 @@ eventArgsWithGameComponent:component]]; } +- (BOOL) contains:(id)component{ + return [components containsObject:component]; +} + - (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len { diff --git a/Classes/Retronator/Xni/Framework/GamerServices/Guide.m b/Classes/Retronator/Xni/Framework/GamerServices/Guide.m index 8a2a3d1..f12c375 100644 --- a/Classes/Retronator/Xni/Framework/GamerServices/Guide.m +++ b/Classes/Retronator/Xni/Framework/GamerServices/Guide.m @@ -58,7 +58,7 @@ static Guide *instance = nil; return [instance beginShowMessageBoxWithTitle:title text:text buttons:buttons focusButton:focusButton icon:icon callback:callback state:state]; } -+ (NSNumber *) endShowMessageBox:(id )result { ++ (NSNumber*) endShowMessageBox:(id )result { return [instance endShowMessageBox:result]; } diff --git a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m index 776ee4a..b8dd213 100644 --- a/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m +++ b/Classes/Retronator/Xni/Framework/Graphics/GraphicsDevice.m @@ -193,6 +193,8 @@ + (int) getNumberOfVerticesForPrimitiveType:(PrimitiveType)primitiveType primitiveCount:(int)primitiveCount { switch (primitiveType) { + case GL_TRIANGLE_FAN: + return primitiveCount; case PrimitiveTypeLineStrip: return primitiveCount + 1; case PrimitiveTypeLineList: @@ -586,6 +588,7 @@ // CHECK FRAME BUFFER STATUS HERE GLenum status = glCheckFramebufferStatusOES(GL_FRAMEBUFFER); + if(status != GL_FRAMEBUFFER_COMPLETE){ NSLog(@"Error binding renderTarget"); } diff --git a/Classes/System/Event.m b/Classes/System/Event.m index 959c3b3..d5d521a 100644 --- a/Classes/System/Event.m +++ b/Classes/System/Event.m @@ -10,11 +10,18 @@ #import "System.h" +@interface Event (){ + NSMutableArray *tempEvents; +} + +@end + @implementation Event - (id) init { if (self = [super init]) { delegates = [[NSMutableArray alloc] init]; + tempEvents = [[NSMutableArray alloc] init]; } return self; } @@ -33,13 +40,16 @@ } - (void) raiseWithSender:(id)sender eventArgs:(EventArgs*)e { - for (Delegate *delegate in delegates) { + [tempEvents addObjectsFromArray:delegates]; + for (Delegate *delegate in tempEvents) { [delegate invokeWithArgument:sender argument:e]; } + [tempEvents removeAllObjects]; } - (void) dealloc { [delegates release]; + [tempEvents release]; [super dealloc]; } diff --git a/gitignore b/gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file