# HG changeset patch # User koda # Date 1275334422 0 # Node ID b1d00f1950c83338895b4a63ee80f77f7e75e3e5 # Parent e1b1a4c18c5b0a02c343883f672e774cd404749e add some memory aware code revert sdl calls to past implementation (the one that did not crash) add some debug methods found online diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/DetailViewController.m --- a/cocoaTouch/DetailViewController.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/DetailViewController.m Mon May 31 19:33:42 2010 +0000 @@ -146,13 +146,13 @@ #ifdef __IPHONE_3_2 -(void) splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc { barButtonItem.title = @"Master List"; - [self.navigationController.navigationBar.topItem setLeftBarButtonItem:barButtonItem animated:YES]; + [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; self.popoverController = pc; } // Called when the view is shown again in the split view, invalidating the button and popover controller. -(void) splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem { - [self.navigationController.navigationBar.topItem setLeftBarButtonItem:nil animated:YES]; + [self.navigationItem setLeftBarButtonItem:nil animated:YES]; self.popoverController = nil; } #endif @@ -166,6 +166,11 @@ // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. + generalSettingsViewController = nil; + teamSettingsViewController = nil; + weaponSettingsViewController = nil; + schemeSettingsViewController = nil; + MSG_MEMCLEAN(); } -(void) viewDidUnload { diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/GameConfigViewController.m --- a/cocoaTouch/GameConfigViewController.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/GameConfigViewController.m Mon May 31 19:33:42 2010 +0000 @@ -137,6 +137,12 @@ // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. + if (mapConfigViewController.view.superview == nil ) + mapConfigViewController = nil; + if (teamConfigViewController.view.superview == nil) + teamConfigViewController = nil; + activeController = nil; + MSG_MEMCLEAN(); } diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/GameSetup.m --- a/cocoaTouch/GameSetup.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/GameSetup.m Mon May 31 19:33:42 2010 +0000 @@ -154,6 +154,7 @@ -(NSInteger) provideScheme:(NSString *)schemeName { NSString *schemePath = [[NSString alloc] initWithFormat:@"%@/%@.plist",SCHEMES_DIRECTORY(),schemeName]; NSArray *scheme = [[NSArray alloc] initWithContentsOfFile:schemePath]; + [schemePath release]; int result = 0; int i = 0; @@ -231,6 +232,7 @@ [self sendToEngine:explosives]; [explosives release]; + [scheme release]; return result; } diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/MapConfigViewController.m --- a/cocoaTouch/MapConfigViewController.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/MapConfigViewController.m Mon May 31 19:33:42 2010 +0000 @@ -88,6 +88,7 @@ int port = randomPort(); pthread_t thread_id; pthread_create(&thread_id, NULL, (void *)GenLandPreview, (void *)port); + pthread_detach(thread_id); [self engineProtocol:port]; // draw the buffer (1 pixel per component, 0= transparent 1= color) @@ -128,7 +129,8 @@ [indicator removeFromSuperview]; [pool release]; - [NSThread exit]; + //Invoking this method should be avoided as it does not give your thread a chance to clean up any resources it allocated during its execution. + //[NSThread exit]; /* // http://developer.apple.com/mac/library/qa/qa2001/qa1037.html @@ -360,6 +362,9 @@ mazeCommand = @"e$maze_size 0"; break; default: + labelText = nil; + templateCommand = nil; + mazeCommand = nil; break; } @@ -402,6 +407,10 @@ [self sliderChanged:nil]; self.slider.enabled = YES; break; + + default: + mapgen = nil; + break; } self.mapGenCommand = mapgen; [self updatePreview]; diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/SDLOverrides/SDL_uikitappdelegate.h --- a/cocoaTouch/SDLOverrides/SDL_uikitappdelegate.h Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/SDLOverrides/SDL_uikitappdelegate.h Mon May 31 19:33:42 2010 +0000 @@ -27,10 +27,15 @@ @class OverlayViewController; @interface SDLUIKitDelegate:NSObject { + SDL_Window *window; + UIWindow *uiwindow; MainMenuViewController *mainViewController; BOOL isInGame; } +@property (readwrite, assign) SDL_Window *window; +@property (readwrite, retain) UIWindow *uiwindow; + +(SDLUIKitDelegate *)sharedAppDelegate; -(void) startSDLgame; -(void) displayOverlayLater; diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/SDLOverrides/SDL_uikitappdelegate.m --- a/cocoaTouch/SDLOverrides/SDL_uikitappdelegate.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/SDLOverrides/SDL_uikitappdelegate.m Mon May 31 19:33:42 2010 +0000 @@ -55,6 +55,7 @@ } @implementation SDLUIKitDelegate +@synthesize uiwindow, window; // convenience method +(SDLUIKitDelegate *)sharedAppDelegate { @@ -66,11 +67,15 @@ if (self = [super init]){ mainViewController = nil; isInGame = NO; + self.uiwindow = nil; + self.window = NULL; } return self; } -(void) dealloc { + SDL_DestroyWindow(self.window); + [uiwindow release]; [mainViewController release]; [super dealloc]; } @@ -89,7 +94,7 @@ [setup release]; // since the sdlwindow is not yet created, we add the overlayController with a delay - [self performSelector:@selector(displayOverlayLater) withObject:nil afterDelay:4]; + [self performSelector:@selector(displayOverlayLater) withObject:nil afterDelay:1]; // this is the pascal fuction that starts the game (wrapped around isInGame) isInGame = YES; @@ -117,9 +122,11 @@ [application setStatusBarHidden:YES]; [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO]; - UIWindow *uiwindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + uiwindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; uiwindow.backgroundColor = [UIColor blackColor]; - + // needed to keep the app running after a game (gets released in sdl_uikitwindow) + [uiwindow retain]; + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) mainViewController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController-iPad" bundle:nil]; else @@ -146,6 +153,7 @@ if (isInGame) { HW_pause(); + /* // Send every window on every screen a MINIMIZED event. SDL_VideoDevice *_this = SDL_GetVideoDevice(); if (!_this) @@ -158,6 +166,7 @@ for (window = display->windows; window != nil; window = window->next) SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MINIMIZED, 0, 0); } + */ } } @@ -166,6 +175,7 @@ if (isInGame) { HW_pause(); + /* // Send every window on every screen a RESTORED event. SDL_VideoDevice *_this = SDL_GetVideoDevice(); if (!_this) @@ -178,6 +188,7 @@ for (window = display->windows; window != nil; window = window->next) SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESTORED, 0, 0); } + */ } } diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/SplitViewRootController.m --- a/cocoaTouch/SplitViewRootController.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/SplitViewRootController.m Mon May 31 19:33:42 2010 +0000 @@ -22,6 +22,8 @@ // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. + detailViewController = nil; + MSG_MEMCLEAN(); } // load the view programmatically; we need a splitViewController that handles a MasterViewController diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/TeamConfigViewController.m --- a/cocoaTouch/TeamConfigViewController.m Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/TeamConfigViewController.m Mon May 31 19:33:42 2010 +0000 @@ -132,44 +132,6 @@ } -/* -// Override to support conditional editing of the table view. -- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { - // Return NO if you do not want the specified item to be editable. - return YES; -} -*/ - - -/* -// Override to support editing the table view. -- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { - - if (editingStyle == UITableViewCellEditingStyleDelete) { - // Delete the row from the data source - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; - } - else if (editingStyle == UITableViewCellEditingStyleInsert) { - // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view - } -} -*/ - - -/* -// Override to support rearranging the table view. -- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { -} -*/ - -/* -// Override to support conditional rearranging of the table view. -- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { - // Return NO if you do not want the item to be re-orderable. - return YES; -} -*/ - #pragma mark - #pragma mark Table view delegate -(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/otherSrc/CommodityFunctions.h --- a/cocoaTouch/otherSrc/CommodityFunctions.h Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/otherSrc/CommodityFunctions.h Mon May 31 19:33:42 2010 +0000 @@ -34,6 +34,8 @@ #define MAPS_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Maps/"] #define VOICES_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Sounds/voices/"] +#define MSG_MEMCLEAN() DLog(@"has cleaned up some memory"); + void createTeamNamed (NSString *nameWithoutExt); void createSchemeNamed (NSString *nameWithoutExt); BOOL rotationManager (UIInterfaceOrientation interfaceOrientation); diff -r e1b1a4c18c5b -r b1d00f1950c8 cocoaTouch/xib/MapConfigViewController-iPad.xib --- a/cocoaTouch/xib/MapConfigViewController-iPad.xib Fri May 28 20:13:47 2010 +0000 +++ b/cocoaTouch/xib/MapConfigViewController-iPad.xib Mon May 31 19:33:42 2010 +0000 @@ -86,7 +86,7 @@ 292 - {{573, 37}, {149, 23}} + {{570, 117}, {149, 23}} NO IBIPadFramework @@ -126,7 +126,7 @@ 292 - {{627, 110}, {42, 21}} + {{623, 20}, {42, 21}} NO YES @@ -146,7 +146,7 @@ 292 - {{575, 67}, {145, 29}} + {{572, 66}, {145, 29}} NO YES @@ -346,10 +346,10 @@ + + - - @@ -422,7 +422,7 @@ YES MapConfigViewController UIResponder - {{255, 106}, {1024, 768}} + {{255, 115}, {1024, 768}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin diff -r e1b1a4c18c5b -r b1d00f1950c8 hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Fri May 28 20:13:47 2010 +0000 +++ b/hedgewars/hwengine.pas Mon May 31 19:33:42 2010 +0000 @@ -183,6 +183,7 @@ PrevTime:= SDL_GetTicks; while isTerminated = false do begin +{$IFNDEF IPHONEOS} // have to remove this cycle because otherwise it segfaults at exit while SDL_PollEvent(@event) <> 0 do begin @@ -209,6 +210,7 @@ SDL_QUITEV: isTerminated:= true end; // end case event.type_ end; // end while SDL_PollEvent(@event) <> 0 +{$ENDIF} if isTerminated = false then begin diff -r e1b1a4c18c5b -r b1d00f1950c8 misc/openalbridge/wrappers.c --- a/misc/openalbridge/wrappers.c Fri May 28 20:13:47 2010 +0000 +++ b/misc/openalbridge/wrappers.c Mon May 31 19:33:42 2010 +0000 @@ -72,7 +72,7 @@ if (type == AL_FADE_IN) { #ifdef DEBUG - err_msg("(%s) INFO - Fade-in in progress [index %d quantity %d]", prog, index, quantity); + fprintf(stderr,"(Bridge Info) - Fade-in in progress [index %d quantity %d]", index, quantity); #endif // save the volume desired after the fade diff -r e1b1a4c18c5b -r b1d00f1950c8 project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj --- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Fri May 28 20:13:47 2010 +0000 +++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Mon May 31 19:33:42 2010 +0000 @@ -31,6 +31,7 @@ 611E12FF117BBBDA0044B62F /* Entitlements-Development.plist in Resources */ = {isa = PBXBuildFile; fileRef = 611E12FE117BBBDA0044B62F /* Entitlements-Development.plist */; }; 611E1316117BBE5A0044B62F /* WeaponSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 611E1315117BBE5A0044B62F /* WeaponSettingsViewController.m */; }; 611E1319117BBE700044B62F /* SchemeSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 611E1318117BBE700044B62F /* SchemeSettingsViewController.m */; }; + 611F4D4B11B27A9900F9759A /* uScript.pas in Sources */ = {isa = PBXBuildFile; fileRef = 611F4D4A11B27A9900F9759A /* uScript.pas */; }; 6122CD01116BECCA002648E9 /* Default-Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 6122CD00116BECCA002648E9 /* Default-Landscape.png */; }; 61272334117DF764005B90CF /* libSDL_image.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272333117DF752005B90CF /* libSDL_image.a */; }; 61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272338117DF778005B90CF /* MobileCoreServices.framework */; }; @@ -70,7 +71,6 @@ 61798832114AA34C00BA94A9 /* uLocale.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798804114AA34C00BA94A9 /* uLocale.pas */; }; 61798833114AA34C00BA94A9 /* uMisc.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798805114AA34C00BA94A9 /* uMisc.pas */; }; 61798834114AA34C00BA94A9 /* uRandom.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798806114AA34C00BA94A9 /* uRandom.pas */; }; - 61798835114AA34C00BA94A9 /* uScript.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798807114AA34C00BA94A9 /* uScript.pas */; }; 61798836114AA34C00BA94A9 /* uSHA.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798808114AA34C00BA94A9 /* uSHA.pas */; }; 61798837114AA34C00BA94A9 /* uSound.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798809114AA34C00BA94A9 /* uSound.pas */; }; 61798838114AA34C00BA94A9 /* uStats.pas in Sources */ = {isa = PBXBuildFile; fileRef = 6179880A114AA34C00BA94A9 /* uStats.pas */; }; @@ -230,6 +230,7 @@ 611E1315117BBE5A0044B62F /* WeaponSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WeaponSettingsViewController.m; path = ../../cocoaTouch/WeaponSettingsViewController.m; sourceTree = SOURCE_ROOT; }; 611E1317117BBE700044B62F /* SchemeSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SchemeSettingsViewController.h; path = ../../cocoaTouch/SchemeSettingsViewController.h; sourceTree = SOURCE_ROOT; }; 611E1318117BBE700044B62F /* SchemeSettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SchemeSettingsViewController.m; path = ../../cocoaTouch/SchemeSettingsViewController.m; sourceTree = SOURCE_ROOT; }; + 611F4D4A11B27A9900F9759A /* uScript.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uScript.pas; path = ../../hedgewars/uScript.pas; sourceTree = SOURCE_ROOT; }; 611FD9C81155A1F200C2203D /* Background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Background.png; path = ../../QTfrontend/res/Background.png; sourceTree = SOURCE_ROOT; }; 611FD9CB1155A28C00C2203D /* HedgewarsTitle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HedgewarsTitle.png; path = ../../QTfrontend/res/HedgewarsTitle.png; sourceTree = SOURCE_ROOT; }; 611FD9CF1155A40700C2203D /* NetworkPlay.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = NetworkPlay.png; path = ../../QTfrontend/res/NetworkPlay.png; sourceTree = SOURCE_ROOT; }; @@ -281,7 +282,6 @@ 61798804114AA34C00BA94A9 /* uLocale.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uLocale.pas; path = ../../hedgewars/uLocale.pas; sourceTree = SOURCE_ROOT; }; 61798805114AA34C00BA94A9 /* uMisc.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uMisc.pas; path = ../../hedgewars/uMisc.pas; sourceTree = SOURCE_ROOT; }; 61798806114AA34C00BA94A9 /* uRandom.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uRandom.pas; path = ../../hedgewars/uRandom.pas; sourceTree = SOURCE_ROOT; }; - 61798807114AA34C00BA94A9 /* uScript.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uScript.pas; path = ../../hedgewars/uScript.pas; sourceTree = SOURCE_ROOT; }; 61798808114AA34C00BA94A9 /* uSHA.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uSHA.pas; path = ../../hedgewars/uSHA.pas; sourceTree = SOURCE_ROOT; }; 61798809114AA34C00BA94A9 /* uSound.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uSound.pas; path = ../../hedgewars/uSound.pas; sourceTree = SOURCE_ROOT; }; 6179880A114AA34C00BA94A9 /* uStats.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uStats.pas; path = ../../hedgewars/uStats.pas; sourceTree = SOURCE_ROOT; }; @@ -582,12 +582,12 @@ 61798892114AA56300BA94A9 /* inc */ = { isa = PBXGroup; children = ( + 61798852114AA44900BA94A9 /* config.inc */, + 617987EB114AA34C00BA94A9 /* options.inc */, 618736B8118CA28600123B23 /* GearDrawing.inc */, - 61798852114AA44900BA94A9 /* config.inc */, 617987E1114AA34C00BA94A9 /* CCHandlers.inc */, 617987E4114AA34C00BA94A9 /* GSHandlers.inc */, 617987E5114AA34C00BA94A9 /* HHHandlers.inc */, - 617987EB114AA34C00BA94A9 /* options.inc */, 617987F0114AA34C00BA94A9 /* SinTable.inc */, ); name = inc; @@ -768,7 +768,7 @@ 61798804114AA34C00BA94A9 /* uLocale.pas */, 61798805114AA34C00BA94A9 /* uMisc.pas */, 61798806114AA34C00BA94A9 /* uRandom.pas */, - 61798807114AA34C00BA94A9 /* uScript.pas */, + 611F4D4A11B27A9900F9759A /* uScript.pas */, 61798808114AA34C00BA94A9 /* uSHA.pas */, 61798809114AA34C00BA94A9 /* uSound.pas */, 6179880A114AA34C00BA94A9 /* uStats.pas */, @@ -1060,7 +1060,6 @@ 61798832114AA34C00BA94A9 /* uLocale.pas in Sources */, 61798833114AA34C00BA94A9 /* uMisc.pas in Sources */, 61798834114AA34C00BA94A9 /* uRandom.pas in Sources */, - 61798835114AA34C00BA94A9 /* uScript.pas in Sources */, 61798836114AA34C00BA94A9 /* uSHA.pas in Sources */, 61798837114AA34C00BA94A9 /* uSound.pas in Sources */, 61798838114AA34C00BA94A9 /* uStats.pas in Sources */, @@ -1096,6 +1095,7 @@ 61B22E0F1180FBF400B2FCE0 /* MapConfigViewController.m in Sources */, 61AE62C711A067FE008DC32E /* SplitViewRootController.m in Sources */, 615FBA5811A93D6700B139F9 /* SingleSchemeViewController.m in Sources */, + 611F4D4B11B27A9900F9759A /* uScript.pas in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1129,6 +1129,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -1148,6 +1149,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; CODE_SIGN_ENTITLEMENTS = "Entitlements-Development.plist"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -1169,7 +1171,7 @@ 6137064B117B1CB3004EE44A /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; CODE_SIGN_ENTITLEMENTS = "Entitlements-Distribution.plist"; CODE_SIGN_IDENTITY = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; @@ -1211,7 +1213,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; CODE_SIGN_ENTITLEMENTS = "Entitlements-Distribution.plist"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = YES; @@ -1372,7 +1374,7 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; CODE_SIGN_IDENTITY = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; DEBUG_INFORMATION_FORMAT = stabs; @@ -1386,6 +1388,7 @@ GCC_DEBUGGING_SYMBOLS = full; GCC_FAST_MATH = NO; GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_THUMB_SUPPORT = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -1411,7 +1414,7 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix"; diff -r e1b1a4c18c5b -r b1d00f1950c8 project_files/HedgewarsMobile/Hedgewars_Prefix.pch --- a/project_files/HedgewarsMobile/Hedgewars_Prefix.pch Fri May 28 20:13:47 2010 +0000 +++ b/project_files/HedgewarsMobile/Hedgewars_Prefix.pch Mon May 31 19:33:42 2010 +0000 @@ -7,3 +7,17 @@ #import #import #endif + +// by http://www.cimgf.com/2010/05/02/my-current-prefix-pch-file/ +#ifdef DEBUG + #define DLog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) + #define ALog(...) [[NSAssertionHandler currentHandler] handleFailureInFunction:[NSString stringWithCString:__PRETTY_FUNCTION__ encoding:NSUTF8StringEncoding] file:[NSString stringWithCString:__FILE__ encoding:NSUTF8StringEncoding] lineNumber:__LINE__ description:__VA_ARGS__] +#else + #define DLog(...) do { } while (0) + #ifndef NS_BLOCK_ASSERTIONS + #define NS_BLOCK_ASSERTIONS + #endif + #define ALog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) +#endif + +#define ZAssert(condition, ...) do { if (!(condition)) { ALog(__VA_ARGS__); }} while(0)