--- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Wed Jun 23 21:39:14 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Wed Jun 23 21:49:19 2010 +0200
@@ -1,171 +0,0 @@
-//
-// MainMenuViewController.m
-// hwengine
-//
-// Created by Vittorio on 08/01/10.
-// Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import "MainMenuViewController.h"
-#import "SDL_uikitappdelegate.h"
-#import "PascalImports.h"
-#import "GameConfigViewController.h"
-#import "SplitViewRootController.h"
-#import "CommodityFunctions.h"
-
-@implementation MainMenuViewController
-@synthesize versionLabel;
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
- return rotationManager(interfaceOrientation);
-}
-
-- (void)didReceiveMemoryWarning {
- // Releases the view if it doesn't have a superview.
- [super didReceiveMemoryWarning];
- if (settingsViewController.view.superview == nil)
- settingsViewController = nil;
- if (gameConfigViewController.view.superview == nil)
- gameConfigViewController = nil;
- MSG_MEMCLEAN();
-}
-
--(void) viewDidLoad {
- char *ver;
- HW_versionInfo(NULL, &ver);
- NSString *versionNumber = [[NSString alloc] initWithCString:ver];
- self.versionLabel.text = versionNumber;
- [versionNumber release];
-
- // listen to request to remove the modalviewcontroller
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(dismissModalViewController)
- name: @"dismissModalView"
- object:nil];
-
- // initialize some files the first time we load the game
- if (!([[NSFileManager defaultManager] fileExistsAtPath:SETTINGS_FILE()]))
- [NSThread detachNewThreadSelector:@selector(checkFirstRun) toTarget:self withObject:nil];
-
- [super viewDidLoad];
-}
-
-// this is called to verify whether it's the first time the app is launched
-// if it is it blocks user interaction with an alertView until files are created
--(void) checkFirstRun {
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- NSLog(@"First time run, creating settings files at %@", SETTINGS_FILE());
-
- // show a popup with an indicator to make the user wait
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Please wait",@"")
- message:nil
- delegate:nil
- cancelButtonTitle:nil
- otherButtonTitles:nil];
- [alert show];
-
- UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]
- initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
- indicator.center = CGPointMake(alert.bounds.size.width / 2, alert.bounds.size.height - 50);
- [indicator startAnimating];
- [alert addSubview:indicator];
- [indicator release];
-
- // create default files (teams/weapons/scheme)
- createTeamNamed(@"Pirates");
- createTeamNamed(@"Ninjas");
- createWeaponNamed(@"Default");
- createSchemeNamed(@"Default");
-
- // create settings.plist
- NSMutableDictionary *saveDict = [[NSMutableDictionary alloc] init];
-
- [saveDict setObject:@"" forKey:@"username"];
- [saveDict setObject:@"" forKey:@"password"];
- [saveDict setObject:[NSNumber numberWithBool:YES] forKey:@"music"];
- [saveDict setObject:[NSNumber numberWithBool:YES] forKey:@"sound"];
- [saveDict setObject:[NSNumber numberWithBool:NO] forKey:@"alternate"];
-
- [saveDict writeToFile:SETTINGS_FILE() atomically:YES];
- [saveDict release];
-
- // ok let the user take control
- [alert dismissWithClickedButtonIndex:0 animated:YES];
- [alert release];
-
- [pool release];
- [NSThread exit];
-}
-
-#pragma mark -
--(IBAction) switchViews:(id) sender {
- UIButton *button = (UIButton *)sender;
- UIAlertView *alert;
- NSString *debugStr;
-
- switch (button.tag) {
- case 0:
- gameConfigViewController = [[GameConfigViewController alloc] initWithNibName:@"GameConfigViewController" bundle:nil];
-
- // bug in UIModalTransitionStylePartialCurl, displays the controller awkwardly if it is not allocated every time
- if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
- gameConfigViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl;
- [self presentModalViewController:gameConfigViewController animated:YES];
- break;
- case 2:
- if (nil == settingsViewController) {
- settingsViewController = [[SplitViewRootController alloc] initWithNibName:nil bundle:nil];
- settingsViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
- }
-
- [self presentModalViewController:settingsViewController animated:YES];
- break;
- case 3:
- debugStr = [[NSString alloc] initWithContentsOfFile:DEBUG_FILE()];
- UITextView *scroll = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.height, self.view.frame.size.width)];
- scroll.text = debugStr;
- [debugStr release];
- scroll.editable = NO;
-
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
- [btn addTarget:scroll action:@selector(removeFromSuperview) forControlEvents:UIControlEventTouchUpInside];
- btn.backgroundColor = [UIColor blackColor];
- btn.frame = CGRectMake(self.view.frame.size.height-70, 0, 70, 70);
- [scroll addSubview:btn];
- [self.view addSubview:scroll];
- [scroll release];
- break;
- default:
- alert = [[UIAlertView alloc] initWithTitle:@"Not Yet Implemented"
- message:@"Sorry, this feature is not yet implemented"
- delegate:nil
- cancelButtonTitle:@"Well, don't worry"
- otherButtonTitles:nil];
- [alert show];
- [alert release];
- break;
- }
-}
-
-// allows child controllers to return to the main controller
--(void) dismissModalViewController {
- [self dismissModalViewControllerAnimated:YES];
-}
-
-
--(void) viewDidUnload {
- self.versionLabel = nil;
- gameConfigViewController = nil;
- settingsViewController = nil;
- [super viewDidUnload];
- MSG_DIDUNLOAD();
-}
-
--(void) dealloc {
- [versionLabel release];
- [settingsViewController release];
- [gameConfigViewController release];
- [super dealloc];
-}
-
-@end