X&Y buttons, sounds for some buttons, cleanup
authorkoda
Sun, 29 Aug 2010 16:55:27 +0200
changeset 3783 8e9daf967406
parent 3782 dc3531e49e4c
child 3785 7056284fd97c
X&Y buttons, sounds for some buttons, cleanup
project_files/HedgewarsMobile/Classes/AboutViewController.m
project_files/HedgewarsMobile/Classes/AboutViewController.xib
project_files/HedgewarsMobile/Classes/CommodityFunctions.h
project_files/HedgewarsMobile/Classes/CommodityFunctions.m
project_files/HedgewarsMobile/Classes/DetailViewController.h
project_files/HedgewarsMobile/Classes/DetailViewController.m
project_files/HedgewarsMobile/Classes/GameConfigViewController.m
project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m
project_files/HedgewarsMobile/Classes/HogButtonView.m
project_files/HedgewarsMobile/Classes/MainMenuViewController.m
project_files/HedgewarsMobile/Classes/MapConfigViewController.h
project_files/HedgewarsMobile/Classes/MapConfigViewController.m
project_files/HedgewarsMobile/Classes/MasterViewController.m
project_files/HedgewarsMobile/Classes/OverlayViewController.m
project_files/HedgewarsMobile/Classes/SingleTeamViewController.m
project_files/HedgewarsMobile/Classes/SplitViewRootController.m
project_files/HedgewarsMobile/Classes/WeaponCellView.m
project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj
project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib
project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib
project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib
project_files/HedgewarsMobile/Resources/Overlay/joyButton_backjump.png
project_files/HedgewarsMobile/Resources/Overlay/joyButton_forwardjump.png
project_files/HedgewarsMobile/Resources/Overlay/joyPush.png
project_files/HedgewarsMobile/Resources/backSound.wav
project_files/HedgewarsMobile/Resources/clickSound.wav
project_files/HedgewarsMobile/Resources/selSound.wav
--- a/project_files/HedgewarsMobile/Classes/AboutViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/AboutViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -39,6 +39,7 @@
 }
 
 -(IBAction) buttonPressed:(id) sender {
+    playSound(@"backSound");
     [[self parentViewController] dismissModalViewControllerAnimated:YES];
 }
 
--- a/project_files/HedgewarsMobile/Classes/AboutViewController.xib	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/AboutViewController.xib	Sun Aug 29 16:55:27 2010 +0200
@@ -12,7 +12,7 @@
 		</object>
 		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
 			<bool key="EncodedWithXMLCoder">YES</bool>
-			<integer value="7"/>
+			<integer value="2"/>
 		</object>
 		<object class="NSArray" key="IBDocument.PluginDependencies">
 			<bool key="EncodedWithXMLCoder">YES</bool>
@@ -72,7 +72,7 @@
 							<object class="IBUINavigationItem" id="824792699">
 								<reference key="IBUINavigationBar" ref="241300702"/>
 								<string key="IBUITitle">About...</string>
-								<object class="IBUIBarButtonItem" key="IBUIRightBarButtonItem" id="322694234">
+								<object class="IBUIBarButtonItem" key="IBUILeftBarButtonItem" id="322694234">
 									<string key="targetRuntimeIdentifier">IBIPadFramework</string>
 									<int key="IBUIStyle">1</int>
 									<reference key="IBUINavigationItem" ref="824792699"/>
--- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.h	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.h	Sun Aug 29 16:55:27 2010 +0200
@@ -48,3 +48,4 @@
 void print_free_memory ();
 BOOL isPhone ();
 NSString *modelType ();
+void playSound (NSString *snd);
--- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.m	Sun Aug 29 16:55:27 2010 +0200
@@ -11,6 +11,7 @@
 #import <sys/sysctl.h>
 #import <mach/mach.h>
 #import <mach/mach_host.h>
+#import "AudioToolbox/AudioToolbox.h"
 
 void createTeamNamed (NSString *nameWithoutExt) {
     NSString *teamsDirectory = TEAMS_DIRECTORY();
@@ -232,3 +233,20 @@
 
     return modelId;
 }
