# HG changeset patch # User koda # Date 1270932489 0 # Node ID 3c90a923f156ea717e97eba075c9bd58a67c5ff8 # Parent 8e05feb871c3946c1401d2a2e6e59242acf4a8c1 simplify the general settings and review minor stuff diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/GameSetup.m --- a/cocoaTouch/GameSetup.m Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/GameSetup.m Sat Apr 10 20:48:09 2010 +0000 @@ -336,10 +336,10 @@ gameArgs[0] = [username UTF8String]; //UserNick gameArgs[1] = [ipcString UTF8String]; //ipcPort - gameArgs[2] = [[systemSettings objectForKey:@"sounds"] UTF8String]; //isSoundEnabled - gameArgs[3] = [[systemSettings objectForKey:@"music"] UTF8String]; //isMusicEnabled + gameArgs[2] = [[[systemSettings objectForKey:@"sounds"] stringValue] UTF8String]; //isSoundEnabled + gameArgs[3] = [[[systemSettings objectForKey:@"music"] stringValue] UTF8String]; //isMusicEnabled gameArgs[4] = [localeString UTF8String]; //cLocaleFName - gameArgs[5] = [[systemSettings objectForKey:@"alternate"] UTF8String]; //cAltDamage + gameArgs[5] = [[[systemSettings objectForKey:@"alternate"] stringValue] UTF8String]; //cAltDamage gameArgs[6] = [wSize UTF8String]; //cScreenHeight gameArgs[7] = [hSize UTF8String]; //cScreenWidth diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/GeneralSettingsViewController.h --- a/cocoaTouch/GeneralSettingsViewController.h Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/GeneralSettingsViewController.h Sat Apr 10 20:48:09 2010 +0000 @@ -9,18 +9,17 @@ #import -@interface GeneralSettingsViewController : UITableViewController { - NSDictionary *dataDict; - NSString *username; - NSString *password; +@interface GeneralSettingsViewController : UITableViewController { + NSMutableDictionary *settingsDictionary; + UITextField *textFieldBeingEdited; UISwitch *musicSwitch; UISwitch *soundSwitch; UISwitch *altDamageSwitch; + BOOL isWriteNeeded; } -@property (nonatomic, retain) NSDictionary *dataDict; -@property (nonatomic, retain) NSString *username; -@property (nonatomic, retain) NSString *password; +@property (nonatomic, retain) NSMutableDictionary *settingsDictionary; +@property (nonatomic, retain) UITextField *textFieldBeingEdited;; @property (nonatomic, retain) UISwitch *musicSwitch; @property (nonatomic, retain) UISwitch *soundSwitch; @property (nonatomic, retain) UISwitch *altDamageSwitch; diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/GeneralSettingsViewController.m --- a/cocoaTouch/GeneralSettingsViewController.m Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/GeneralSettingsViewController.m Sat Apr 10 20:48:09 2010 +0000 @@ -10,124 +10,141 @@ #import "SDL_uikitappdelegate.h" @implementation GeneralSettingsViewController -@synthesize dataDict, username, password, musicSwitch, soundSwitch, altDamageSwitch; +@synthesize settingsDictionary, textFieldBeingEdited, musicSwitch, soundSwitch, altDamageSwitch; --(void) dealloc { - [dataDict release]; - [username release]; - [password release]; - [musicSwitch release]; - [soundSwitch release]; - [altDamageSwitch release]; - [super dealloc]; -} - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); } #pragma mark - +#pragma mark textfield methods +// return to previous table +-(void) cancel:(id) sender { + if (textFieldBeingEdited != nil) + [self.textFieldBeingEdited resignFirstResponder]; +} + +// set the new value +-(BOOL) save:(id) sender { + if (textFieldBeingEdited != nil) { + if (textFieldBeingEdited.tag == 0) { + [self.settingsDictionary setObject:textFieldBeingEdited.text forKey:@"username"]; + } else { + [self.settingsDictionary setObject:textFieldBeingEdited.text forKey:@"password"]; + } + + isWriteNeeded = YES; + [self.textFieldBeingEdited resignFirstResponder]; + return YES; + } + return NO; +} + +// the textfield is being modified, update the navigation controller +-(void) textFieldDidBeginEditing:(UITextField *)aTextField{ + self.textFieldBeingEdited = aTextField; + UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Cancel",@"from the settings table") + style:UIBarButtonItemStylePlain + target:self + action:@selector(cancel:)]; + self.navigationItem.leftBarButtonItem = cancelButton; + [cancelButton release]; + + UIBarButtonItem *saveButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Save",@"from the settings table") + style:UIBarButtonItemStyleDone + target:self + action:@selector(save:)]; + self.navigationItem.rightBarButtonItem = saveButton; + [saveButton release]; +} + +// we save every time a textfield is edited, so we don't risk to update only the hogs or only the temname +-(BOOL) textFieldShouldEndEditing:(UITextField *)aTextField { + return [self save:nil]; +} + +// the textfield has been modified, check for empty strings and restore original navigation bar +-(void) textFieldDidEndEditing:(UITextField *)aTextField{ + self.textFieldBeingEdited = nil; + self.navigationItem.rightBarButtonItem = self.navigationItem.backBarButtonItem; + self.navigationItem.leftBarButtonItem = nil; +} + +// limit the size of the field to 64 characters like in original frontend +-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { + int limit = 64; + return !([textField.text length] > limit && [string length] > range.length); +} + + +#pragma mark - #pragma mark View Lifecycle -(void) viewDidLoad { + [super viewDidLoad]; self.musicSwitch = [[UISwitch alloc] init]; self.soundSwitch = [[UISwitch alloc] init]; self.altDamageSwitch = [[UISwitch alloc] init]; - [self.soundSwitch addTarget:self action:@selector(sameValueSwitch) forControlEvents:UIControlEventValueChanged]; - [self.musicSwitch addTarget:self action:@selector(checkValueSwitch) forControlEvents:UIControlEventValueChanged]; - + [self.soundSwitch addTarget:self action:@selector(alsoTurnOffMusic:) forControlEvents:UIControlEventValueChanged]; + [self.musicSwitch addTarget:self action:@selector(dontTurnOnMusic:) forControlEvents:UIControlEventValueChanged]; + [self.altDamageSwitch addTarget:self action:@selector(justUpdateDictionary:) forControlEvents:UIControlEventValueChanged]; + NSString *filePath = [[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"]; - NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:filePath]; - self.dataDict = dictionary; + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath]; + self.settingsDictionary = dictionary; [dictionary release]; - [super viewDidLoad]; } --(void) viewDidUnload { - self.dataDict = nil; - self.username = nil; - self.password = nil; - self.musicSwitch = nil; - self.soundSwitch = nil; - self.altDamageSwitch = nil; - [super viewDidUnload]; -} + -(void) viewWillAppear:(BOOL)animated { [self.tableView setContentOffset:CGPointMake(0,0) animated:NO]; - - username = [NSString stringWithString:[dataDict objectForKey:@"username"]]; - password = [NSString stringWithString:[dataDict objectForKey:@"password"]]; + isWriteNeeded = NO; - if (1 == [[dataDict objectForKey:@"music"] intValue]) { - musicSwitch.on = YES; - } else { - musicSwitch.on = NO; - } - if (1 == [[dataDict objectForKey:@"sounds"] intValue]) { - soundSwitch.on = YES; - } else { - soundSwitch.on = NO; - } - if (1 == [[dataDict objectForKey:@"alternate"] intValue]) { - altDamageSwitch.on = YES; - } else { - altDamageSwitch.on = NO; - } - + musicSwitch.on = [[settingsDictionary objectForKey:@"music"] boolValue]; + soundSwitch.on = [[settingsDictionary objectForKey:@"sound"] boolValue]; + altDamageSwitch.on = [[settingsDictionary objectForKey:@"alternate"] boolValue]; + [super viewWillAppear:animated]; } -(void) viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; - NSMutableDictionary *saveDict = [[NSMutableDictionary alloc] init]; - NSString *tmpMus = (musicSwitch.on) ? @"1" : @"0"; - NSString *tmpEff = (soundSwitch.on) ? @"1" : @"0"; - NSString *tmpAlt = (altDamageSwitch.on) ? @"1" : @"0"; - - [saveDict setObject:username forKey:@"username"]; - [saveDict setObject:password forKey:@"password"]; - [saveDict setObject:tmpMus forKey:@"music"]; - [saveDict setObject:tmpEff forKey:@"sounds"]; - [saveDict setObject:tmpAlt forKey:@"alternate"]; - - if (![dataDict isEqualToDictionary:saveDict]) { + if (isWriteNeeded) { NSLog(@"writing preferences to file"); - [saveDict writeToFile:[[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"] atomically:YES]; - // this will also relase the previous dictionary - self.dataDict = saveDict; + [self.settingsDictionary writeToFile:[[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"] atomically:YES]; + isWriteNeeded = NO; } - [saveDict release]; } #pragma mark - -// set music off when sound is turned off --(void) sameValueSwitch { +// if the sound system is off, turn off also the background music +-(void) alsoTurnOffMusic:(id) sender { + [self.settingsDictionary setObject:[NSNumber numberWithBool:soundSwitch.on] forKey:@"sound"]; if (YES == self.musicSwitch.on) { [musicSwitch setOn:NO animated:YES]; + [self.settingsDictionary setObject:[NSNumber numberWithBool:musicSwitch.on] forKey:@"music"]; } + isWriteNeeded = YES; } -// don't enable music when sound is off --(void) checkValueSwitch { +// if the sound system is off, don't enable background music +-(void) dontTurnOnMusic:(id) sender { if (NO == self.soundSwitch.on) { - [musicSwitch setOn:!musicSwitch.on animated:YES]; - } + [musicSwitch setOn:NO animated:YES]; + } else { + [self.settingsDictionary setObject:[NSNumber numberWithBool:musicSwitch.on] forKey:@"music"]; + isWriteNeeded = YES; + } } -/* -// makes the keyboard go away when background is tapped --(IBAction) backgroundTap: (id)sender { -// [username resignFirstResponder]; -// [password resignFirstResponder]; +-(void) justUpdateDictionary:(id) sender { + UISwitch *theSwitch = (UISwitch *)sender; + [self.settingsDictionary setObject:[NSNumber numberWithBool:theSwitch.on] forKey:@"alternate"]; + isWriteNeeded = YES; } -// makes the keyboard go away when "Done" is tapped --(IBAction) textFieldDoneEditing: (id)sender { - [sender resignFirstResponder]; -} -*/ - /* #pragma mark - #pragma mark UIActionSheet Methods @@ -187,63 +204,73 @@ return 1; break; default: - NSLog(@"Warning: unset case value for numberOfRowsInSection!"); break; } return 0; } -(UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - static NSString *cellIdentifier1 = @"systemSettingsCell1"; - static NSString *cellIdentifier2 = @"systemSettingsCell2"; - - UITableViewCell *cell = nil; - - switch ([indexPath section]) { - case kNetworkFields: - cell = [aTableView dequeueReusableCellWithIdentifier:cellIdentifier1]; - if (nil == cell) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 - reuseIdentifier:cellIdentifier1] autorelease]; - } - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + static NSString *cellIdentifier = @"systemSettingsCell"; + NSInteger row = [indexPath row]; + NSInteger section = [indexPath section]; + + UITableViewCell *cell = [aTableView dequeueReusableCellWithIdentifier:cellIdentifier]; + if (nil == cell) { + cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease]; + if (section == kNetworkFields) { + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(-15, 10, 100, 25)]; + label.textAlignment = UITextAlignmentRight; + label.backgroundColor = [UIColor clearColor]; + label.font = [UIFont boldSystemFontOfSize:[UIFont systemFontSize] + 2]; + if (row == 0) + label.text = NSLocalizedString(@"Nickname","from the settings table"); + else + label.text = NSLocalizedString(@"Password","from the settings table"); + [cell.contentView addSubview:label]; + [label release]; - switch ([indexPath row]) { + UITextField *aTextField = [[UITextField alloc] initWithFrame: + CGRectMake(110, 12, (cell.frame.size.width + cell.frame.size.width/3) - 90, 25)]; + aTextField.clearsOnBeginEditing = NO; + aTextField.returnKeyType = UIReturnKeyDone; + aTextField.adjustsFontSizeToFitWidth = YES; + aTextField.delegate = self; + aTextField.tag = row; + aTextField.clearButtonMode = UITextFieldViewModeWhileEditing; + [aTextField addTarget:self action:@selector(save:) forControlEvents:UIControlEventEditingDidEndOnExit]; + [cell.contentView addSubview:aTextField]; + [aTextField release]; + } + } + + cell.accessoryType = UITableViewCellAccessoryNone; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.imageView.image = nil; + + UITextField *aTextField; + switch (section) { + case kNetworkFields: + for (UIView *oneView in cell.contentView.subviews) + if ([oneView isMemberOfClass:[UITextField class]]) + aTextField = (UITextField *)oneView; + + switch (row) { case 0: - cell.textLabel.text = NSLocalizedString(@"Nickname", @""); - if ([username isEqualToString:@""]) { - cell.detailTextLabel.text = @"insert username..."; - cell.detailTextLabel.font = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; - cell.detailTextLabel.textColor = [UIColor grayColor]; - } else { - cell.detailTextLabel.text = username; - } + aTextField.placeholder = NSLocalizedString(@"Insert your username (if you have one)",@""); + aTextField.text = [self.settingsDictionary objectForKey:@"username"]; break; case 1: - cell.textLabel.text = NSLocalizedString(@"Password", @""); - if ([password isEqualToString:@""]) { - cell.detailTextLabel.text = @"insert password..."; - cell.detailTextLabel.font = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; - cell.detailTextLabel.textColor = [UIColor grayColor]; - } else { - cell.detailTextLabel.text = @"••••••••"; - } + aTextField.placeholder = NSLocalizedString(@"Insert your password",@""); + aTextField.text = [self.settingsDictionary objectForKey:@"password"]; + aTextField.secureTextEntry = YES; break; default: - NSLog(@"Warning: unset case value in kNetworkFields section!"); break; } break; case kAudioFields: - cell = [aTableView dequeueReusableCellWithIdentifier:cellIdentifier2]; - if (nil == cell) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:cellIdentifier2] autorelease]; - } - cell.selectionStyle = UITableViewCellSelectionStyleNone; - - switch ([indexPath row]) { + switch (row) { case 0: cell.textLabel.text = NSLocalizedString(@"Sound", @""); cell.accessoryView = soundSwitch; @@ -253,18 +280,11 @@ cell.accessoryView = musicSwitch; break; default: - NSLog(@"Warning: unset case value in kAudioFields section!"); break; } - // this makes the row not selectable break; case kOtherFields: - cell = [aTableView dequeueReusableCellWithIdentifier:cellIdentifier2]; - if (nil == cell) { - cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault - reuseIdentifier:cellIdentifier2] autorelease]; - } cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.textLabel.text = NSLocalizedString(@"Alternate Damage", @""); cell.accessoryView = altDamageSwitch; @@ -336,4 +356,49 @@ } */ + +#pragma mark - +#pragma mark Table view delegate +-(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell; + if (kNetworkFields == [indexPath section]) { + cell = [aTableView cellForRowAtIndexPath:indexPath]; + for (UIView *oneView in cell.contentView.subviews) { + if ([oneView isMemberOfClass:[UITextField class]]) { + textFieldBeingEdited = (UITextField *)oneView; + [textFieldBeingEdited becomeFirstResponder]; + } + } + [aTableView deselectRowAtIndexPath:indexPath animated:NO]; + } +} + + +#pragma mark - +#pragma mark Memory management +-(void) didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + // Relinquish ownership any cached data, images, etc that aren't in use. +} + +-(void) viewDidUnload { + self.settingsDictionary = nil; + self.textFieldBeingEdited = nil; + self.musicSwitch = nil; + self.soundSwitch = nil; + self.altDamageSwitch = nil; + [super viewDidUnload]; +} + +-(void) dealloc { + [settingsDictionary release]; + [textFieldBeingEdited release]; + [musicSwitch release]; + [soundSwitch release]; + [altDamageSwitch release]; + [super dealloc]; +} + + @end diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/MainMenuViewController.m --- a/cocoaTouch/MainMenuViewController.m Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/MainMenuViewController.m Sat Apr 10 20:48:09 2010 +0000 @@ -85,12 +85,12 @@ // create settings.plist NSMutableDictionary *saveDict = [[NSMutableDictionary alloc] init]; - + [saveDict setObject:@"" forKey:@"username"]; [saveDict setObject:@"" forKey:@"password"]; - [saveDict setObject:@"1" forKey:@"music"]; - [saveDict setObject:@"1" forKey:@"sounds"]; - [saveDict setObject:@"0" forKey:@"alternate"]; + [saveDict setObject:[NSNumber numberWithBool:YES] forKey:@"music"]; + [saveDict setObject:[NSNumber numberWithBool:YES] forKey:@"sound"]; + [saveDict setObject:[NSNumber numberWithBool:NO] forKey:@"alternate"]; NSString *filePath = [[SDLUIKitDelegate sharedAppDelegate] dataFilePath:@"settings.plist"]; [saveDict writeToFile:filePath atomically:YES]; diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/SingleTeamViewController.h --- a/cocoaTouch/SingleTeamViewController.h Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/SingleTeamViewController.h Sat Apr 10 20:48:09 2010 +0000 @@ -13,7 +13,6 @@ NSMutableDictionary *teamDictionary; UITextField *textFieldBeingEdited; - NSInteger selectedHog; NSString *teamName; NSArray *hatArray; diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/SingleTeamViewController.m --- a/cocoaTouch/SingleTeamViewController.m Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/SingleTeamViewController.m Sat Apr 10 20:48:09 2010 +0000 @@ -33,16 +33,17 @@ // set the new value -(BOOL) save:(id) sender { + NSInteger index = textFieldBeingEdited.tag; if (textFieldBeingEdited != nil) { - if (TEAMNAME_TAG == selectedHog) { + if (TEAMNAME_TAG == index) { NSLog(@"%@", textFieldBeingEdited.text); [self.teamDictionary setObject:textFieldBeingEdited.text forKey:@"teamname"]; } else { //replace the old value with the new one - NSDictionary *oldHog = [[teamDictionary objectForKey:@"hedgehogs"] objectAtIndex:selectedHog]; + NSDictionary *oldHog = [[teamDictionary objectForKey:@"hedgehogs"] objectAtIndex:index]; NSMutableDictionary *newHog = [[NSMutableDictionary alloc] initWithDictionary: oldHog]; [newHog setObject:textFieldBeingEdited.text forKey:@"hogname"]; - [[teamDictionary objectForKey:@"hedgehogs"] replaceObjectAtIndex:selectedHog withObject:newHog]; + [[teamDictionary objectForKey:@"hedgehogs"] replaceObjectAtIndex:index withObject:newHog]; [newHog release]; } @@ -56,7 +57,7 @@ // the textfield is being modified, update the navigation controller -(void) textFieldDidBeginEditing:(UITextField *)aTextField{ self.textFieldBeingEdited = aTextField; - selectedHog = aTextField.tag; + UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Cancel",@"from the hog name table") style:UIBarButtonItemStylePlain target:self @@ -82,7 +83,7 @@ if ([textFieldBeingEdited.text length] == 0) textFieldBeingEdited.text = [NSString stringWithFormat:@"hedgehog %d",textFieldBeingEdited.tag]; - //self.textFieldBeingEdited = nil; + self.textFieldBeingEdited = nil; self.navigationItem.rightBarButtonItem = self.navigationItem.backBarButtonItem; self.navigationItem.leftBarButtonItem = nil; } @@ -254,6 +255,7 @@ aTextField.returnKeyType = UIReturnKeyDone; aTextField.adjustsFontSizeToFitWidth = YES; aTextField.delegate = self; + aTextField.tag = [indexPath row]; aTextField.font = [UIFont boldSystemFontOfSize:[UIFont systemFontSize] + 2]; aTextField.clearButtonMode = UITextFieldViewModeWhileEditing; [aTextField addTarget:self action:@selector(save:) forControlEvents:UIControlEventEditingDidEndOnExit]; @@ -287,7 +289,6 @@ // we find the uitextfied and we'll use its tag to understand which one is being edited UITextField *textFieldFound = (UITextField *)oneView; textFieldFound.text = [[hogArray objectAtIndex:row] objectForKey:@"hogname"]; - textFieldFound.tag = row; } } @@ -333,7 +334,6 @@ for (UIView *oneView in cell.contentView.subviews) { if ([oneView isMemberOfClass:[UITextField class]]) { textFieldBeingEdited = (UITextField *)oneView; - textFieldBeingEdited.tag = row; [textFieldBeingEdited becomeFirstResponder]; } } diff -r 8e05feb871c3 -r 3c90a923f156 cocoaTouch/SplitViewRootController.m --- a/cocoaTouch/SplitViewRootController.m Sat Apr 10 19:04:39 2010 +0000 +++ b/cocoaTouch/SplitViewRootController.m Sat Apr 10 20:48:09 2010 +0000 @@ -44,7 +44,6 @@ UINavigationController *mainNavController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; masterViewController.detailViewController = self.detailViewController; - NSLog(@"%d", [detailViewController retainCount]); [masterViewController release]; @@ -54,7 +53,6 @@ [splitViewRootController setDelegate: self.detailViewController]; [detailViewController release]; - NSLog(@"%d", [detailViewController retainCount]); // add view to main controller [self.view addSubview:[splitViewRootController view]]; diff -r 8e05feb871c3 -r 3c90a923f156 project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.mode1v3 --- a/project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.mode1v3 Sat Apr 10 19:04:39 2010 +0000 +++ b/project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.mode1v3 Sat Apr 10 20:48:09 2010 +0000 @@ -197,49 +197,7 @@ Notifications OpenEditors - - - Content - - PBXProjectModuleGUID - 61A0965211700517008A8930 - PBXProjectModuleLabel - CommodityFunctions.h - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 61A0965311700517008A8930 - PBXProjectModuleLabel - CommodityFunctions.h - _historyCapacity - 0 - bookmark - 61A096AF1170071E008A8930 - history - - 61A0965411700517008A8930 - 61A0965511700517008A8930 - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {1058, 695}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 556 181 1058 736 0 0 1920 1178 - - - + PerspectiveWidths -1 @@ -271,8 +229,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -313,9 +269,7 @@ 61A11AC31168DA2B00359010 611B0A94116B621600112153 61A11AD01168DB1F00359010 - 29B97315FDCFA39411CA2CEA 29B97317FDCFA39411CA2CEA - 61798A5E114AE08600BA94A9 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 1C37FABC05509CD000000102 @@ -323,14 +277,12 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 55 - 52 - 47 + 1 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 558}, {246, 558}} + {{0, 0}, {246, 558}} PBXTopSmartGroupGIDs @@ -365,7 +317,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - CommodityFunctions.m + SingleTeamViewController.m PBXSplitModuleInNavigatorKey Split0 @@ -373,11 +325,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - CommodityFunctions.m + SingleTeamViewController.m _historyCapacity 0 bookmark - 61A096AE1170071E008A8930 + 6110C12B11711B9E002E5B93 history 6179889D114AA5BD00BA94A9 @@ -564,8 +516,8 @@ 6188FE61116F77AF004F3690 617E1DB5116FEE5B002EF3D8 617E1DB6116FEE5B002EF3D8 + 6110C12A11711B9E002E5B93 61A0965B1170057A008A8930 - 619C523C116E56330049FD84 SplitCount @@ -577,16 +529,18 @@ GeometryConfiguration Frame - {{0, 0}, {533, 91}} + {{0, 0}, {533, 73}} RubberWindowFrame 130 456 801 617 0 0 1920 1178 Module PBXNavigatorGroup Proportion - 91pt + 73pt + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -597,14 +551,14 @@ GeometryConfiguration Frame - {{0, 96}, {533, 480}} + {{0, 78}, {533, 498}} RubberWindowFrame 130 456 801 617 0 0 1920 1178 Module XCDetailModule Proportion - 480pt + 498pt Proportion @@ -623,9 +577,9 @@ TableOfContents - 61A0958A116FF221008A8930 + 6110C12C11711B9E002E5B93 1CE0B1FE06471DED0097A5F4 - 61A0958B116FF221008A8930 + 6110C12D11711B9E002E5B93 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -763,13 +717,11 @@ 5 WindowOrderList - 61A095A4116FF245008A8930 - 61A09596116FF221008A8930 - 1C78EAAD065D492600B07095 + 6110C12E11711B9E002E5B93 + 6110C12F11711B9E002E5B93 1CD10A99069EF8BA00B06720 61798848114AA42600BA94A9 - 6188FE8E116F8291004F3690 - 61A0965211700517008A8930 + 1C78EAAD065D492600B07095 /Users/vittorio/hedgewars/trunk/project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj WindowString @@ -850,7 +802,7 @@ TableOfContents 61798848114AA42600BA94A9 - 61A0958D116FF221008A8930 + 6110C0DB11700EC8002E5B93 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -974,13 +926,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 61A0958E116FF221008A8930 + 6110C0DC11700EC8002E5B93 1C162984064C10D400B95A72 - 61A0958F116FF221008A8930 - 61A09590116FF221008A8930 - 61A09591116FF221008A8930 - 61A09592116FF221008A8930 - 61A09593116FF221008A8930 + 6110C0DD11700EC8002E5B93 + 6110C0DE11700EC8002E5B93 + 6110C0DF11700EC8002E5B93 + 6110C0E011700EC8002E5B93 + 6110C0E111700EC8002E5B93 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -1144,7 +1096,7 @@ TableOfContents 1C78EAAD065D492600B07095 - 61A09594116FF221008A8930 + 6110C0E211700EC8002E5B93 1C78EAAC065D492600B07095 ToolbarConfiguration @@ -1154,7 +1106,7 @@ WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible - + Identifier diff -r 8e05feb871c3 -r 3c90a923f156 project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.pbxuser --- a/project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.pbxuser Sat Apr 10 19:04:39 2010 +0000 +++ b/project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj/vittorio.pbxuser Sat Apr 10 20:48:09 2010 +0000 @@ -107,14 +107,16 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 292549135; - PBXWorkspaceStateSaveDate = 292549135; + PBXPerProjectTemplateStateSaveDate = 292555371; + PBXWorkspaceStateSaveDate = 292555371; }; perUserProjectItems = { 61056377116C0393003C420C /* PBXBookmark */ = 61056377116C0393003C420C /* PBXBookmark */; 6105637A116C0393003C420C /* PBXTextBookmark */ = 6105637A116C0393003C420C /* PBXTextBookmark */; 610563DE116C15E5003C420C /* PBXTextBookmark */ = 610563DE116C15E5003C420C /* PBXTextBookmark */; 610563DF116C15E5003C420C /* PBXTextBookmark */ = 610563DF116C15E5003C420C /* PBXTextBookmark */; + 6110C12A11711B9E002E5B93 /* PBXTextBookmark */ = 6110C12A11711B9E002E5B93 /* PBXTextBookmark */; + 6110C12B11711B9E002E5B93 /* PBXTextBookmark */ = 6110C12B11711B9E002E5B93 /* PBXTextBookmark */; 611B0AC6116B6E8B00112153 /* PBXTextBookmark */ = 611B0AC6116B6E8B00112153 /* PBXTextBookmark */; 611B0C42116BAF3A00112153 /* PBXTextBookmark */ = 611B0C42116BAF3A00112153 /* PBXTextBookmark */; 611FD81F1155111700C2203D /* PBXTextBookmark */ = 611FD81F1155111700C2203D /* PBXTextBookmark */; @@ -162,7 +164,6 @@ 619C51C7116E42850049FD84 /* PBXTextBookmark */ = 619C51C7116E42850049FD84 /* PBXTextBookmark */; 619C51CB116E42850049FD84 /* PBXTextBookmark */ = 619C51CB116E42850049FD84 /* PBXTextBookmark */; 619C51E0116E45820049FD84 /* PBXTextBookmark */ = 619C51E0116E45820049FD84 /* PBXTextBookmark */; - 619C523C116E56330049FD84 /* PBXTextBookmark */ = 619C523C116E56330049FD84 /* PBXTextBookmark */; 619C523D116E56330049FD84 /* PBXBookmark */ = 619C523D116E56330049FD84 /* PBXBookmark */; 619C523F116E56330049FD84 /* PBXBookmark */ = 619C523F116E56330049FD84 /* PBXBookmark */; 619C5241116E56330049FD84 /* PBXBookmark */ = 619C5241116E56330049FD84 /* PBXBookmark */; @@ -266,11 +267,7 @@ 619C5892116E73B00049FD84 /* PBXBookmark */ = 619C5892116E73B00049FD84 /* PBXBookmark */; 619C58B2116E76080049FD84 /* PBXBookmark */ = 619C58B2116E76080049FD84 /* PBXBookmark */; 619C58B3116E76080049FD84 /* PBXTextBookmark */ = 619C58B3116E76080049FD84 /* PBXTextBookmark */; - 61A0965411700517008A8930 /* PBXTextBookmark */ = 61A0965411700517008A8930 /* PBXTextBookmark */; - 61A0965511700517008A8930 /* PBXTextBookmark */ = 61A0965511700517008A8930 /* PBXTextBookmark */; 61A0965B1170057A008A8930 /* PBXTextBookmark */ = 61A0965B1170057A008A8930 /* PBXTextBookmark */; - 61A096AE1170071E008A8930 /* PBXTextBookmark */ = 61A096AE1170071E008A8930 /* PBXTextBookmark */; - 61A096AF1170071E008A8930 /* PBXTextBookmark */ = 61A096AF1170071E008A8930 /* PBXTextBookmark */; 61CCBE60116135FF00833FE8 /* PBXTextBookmark */ = 61CCBE60116135FF00833FE8 /* PBXTextBookmark */; 61CCBF1E116162CA00833FE8 /* PBXTextBookmark */ = 61CCBF1E116162CA00833FE8 /* PBXTextBookmark */; 61CCBF451161637F00833FE8 /* PBXTextBookmark */ = 61CCBF451161637F00833FE8 /* PBXTextBookmark */; @@ -354,19 +351,39 @@ path = "/Users/vittorio/hedgewars/Library/SDL-1.3/SDL/src/video/SDL_renderer_gles.c"; sourceTree = ""; }; + 6110C12A11711B9E002E5B93 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 619C51BE116E40FC0049FD84 /* CommodityFunctions.m */; + name = "CommodityFunctions.m: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 51; + vrLoc = 0; + }; + 6110C12B11711B9E002E5B93 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 61A11AE01168DC6E00359010 /* SingleTeamViewController.m */; + name = "SingleTeamViewController.m: 133"; + rLen = 1; + rLoc = 5496; + rType = 0; + vrLen = 128; + vrLoc = 1689; + }; 611B0A9F116B626E00112153 /* GeneralSettingsViewController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {472, 468}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 144}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 639}}"; + sepNavSelRange = "{288, 18}"; + sepNavVisRange = "{0, 825}"; }; }; 611B0AA0116B626E00112153 /* GeneralSettingsViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 4368}}"; - sepNavSelRange = "{773, 0}"; - sepNavVisRange = "{6031, 2352}"; - sepNavWindowFrame = "{{225, 314}, {1058, 792}}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 5577}}"; + sepNavSelRange = "{348, 17}"; + sepNavVisRange = "{13122, 1287}"; + sepNavWindowFrame = "{{413, 349}, {1058, 792}}"; }; }; 611B0AC6116B6E8B00112153 /* PBXTextBookmark */ = { @@ -384,7 +401,7 @@ fRef = 611B0AA0116B626E00112153 /* GeneralSettingsViewController.m */; name = "GeneralSettingsViewController.m: 249"; rLen = 0; - rLoc = 8420; + rLoc = 10789; rType = 0; vrLen = 75; vrLoc = 631; @@ -533,7 +550,7 @@ fRef = 61A11ADF1168DC6E00359010 /* SingleTeamViewController.h */; name = "SingleTeamViewController.h: 19"; rLen = 0; - rLoc = 551; + rLoc = 524; rType = 0; vrLen = 213; vrLoc = 337; @@ -677,9 +694,9 @@ }; 617987E7114AA34C00BA94A9 /* hwengine.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {838, 7787}}"; - sepNavSelRange = "{7142, 0}"; - sepNavVisRange = "{7692, 1318}"; + sepNavIntBoundsRect = "{{0, 0}, {838, 7813}}"; + sepNavSelRange = "{7090, 0}"; + sepNavVisRange = "{6695, 1053}"; sepNavWindowFrame = "{{421, 176}, {897, 692}}"; }; }; @@ -828,9 +845,9 @@ }; 617987FE114AA34C00BA94A9 /* uKeys.pas */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {663, 7020}}"; - sepNavSelRange = "{2995, 0}"; - sepNavVisRange = "{2933, 94}"; + sepNavIntBoundsRect = "{{0, 0}, {862, 7007}}"; + sepNavSelRange = "{2977, 18}"; + sepNavVisRange = "{2541, 832}"; sepNavWindowFrame = "{{674, 505}, {921, 605}}"; }; }; @@ -1056,10 +1073,10 @@ }; 6179886F114AA4D000BA94A9 /* MainMenuViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 2171}}"; - sepNavSelRange = "{1964, 0}"; - sepNavVisRange = "{927, 2336}"; - sepNavWindowFrame = "{{682, 122}, {1058, 792}}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 2236}}"; + sepNavSelRange = "{3355, 0}"; + sepNavVisRange = "{1449, 2305}"; + sepNavWindowFrame = "{{682, 125}, {1058, 792}}"; }; }; 61798887114AA4E600BA94A9 /* GameSetup.h */ = { @@ -1072,9 +1089,9 @@ }; 61798888114AA4E600BA94A9 /* GameSetup.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {1307, 4901}}"; - sepNavSelRange = "{9610, 0}"; - sepNavVisRange = "{8596, 1697}"; + sepNavIntBoundsRect = "{{0, 0}, {1020, 4810}}"; + sepNavSelRange = "{12923, 0}"; + sepNavVisRange = "{10617, 2646}"; sepNavWindowFrame = "{{760, 256}, {1079, 870}}"; }; }; @@ -1210,17 +1227,17 @@ }; 619C51BD116E40FC0049FD84 /* CommodityFunctions.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 664}}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 641}}"; sepNavSelRange = "{416, 18}"; sepNavVisRange = "{0, 991}"; - sepNavWindowFrame = "{{556, 125}, {1058, 792}}"; + sepNavWindowFrame = "{{556, 211}, {1058, 792}}"; }; }; 619C51BE116E40FC0049FD84 /* CommodityFunctions.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {472, 741}}"; sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 88}"; + sepNavVisRange = "{0, 51}"; sepNavWindowFrame = "{{556, 125}, {1058, 792}}"; }; }; @@ -1280,16 +1297,6 @@ sepNavWindowFrame = "{{67, 264}, {1058, 792}}"; }; }; - 619C523C116E56330049FD84 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 619C51BE116E40FC0049FD84 /* CommodityFunctions.m */; - name = "CommodityFunctions.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 3; - vrLoc = 0; - }; 619C523D116E56330049FD84 /* PBXBookmark */ = { isa = PBXBookmark; fRef = 619C523E116E56330049FD84 /* hh_small.png */; @@ -2451,56 +2458,16 @@ vrLen = 222; vrLoc = 0; }; - 61A0965411700517008A8930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 619C51BE116E40FC0049FD84 /* CommodityFunctions.m */; - name = "CommodityFunctions.m: 50"; - rLen = 0; - rLoc = 2016; - rType = 0; - vrLen = 2010; - vrLoc = 48; - }; - 61A0965511700517008A8930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 619C51BD116E40FC0049FD84 /* CommodityFunctions.h */; - name = "CommodityFunctions.h: 20"; - rLen = 0; - rLoc = 990; - rType = 0; - vrLen = 857; - vrLoc = 0; - }; 61A0965B1170057A008A8930 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 61A11AE01168DC6E00359010 /* SingleTeamViewController.m */; name = "SingleTeamViewController.m: 132"; rLen = 1; - rLoc = 5501; + rLoc = 5496; rType = 0; vrLen = 41; vrLoc = 1746; }; - 61A096AE1170071E008A8930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 619C51BE116E40FC0049FD84 /* CommodityFunctions.m */; - name = "CommodityFunctions.m: 1"; - rLen = 0; - rLoc = 0; - rType = 0; - vrLen = 88; - vrLoc = 0; - }; - 61A096AF1170071E008A8930 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 619C51BD116E40FC0049FD84 /* CommodityFunctions.h */; - name = "CommodityFunctions.h: 15"; - rLen = 18; - rLoc = 416; - rType = 0; - vrLen = 991; - vrLoc = 0; - }; 61A11A4C1168D13600359010 /* PopoverMenuViewController.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {999, 664}}"; @@ -2511,9 +2478,9 @@ }; 61A11A4D1168D13600359010 /* PopoverMenuViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {810, 1573}}"; - sepNavSelRange = "{299, 0}"; - sepNavVisRange = "{0, 7}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 1638}}"; + sepNavSelRange = "{2200, 2}"; + sepNavVisRange = "{1818, 1812}"; sepNavWindowFrame = "{{84, 318}, {1058, 792}}"; }; }; @@ -2526,9 +2493,9 @@ }; 61A11AC01168D8B600359010 /* SplitViewRootController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 1235}}"; - sepNavSelRange = "{1067, 0}"; - sepNavVisRange = "{0, 2105}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 1300}}"; + sepNavSelRange = "{2368, 0}"; + sepNavVisRange = "{709, 2090}"; sepNavWindowFrame = "{{195, 264}, {1058, 792}}"; }; }; @@ -2581,18 +2548,18 @@ }; 61A11ADF1168DC6E00359010 /* SingleTeamViewController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 616}}"; - sepNavSelRange = "{272, 19}"; - sepNavVisRange = "{0, 992}"; + sepNavIntBoundsRect = "{{0, 0}, {999, 639}}"; + sepNavSelRange = "{380, 0}"; + sepNavVisRange = "{0, 965}"; sepNavWindowFrame = "{{38, 374}, {1002, 778}}"; }; }; 61A11AE01168DC6E00359010 /* SingleTeamViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {999, 5005}}"; - sepNavSelRange = "{6261, 0}"; - sepNavVisRange = "{6192, 1915}"; - sepNavWindowFrame = "{{701, 215}, {1058, 792}}"; + sepNavIntBoundsRect = "{{0, 0}, {761, 5148}}"; + sepNavSelRange = "{5496, 1}"; + sepNavVisRange = "{1689, 128}"; + sepNavWindowFrame = "{{714, 185}, {1058, 792}}"; }; }; 61A11AE21168DC9400359010 /* HogHatViewController.h */ = { @@ -2825,9 +2792,9 @@ }; 61CE250C115E749A0098C467 /* OverlayViewController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {472, 4251}}"; + sepNavIntBoundsRect = "{{0, 0}, {985, 4186}}"; sepNavSelRange = "{391, 0}"; - sepNavVisRange = "{221, 26}"; + sepNavVisRange = "{2215, 1678}"; sepNavWindowFrame = "{{690, 149}, {938, 967}}"; }; };