Vittorio G. to Eric, Sam
Actually this is much simpler than i thought, I just had to specify a
class method to get the delegate name and then the category can
override that method!
I've attached the patch that enables this features: in my code i could
remove my custom main() and simply add
@implementation SDLUIKitDelegate (customDelegate)
+(NSString *)getAppDelegateClassName {
return @"HedgewarsAppDelegate";
}
@end
I tested it and with the sdl demos it loads the normal
SDLUIKitDelegate, while in my code it loads my HedgewarsAppDelegate!
Roger Willcocks 2009-10-25 08:45:37 PDT
appDidFinishLaunching is triggered before all the setup's complete. The easiest
fix is to arrange for another event to be sent when it's really ready, and run
SDL_main from there. Ref.
http://blog.rightsprite.com/2008/11/iphone-applicationdidfinishlaunching.html
SDL-1.3.0-4563/src/video/uikit/SDL_uikitappdelegate.m:
- (void)postFinishLaunch {
/* run the user's application, passing argc and argv */
int exit_status = SDL_main(forward_argc, forward_argv);
/* free the memory we used to hold copies of argc and argv */
int i;
for (i=0; i<forward_argc; i++) {
free(forward_argv[i]);
}
free(forward_argv);
/* exit, passing the return status from the user's application */
exit(exit_status);
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
/* Set working directory to resource path */
[[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle
mainBundle] resourcePath]];
[self performSelector:@selector(postFinishLaunch) withObject:nil
afterDelay:0.0];
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404148
Eric Wing to Sam
I've been sitting on this too long. I need to push.
It's untested because of the unrelated crashing bug I've been experiencing.
Also have a fix for SIZEOF_VOIDP in the config for both iPhone and Mac.
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404102
Bring SDL to iPhone and iPod Touch
by Holmes Futrell, mentored by Sam Lantinga
--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403222