+
+void playSound (NSString *snd) {
+    //Get the filename of the sound file:
+    NSString *path = [NSString stringWithFormat:@"%@/%@.wav",[[NSBundle mainBundle] resourcePath],snd];
+    
+    //declare a system sound id
+    SystemSoundID soundID;
+
+    //Get a URL for the sound file
+    NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
+
+    //Use audio sevices to create the sound
+    AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID);
+
+    //Use audio services to play the sound
+    AudioServicesPlaySystemSound(soundID);
+}
\ No newline at end of file
--- a/project_files/HedgewarsMobile/Classes/DetailViewController.h	Sat Aug 28 05:35:02 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-//
-//  DetailViewController.h
-//  HedgewarsMobile
-//
-//  Created by Vittorio on 27/03/10.
-//  Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
-@class GeneralSettingsViewController;
-@class TeamSettingsViewController;
-@class WeaponSettingsViewController;
-@class SchemeSettingsViewController;
-
-@interface DetailViewController : UITableViewController <UISplitViewControllerDelegate, UIPopoverControllerDelegate> {
-    NSArray *controllerNames;
-
-    GeneralSettingsViewController *generalSettingsViewController;
-    TeamSettingsViewController *teamSettingsViewController;
-    WeaponSettingsViewController *weaponSettingsViewController;
-    SchemeSettingsViewController *schemeSettingsViewController;
-    UIPopoverController *popoverController;
-}
-
-// used in iphone version
--(IBAction) dismissSplitView;
-
-@property (nonatomic,retain) NSArray *controllerNames;
-@property (nonatomic,retain) UIPopoverController *popoverController;
-
-@end
--- a/project_files/HedgewarsMobile/Classes/DetailViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-    //
-//  DetailViewController.m
-//  HedgewarsMobile
-//
-//  Created by Vittorio on 27/03/10.
-//  Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import "DetailViewController.h"
-#import "SDL_uikitappdelegate.h"
-#import "GeneralSettingsViewController.h"
-#import "TeamSettingsViewController.h"
-#import "WeaponSettingsViewController.h"
-#import "SchemeSettingsViewController.h"
-#import "CommodityFunctions.h"
-
-@implementation DetailViewController
-@synthesize controllerNames, popoverController;
-
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
-    return rotationManager(interfaceOrientation);
-}
-
--(void) viewDidLoad {
-    self.title = NSLocalizedString(@"Settings",@"");
-
-    // allocate controllers and store them into the array
-    NSArray *array= [[NSArray alloc] initWithObjects:NSLocalizedString(@"General",@""),
-                                                     NSLocalizedString(@"Teams",@""),
-                                                     NSLocalizedString(@"Weapons",@""),
-                                                     NSLocalizedString(@"Schemes",@""),
-                                                     nil];
-    self.controllerNames = array;
-    [array release];
-
-    // on ipad make the general setting the first view, on iphone add the "Done" button on top left
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
-
-        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(112, 112, 480, 320)];
-        label.text = @"Press the buttons on the left";
-        label.font = [UIFont systemFontOfSize:20];
-        label.textAlignment = UITextAlignmentCenter;
-        [self.view addSubview:label];
-        [label release];
-
-        //[self.navigationController pushViewController:nextController animated:NO];
-    } else {
-        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
-                                                                                              target:self
-                                                                                              action:@selector(dismissSplitView)];
-    }
-
-    [super viewDidLoad];
-}
-
-
-#pragma mark -
-#pragma mark Table view data source
--(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
-    // don't display
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
-        return 0;
-    else
-        return 1;
-}
-
--(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-    return [controllerNames count];
-}
-
--(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];
-    }
-
-    NSInteger row = [indexPath row];
-
-    cell.textLabel.text = [controllerNames objectAtIndex:row];
-    cell.imageView.image = [UIImage imageNamed:@"Icon.png"];
-    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
-
-    return cell;
-}
-
-#pragma mark -
-#pragma mark Table view delegate
--(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
-    NSInteger row = [indexPath row];
-    UIViewController *nextController = nil;
-
-    switch (row) {
-        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;
-    }
-
-    nextController.title = [controllerNames objectAtIndex:row];
-    [self.navigationController pushViewController:nextController animated:YES];
-}
-
--(IBAction) dismissSplitView {
-    [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissModalView" object:nil];
-}
-
-#pragma mark -
-#pragma mark splitview support
--(void) splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController {
-    if (popoverController != nil) {
-        [popoverController dismissPopoverAnimated:YES];
-    }
-}
-
-// Called when the master view controller is about to be hidden
--(void) splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController
-            withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
-
-  /*  barButtonItem.title = @"Master View";
-    UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
-    NSMutableArray *items = [[toolbar items] mutableCopy];
-    [items insertObject:barButtonItem atIndex:0];
-    [toolbar setItems:items animated:YES];
-
-    [items release];
-
-    self.popoverController = pc;*/
-    barButtonItem.title = aViewController.title;
-    self.navigationItem.rightBarButtonItem = barButtonItem;
-}
-
-// Called when the master view controller is about to appear
--(void) splitViewController: (UISplitViewController*)svc  willShowViewController:(UIViewController *)aViewController
-            invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
-    /*UIToolbar *toolbar = self.parentViewController.navigationController.toolbar;
-
-    NSMutableArray *items = [[toolbar items] mutableCopy];
-    [items removeObjectAtIndex:0];
-
-    [toolbar setItems:items animated:YES];
-
-    [items release];
-
-    self.popoverController = nil;*/
-        self.navigationItem.rightBarButtonItem = nil;
-
-}
-
--(void) didReceiveMemoryWarning {
-    // Releases the view if it doesn't have a superview.
-    [super didReceiveMemoryWarning];
-    // Release any cached data, images, etc that aren't in use.
-    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;
-    MSG_MEMCLEAN();
-}
-
--(void) viewDidUnload {
-    self.controllerNames = nil;
-    generalSettingsViewController = nil;
-    teamSettingsViewController = nil;
-    weaponSettingsViewController = nil;
-    schemeSettingsViewController = nil;
-    MSG_DIDUNLOAD();
-    [super viewDidUnload];
-}
-
--(void) dealloc {
-    [controllerNames release];
-    [generalSettingsViewController release];
-    [teamSettingsViewController release];
-    [weaponSettingsViewController release];
-    [schemeSettingsViewController release];
-    [super dealloc];
-}
-@end
--- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -20,11 +20,12 @@
     return rotationManager(interfaceOrientation);
 }
 
