# HG changeset patch # User koda # Date 1311551524 -7200 # Node ID df05cdb998ed6bb16ab623cc696875e36ce71ecd # Parent ea6f7631df4ad6e5a90c387446d05c113e2e517e add support for 'gameplay modes' on ios, renamed into 'style'; also colored in grey some segmented controls and moved some ui objects diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Classes/CommodityFunctions.h --- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Mon Jul 25 01:52:04 2011 +0200 @@ -46,7 +46,7 @@ #define MAPS_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Maps/"] #define MISSIONS_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Missions/Maps/"] #define LOCALE_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Locale/"] -#define SCRIPTS_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Scripts/Multiplayer/"] +#define SCRIPTS_DIRECTORY() [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Data/Scripts/plist/"] #define MSG_MEMCLEAN() DLog(@"has cleaned up some memory"); #define MSG_DIDUNLOAD() DLog(@"unloaded"); diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Classes/GameConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Mon Jul 25 01:52:04 2011 +0200 @@ -212,6 +212,10 @@ if ([self isEverythingSet] == NO) return; + NSString *script = self.mapConfigViewController.missionCommand; + if ([script isEqualToString:@""]) + script = self.schemeWeaponConfigViewController.scriptCommand; + // create the configuration file that is going to be sent to engine NSDictionary *gameDictionary = [NSDictionary dictionaryWithObjectsAndKeys: self.mapConfigViewController.seedCommand,@"seed_command", @@ -220,10 +224,10 @@ self.mapConfigViewController.mazeSizeCommand,@"mazesize_command", self.mapConfigViewController.themeCommand,@"theme_command", self.mapConfigViewController.staticMapCommand,@"staticmap_command", - self.mapConfigViewController.missionCommand,@"mission_command", self.teamConfigViewController.listOfSelectedTeams,@"teams_list", self.schemeWeaponConfigViewController.selectedScheme,@"scheme", self.schemeWeaponConfigViewController.selectedWeapon,@"weapon", + script,@"mission_command", nil]; GameInterfaceBridge *bridge = [[GameInterfaceBridge alloc] initWithController:self]; diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h --- a/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h Mon Jul 25 01:52:04 2011 +0200 @@ -25,22 +25,33 @@ @interface SchemeWeaponConfigViewController : UITableViewController { NSArray *listOfSchemes; NSArray *listOfWeapons; + NSArray *listOfScripts; NSIndexPath *lastIndexPath_sc; NSIndexPath *lastIndexPath_we; + NSIndexPath *lastIndexPath_lu; NSString *selectedScheme; NSString *selectedWeapon; + NSString *selectedScript; + NSString *scriptCommand; + UISegmentedControl *topControl; BOOL hideSections; } @property (nonatomic,retain) NSArray *listOfSchemes; @property (nonatomic,retain) NSArray *listOfWeapons; +@property (nonatomic,retain) NSArray *listOfScripts; @property (nonatomic,retain) NSIndexPath *lastIndexPath_sc; @property (nonatomic,retain) NSIndexPath *lastIndexPath_we; +@property (nonatomic,retain) NSIndexPath *lastIndexPath_lu; @property (nonatomic,retain) NSString *selectedScheme; @property (nonatomic,retain) NSString *selectedWeapon; +@property (nonatomic,retain) NSString *selectedScript; +@property (nonatomic,retain) NSString *scriptCommand; +@property (nonatomic,retain) UISegmentedControl *topControl; +@property (assign) BOOL hideSections; -(void) fillSections; -(void) emptySections; diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Mon Jul 25 01:52:04 2011 +0200 @@ -25,7 +25,8 @@ #define LABEL_TAG 57423 @implementation SchemeWeaponConfigViewController -@synthesize listOfSchemes, listOfWeapons, lastIndexPath_sc, lastIndexPath_we, selectedScheme, selectedWeapon; +@synthesize listOfSchemes, listOfWeapons, listOfScripts, lastIndexPath_sc, lastIndexPath_we, lastIndexPath_lu, + selectedScheme, selectedWeapon, selectedScript, scriptCommand, topControl, hideSections; -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return rotationManager(interfaceOrientation); @@ -41,6 +42,8 @@ self.selectedScheme = nil; self.selectedWeapon = nil; + self.selectedScript = nil; + self.scriptCommand = nil; if ([self.tableView respondsToSelector:@selector(setBackgroundView:)]) { if (IS_IPAD()) @@ -74,7 +77,12 @@ if (self.selectedWeapon == nil && [listOfWeapons containsObject:@"Default.plist"]) self.selectedWeapon = @"Default.plist"; - + + contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:SCRIPTS_DIRECTORY() error:NULL]; + self.listOfScripts = contentsOfDir; + self.selectedScript = @"Normal.plist"; + self.scriptCommand = @""; + [self.tableView reloadData]; } @@ -85,28 +93,30 @@ if (hideSections) return 0; else - return 2; + return 1; } -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 0) + if (self.topControl.selectedSegmentIndex == 0) return [self.listOfSchemes count]; + else if (self.topControl.selectedSegmentIndex == 1) + return [self.listOfWeapons count]; else - return [self.listOfWeapons count]; + return [self.listOfScripts count]; } // Customize the appearance of table view cells. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; + NSInteger index = self.topControl.selectedSegmentIndex; NSInteger row = [indexPath row]; - NSInteger section = [indexPath section]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; cell.accessoryView = nil; - if (0 == section) { + if (0 == index) { cell.textLabel.text = [[self.listOfSchemes objectAtIndex:row] stringByDeletingPathExtension]; NSString *str = [NSString stringWithFormat:@"%@/%@",SCHEMES_DIRECTORY(),[self.listOfSchemes objectAtIndex:row]]; NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:str]; @@ -118,7 +128,7 @@ [checkbox release]; self.lastIndexPath_sc = indexPath; } - } else { + } else if (1 == index) { cell.textLabel.text = [[self.listOfWeapons objectAtIndex:row] stringByDeletingPathExtension]; NSString *str = [NSString stringWithFormat:@"%@/%@",WEAPONS_DIRECTORY(),[self.listOfWeapons objectAtIndex:row]]; NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:str]; @@ -130,32 +140,48 @@ [checkbox release]; self.lastIndexPath_we = indexPath; } + } else { + cell.textLabel.text = [[self.listOfScripts objectAtIndex:row] stringByDeletingPathExtension]; + NSString *str = [NSString stringWithFormat:@"%@/%@",SCRIPTS_DIRECTORY(),[self.listOfScripts objectAtIndex:row]]; + NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:str]; + cell.detailTextLabel.text = [dict objectForKey:@"description"]; + [dict release]; + if ([[self.listOfScripts objectAtIndex:row] isEqualToString:self.selectedScript]) { + UIImageView *checkbox = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:@"checkbox.png"]]; + cell.accessoryView = checkbox; + [checkbox release]; + self.lastIndexPath_lu = indexPath; + } } cell.backgroundColor = UICOLOR_HW_ALMOSTBLACK; cell.textLabel.textColor = UICOLOR_HW_YELLOW_TEXT; cell.detailTextLabel.textColor = [UIColor whiteColor]; + cell.textLabel.adjustsFontSizeToFitWidth = YES; + cell.detailTextLabel.adjustsFontSizeToFitWidth = YES; return cell; } -(CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { - return 40.0; + return 50.0; } -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { - CGRect frame = CGRectMake(0, 0, self.view.frame.size.width * 80/100, 30); - NSString *text; - if (section == 0) - text = NSLocalizedString(@"Schemes",@""); - else - text = NSLocalizedString(@"Weapons",@""); - - UILabel *theLabel = createBlueLabel(text, frame); - theLabel.center = CGPointMake(self.view.frame.size.width/2, 20); + if (self.topControl == nil) { + NSArray *array = [[NSArray alloc] initWithObjects:NSLocalizedString(@"Scheme",@""),NSLocalizedString(@"Weapon",@""), + NSLocalizedString(@"Style",@""),nil]; + self.topControl = [[UISegmentedControl alloc] initWithItems:array]; + [array release]; + [self.topControl addTarget:self.tableView action:@selector(reloadData) forControlEvents:UIControlEventValueChanged]; + self.topControl.segmentedControlStyle = UISegmentedControlStyleBar; + self.topControl.frame = CGRectMake(0, 0, self.view.frame.size.width * 80/100, 30); + self.topControl.center = CGPointMake(self.view.frame.size.width/2, 24); + self.topControl.tintColor = [UIColor lightGrayColor]; + self.topControl.selectedSegmentIndex = 0; + } UIView *theView = [[[UIView alloc] init] autorelease]; - [theView addSubview:theLabel]; - [theLabel release]; + [theView addSubview:self.topControl]; return theView; } @@ -163,10 +189,13 @@ #pragma mark Table view delegate -(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSIndexPath *lastIndexPath; - if ([indexPath section] == 0) + NSInteger index = self.topControl.selectedSegmentIndex; + if (index == 0) lastIndexPath = self.lastIndexPath_sc; + else if (index == 1) + lastIndexPath = self.lastIndexPath_we; else - lastIndexPath = self.lastIndexPath_we; + lastIndexPath = self.lastIndexPath_lu; int newRow = [indexPath row]; int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1; @@ -180,7 +209,7 @@ UITableViewCell *oldCell = [aTableView cellForRowAtIndexPath:lastIndexPath]; oldCell.accessoryView = nil; - if ([indexPath section] == 0) { + if (index == 0) { self.lastIndexPath_sc = indexPath; self.selectedScheme = [self.listOfSchemes objectAtIndex:newRow]; @@ -196,9 +225,36 @@ } } } - } else { + } else if (index == 1) { self.lastIndexPath_we = indexPath; self.selectedWeapon = [self.listOfWeapons objectAtIndex:newRow]; + } else { + self.lastIndexPath_lu = indexPath; + self.selectedScript = [self.listOfScripts objectAtIndex:newRow]; + + NSString *path = [[NSString alloc] initWithFormat:@"%@/%@",SCRIPTS_DIRECTORY(),selectedScript]; + NSDictionary *scriptDict = [[NSDictionary alloc] initWithContentsOfFile:path]; + [path release]; + self.scriptCommand = [scriptDict objectForKey:@"command"]; + NSString *scheme = [scriptDict objectForKey:@"scheme"]; + if ([scheme isEqualToString:@""]) { + self.selectedScheme = @"Default.plist"; + [self.topControl setEnabled:NO forSegmentAtIndex:0]; + } else { + self.selectedScheme = scheme; + [self.topControl setEnabled:YES forSegmentAtIndex:0]; + } + + NSString *weapon = [scriptDict objectForKey:@"weapon"]; + if ([weapon isEqualToString:@""]) { + self.selectedWeapon = @"Default.plist"; + [self.topControl setEnabled:NO forSegmentAtIndex:1]; + } else { + self.selectedWeapon = weapon; + [self.topControl setEnabled:YES forSegmentAtIndex:1]; + } + + [scriptDict release]; } [aTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone]; @@ -211,11 +267,12 @@ hideSections = NO; NSRange range; range.location = 0; - range.length = 2; + range.length = 1; NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range]; [self.tableView insertSections:sections withRowAnimation:UITableViewRowAnimationFade]; self.selectedScheme = @"Default.plist"; self.selectedWeapon = @"Default.plist"; + self.selectedScript = @"Normal.plist"; self.tableView.scrollEnabled = YES; @@ -227,11 +284,12 @@ hideSections = YES; NSRange range; range.location = 0; - range.length = 2; + range.length = 1; NSIndexSet *sections = [NSIndexSet indexSetWithIndexesInRange:range]; [self.tableView deleteSections:sections withRowAnimation:UITableViewRowAnimationFade]; self.selectedScheme = @"Default.plist"; self.selectedWeapon = @"Default.plist"; + self.selectedScript = @"Normal.plist"; self.tableView.scrollEnabled = NO; @@ -251,8 +309,11 @@ if ([[HedgewarsAppDelegate sharedAppDelegate] isInGame]) { self.lastIndexPath_sc = nil; self.lastIndexPath_we = nil; + self.lastIndexPath_lu = nil; self.listOfSchemes = nil; self.listOfWeapons = nil; + self.listOfScripts = nil; + self.topControl = nil; MSG_MEMCLEAN(); } [super didReceiveMemoryWarning]; @@ -261,10 +322,15 @@ -(void) viewDidUnload { self.listOfSchemes = nil; self.listOfWeapons = nil; + self.listOfScripts = nil; self.lastIndexPath_sc = nil; self.lastIndexPath_we = nil; + self.lastIndexPath_lu = nil; self.selectedScheme = nil; self.selectedWeapon = nil; + self.selectedScript = nil; + self.scriptCommand = nil; + self.topControl = nil; MSG_DIDUNLOAD(); [super viewDidUnload]; } @@ -273,10 +339,15 @@ -(void) dealloc { releaseAndNil(listOfSchemes); releaseAndNil(listOfWeapons); + releaseAndNil(listOfScripts); releaseAndNil(lastIndexPath_sc); releaseAndNil(lastIndexPath_we); + releaseAndNil(lastIndexPath_lu); releaseAndNil(selectedScheme); releaseAndNil(selectedWeapon); + releaseAndNil(selectedScript); + releaseAndNil(scriptCommand); + releaseAndNil(topControl); [super dealloc]; } diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj --- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Mon Jul 25 01:52:04 2011 +0200 @@ -1370,7 +1370,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#copy new stuff over old stuff\nrm -rf ${PROJECT_DIR}/Data\n\n#create config.inc\necho \"Updating config file...\"\nPROTO=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep HEDGEWARS_PROTO_VER | cut -d ' ' -f 3`\nMAJN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_MAJOR | xargs | cut -d ' ' -f 3`\nMINN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_MINOR | xargs | cut -d ' ' -f 3`\nPATN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_PATCH | xargs | cut -d ' ' -f 3 | cut -d '$' -f 1`\nREVN=-`/usr/local/bin/hg id -n ${PROJECT_DIR}/../../`\necho \"const cNetProtoVersion = $PROTO; const cVersionString = '${MAJN}.${MINN}.${PATN}${REVN}'; const cLuaLibrary = '';\" > ${PROJECT_DIR}/../../hedgewars/config.inc\n\necho \"Copying Data...\"\ncp -R ${PROJECT_DIR}/../../share/hedgewars/Data ${PROJECT_DIR}/Data\n\n#copy some files from QTfrontend/res\necho \"Fetching additional graphics from QTfrontend/res...\"\nmkdir ${PROJECT_DIR}/Data/Graphics/Btn\ncp ${PROJECT_DIR}/../../QTfrontend/res/btn*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/icon*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/StatsMedal*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/StatsR.png ${PROJECT_DIR}/Data/Graphics/Btn/StatsStar.png\ncp ${PROJECT_DIR}/../../QTfrontend/res/ammopic.png ${PROJECT_DIR}/Data/Graphics/Btn/iconAmmo.png\ncp -R ${PROJECT_DIR}/../../QTfrontend/res/botlevels ${PROJECT_DIR}/Data/Graphics/Hedgehog/botlevels/\n\necho \"Removing text and dummy files...\"\n#delete all CMakeLists.txt and image source files\nfind ${PROJECT_DIR}/Data -name CMakeLists.txt -delete\nfind ${PROJECT_DIR}/Data -name *.svg -delete\nfind ${PROJECT_DIR}/Data -name *.svgz -delete\nfind ${PROJECT_DIR}/Data -name *.sifz -delete\nfind ${PROJECT_DIR}/Data -name *.xcf -delete\nfind ${PROJECT_DIR}/Data -name *.orig -delete\n\n#delete desktop frontend translation\nrm -rf ${PROJECT_DIR}/Data/Locale/hedgewars_*\n\n#delete dummy maps and hats, misc stuff\nrm -rf ${PROJECT_DIR}/Data/Maps/{test*,Ruler}\nrm -rf ${PROJECT_DIR}/Data/Graphics/Hats/{TeamCap,TeamHeadband,TeamHair}\nrm -rf ${PROJECT_DIR}/Data/misc/\n\n#delete forbidden maps and WIP themes (remember to check that no Map uses them)\nrm -rf ${PROJECT_DIR}/Data/Maps/{Cheese,FlightJoust}\nrm -rf ${PROJECT_DIR}/Data/Themes/{Beach,Digital}\n\n#delete unused fonts\nrm -rf ${PROJECT_DIR}/Data/Fonts/{wqy-zenhei.ttc,DroidSansFallback.ttf}\n\n#delete all names, reserved hats\nrm -rf ${PROJECT_DIR}/Data/Names/\nrm -rf ${PROJECT_DIR}/Data/Graphics/Hats/Reserved/\n\necho \"Handling audio files...\"\n#delete the Classic voice\nrm -rf ${PROJECT_DIR}/Data/Sounds/voices/Classic\n#delete the main theme file\nrm -rf ${PROJECT_DIR}/Data/Music/main_theme.ogg\n#copy mono audio\ncp -R ${PROJECT_DIR}/Audio/* ${PROJECT_DIR}/Data/\n#remove unused voices\nfor i in {Amazing,Brilliant,Bugger,Bungee,Cutitout,Drat,Excellent,Fire,FlawlessPossibility,Gonnagetyou,Grenade,Hmm,Justyouwait,Leavemealone,Ohdear,Ouch,Perfect,Revenge,Runaway,Solong,Thisoneismine,VictoryPossibility,Watchthis,Whatthe,Whoopsee}; do find Data/Sounds/voices/ -name $i.ogg -delete; done\n\necho \"Tweaking Data contents...\"\n#move Lua maps in Missions\nmkdir ${PROJECT_DIR}/Data/Missions/Maps/\nmv ${PROJECT_DIR}/Data/Maps/{Basketball,Knockball,TrophyRace,CTF_Blizzard,Control} ${PROJECT_DIR}/Data/Missions/Maps/\n#workaround for missing map in CTF_Blizzard\nln -s ../../../Maps/Blizzard/map.png ${PROJECT_DIR}/Data/Missions/Maps/CTF_Blizzard/map.png\n\n#reduce the number of flakes for City\nawk '{if ($1 == 1500) $1=40; print $0}' < ${PROJECT_DIR}/Data/Themes/City/theme.cfg > /tmp/tempfile\nmv /tmp/tempfile ${PROJECT_DIR}/Data/Themes/City/theme.cfg\n\necho \"Done\""; + shellScript = "#copy new stuff over old stuff\nrm -rf ${PROJECT_DIR}/Data\n\n#create config.inc\necho \"Updating config file...\"\nPROTO=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep HEDGEWARS_PROTO_VER | cut -d ' ' -f 2 | cut -d ')' -f 1`\nMAJN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_MAJOR | xargs | cut -d ' ' -f 2 |cut -d ')' -f 1`\nMINN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_MINOR | xargs | cut -d ' ' -f 2 |cut -d ')' -f 1`\nPATN=`cat ${PROJECT_DIR}/../../CMakeLists.txt | grep CPACK_PACKAGE_VERSION_PATCH | xargs | cut -d ' ' -f 2 | cut -d '$' -f 1`\nREVN=-`/usr/local/bin/hg id -n ${PROJECT_DIR}/../../`\necho \"const cNetProtoVersion = $PROTO; const cVersionString = '${MAJN}.${MINN}.${PATN}${REVN}'; const cLuaLibrary = '';\" > ${PROJECT_DIR}/../../hedgewars/config.inc\n\necho \"Copying Data...\"\ncp -R ${PROJECT_DIR}/../../share/hedgewars/Data ${PROJECT_DIR}/Data\n\n#copy some files from QTfrontend/res\necho \"Fetching additional graphics from QTfrontend/res...\"\nmkdir ${PROJECT_DIR}/Data/Graphics/Btn\ncp ${PROJECT_DIR}/../../QTfrontend/res/btn*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/icon*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/StatsMedal*.png ${PROJECT_DIR}/Data/Graphics/Btn/\ncp ${PROJECT_DIR}/../../QTfrontend/res/StatsR.png ${PROJECT_DIR}/Data/Graphics/Btn/StatsStar.png\ncp ${PROJECT_DIR}/../../QTfrontend/res/ammopic.png ${PROJECT_DIR}/Data/Graphics/Btn/iconAmmo.png\ncp -R ${PROJECT_DIR}/../../QTfrontend/res/botlevels ${PROJECT_DIR}/Data/Graphics/Hedgehog/botlevels/\n\necho \"Removing text and dummy files...\"\n#delete all CMakeLists.txt and image source files\nfind ${PROJECT_DIR}/Data -name CMakeLists.txt -delete\nfind ${PROJECT_DIR}/Data -name *.svg -delete\nfind ${PROJECT_DIR}/Data -name *.svgz -delete\nfind ${PROJECT_DIR}/Data -name *.sifz -delete\nfind ${PROJECT_DIR}/Data -name *.xcf -delete\nfind ${PROJECT_DIR}/Data -name *.orig -delete\n\n#delete desktop frontend translation\nrm -rf ${PROJECT_DIR}/Data/Locale/hedgewars_*\n\n#delete dummy maps and hats, misc stuff\nrm -rf ${PROJECT_DIR}/Data/Maps/{test*,Ruler}\nrm -rf ${PROJECT_DIR}/Data/Graphics/Hats/{TeamCap,TeamHeadband,TeamHair}\nrm -rf ${PROJECT_DIR}/Data/misc/\n\n#delete forbidden maps and WIP themes (remember to check that no Map uses them)\nrm -rf ${PROJECT_DIR}/Data/Maps/{Cheese,FlightJoust}\nrm -rf ${PROJECT_DIR}/Data/Themes/{Beach,Digital}\n\n#delete unused fonts\nrm -rf ${PROJECT_DIR}/Data/Fonts/{wqy-zenhei.ttc,DroidSansFallback.ttf}\n\n#delete all names, reserved hats\nrm -rf ${PROJECT_DIR}/Data/Names/\nrm -rf ${PROJECT_DIR}/Data/Graphics/Hats/Reserved/\n\necho \"Handling audio files...\"\n#delete the Classic voice\nrm -rf ${PROJECT_DIR}/Data/Sounds/voices/Classic\n#delete the main theme file\nrm -rf ${PROJECT_DIR}/Data/Music/main_theme.ogg\n#copy mono audio\ncp -R ${PROJECT_DIR}/Audio/* ${PROJECT_DIR}/Data/\n#remove unused voices\nfor i in {Amazing,Brilliant,Bugger,Bungee,Cutitout,Drat,Excellent,Fire,FlawlessPossibility,Gonnagetyou,Grenade,Hmm,Justyouwait,Leavemealone,Ohdear,Ouch,Perfect,Revenge,Runaway,Solong,Thisoneismine,VictoryPossibility,Watchthis,Whatthe,Whoopsee}; do find Data/Sounds/voices/ -name $i.ogg -delete; done\n\necho \"Tweaking Data contents...\"\n#move Lua maps in Missions\nmkdir ${PROJECT_DIR}/Data/Missions/Maps/\nmv ${PROJECT_DIR}/Data/Maps/{Basketball,Knockball,TrophyRace,CTF_Blizzard,Control} ${PROJECT_DIR}/Data/Missions/Maps/\n#workaround for missing map in CTF_Blizzard\nln -s ../../../Maps/Blizzard/map.png ${PROJECT_DIR}/Data/Missions/Maps/CTF_Blizzard/map.png\n#remove cfg files since we have plists\nfind ${PROJECT_DIR}/Data/Scripts -name *.cfg -delete\n\n#reduce the number of flakes for City\nawk '{if ($1 == 1500) $1=40; print $0}' < ${PROJECT_DIR}/Data/Themes/City/theme.cfg > /tmp/tempfile\nmv /tmp/tempfile ${PROJECT_DIR}/Data/Themes/City/theme.cfg\n\necho \"Done\""; showEnvVarsInLog = 0; }; 9283011B0F10CB2D00CC5A3C /* Build libfpc.a */ = { diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Resources/GameConfigViewController.xib --- a/project_files/HedgewarsMobile/Resources/GameConfigViewController.xib Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Resources/GameConfigViewController.xib Mon Jul 25 01:52:04 2011 +0200 @@ -2,9 +2,9 @@ 1056 - 10H574 + 10K540 823 - 1038.35 + 1038.36 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -50,7 +50,7 @@ 292 - {{96, 8}, {269, 30}} + {{96, 8}, {270, 30}} NO 12345 @@ -94,8 +94,8 @@ - 2 - MC4yMzEzNzI1NjUgMCAwLjQ2Mjc0NTEzMDEAA + 1 + MC42IDAuNiAwLjYAA diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib --- a/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib Mon Jul 25 01:52:04 2011 +0200 @@ -2,9 +2,9 @@ 1056 - 10H574 + 10K540 823 - 1038.35 + 1038.36 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -12,7 +12,7 @@ YES - + YES @@ -58,7 +58,7 @@ 289 - {{725, 166}, {277, 30}} + {{724, 166}, {280, 30}} NO IBIPadFramework @@ -101,8 +101,8 @@ - 1 - MCAwIDAAA + 3 + MC42NjY2NjY2NjY3AA @@ -566,6 +566,7 @@ 57.IBPluginDependency 66.IBPluginDependency 7.IBPluginDependency + 7.IBViewBoundsToFrameTransform 70.IBPluginDependency 72.IBPluginDependency 75.IBPluginDependency @@ -585,6 +586,9 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABENUAAw0IAAA + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin diff -r ea6f7631df4a -r df05cdb998ed project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib --- a/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib Mon Jul 25 01:18:51 2011 +0200 +++ b/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib Mon Jul 25 01:52:04 2011 +0200 @@ -2,9 +2,9 @@ 1056 - 10H574 + 10K540 823 - 1038.35 + 1038.36 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -57,7 +57,7 @@ 292 - {{13, 166}, {256, 30}} + {{9, 14}, {270, 30}} NO IBCocoaTouchFramework @@ -100,14 +100,14 @@ - 2 - MC4wMjM1Mjk0MTQwOSAwLjM3NjQ3MDYyNTQgMAA + 3 + MC42NjY2NjY2NjY3AA 292 - {{98, 240}, {149, 23}} + {{119, 207}, {149, 23}} NO IBCocoaTouchFramework @@ -119,7 +119,7 @@ 292 - {{13, 20}, {256, 128}} + {{16, 58}, {256, 128}} NO IBCocoaTouchFramework @@ -146,7 +146,7 @@ 292 - {{20, 221}, {48, 35}} + {{58, 221}, {48, 35}} NO YES @@ -154,6 +154,11 @@ NO IBCocoaTouchFramework ... + + Helvetica-Bold + 17 + 16 + 2 MC45NDkwMTk2NzA1IDAuNzY4NjI3NTI0NCAwAA @@ -166,7 +171,7 @@ 292 - {{88, 210}, {169, 29}} + {{109, 237}, {169, 29}} NO YES @@ -210,6 +215,31 @@ 10 10 + + + 292 + {{-9, 225}, {92, 27}} + + NO + YES + 7 + NO + IBCocoaTouchFramework + Max + + Helvetica-BoldOblique + 18 + 16 + + + 2 + MC45NDkwMTk2NzA1IDAuNzY4NjI3NTI0NCAwAA + + + 1 + 10 + 1 + {480, 276} @@ -358,10 +388,11 @@ - + - + + @@ -412,6 +443,11 @@ + + 36 + + + @@ -430,7 +466,10 @@ 25.IBViewBoundsToFrameTransform 35.IBPluginDependency 35.IBViewBoundsToFrameTransform + 36.IBPluginDependency + 36.IBViewBoundsToFrameTransform 7.IBPluginDependency + 7.IBViewBoundsToFrameTransform 8.IBPluginDependency 9.CustomClassName 9.IBPluginDependency @@ -440,11 +479,11 @@ YES MapConfigViewController UIResponder - {{507, 233}, {480, 320}} + {{790, 298}, {480, 320}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - P4AAAL+AAABB6AAAw3kAAA + P4AAAL+AAABB+AAAw4QAAA com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -456,9 +495,16 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin - P4AAAL+AAAAAAAAAw58AAA + P4AAAL+AAAAAAAAAw4kAAA com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBMAAAw2gAAA + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + P4AAAL+AAABBUAAAwigAAA + com.apple.InterfaceBuilder.IBCocoaTouchPlugin MapPreviewButtonView com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -483,7 +529,7 @@ - 35 + 36