# HG changeset patch # User koda # Date 1285797046 -7200 # Node ID e7d665a4ef42a4d6c9413de57d1058cf2e576f22 # Parent c0585514644061b84c7c0e0aab0f8beb6f0d4311 implemented endless turns support and added Timeless scheme (also fixed a crasher) new save button from Tiy other minor stuff diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/CommodityFunctions.h --- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.h Wed Sep 29 23:50:46 2010 +0200 @@ -27,7 +27,7 @@ #define DOCUMENTS_FOLDER() [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] #define SETTINGS_FILE() [DOCUMENTS_FOLDER() stringByAppendingString:@"/settings.plist"] -#define DEBUG_FILE() [DOCUMENTS_FOLDER() stringByAppendingString:@"/debug.txt"] +#define DEBUG_FILE() [DOCUMENTS_FOLDER() stringByAppendingString:@"/hw-debug.log"] #define TEAMS_DIRECTORY() [DOCUMENTS_FOLDER() stringByAppendingString:@"/Teams/"] #define WEAPONS_DIRECTORY() [DOCUMENTS_FOLDER() stringByAppendingString:@"/Weapons/"] diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/GameSetup.m --- a/project_files/HedgewarsMobile/Classes/GameSetup.m Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/GameSetup.m Wed Sep 29 23:50:46 2010 +0200 @@ -24,7 +24,6 @@ #import "SDL_net.h" #import "PascalImports.h" #import "CommodityFunctions.h" -#import "NSStringExtra.h" #import "OverlayViewController.h" #define BUFFER_SIZE 255 // like in original frontend @@ -209,7 +208,11 @@ [self sendToEngine:dmgMod]; [dmgMod release]; - NSString *turnTime = [[NSString alloc] initWithFormat:@"e$turntime %d",[[basicArray objectAtIndex:i++] intValue] * 1000]; + // support for endless games + int tentativeTurntime = [[basicArray objectAtIndex:i++] intValue]; + if (tentativeTurntime == 100) + tentativeTurntime = 9999; + NSString *turnTime = [[NSString alloc] initWithFormat:@"e$turntime %d",tentativeTurntime * 1000]; [self sendToEngine:turnTime]; [turnTime release]; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/HelpPageLobbyViewController.xib --- a/project_files/HedgewarsMobile/Classes/HelpPageLobbyViewController.xib Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/HelpPageLobbyViewController.xib Wed Sep 29 23:50:46 2010 +0200 @@ -45,7 +45,7 @@ 292 - {{742, 362}, {240, 102}} + {{742, 389}, {240, 102}} NO NO @@ -58,7 +58,7 @@ 292 - {{753, 381}, {109, 22}} + {{753, 408}, {109, 22}} NO YES @@ -82,7 +82,7 @@ 292 - {{753, 398}, {218, 66}} + {{753, 425}, {218, 66}} NO YES @@ -104,7 +104,7 @@ 292 - {{653, 202}, {240, 109}} + {{653, 202}, {240, 146}} NO NO @@ -114,7 +114,7 @@ 292 - {{664, 218}, {109, 22}} + {{664, 221}, {109, 22}} NO YES @@ -131,14 +131,14 @@ 292 - {{664, 238}, {218, 66}} + {{664, 244}, {218, 99}} NO YES 7 NO IBIPadFramework - Choose between a static map or a randomly generated one (might require more time). + Choose between a static map or a randomly generated one (might require more time). In a mission you need to perfom some action to win. @@ -149,7 +149,7 @@ 292 - {{494, 20}, {240, 105}} + {{494, 20}, {240, 101}} NO NO @@ -197,7 +197,7 @@ 292 - {{393, 389}, {240, 166}} + {{391, 389}, {242, 171}} NO NO @@ -207,7 +207,7 @@ 292 - {{401, 410}, {109, 22}} + {{401, 413}, {109, 22}} NO YES @@ -224,7 +224,7 @@ 292 - {{400, 429}, {232, 120}} + {{400, 434}, {232, 120}} NO YES @@ -290,7 +290,7 @@ 292 - {{164, 8}, {278, 50}} + {{155, 8}, {278, 50}} NO NO @@ -300,7 +300,7 @@ 292 - {{186, 6}, {248, 54}} + {{177, 6}, {248, 54}} NO YES @@ -790,7 +790,7 @@ HelpPageViewController UIResponder UIControl - {{273, 106}, {1024, 768}} + {{273, 125}, {1024, 768}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Wed Sep 29 23:50:46 2010 +0200 @@ -35,7 +35,7 @@ -(void) viewDidLoad { [super viewDidLoad]; - UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"from the scheme panel") + UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"") style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEdit:)]; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m --- a/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/SingleSchemeViewController.m Wed Sep 29 23:50:46 2010 +0200 @@ -105,7 +105,7 @@ [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Damage Modifier",@""),@"title",@"Damage",@"image", [NSNumber numberWithInt:100],@"default",[NSNumber numberWithInt:10],@"min",[NSNumber numberWithInt:300],@"max",nil], [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Turn Time",@""),@"title",@"Time",@"image", - [NSNumber numberWithInt:45],@"default",[NSNumber numberWithInt:1],@"min",[NSNumber numberWithInt:99],@"max",nil], + [NSNumber numberWithInt:45],@"default",[NSNumber numberWithInt:1],@"min",[NSNumber numberWithInt:100],@"max",nil], [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Initial Health",@""),@"title",@"Health",@"image", [NSNumber numberWithInt:100],@"default",[NSNumber numberWithInt:50],@"min",[NSNumber numberWithInt:200],@"max",nil], [NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Sudden Death Timeout",@""),@"title",@"SuddenDeath",@"image", @@ -234,7 +234,6 @@ UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(offset+260, 12, offset+150, 23)]; slider.maximumValue = [[detail objectForKey:@"max"] floatValue]; slider.minimumValue = [[detail objectForKey:@"min"] floatValue]; - slider.tag = SLIDER_TAG+row; [slider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged]; [cell.contentView addSubview:slider]; [slider release]; @@ -254,11 +253,23 @@ UILabel *cellLabel = (UILabel *)[cell.contentView viewWithTag:LABEL_TAG]; cellLabel.text = [[self.basicSettingList objectAtIndex:row] objectForKey:@"title"]; - UISlider *cellSlider = (UISlider *)[cell.contentView viewWithTag:SLIDER_TAG+row]; + // can't use the viewWithTag method because row is dynamic + UISlider *cellSlider = nil; + for (UIView *oneView in cell.contentView.subviews) { + if ([oneView isMemberOfClass:[UISlider class]]) { + cellSlider = (UISlider *)oneView; + break; + } + } + cellSlider.tag = SLIDER_TAG + row; cellSlider.value = [[[self.schemeDictionary objectForKey:@"basic"] objectAtIndex:row] floatValue]; // forced to use this weird format otherwise the label disappears when size of the text is bigger than the original NSString *prestring = [NSString stringWithFormat:@"%d",(NSInteger) cellSlider.value]; + // turntime 100 means unlimited time turns (set in GameSetup) + if (row == 1 && (NSInteger) cellSlider.value == 100) + prestring = @"∞"; + while ([prestring length] <= 4) prestring = [NSString stringWithFormat:@" %@",prestring]; cell.detailTextLabel.text = prestring; @@ -309,7 +320,10 @@ // grab the associated label UILabel *label = (UILabel *)cell.detailTextLabel; // modify it - label.text = [NSString stringWithFormat:@"%d",(NSInteger) theSlider.value]; + if ([indexPath row] == 1 && [indexPath section] == 1 && (NSInteger) theSlider.value == 100) + label.text = @"∞"; + else + label.text = [NSString stringWithFormat:@"%d",(NSInteger) theSlider.value]; // save changes in the main array NSMutableArray *array = [self.schemeDictionary objectForKey:@"basic"]; [array replaceObjectAtIndex:theSlider.tag-SLIDER_TAG withObject:[NSNumber numberWithInt:(NSInteger) theSlider.value]]; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/TeamSettingsViewController.m Wed Sep 29 23:50:46 2010 +0200 @@ -37,7 +37,7 @@ -(void) viewDidLoad { [super viewDidLoad]; - UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"from the team panel") + UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"") style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEdit:)]; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Wed Sep 29 23:50:46 2010 +0200 @@ -35,7 +35,7 @@ -(void) viewDidLoad { [super viewDidLoad]; - UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"from the weapon panel") + UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"") style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEdit:)]; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj --- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Wed Sep 29 23:50:46 2010 +0200 @@ -49,6 +49,7 @@ 61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272338117DF778005B90CF /* MobileCoreServices.framework */; }; 6129B9F711EFB04D0017E305 /* denied.png in Resources */ = {isa = PBXBuildFile; fileRef = 6129B9F611EFB04D0017E305 /* denied.png */; }; 61370653117B1D50004EE44A /* Entitlements-Distribution.plist in Resources */ = {isa = PBXBuildFile; fileRef = 61370652117B1D50004EE44A /* Entitlements-Distribution.plist */; }; + 6147DAD31253DCDE0010357E /* savesButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 6147DAD21253DCDE0010357E /* savesButton.png */; }; 61536DF411CEAE7100D87A7E /* GameConfigViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */; }; 615AD96212073B4D00F2FF04 /* startGameButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 615AD96112073B4D00F2FF04 /* startGameButton.png */; }; 615AD9E9120764CA00F2FF04 /* backButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 615AD9E8120764CA00F2FF04 /* backButton.png */; }; @@ -125,7 +126,6 @@ 61798A14114AB65C00BA94A9 /* libSDL_ttf.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798A13114AB65600BA94A9 /* libSDL_ttf.a */; }; 61799289114AE08700BA94A9 /* Data in Resources */ = {isa = PBXBuildFile; fileRef = 61798A5E114AE08600BA94A9 /* Data */; }; 6183D83E11E2BCE200A88903 /* LI-ipad-Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 6183D83C11E2BCE200A88903 /* LI-ipad-Landscape.png */; }; - 6183D83F11E2BCE200A88903 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 6183D83D11E2BCE200A88903 /* Default.png */; }; 61842B24122B619D0096E335 /* HelpPageInGameViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61842B23122B619D0096E335 /* HelpPageInGameViewController.xib */; }; 61842B3E122B65BD0096E335 /* helpabove.png in Resources */ = {isa = PBXBuildFile; fileRef = 61842B3D122B65BD0096E335 /* helpabove.png */; }; 61842B40122B66280096E335 /* helpleft.png in Resources */ = {isa = PBXBuildFile; fileRef = 61842B3F122B66280096E335 /* helpleft.png */; }; @@ -159,14 +159,11 @@ 61F7A43811E290650040BA66 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43111E290650040BA66 /* Icon-72.png */; }; 61F7A43911E290650040BA66 /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43211E290650040BA66 /* Icon-Small-50.png */; }; 61F7A43A11E290650040BA66 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43311E290650040BA66 /* Icon-Small.png */; }; - 61F7A43B11E290650040BA66 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43411E290650040BA66 /* Icon-Small@2x.png */; }; 61F7A43C11E290650040BA66 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43511E290650040BA66 /* Icon.png */; }; - 61F7A43D11E290650040BA66 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43611E290650040BA66 /* Icon@2x.png */; }; 61F7A43E11E290650040BA66 /* iTunesArtwork.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F7A43711E290650040BA66 /* iTunesArtwork.png */; }; 61F9040911DF58B00068B24D /* settingsButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F9040811DF58B00068B24D /* settingsButton.png */; }; 61F9040B11DF59370068B24D /* background.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F9040A11DF59370068B24D /* background.png */; }; 61F9040E11DF59D10068B24D /* localplayButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F9040C11DF59D10068B24D /* localplayButton.png */; }; - 61F9040F11DF59D10068B24D /* netplayButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F9040D11DF59D10068B24D /* netplayButton.png */; }; 61F9043A11DF64E20068B24D /* bluebox.png in Resources */ = {isa = PBXBuildFile; fileRef = 61F9043911DF64E20068B24D /* bluebox.png */; }; 61F904D711DF7DA30068B24D /* WeaponCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F904D611DF7DA30068B24D /* WeaponCellView.m */; }; 922F64900F10F53100DC6EC0 /* libfpc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 928301170F10CAFC00CC5A3C /* libfpc.a */; }; @@ -747,6 +744,7 @@ 61272338117DF778005B90CF /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 6129B9F611EFB04D0017E305 /* denied.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = denied.png; path = Resources/denied.png; sourceTree = ""; }; 61370652117B1D50004EE44A /* Entitlements-Distribution.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Entitlements-Distribution.plist"; sourceTree = ""; }; + 6147DAD21253DCDE0010357E /* savesButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = savesButton.png; path = Resources/savesButton.png; sourceTree = ""; }; 614E333D11DE9A93009DBA4E /* VGSHandlers.inc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = VGSHandlers.inc; path = ../../hedgewars/VGSHandlers.inc; sourceTree = SOURCE_ROOT; }; 615AD96112073B4D00F2FF04 /* startGameButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = startGameButton.png; path = "Resources/Frontend-iPad/startGameButton.png"; sourceTree = ""; }; 615AD9E8120764CA00F2FF04 /* backButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = backButton.png; path = "Resources/Frontend-iPad/backButton.png"; sourceTree = ""; }; @@ -1020,6 +1018,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + 6147DAD21253DCDE0010357E /* savesButton.png */, 6199E86C12464A8E00DADF8C /* surpise.png */, 611EEBC0122B34A800DF6938 /* helpingame.png */, 611EEC30122B54D700DF6938 /* helpplain.png */, @@ -2082,19 +2081,15 @@ 61F9040911DF58B00068B24D /* settingsButton.png in Resources */, 61F9040B11DF59370068B24D /* background.png in Resources */, 61F9040E11DF59D10068B24D /* localplayButton.png in Resources */, - 61F9040F11DF59D10068B24D /* netplayButton.png in Resources */, 61F9043A11DF64E20068B24D /* bluebox.png in Resources */, 61EBA62A11DFF2BC0048B68A /* title.png in Resources */, 61EBA62D11DFF3310048B68A /* backgroundAndTitle.png in Resources */, 61F7A43811E290650040BA66 /* Icon-72.png in Resources */, 61F7A43911E290650040BA66 /* Icon-Small-50.png in Resources */, 61F7A43A11E290650040BA66 /* Icon-Small.png in Resources */, - 61F7A43B11E290650040BA66 /* Icon-Small@2x.png in Resources */, 61F7A43C11E290650040BA66 /* Icon.png in Resources */, - 61F7A43D11E290650040BA66 /* Icon@2x.png in Resources */, 61F7A43E11E290650040BA66 /* iTunesArtwork.png in Resources */, 6183D83E11E2BCE200A88903 /* LI-ipad-Landscape.png in Resources */, - 6183D83F11E2BCE200A88903 /* Default.png in Resources */, 6129B9F711EFB04D0017E305 /* denied.png in Resources */, 611E0EE711FB20610077A41E /* ammoButton.png in Resources */, 611E0EE811FB20610077A41E /* cornerButton.png in Resources */, @@ -2122,6 +2117,7 @@ 611D9BFC12497E9800008271 /* SavedGamesViewController.xib in Resources */, 611DA031124E2BC500008271 /* background_med.png in Resources */, 611DA1D0124E5C6300008271 /* plus.png in Resources */, + 6147DAD31253DCDE0010357E /* savesButton.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib --- a/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib Wed Sep 29 16:16:25 2010 -0400 +++ b/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib Wed Sep 29 23:50:46 2010 +0200 @@ -12,6 +12,7 @@ YES + YES @@ -46,7 +47,6 @@ 274 {1024, 768} - NO IBIPadFramework @@ -59,7 +59,6 @@ 292 {{383, 427}, {263, 244}} - NO IBIPadFramework 0 @@ -96,7 +95,6 @@ -2147483356 {{611, 417}, {263, 244}} - NO 1 IBIPadFramework @@ -124,7 +122,6 @@ 292 {{788, 300}, {18, 19}} - NO 0.31690141558647156 3 @@ -146,7 +143,6 @@ 292 {{376, 345}, {271, 21}} - NO YES 7 @@ -175,7 +171,6 @@ 292 {{932, 686}, {72, 62}} - NO 2 IBIPadFramework @@ -188,7 +183,7 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + NSImage settingsButton.png @@ -198,7 +193,6 @@ 292 {{20, 686}, {72, 62}} - NO 4 IBIPadFramework @@ -211,12 +205,14 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + + NSImage + savesButton.png + {1024, 768} - 1 MCAwIDAAA @@ -682,6 +678,7 @@ backgroundAndTitle.png localplayButton.png netplayButton.png + savesButton.png settingsButton.png @@ -690,6 +687,7 @@ {263, 244} {263, 244} {61, 59} + {61, 59} 117 diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Resources/Settings/Schemes/Timeless.plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project_files/HedgewarsMobile/Resources/Settings/Schemes/Timeless.plist Wed Sep 29 23:50:46 2010 +0200 @@ -0,0 +1,39 @@ + + + + + basic + + 100 + 100 + 100 + 15 + 5 + 3 + 4 + 0 + 2 + + gamemod + + + + + + + + + + + + + + + + + + + + + + diff -r c05855146440 -r e7d665a4ef42 project_files/HedgewarsMobile/Resources/savesButton.png Binary file project_files/HedgewarsMobile/Resources/savesButton.png has changed