--(IBAction) buttonPressed:(id) sender {
+-(IBAction) buttonPressed:(id) sender {    
     // works even if it's not actually a button
     UIButton *theButton = (UIButton *)sender;
     switch (theButton.tag) {
         case 0:
+            playSound(@"backSound");
             if ([mapConfigViewController busy]) {
                 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Wait for the Preview",@"")
                                                                 message:NSLocalizedString(@"Before returning the preview needs to be generated",@"")
@@ -37,6 +38,7 @@
                 [[self parentViewController] dismissModalViewControllerAnimated:YES];
             break;
         case 1:
+            playSound(@"clickSound");
             theButton.enabled = NO;
             [self startGame:theButton];
 //            [self performSelector:@selector(startGame:)
@@ -51,6 +53,7 @@
 -(IBAction) segmentPressed:(id) sender {
     UISegmentedControl *theSegment = (UISegmentedControl *)sender;
 
+    playSound(@"selSound");
     switch (theSegment.selectedSegmentIndex) {
         case 0:
             // this init here is just aestetic as this controller was already set up in viewDidLoad
--- a/project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/GeneralSettingsViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -88,7 +88,7 @@
 -(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
     switch (section) {
         case 0:     // user and pass
-            return 2;
+            return 1;   // set 2 here for the password field
             break;
         case 1:     // audio
             return 2;
--- a/project_files/HedgewarsMobile/Classes/HogButtonView.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/HogButtonView.m	Sun Aug 29 16:55:27 2010 +0200
@@ -29,6 +29,7 @@
 }
 
 -(void) addOne {
+    playSound(@"clickSound");
     self.highlighted = NO;
     NSInteger number = self.numberOfHogs;
     number++;
--- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -157,6 +157,7 @@
     UIAlertView *alert;
     NSString *xib;
 
+    playSound(@"clickSound");
     switch (button.tag) {
         case 0:
             if (nil == self.gameConfigViewController) {
@@ -227,6 +228,7 @@
 }
 
 -(void) viewDidUnload {
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
     self.versionLabel = nil;
     self.gameConfigViewController = nil;
     self.settingsViewController = nil;
--- a/project_files/HedgewarsMobile/Classes/MapConfigViewController.h	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/MapConfigViewController.h	Sun Aug 29 16:55:27 2010 +0200
@@ -71,7 +71,7 @@
 
 -(IBAction) buttonPressed:(id) sender;
 
--(IBAction) updatePreview;
+-(IBAction) mapButtonPressed;
 -(IBAction) sliderChanged:(id) sender;
 -(IBAction) sliderEndedChanging:(id) sender;
 -(IBAction) segmentedControlChanged:(id) sender;
@@ -80,6 +80,8 @@
 -(void) turnOffWidgets;
 -(void) setLabelText:(NSString *)str;
 -(void) setButtonImage:(UIImage *)img;
+-(void) updatePreview;
+-(void) updatePreviewWithMap:(NSInteger) index;
 
 -(const uint8_t *)engineProtocol:(NSInteger) port;
 
--- a/project_files/HedgewarsMobile/Classes/MapConfigViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/MapConfigViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -148,7 +148,12 @@
     */
 }
 
--(IBAction) updatePreview {
+-(IBAction) mapButtonPressed {
+    playSound(@"clickSound");
+    [self updatePreview];
+}
+
+-(void) updatePreview {
     // don't generate a new preview while it's already generating one
     if (busy)
         return;
@@ -435,6 +440,7 @@
         [self updatePreview];
         oldValue = num;
     }
+    playSound(@"clickSound");
 }
 
 // perform actions based on the activated section, then call updatePreview to visually update the selection
@@ -444,6 +450,7 @@
     NSString *mapgen, *staticmap;
     NSInteger newPage = self.segmentedControl.selectedSegmentIndex;
 
+    playSound(@"selSound");
     switch (newPage) {
         case 0: // Random
             mapgen = @"e$mapgen 0";
--- a/project_files/HedgewarsMobile/Classes/MasterViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/MasterViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -7,7 +7,6 @@
 //
 
 #import "MasterViewController.h"
-#import "DetailViewController.h"
 #import "GeneralSettingsViewController.h"
 #import "TeamSettingsViewController.h"
 #import "WeaponSettingsViewController.h"
@@ -66,18 +65,38 @@
     static NSString *CellIdentifier = @"Cell";
 
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
-    if (cell == nil) {
+    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:@"%@/Molotov.png",GRAPHICS_DIRECTORY()];
+            break;
+        case 3:
+            iconStr = [NSString stringWithFormat:@"%@/Target.png",GRAPHICS_DIRECTORY()];
+            break;
+        default:
+            //seduction.png for support page
+            DLog(@"Nope");
+            break;
     }
+    
+    if (nil == targetController)
+        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
+    else
+        cell.accessoryType = UITableViewCellAccessoryNone;
 
     cell.textLabel.text = [controllerNames objectAtIndex:[indexPath row]];
-    if (nil == targetController) {
-        UIImage *icon = [[UIImage alloc] initWithContentsOfFile:@"Icon-Small.png"];
-        cell.imageView.image = icon;
-        [icon release];
-        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
-    } else
-        cell.accessoryType = UITableViewCellAccessoryNone;
+    UIImage *icon = [[UIImage alloc] initWithContentsOfFile:iconStr];
+    cell.imageView.image = icon;
+    [icon release];
 
     return cell;
 }
@@ -124,6 +143,7 @@
             nextController.navigationItem.hidesBackButton = NO;
             [self.navigationController pushViewController:nextController animated:YES];
         } else {
+            playSound(@"clickSound");
             nextController.navigationItem.hidesBackButton = YES;
             [targetController.navigationController pushViewController:nextController animated:NO];
         }
@@ -172,6 +192,7 @@
 }
 
 -(IBAction) dismissSplitView {
+    playSound(@"backSound");
     [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissModalView" object:nil];
 }
 
--- a/project_files/HedgewarsMobile/Classes/OverlayViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -135,23 +135,21 @@
     sdlwindow = display->windows;
 }
 
+-(void) didReceiveMemoryWarning {
+    [super didReceiveMemoryWarning];
+    if (self.popupMenu.view.superview == nil)
+        self.popupMenu = nil;
+    MSG_MEMCLEAN();
+}
+
 -(void) viewDidUnload {
-    // only object initialized in viewDidLoad should be here
+    // only objects initialized in viewDidLoad should be here
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
     dimTimer = nil;
     MSG_DIDUNLOAD();
     [super viewDidUnload];
 }
 
--(void) didReceiveMemoryWarning {
-    // Releases the view if it doesn't have a superview.
-    [super didReceiveMemoryWarning];
-    // Release any cached data, images, etc that aren't in use.
-    if (popupMenu.view.superview == nil)
-        popupMenu = nil;
-    MSG_MEMCLEAN();
-}
-
-
 -(void) dealloc {
     [popupMenu release];
     [popoverController release];
--- a/project_files/HedgewarsMobile/Classes/SingleTeamViewController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/SingleTeamViewController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -343,7 +343,7 @@
 }
 
 -(void) viewDidUnload {
-    [super viewDidUnload];
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
     self.teamDictionary = nil;
     self.teamName = nil;
     self.normalHogSprite = nil;
--- a/project_files/HedgewarsMobile/Classes/SplitViewRootController.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/SplitViewRootController.m	Sun Aug 29 16:55:27 2010 +0200
@@ -8,7 +8,6 @@
 
 #import "SplitViewRootController.h"
 #import "MasterViewController.h"
-#import "DetailViewController.h"
 #import "CommodityFunctions.h"
 
 @implementation SplitViewRootController
--- a/project_files/HedgewarsMobile/Classes/WeaponCellView.m	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/WeaponCellView.m	Sun Aug 29 16:55:27 2010 +0200
@@ -190,7 +190,7 @@
             str = NSLocalizedString(@"Presence probability in crates ",@"ammo selection");
             break;
         case 300:
-            str = NSLocalizedString(@"Number of turns before you can use it ",@"ammo selection");
+            str = NSLocalizedString(@"Number of turns before you can use this weapon ",@"ammo selection");
             break;
         case 400:
             str = NSLocalizedString(@"Quantity that you will find in a crate ",@"ammo selection");
--- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj	Sun Aug 29 16:55:27 2010 +0200
@@ -30,6 +30,9 @@
 		611E0EE711FB20610077A41E /* ammoButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 611E0EE511FB20610077A41E /* ammoButton.png */; };
 		611E0EE811FB20610077A41E /* cornerButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 611E0EE611FB20610077A41E /* cornerButton.png */; };
 		611E12FF117BBBDA0044B62F /* Entitlements-Development.plist in Resources */ = {isa = PBXBuildFile; fileRef = 611E12FE117BBBDA0044B62F /* Entitlements-Development.plist */; };
+		611EE974122A9C4100DF6938 /* clickSound.wav in Resources */ = {isa = PBXBuildFile; fileRef = 611EE973122A9C4100DF6938 /* clickSound.wav */; };
+		611EE9D9122AA10A00DF6938 /* backSound.wav in Resources */ = {isa = PBXBuildFile; fileRef = 611EE9D7122AA10A00DF6938 /* backSound.wav */; };
+		611EE9DA122AA10A00DF6938 /* selSound.wav in Resources */ = {isa = PBXBuildFile; fileRef = 611EE9D8122AA10A00DF6938 /* selSound.wav */; };
 		611F4D4B11B27A9900F9759A /* uScript.pas in Sources */ = {isa = PBXBuildFile; fileRef = 611F4D4A11B27A9900F9759A /* uScript.pas */; };
 		61272334117DF764005B90CF /* libSDL_image.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272333117DF752005B90CF /* libSDL_image.a */; };
 		61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272338117DF778005B90CF /* MobileCoreServices.framework */; };
@@ -691,6 +694,9 @@
 		611E0EE511FB20610077A41E /* ammoButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ammoButton.png; path = Resources/Overlay/ammoButton.png; sourceTree = "<group>"; };
 		611E0EE611FB20610077A41E /* cornerButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cornerButton.png; path = Resources/Overlay/cornerButton.png; sourceTree = "<group>"; };
 		611E12FE117BBBDA0044B62F /* Entitlements-Development.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Entitlements-Development.plist"; sourceTree = "<group>"; };
+		611EE973122A9C4100DF6938 /* clickSound.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = clickSound.wav; path = Resources/clickSound.wav; sourceTree = "<group>"; };
+		611EE9D7122AA10A00DF6938 /* backSound.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = backSound.wav; path = Resources/backSound.wav; sourceTree = "<group>"; };
+		611EE9D8122AA10A00DF6938 /* selSound.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = selSound.wav; path = Resources/selSound.wav; sourceTree = "<group>"; };
 		611F4D4A11B27A9900F9759A /* uScript.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uScript.pas; path = ../../hedgewars/uScript.pas; sourceTree = SOURCE_ROOT; };
 		611FD9CB1155A28C00C2203D /* HedgewarsTitle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HedgewarsTitle.png; path = ../../QTfrontend/res/HedgewarsTitle.png; sourceTree = SOURCE_ROOT; };
 		6127232E117DF752005B90CF /* SDL_image.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL_image.xcodeproj; path = "../../../Library/SDL-1.3/SDL_image/Xcode_iPhone/SDL_image.xcodeproj"; sourceTree = SOURCE_ROOT; };
@@ -955,6 +961,9 @@
 			children = (
 				6129B9F611EFB04D0017E305 /* denied.png */,
 				61F2E7EB12060E31005734F7 /* checkbox.png */,
+				611EE973122A9C4100DF6938 /* clickSound.wav */,
+				611EE9D7122AA10A00DF6938 /* backSound.wav */,
+				611EE9D8122AA10A00DF6938 /* selSound.wav */,
 				61F7A42811E2905C0040BA66 /* Icons */,
 				61F903FA11DF58680068B24D /* Frontend-iPad */,
 				61F903E311DF584D0068B24D /* Frontend-iPhone */,
@@ -1983,6 +1992,9 @@
 				615AD9EB1207654E00F2FF04 /* helpButton.png in Resources */,
 				6187AEBD120781B900B31A27 /* Settings in Resources */,
 				61EBB1E41228920300C1784F /* bluebox-squeezed.png in Resources */,
+				611EE974122A9C4100DF6938 /* clickSound.wav in Resources */,
+				611EE9D9122AA10A00DF6938 /* backSound.wav in Resources */,
+				611EE9DA122AA10A00DF6938 /* selSound.wav in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
--- a/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib	Sun Aug 29 16:55:27 2010 +0200
@@ -57,7 +57,7 @@
 					<object class="IBUIButton" id="867308721">
 						<reference key="NSNextResponder" ref="191373211"/>
 						<int key="NSvFlags">292</int>
-						<string key="NSFrame">{{383, 444}, {263, 244}}</string>
+						<string key="NSFrame">{{383, 427}, {263, 244}}</string>
 						<reference key="NSSuperview" ref="191373211"/>
 						<bool key="IBUIOpaque">NO</bool>
 						<string key="targetRuntimeIdentifier">IBIPadFramework</string>
--- a/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPad.xib	Sun Aug 29 16:55:27 2010 +0200
@@ -443,15 +443,6 @@
 					<int key="connectionID">3</int>
 				</object>
 				<object class="IBConnectionRecord">
-					<object class="IBCocoaTouchEventConnection" key="connection">
-						<string key="label">updatePreview</string>
-						<reference key="source" ref="326163764"/>
-						<reference key="destination" ref="372490531"/>
-						<int key="IBEventType">7</int>
-					</object>
-					<int key="connectionID">12</int>
-				</object>
-				<object class="IBConnectionRecord">
 					<object class="IBCocoaTouchOutletConnection" key="connection">
 						<string key="label">previewButton</string>
 						<reference key="source" ref="372490531"/>
@@ -569,6 +560,15 @@
 					</object>
 					<int key="connectionID">77</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">mapButtonPressed</string>
+						<reference key="source" ref="326163764"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">7</int>
+					</object>
+					<int key="connectionID">113</int>
+				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<object class="NSArray" key="orderedObjects">
@@ -753,7 +753,7 @@
 					<bool key="EncodedWithXMLCoder">YES</bool>
 					<string>MapConfigViewController</string>
 					<string>UIResponder</string>
-					<string>{{255, 272}, {1024, 768}}</string>
+					<string>{{335, 290}, {1024, 768}}</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 					<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -793,7 +793,7 @@
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">112</int>
+			<int key="maxID">113</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -806,10 +806,10 @@
 						<object class="NSArray" key="dict.sortedKeys">
 							<bool key="EncodedWithXMLCoder">YES</bool>
 							<string>buttonPressed:</string>
+							<string>mapButtonPressed</string>
 							<string>segmentedControlChanged:</string>
 							<string>sliderChanged:</string>
 							<string>sliderEndedChanging:</string>
-							<string>updatePreview</string>
 						</object>
 						<object class="NSMutableArray" key="dict.values">
 							<bool key="EncodedWithXMLCoder">YES</bool>
@@ -825,10 +825,10 @@
 						<object class="NSArray" key="dict.sortedKeys">
 							<bool key="EncodedWithXMLCoder">YES</bool>
 							<string>buttonPressed:</string>
+							<string>mapButtonPressed</string>
 							<string>segmentedControlChanged:</string>
 							<string>sliderChanged:</string>
 							<string>sliderEndedChanging:</string>
-							<string>updatePreview</string>
 						</object>
 						<object class="NSMutableArray" key="dict.values">
 							<bool key="EncodedWithXMLCoder">YES</bool>
@@ -837,6 +837,10 @@
 								<string key="candidateClassName">id</string>
 							</object>
 							<object class="IBActionInfo">
+								<string key="name">mapButtonPressed</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
 								<string key="name">segmentedControlChanged:</string>
 								<string key="candidateClassName">id</string>
 							</object>
@@ -848,10 +852,6 @@
 								<string key="name">sliderEndedChanging:</string>
 								<string key="candidateClassName">id</string>
 							</object>
-							<object class="IBActionInfo">
-								<string key="name">updatePreview</string>
-								<string key="candidateClassName">id</string>
-							</object>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
--- a/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib	Sat Aug 28 05:35:02 2010 +0200
+++ b/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib	Sun Aug 29 16:55:27 2010 +0200
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
 	<data>
-		<int key="IBDocument.SystemTarget">800</int>
+		<int key="IBDocument.SystemTarget">1024</int>
 		<string key="IBDocument.SystemVersion">10F569</string>
-		<string key="IBDocument.InterfaceBuilderVersion">762</string>
+		<string key="IBDocument.InterfaceBuilderVersion">788</string>
 		<string key="IBDocument.AppKitVersion">1038.29</string>
 		<string key="IBDocument.HIToolboxVersion">461.00</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
-			<string key="NS.object.0">87</string>
+			<string key="NS.object.0">117</string>
 		</object>
 		<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
 			<bool key="EncodedWithXMLCoder">YES</bool>
@@ -203,15 +203,6 @@
 					<int key="connectionID">3</int>
 				</object>
 				<object class="IBConnectionRecord">
-					<object class="IBCocoaTouchEventConnection" key="connection">
-						<string key="label">updatePreview</string>
-						<reference key="source" ref="326163764"/>
-						<reference key="destination" ref="372490531"/>
-						<int key="IBEventType">7</int>
-					</object>
-					<int key="connectionID">12</int>
-				</object>
-				<object class="IBConnectionRecord">
 					<object class="IBCocoaTouchOutletConnection" key="connection">
 						<string key="label">previewButton</string>
 						<reference key="source" ref="372490531"/>
@@ -302,6 +293,15 @@
 					</object>
 					<int key="connectionID">32</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">mapButtonPressed</string>
+						<reference key="source" ref="326163764"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">7</int>
+					</object>
+					<int key="connectionID">33</int>
+				</object>
 			</object>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<object class="NSArray" key="orderedObjects">
@@ -415,7 +415,7 @@
 				</object>
 			</object>
 			<nil key="sourceID"/>
-			<int key="maxID">32</int>
+			<int key="maxID">33</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -427,10 +427,11 @@
 						<bool key="EncodedWithXMLCoder">YES</bool>
 						<object class="NSArray" key="dict.sortedKeys">
 							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>buttonPressed:</string>
+							<string>mapButtonPressed</string>
 							<string>segmentedControlChanged:</string>
 							<string>sliderChanged:</string>
 							<string>sliderEndedChanging:</string>
-							<string>updatePreview</string>
 						</object>
 						<object class="NSMutableArray" key="dict.values">
 							<bool key="EncodedWithXMLCoder">YES</bool>
@@ -438,12 +439,48 @@
 							<string>id</string>
 							<string>id</string>
 							<string>id</string>
+							<string>id</string>
+						</object>
+					</object>
+					<object class="NSMutableDictionary" key="actionInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>buttonPressed:</string>
+							<string>mapButtonPressed</string>
+							<string>segmentedControlChanged:</string>
+							<string>sliderChanged:</string>
+							<string>sliderEndedChanging:</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBActionInfo">
+								<string key="name">buttonPressed:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">mapButtonPressed</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">segmentedControlChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">sliderChanged:</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBActionInfo">
+								<string key="name">sliderEndedChanging:</string>
+								<string key="candidateClassName">id</string>
+							</object>
 						</object>
 					</object>
 					<object class="NSMutableDictionary" key="outlets">
 						<bool key="EncodedWithXMLCoder">YES</bool>
 						<object class="NSArray" key="dict.sortedKeys">
 							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>delegate</string>
 							<string>maxLabel</string>
 							<string>previewButton</string>
 							<string>segmentedControl</string>
@@ -453,6 +490,7 @@
 						</object>
 						<object class="NSMutableArray" key="dict.values">
 							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>id</string>
 							<string>UILabel</string>
 							<string>UIButton</string>
 							<string>UISegmentedControl</string>
@@ -461,6 +499,50 @@
 							<string>UITableView</string>
 						</object>
 					</object>
+					<object class="NSMutableDictionary" key="toOneOutletInfosByName">
+						<bool key="EncodedWithXMLCoder">YES</bool>
+						<object class="NSArray" key="dict.sortedKeys">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<string>delegate</string>
+							<string>maxLabel</string>
+							<string>previewButton</string>
+							<string>segmentedControl</string>
+							<string>sizeLabel</string>
+							<string>slider</string>
+							<string>tableView</string>
+						</object>
+						<object class="NSMutableArray" key="dict.values">
+							<bool key="EncodedWithXMLCoder">YES</bool>
+							<object class="IBToOneOutletInfo">
+								<string key="name">delegate</string>
+								<string key="candidateClassName">id</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">maxLabel</string>
+								<string key="candidateClassName">UILabel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">previewButton</string>
+								<string key="candidateClassName">UIButton</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">segmentedControl</string>
+								<string key="candidateClassName">UISegmentedControl</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">sizeLabel</string>
+								<string key="candidateClassName">UILabel</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">slider</string>
+								<string key="candidateClassName">UISlider</string>
+							</object>
+							<object class="IBToOneOutletInfo">
+								<string key="name">tableView</string>
+								<string key="candidateClassName">UITableView</string>
+							</object>
+						</object>
+					</object>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBProjectSource</string>
 						<string key="minorKey">Classes/MapConfigViewController.h</string>
@@ -508,13 +590,6 @@
 					<string key="className">NSObject</string>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
 					</object>
 				</object>
@@ -522,13 +597,6 @@
 					<string key="className">NSObject</string>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSPort.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
 					</object>
 				</object>
@@ -536,13 +604,6 @@
 					<string key="className">NSObject</string>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSStream.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
 					</object>
 				</object>
@@ -564,13 +625,6 @@
 					<string key="className">NSObject</string>
 					<object class="IBClassDescriptionSource" key="sourceIdentifier">
 						<string key="majorKey">IBFrameworkSource</string>
-						<string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string>
-					</object>
-				</object>
-				<object class="IBPartialClassDescription">
-					<string key="className">NSObject</string>
-					<object class="IBClassDescriptionSource" key="sourceIdentifier">
-						<string key="majorKey">IBFrameworkSource</string>
 						<string key="minorKey">QuartzCore.framework/Headers/CAAnimation.h</string>
 					</object>
 				</object>
@@ -736,15 +790,15 @@
 		<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
-			<integer value="800" key="NS.object.0"/>
+			<integer value="1024" key="NS.object.0"/>
 		</object>
 		<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
 			<integer value="3000" key="NS.object.0"/>
 		</object>
 		<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
-		<string key="IBDocument.LastKnownRelativeProjectPath">../../project_files/HedgewarsMobile/Hedgewars.xcodeproj</string>
+		<string key="IBDocument.LastKnownRelativeProjectPath">../Hedgewars.xcodeproj</string>
 		<int key="IBDocument.defaultPropertyAccessControl">3</int>
-		<string key="IBCocoaTouchPluginVersion">87</string>
+		<string key="IBCocoaTouchPluginVersion">117</string>
 	</data>
 </archive>
Binary file project_files/HedgewarsMobile/Resources/Overlay/joyButton_backjump.png has changed
Binary file project_files/HedgewarsMobile/Resources/Overlay/joyButton_forwardjump.png has changed
Binary file project_files/HedgewarsMobile/Resources/Overlay/joyPush.png has changed
Binary file project_files/HedgewarsMobile/Resources/backSound.wav has changed
Binary file project_files/HedgewarsMobile/Resources/clickSound.wav has changed
Binary file project_files/HedgewarsMobile/Resources/selSound.wav has changed