--- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.h Sat Oct 01 02:40:26 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.h Sat Oct 01 02:49:40 2011 +0200
@@ -22,21 +22,21 @@
#import <UIKit/UIKit.h>
@class GameConfigViewController;
-@class SplitViewRootController;
+@class SettingsContainerViewController;
@class AboutViewController;
@class SavedGamesViewController;
@class RestoreViewController;
@interface MainMenuViewController : UIViewController <UIAlertViewDelegate> {
GameConfigViewController *gameConfigViewController;
- SplitViewRootController *settingsViewController;
+ SettingsContainerViewController *settingsViewController;
AboutViewController *aboutViewController;
SavedGamesViewController *savedGamesViewController;
RestoreViewController *restoreViewCOntroller;
}
@property (nonatomic,retain) GameConfigViewController *gameConfigViewController;
-@property (nonatomic,retain) SplitViewRootController *settingsViewController;
+@property (nonatomic,retain) SettingsContainerViewController *settingsViewController;
@property (nonatomic,retain) AboutViewController *aboutViewController;
@property (nonatomic,retain) SavedGamesViewController *savedGamesViewController;
@property (nonatomic,retain) RestoreViewController *restoreViewController;
--- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Sat Oct 01 02:40:26 2011 +0200
+++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Sat Oct 01 02:49:40 2011 +0200
@@ -23,7 +23,7 @@
#import "CreationChamber.h"
#import "PascalImports.h"
#import "GameConfigViewController.h"
-#import "SplitViewRootController.h"
+#import "SettingsContainerViewController.h"
#import "AboutViewController.h"
#import "SavedGamesViewController.h"
#import "RestoreViewController.h"
@@ -176,7 +176,7 @@
break;
case 2:
if (nil == self.settingsViewController) {
- SplitViewRootController *svrc = [[SplitViewRootController alloc] initWithNibName:nil bundle:nil];
+ SettingsContainerViewController *svrc = [[SettingsContainerViewController alloc] initWithNibName:nil bundle:nil];
svrc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
self.settingsViewController = svrc;
[svrc release];
--- a/project_files/HedgewarsMobile/Classes/MasterViewController.h Sat Oct 01 02:40:26 2011 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Hedgewars-iOS, a Hedgewars port for iOS devices
- * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * File created on 27/03/2010.
- */
-
-
-#import <UIKit/UIKit.h>
-
-
-@class GeneralSettingsViewController;
-@class TeamSettingsViewController;
-@class WeaponSettingsViewController;
-@class SchemeSettingsViewController;
-@class SupportViewController;
-
-@interface MasterViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UITabBarControllerDelegate> {
- UIViewController *targetController;
- NSArray *controllerNames;
- NSIndexPath *lastIndexPath;
- GeneralSettingsViewController *generalSettingsViewController;
- TeamSettingsViewController *teamSettingsViewController;
- WeaponSettingsViewController *weaponSettingsViewController;
- SchemeSettingsViewController *schemeSettingsViewController;
- SupportViewController *supportViewController;
-}
-
-@property (nonatomic, retain) UIViewController *targetController;
-@property (nonatomic, retain) NSArray *controllerNames;
-@property (nonatomic, retain) NSIndexPath *lastIndexPath;
-
--(void) dismissSplitView;
-
-@end
--- a/project_files/HedgewarsMobile/Classes/MasterViewController.m Sat Oct 01 02:40:26 2011 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,285 +0,0 @@
-/*
- * Hedgewars-iOS, a Hedgewars port for iOS devices
- * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * File created on 27/03/2010.
- */
-
-
-#import "MasterViewController.h"
-#import "CommodityFunctions.h"
-#import "GeneralSettingsViewController.h"
-#import "TeamSettingsViewController.h"
-#import "WeaponSettingsViewController.h"
-#import "SchemeSettingsViewController.h"
-#import "SupportViewController.h"
-
-@implementation MasterViewController
-@synthesize targetController, controllerNames, lastIndexPath;
-
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
- return rotationManager(interfaceOrientation);
-}
-
-
-#pragma mark -
-#pragma mark View lifecycle
--(void) viewDidLoad {
- // the list of available controllers
- NSArray *array = [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""),
- NSLocalizedString(@"Teams",@""),
- NSLocalizedString(@"Weapons",@""),
- NSLocalizedString(@"Schemes",@""),
- NSLocalizedString(@"Support",@""),
- nil];
- self.controllerNames = array;
- [array release];
-
- UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
- target:self
- action:@selector(dismissSplitView)];
- if (IS_IPAD()) {
- // this class gets loaded twice, we tell the difference by looking at targetController
- if (self.targetController != nil) {
- UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
- tableView.delegate = self;
- tableView.dataSource = self;
- [tableView reloadData];
- [self.view addSubview:tableView];
- [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
- [tableView release];
- self.navigationItem.leftBarButtonItem = doneButton;
- }
- } else {
- // this class just loads all controllers and set up tabbar and navigation controllers
- NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5];
- UINavigationController *navController = nil;
-
- if (nil == generalSettingsViewController) {
- generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- generalSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:0];
- generalSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/TargetBee.png",GRAPHICS_DIRECTORY()]];
- navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController];
- generalSettingsViewController.navigationItem.backBarButtonItem = doneButton;
- generalSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
- [generalSettingsViewController release];
- [tabBarNavigationControllers addObject:navController];
- releaseAndNil(navController);
- }
- if (nil == teamSettingsViewController) {
- teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- teamSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:1];
- teamSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Egg.png",GRAPHICS_DIRECTORY()]];
- navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController];
- teamSettingsViewController.navigationItem.backBarButtonItem = doneButton;
- teamSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
- [tabBarNavigationControllers addObject:navController];
- releaseAndNil(navController);
- }
- if (nil == weaponSettingsViewController) {
- weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- weaponSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:2];
- weaponSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/cheese.png",GRAPHICS_DIRECTORY()]];
- navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController];
- weaponSettingsViewController.navigationItem.backBarButtonItem = doneButton;
- weaponSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
- [tabBarNavigationControllers addObject:navController];
- releaseAndNil(navController);
- }
- if (nil == schemeSettingsViewController) {
- schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- schemeSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:3];
- schemeSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Targetp.png",GRAPHICS_DIRECTORY()]];
- navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController];
- schemeSettingsViewController.navigationItem.backBarButtonItem = doneButton;
- schemeSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
- [tabBarNavigationControllers addObject:navController];
- releaseAndNil(navController);
- }
- if (nil == supportViewController) {
- supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
- supportViewController.tabBarItem.title = [self.controllerNames objectAtIndex:4];
- supportViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Seduction.png",GRAPHICS_DIRECTORY()]];
- navController = [[UINavigationController alloc] initWithRootViewController:supportViewController];
- supportViewController.navigationItem.backBarButtonItem = doneButton;
- supportViewController.navigationItem.leftBarButtonItem = doneButton;
- [tabBarNavigationControllers addObject:navController];
- releaseAndNil(navController);
- }
-
- UITabBarController *tabController = [[UITabBarController alloc] init];
- tabController.viewControllers = tabBarNavigationControllers;
- tabController.delegate = self;
-
- [self.view addSubview:tabController.view];
- }
- [doneButton release];
- [super viewDidLoad];
-}
-
--(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
- [viewController viewWillAppear:NO];
-}
-
--(void) dismissSplitView {
- [AudioManagerController playBackSound];
- [[[HedgewarsAppDelegate sharedAppDelegate] mainViewController] dismissModalViewControllerAnimated:YES];
-}
-
-#pragma mark -
-#pragma mark Table view data source
--(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
- return 1;
-}
-
--(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
- return [self.controllerNames count];
-}
-
-// Customize the appearance of table view cells.
--(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
- static NSString *CellIdentifier = @"Cell";
-
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
- if (cell == nil)
- cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
-
- NSString *iconStr = nil;
- switch ([indexPath row]) {
- case 0:
- iconStr = [NSString stringWithFormat:@"%@/TargetBee.png",GRAPHICS_DIRECTORY()];
- break;
- case 1:
- iconStr = [NSString stringWithFormat:@"%@/Egg.png",GRAPHICS_DIRECTORY()];
- break;
- case 2:
- iconStr = [NSString stringWithFormat:@"%@/cheese.png",GRAPHICS_DIRECTORY()];
- break;
- case 3:
- iconStr = [NSString stringWithFormat:@"%@/Target.png",GRAPHICS_DIRECTORY()];
- break;
- case 4:
- iconStr = [NSString stringWithFormat:@"%@/Seduction.png",GRAPHICS_DIRECTORY()];
- break;
- default:
- //seduction.png for support page
- DLog(@"Nope");
- break;
- }
-
- cell.accessoryType = UITableViewCellAccessoryNone;
- cell.textLabel.text = [controllerNames objectAtIndex:[indexPath row]];
- UIImage *icon = [[UIImage alloc] initWithContentsOfFile:iconStr];
- cell.imageView.image = icon;
- [icon release];
-
- return cell;
-}
-
-#pragma mark -
-#pragma mark Table view delegate
--(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
- int newRow = [indexPath row];
- int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
- UIViewController *nextController = nil;
-
- if (newRow != oldRow) {
- [tableView deselectRowAtIndexPath:lastIndexPath animated:YES];
- [targetController.navigationController popToRootViewControllerAnimated:NO];
-
- switch (newRow) {
- case 0:
- if (nil == generalSettingsViewController)
- generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- nextController = generalSettingsViewController;
- break;
- case 1:
- if (nil == teamSettingsViewController)
- teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- nextController = teamSettingsViewController;
- break;
- case 2:
- if (nil == weaponSettingsViewController)
- weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- nextController = weaponSettingsViewController;
- break;
- case 3:
- if (nil == schemeSettingsViewController)
- schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
- nextController = schemeSettingsViewController;
- break;
- case 4:
- if (nil == supportViewController)
- supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
- nextController = supportViewController;
- break;
- }
-
- self.lastIndexPath = indexPath;
- [tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];
-
- nextController.navigationItem.hidesBackButton = YES;
- [nextController viewWillAppear:NO];
- [targetController.navigationController pushViewController:nextController animated:NO];
- [AudioManagerController playClickSound];
- }
-}
-
-
-#pragma mark -
-#pragma mark Memory management
--(void) didReceiveMemoryWarning {
- if (generalSettingsViewController.view.superview == nil)
- generalSettingsViewController = nil;
- if (teamSettingsViewController.view.superview == nil)
- teamSettingsViewController = nil;
- if (weaponSettingsViewController.view.superview == nil)
- weaponSettingsViewController = nil;
- if (schemeSettingsViewController.view.superview == nil)
- schemeSettingsViewController = nil;
- if (supportViewController.view.superview == nil)
- supportViewController = nil;
- MSG_MEMCLEAN();
- [super didReceiveMemoryWarning];
-}
-
--(void) viewDidUnload {
- self.controllerNames = nil;
- self.lastIndexPath = nil;
- generalSettingsViewController = nil;
- teamSettingsViewController = nil;
- weaponSettingsViewController = nil;
- schemeSettingsViewController = nil;
- supportViewController = nil;
- MSG_DIDUNLOAD();
- [super viewDidUnload];
-}
-
--(void) dealloc {
- releaseAndNil(targetController);
- releaseAndNil(controllerNames);
- releaseAndNil(lastIndexPath);
- releaseAndNil(generalSettingsViewController);
- releaseAndNil(teamSettingsViewController);
- releaseAndNil(weaponSettingsViewController);
- releaseAndNil(schemeSettingsViewController);
- releaseAndNil(supportViewController);
- [super dealloc];
-}
-
-@end
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Classes/SettingsBaseViewController.h Sat Oct 01 02:49:40 2011 +0200
@@ -0,0 +1,48 @@
+/*
+ * Hedgewars-iOS, a Hedgewars port for iOS devices
+ * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * File created on 27/03/2010.
+ */
+
+
+#import <UIKit/UIKit.h>
+
+
+@class GeneralSettingsViewController;
+@class TeamSettingsViewController;
+@class WeaponSettingsViewController;
+@class SchemeSettingsViewController;
+@class SupportViewController;
+
+@interface SettingsBaseViewController : UIViewController <UITableViewDelegate, UITableViewDataSource, UITabBarControllerDelegate> {
+ UIViewController *targetController;
+ NSArray *controllerNames;
+ NSIndexPath *lastIndexPath;
+ GeneralSettingsViewController *generalSettingsViewController;
+ TeamSettingsViewController *teamSettingsViewController;
+ WeaponSettingsViewController *weaponSettingsViewController;
+ SchemeSettingsViewController *schemeSettingsViewController;
+ SupportViewController *supportViewController;
+}
+
+@property (nonatomic, retain) UIViewController *targetController;
+@property (nonatomic, retain) NSArray *controllerNames;
+@property (nonatomic, retain) NSIndexPath *lastIndexPath;
+
+-(void) dismissSplitView;
+
+@end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Classes/SettingsBaseViewController.m Sat Oct 01 02:49:40 2011 +0200
@@ -0,0 +1,283 @@
+/*
+ * Hedgewars-iOS, a Hedgewars port for iOS devices
+ * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * File created on 27/03/2010.
+ */
+
+
+#import "SettingsBaseViewController.h"
+#import "GeneralSettingsViewController.h"
+#import "TeamSettingsViewController.h"
+#import "WeaponSettingsViewController.h"
+#import "SchemeSettingsViewController.h"
+#import "SupportViewController.h"
+
+@implementation SettingsBaseViewController
+@synthesize targetController, controllerNames, lastIndexPath;
+
+
+-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
+ return rotationManager(interfaceOrientation);
+}
+
+
+#pragma mark -
+#pragma mark View lifecycle
+-(void) viewDidLoad {
+ // the list of available controllers
+ NSArray *array = [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""),
+ NSLocalizedString(@"Teams",@""),
+ NSLocalizedString(@"Weapons",@""),
+ NSLocalizedString(@"Schemes",@""),
+ NSLocalizedString(@"Support",@""),
+ nil];
+ self.controllerNames = array;
+ [array release];
+
+ UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
+ target:self
+ action:@selector(dismissSplitView)];
+ if (IS_IPAD()) {
+ // this class gets loaded twice, we tell the difference by looking at targetController
+ if (self.targetController != nil) {
+ UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
+ tableView.delegate = self;
+ tableView.dataSource = self;
+ [tableView reloadData];
+ [self.view addSubview:tableView];
+ [self tableView:tableView didSelectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
+ [tableView release];
+ self.navigationItem.leftBarButtonItem = doneButton;
+ }
+ } else {
+ // this class just loads all controllers and set up tabbar and navigation controllers
+ NSMutableArray *tabBarNavigationControllers = [[NSMutableArray alloc] initWithCapacity:5];
+ UINavigationController *navController = nil;
+
+ if (nil == generalSettingsViewController) {
+ generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ generalSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:0];
+ generalSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/TargetBee.png",GRAPHICS_DIRECTORY()]];
+ navController = [[UINavigationController alloc] initWithRootViewController:generalSettingsViewController];
+ generalSettingsViewController.navigationItem.backBarButtonItem = doneButton;
+ generalSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
+ [generalSettingsViewController release];
+ [tabBarNavigationControllers addObject:navController];
+ releaseAndNil(navController);
+ }
+ if (nil == teamSettingsViewController) {
+ teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ teamSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:1];
+ teamSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Egg.png",GRAPHICS_DIRECTORY()]];
+ navController = [[UINavigationController alloc] initWithRootViewController:teamSettingsViewController];
+ teamSettingsViewController.navigationItem.backBarButtonItem = doneButton;
+ teamSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
+ [tabBarNavigationControllers addObject:navController];
+ releaseAndNil(navController);
+ }
+ if (nil == weaponSettingsViewController) {
+ weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ weaponSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:2];
+ weaponSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/cheese.png",GRAPHICS_DIRECTORY()]];
+ navController = [[UINavigationController alloc] initWithRootViewController:weaponSettingsViewController];
+ weaponSettingsViewController.navigationItem.backBarButtonItem = doneButton;
+ weaponSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
+ [tabBarNavigationControllers addObject:navController];
+ releaseAndNil(navController);
+ }
+ if (nil == schemeSettingsViewController) {
+ schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ schemeSettingsViewController.tabBarItem.title = [self.controllerNames objectAtIndex:3];
+ schemeSettingsViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Targetp.png",GRAPHICS_DIRECTORY()]];
+ navController = [[UINavigationController alloc] initWithRootViewController:schemeSettingsViewController];
+ schemeSettingsViewController.navigationItem.backBarButtonItem = doneButton;
+ schemeSettingsViewController.navigationItem.leftBarButtonItem = doneButton;
+ [tabBarNavigationControllers addObject:navController];
+ releaseAndNil(navController);
+ }
+ if (nil == supportViewController) {
+ supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ supportViewController.tabBarItem.title = [self.controllerNames objectAtIndex:4];
+ supportViewController.tabBarItem.image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/Seduction.png",GRAPHICS_DIRECTORY()]];
+ navController = [[UINavigationController alloc] initWithRootViewController:supportViewController];
+ supportViewController.navigationItem.backBarButtonItem = doneButton;
+ supportViewController.navigationItem.leftBarButtonItem = doneButton;
+ [tabBarNavigationControllers addObject:navController];
+ releaseAndNil(navController);
+ }
+
+ UITabBarController *tabController = [[UITabBarController alloc] init];
+ tabController.viewControllers = tabBarNavigationControllers;
+ tabController.delegate = self;
+
+ [self.view addSubview:tabController.view];
+ }
+ [doneButton release];
+ [super viewDidLoad];
+}
+
+-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
+ [viewController viewWillAppear:NO];
+}
+
+-(void) dismissSplitView {
+ [AudioManagerController playBackSound];
+ [[[HedgewarsAppDelegate sharedAppDelegate] mainViewController] dismissModalViewControllerAnimated:YES];
+}
+
+#pragma mark -
+#pragma mark Table view data source
+-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
+ return 1;
+}
+
+-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+ return [self.controllerNames count];
+}
+
+// Customize the appearance of table view cells.
+-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+ static NSString *CellIdentifier = @"Cell";
+
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
+ if (cell == nil)
+ cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
+
+ NSString *iconStr = nil;
+ switch ([indexPath row]) {
+ case 0:
+ iconStr = [NSString stringWithFormat:@"%@/TargetBee.png",GRAPHICS_DIRECTORY()];
+ break;
+ case 1:
+ iconStr = [NSString stringWithFormat:@"%@/Egg.png",GRAPHICS_DIRECTORY()];
+ break;
+ case 2:
+ iconStr = [NSString stringWithFormat:@"%@/cheese.png",GRAPHICS_DIRECTORY()];
+ break;
+ case 3:
+ iconStr = [NSString stringWithFormat:@"%@/Target.png",GRAPHICS_DIRECTORY()];
+ break;
+ case 4:
+ iconStr = [NSString stringWithFormat:@"%@/Seduction.png",GRAPHICS_DIRECTORY()];
+ break;
+ default:
+ DLog(@"Nope");
+ break;
+ }
+
+ cell.accessoryType = UITableViewCellAccessoryNone;
+ cell.textLabel.text = [controllerNames objectAtIndex:[indexPath row]];
+ UIImage *icon = [[UIImage alloc] initWithContentsOfFile:iconStr];
+ cell.imageView.image = icon;
+ [icon release];
+
+ return cell;
+}
+
+#pragma mark -
+#pragma mark Table view delegate
+-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+ int newRow = [indexPath row];
+ int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
+ UIViewController *nextController = nil;
+
+ if (newRow != oldRow) {
+ [tableView deselectRowAtIndexPath:lastIndexPath animated:YES];
+ [targetController.navigationController popToRootViewControllerAnimated:NO];
+
+ switch (newRow) {
+ case 0:
+ if (nil == generalSettingsViewController)
+ generalSettingsViewController = [[GeneralSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ nextController = generalSettingsViewController;
+ break;
+ case 1:
+ if (nil == teamSettingsViewController)
+ teamSettingsViewController = [[TeamSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ nextController = teamSettingsViewController;
+ break;
+ case 2:
+ if (nil == weaponSettingsViewController)
+ weaponSettingsViewController = [[WeaponSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ nextController = weaponSettingsViewController;
+ break;
+ case 3:
+ if (nil == schemeSettingsViewController)
+ schemeSettingsViewController = [[SchemeSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ nextController = schemeSettingsViewController;
+ break;
+ case 4:
+ if (nil == supportViewController)
+ supportViewController = [[SupportViewController alloc] initWithStyle:UITableViewStyleGrouped];
+ nextController = supportViewController;
+ break;
+ }
+
+ self.lastIndexPath = indexPath;
+ [tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];
+
+ nextController.navigationItem.hidesBackButton = YES;
+ [nextController viewWillAppear:NO];
+ [targetController.navigationController pushViewController:nextController animated:NO];
+ [AudioManagerController playClickSound];
+ }
+}
+
+
+#pragma mark -
+#pragma mark Memory management
+-(void) didReceiveMemoryWarning {
+ if (generalSettingsViewController.view.superview == nil)
+ generalSettingsViewController = nil;
+ if (teamSettingsViewController.view.superview == nil)
+ teamSettingsViewController = nil;
+ if (weaponSettingsViewController.view.superview == nil)
+ weaponSettingsViewController = nil;
+ if (schemeSettingsViewController.view.superview == nil)
+ schemeSettingsViewController = nil;
+ if (supportViewController.view.superview == nil)
+ supportViewController = nil;
+ MSG_MEMCLEAN();
+ [super didReceiveMemoryWarning];
+}
+
+-(void) viewDidUnload {
+ self.controllerNames = nil;
+ self.lastIndexPath = nil;
+ generalSettingsViewController = nil;
+ teamSettingsViewController = nil;
+ weaponSettingsViewController = nil;
+ schemeSettingsViewController = nil;
+ supportViewController = nil;
+ MSG_DIDUNLOAD();
+ [super viewDidUnload];
+}
+
+-(void) dealloc {
+ releaseAndNil(targetController);
+ releaseAndNil(controllerNames);
+ releaseAndNil(lastIndexPath);
+ releaseAndNil(generalSettingsViewController);
+ releaseAndNil(teamSettingsViewController);
+ releaseAndNil(weaponSettingsViewController);
+ releaseAndNil(schemeSettingsViewController);
+ releaseAndNil(supportViewController);
+ [super dealloc];
+}
+
+@end
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Classes/SettingsContainerViewController.h Sat Oct 01 02:49:40 2011 +0200
@@ -0,0 +1,32 @@
+/*
+ * Hedgewars-iOS, a Hedgewars port for iOS devices
+ * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * File created on 27/03/2010.
+ */
+
+
+#import <UIKit/UIKit.h>
+
+@interface SettingsContainerViewController : UIViewController {
+ UINavigationController *activeController;
+ UISplitViewController *splitViewRootController;
+}
+
+@property (nonatomic,retain) UINavigationController *activeController;
+@property (nonatomic,retain) UISplitViewController *splitViewRootController;
+
+@end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/project_files/HedgewarsMobile/Classes/SettingsContainerViewController.m Sat Oct 01 02:49:40 2011 +0200
@@ -0,0 +1,121 @@
+/*
+ * Hedgewars-iOS, a Hedgewars port for iOS devices
+ * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * File created on 27/03/2010.
+ */
+
+
+#import "SettingsContainerViewController.h"
+#import "SettingsBaseViewController.h"
+#import "CommodityFunctions.h"
+
+@implementation SettingsContainerViewController
+@synthesize activeController, splitViewRootController;
+
+-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ return rotationManager(interfaceOrientation);
+}
+
+
+-(void) viewDidLoad {
+ CGRect rect = [[UIScreen mainScreen] bounds];
+ self.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
+
+ if (IS_IPAD()) {
+ // the contents on the right of the splitview, setting targetController to nil to avoid creating the table
+ SettingsBaseViewController *rightController = [[SettingsBaseViewController alloc] init];
+ rightController.targetController = nil;
+ UINavigationController *rightNavController = [[UINavigationController alloc] initWithRootViewController:rightController];
+ [rightController release];
+
+ // the contens on the left of the splitview, setting targetController that will receive push/pop actions
+ SettingsBaseViewController *leftController = [[SettingsBaseViewController alloc] init];
+ leftController.targetController = rightNavController.topViewController;
+ UINavigationController *leftNavController = [[UINavigationController alloc] initWithRootViewController:leftController];
+ [leftController release];
+
+ self.activeController = rightNavController;
+ self.splitViewRootController = [[UISplitViewController alloc] init];
+ self.splitViewRootController.delegate = nil;
+ self.splitViewRootController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
+ self.splitViewRootController.viewControllers = [NSArray arrayWithObjects: leftNavController, rightNavController, nil];
+ [leftNavController release];
+ [rightNavController release];
+
+ // add view to main controller
+ [self.view addSubview:self.splitViewRootController.view];
+ } else {
+ SettingsBaseViewController *baseController = [[SettingsBaseViewController alloc] init];
+ baseController.targetController = nil;
+ baseController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
+ [self.view addSubview:baseController.view];
+ // here setting activeController is not needed as the event is kept active by the uitabbarcontroller
+ }
+
+ [super viewDidLoad];
+}
+
+#pragma mark -
+#pragma mark Memory management
+-(void) didReceiveMemoryWarning {
+ if (self.splitViewRootController.view.superview == nil)
+ self.splitViewRootController = nil;
+ if (self.activeController.view.superview == nil)
+ self.activeController = nil;
+ MSG_MEMCLEAN();
+ [super didReceiveMemoryWarning];
+}
+
+-(void) viewDidUnload {
+ self.activeController = nil;
+ self.splitViewRootController = nil;
+ MSG_DIDUNLOAD();
+ [super viewDidUnload];
+}
+
+-(void) dealloc {
+ releaseAndNil(activeController);
+ releaseAndNil(splitViewRootController);
+ [super dealloc];
+}
+
+
+#pragma mark -
+#pragma mark additional methods as we're using a UINavigationController programmatically
+// see http://davidebenini.it/2009/01/03/viewwillappear-not-being-called-inside-a-uinavigationcontroller/
+-(void) viewWillAppear:(BOOL)animated {
+ [super viewWillAppear:animated];
+ [self.activeController viewWillAppear:animated];
+}
+
+-(void) viewWillDisappear:(BOOL)animated {
+ [super viewWillDisappear:animated];
+ [self.activeController viewWillDisappear:animated];
+}
+
+-(void) viewDidAppear:(BOOL)animated {
+ [super viewDidLoad];
+ [self.activeController viewDidAppear:animated];
+}
+
+-(void) viewDidDisappear:(BOOL)animated {
+ [super viewDidUnload];
+ [self.activeController viewDidDisappear:animated];
+}
+
+
+@end
--- a/project_files/HedgewarsMobile/Classes/SplitViewRootController.h Sat Oct 01 02:40:26 2011 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
- * Hedgewars-iOS, a Hedgewars port for iOS devices
- * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * File created on 27/03/2010.
- */
-
-
-#import <UIKit/UIKit.h>
-
-@interface SplitViewRootController: UIViewController {
- UINavigationController *activeController;
- UISplitViewController *splitViewRootController;
-}
-
-@property (nonatomic,retain) UINavigationController *activeController;
-@property (nonatomic,retain) UISplitViewController *splitViewRootController;
-
-@end
--- a/project_files/HedgewarsMobile/Classes/SplitViewRootController.m Sat Oct 01 02:40:26 2011 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
- * Hedgewars-iOS, a Hedgewars port for iOS devices
- * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- * File created on 27/03/2010.
- */
-
-
-#import "SplitViewRootController.h"
-#import "MasterViewController.h"
-#import "CommodityFunctions.h"
-
-@implementation SplitViewRootController
-@synthesize activeController, splitViewRootController;
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
- return rotationManager(interfaceOrientation);
-}
-
-
--(void) viewDidLoad {
- CGRect rect = [[UIScreen mainScreen] bounds];
- self.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
-
- if (IS_IPAD()) {
- // the contents on the right of the splitview, setting targetController to nil to avoid creating the table
- MasterViewController *rightController = [[MasterViewController alloc] init];
- rightController.targetController = nil;
- UINavigationController *rightNavController = [[UINavigationController alloc] initWithRootViewController:rightController];
- [rightController release];
-
- // the contens on the left of the splitview, setting targetController that will receive push/pop actions
- MasterViewController *leftController = [[MasterViewController alloc] init];
- leftController.targetController = rightNavController.topViewController;
- UINavigationController *leftNavController = [[UINavigationController alloc] initWithRootViewController:leftController];
- [leftController release];
-
- self.activeController = rightNavController;
- self.splitViewRootController = [[UISplitViewController alloc] init];
- self.splitViewRootController.delegate = nil;
- self.splitViewRootController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
- self.splitViewRootController.viewControllers = [NSArray arrayWithObjects: leftNavController, rightNavController, nil];
- [leftNavController release];
- [rightNavController release];
-
- // add view to main controller
- [self.view addSubview:self.splitViewRootController.view];
- } else {
- MasterViewController *mainController = [[MasterViewController alloc] init];
- mainController.targetController = nil;
- mainController.view.frame = CGRectMake(0, 0, rect.size.height, rect.size.width);
- [self.view addSubview:mainController.view];
- // here setting activeController is not needed as the event is kept active by the uitabbarcontroller
- }
-
- [super viewDidLoad];
-}
-
-#pragma mark -
-#pragma mark Memory management
--(void) didReceiveMemoryWarning {
- if (self.splitViewRootController.view.superview == nil)
- self.splitViewRootController = nil;
- if (self.activeController.view.superview == nil)
- self.activeController = nil;
- MSG_MEMCLEAN();
- [super didReceiveMemoryWarning];
-}
-
--(void) viewDidUnload {
- self.activeController = nil;
- self.splitViewRootController = nil;
- MSG_DIDUNLOAD();
- [super viewDidUnload];
-}
-
--(void) dealloc {
- releaseAndNil(activeController);
- releaseAndNil(splitViewRootController);
- [super dealloc];
-}
-
-
-#pragma mark -
-#pragma mark additional methods as we're using a UINavigationController programmatically
-// see http://davidebenini.it/2009/01/03/viewwillappear-not-being-called-inside-a-uinavigationcontroller/
--(void) viewWillAppear:(BOOL)animated {
- [super viewWillAppear:animated];
- [self.activeController viewWillAppear:animated];
-}
-
--(void) viewWillDisappear:(BOOL)animated {
- [super viewWillDisappear:animated];
- [self.activeController viewWillDisappear:animated];
-}
-
--(void) viewDidAppear:(BOOL)animated {
- [super viewDidLoad];
- [self.activeController viewDidAppear:animated];
-}
-
--(void) viewDidDisappear:(BOOL)animated {
- [super viewDidUnload];
- [self.activeController viewDidDisappear:animated];
-}
-
-
-@end
--- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Sat Oct 01 02:40:26 2011 +0200
+++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Sat Oct 01 02:49:40 2011 +0200
@@ -90,14 +90,14 @@
6165921411CA9BA200D6E256 /* LevelViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591EF11CA9BA200D6E256 /* LevelViewController.m */; };
6165921511CA9BA200D6E256 /* MainMenuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F111CA9BA200D6E256 /* MainMenuViewController.m */; };
6165921611CA9BA200D6E256 /* MapConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F311CA9BA200D6E256 /* MapConfigViewController.m */; };
- 6165921711CA9BA200D6E256 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F511CA9BA200D6E256 /* MasterViewController.m */; };
+ 6165921711CA9BA200D6E256 /* SettingsBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F511CA9BA200D6E256 /* SettingsBaseViewController.m */; };
6165921811CA9BA200D6E256 /* OverlayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F711CA9BA200D6E256 /* OverlayViewController.m */; };
6165921911CA9BA200D6E256 /* InGameMenuViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591F911CA9BA200D6E256 /* InGameMenuViewController.m */; };
6165921A11CA9BA200D6E256 /* SchemeSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591FB11CA9BA200D6E256 /* SchemeSettingsViewController.m */; };
6165921B11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591FD11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m */; };
6165921C11CA9BA200D6E256 /* SingleSchemeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591FF11CA9BA200D6E256 /* SingleSchemeViewController.m */; };
6165921D11CA9BA200D6E256 /* SingleTeamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920111CA9BA200D6E256 /* SingleTeamViewController.m */; };
- 6165921E11CA9BA200D6E256 /* SplitViewRootController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920311CA9BA200D6E256 /* SplitViewRootController.m */; };
+ 6165921E11CA9BA200D6E256 /* SettingsContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920311CA9BA200D6E256 /* SettingsContainerViewController.m */; };
6165921F11CA9BA200D6E256 /* TeamConfigViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920511CA9BA200D6E256 /* TeamConfigViewController.m */; };
6165922011CA9BA200D6E256 /* TeamSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920711CA9BA200D6E256 /* TeamSettingsViewController.m */; };
6165922111CA9BA200D6E256 /* VoicesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6165920911CA9BA200D6E256 /* VoicesViewController.m */; };
@@ -412,8 +412,8 @@
616591F111CA9BA200D6E256 /* MainMenuViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainMenuViewController.m; sourceTree = "<group>"; };
616591F211CA9BA200D6E256 /* MapConfigViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapConfigViewController.h; sourceTree = "<group>"; };
616591F311CA9BA200D6E256 /* MapConfigViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapConfigViewController.m; sourceTree = "<group>"; };
- 616591F411CA9BA200D6E256 /* MasterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MasterViewController.h; sourceTree = "<group>"; };
- 616591F511CA9BA200D6E256 /* MasterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MasterViewController.m; sourceTree = "<group>"; };
+ 616591F411CA9BA200D6E256 /* SettingsBaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsBaseViewController.h; sourceTree = "<group>"; };
+ 616591F511CA9BA200D6E256 /* SettingsBaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsBaseViewController.m; sourceTree = "<group>"; };
616591F611CA9BA200D6E256 /* OverlayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverlayViewController.h; sourceTree = "<group>"; };
616591F711CA9BA200D6E256 /* OverlayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OverlayViewController.m; sourceTree = "<group>"; };
616591F811CA9BA200D6E256 /* InGameMenuViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InGameMenuViewController.h; sourceTree = "<group>"; };
@@ -426,8 +426,8 @@
616591FF11CA9BA200D6E256 /* SingleSchemeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SingleSchemeViewController.m; sourceTree = "<group>"; };
6165920011CA9BA200D6E256 /* SingleTeamViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleTeamViewController.h; sourceTree = "<group>"; };
6165920111CA9BA200D6E256 /* SingleTeamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SingleTeamViewController.m; sourceTree = "<group>"; };
- 6165920211CA9BA200D6E256 /* SplitViewRootController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SplitViewRootController.h; sourceTree = "<group>"; };
- 6165920311CA9BA200D6E256 /* SplitViewRootController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SplitViewRootController.m; sourceTree = "<group>"; };
+ 6165920211CA9BA200D6E256 /* SettingsContainerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsContainerViewController.h; sourceTree = "<group>"; };
+ 6165920311CA9BA200D6E256 /* SettingsContainerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsContainerViewController.m; sourceTree = "<group>"; };
6165920411CA9BA200D6E256 /* TeamConfigViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamConfigViewController.h; sourceTree = "<group>"; };
6165920511CA9BA200D6E256 /* TeamConfigViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TeamConfigViewController.m; sourceTree = "<group>"; };
6165920611CA9BA200D6E256 /* TeamSettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TeamSettingsViewController.h; sourceTree = "<group>"; };
@@ -807,10 +807,10 @@
6163EE4C11CC2478001C0453 /* Settings Pages */ = {
isa = PBXGroup;
children = (
- 6165920211CA9BA200D6E256 /* SplitViewRootController.h */,
- 6165920311CA9BA200D6E256 /* SplitViewRootController.m */,
- 616591F411CA9BA200D6E256 /* MasterViewController.h */,
- 616591F511CA9BA200D6E256 /* MasterViewController.m */,
+ 6165920211CA9BA200D6E256 /* SettingsContainerViewController.h */,
+ 6165920311CA9BA200D6E256 /* SettingsContainerViewController.m */,
+ 616591F411CA9BA200D6E256 /* SettingsBaseViewController.h */,
+ 616591F511CA9BA200D6E256 /* SettingsBaseViewController.m */,
6163EE4E11CC248D001C0453 /* First Level */,
6163EE4F11CC2497001C0453 /* Second Level */,
6163EE5011CC24A1001C0453 /* Third Level */,
@@ -1542,14 +1542,14 @@
6165921411CA9BA200D6E256 /* LevelViewController.m in Sources */,
6165921511CA9BA200D6E256 /* MainMenuViewController.m in Sources */,
6165921611CA9BA200D6E256 /* MapConfigViewController.m in Sources */,
- 6165921711CA9BA200D6E256 /* MasterViewController.m in Sources */,
+ 6165921711CA9BA200D6E256 /* SettingsBaseViewController.m in Sources */,
6165921811CA9BA200D6E256 /* OverlayViewController.m in Sources */,
6165921911CA9BA200D6E256 /* InGameMenuViewController.m in Sources */,
6165921A11CA9BA200D6E256 /* SchemeSettingsViewController.m in Sources */,
6165921B11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m in Sources */,
6165921C11CA9BA200D6E256 /* SingleSchemeViewController.m in Sources */,
6165921D11CA9BA200D6E256 /* SingleTeamViewController.m in Sources */,
- 6165921E11CA9BA200D6E256 /* SplitViewRootController.m in Sources */,
+ 6165921E11CA9BA200D6E256 /* SettingsContainerViewController.m in Sources */,
6165921F11CA9BA200D6E256 /* TeamConfigViewController.m in Sources */,
6165922011CA9BA200D6E256 /* TeamSettingsViewController.m in Sources */,
6165922111CA9BA200D6E256 /* VoicesViewController.m in Sources */,