# HG changeset patch # User koda # Date 1277153152 -7200 # Node ID 04e2fea3e83a743163681cba932b51c73da1a8df # Parent c4e0ef1641621cd8a45f943d0d597eba0f83b0e3# Parent 66c403badff61d9a08f6e90291004af6240ba6c2 merge+smallupdate diff -r 66c403badff6 -r 04e2fea3e83a CMakeLists.txt --- a/CMakeLists.txt Mon Jun 21 21:41:14 2010 +0400 +++ b/CMakeLists.txt Mon Jun 21 22:45:52 2010 +0200 @@ -182,6 +182,7 @@ set(HAVE_NETSERVER false) endif(WITH_SERVER) +add_subdirectory(misc/liblua) add_subdirectory(hedgewars) add_subdirectory(misc/libopenalbridge) if(NOT BUILD_ENGINE_LIBRARY) @@ -189,7 +190,6 @@ add_subdirectory(QTfrontend) add_subdirectory(share) add_subdirectory(tools) - add_subdirectory(misc/liblua) endif() # CPack vars @@ -245,21 +245,21 @@ "hwconsts.cpp$" "playlist.inc$" "CPack" - "^${PROJECT_SOURCE_DIR}/misc/openalbridge" - "^${PROJECT_SOURCE_DIR}/cocoaTouch" - "^${PROJECT_SOURCE_DIR}/bin/[a-z]" - "^${PROJECT_SOURCE_DIR}/tools/templates" - "^${PROJECT_SOURCE_DIR}/doc" - "^${PROJECT_SOURCE_DIR}/templates" - "^${PROJECT_SOURCE_DIR}/Graphics" - "^${PROJECT_SOURCE_DIR}/realtest" - "^${PROJECT_SOURCE_DIR}/tmp" - "^${PROJECT_SOURCE_DIR}/utils" - "^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" - "^${PROJECT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" - "^${PROJECT_SOURCE_DIR}/install_manifest.txt" - "^${PROJECT_SOURCE_DIR}/CMakeCache.txt" - "^${PROJECT_SOURCE_DIR}/hedgewars\\\\." +# "^${CMAKE_CURRENT_SOURCE_DIR}/misc/libopenalbridge" + "^${CMAKE_CURRENT_SOURCE_DIR}/project_files/HedgewarsMobile/" + "^${CMAKE_CURRENT_SOURCE_DIR}/bin/[a-z]" + "^${CMAKE_CURRENT_SOURCE_DIR}/tools/templates" + "^${CMAKE_CURRENT_SOURCE_DIR}/doc" + "^${CMAKE_CURRENT_SOURCE_DIR}/templates" + "^${CMAKE_CURRENT_SOURCE_DIR}/Graphics" + "^${CMAKE_CURRENT_SOURCE_DIR}/realtest" + "^${CMAKE_CURRENT_SOURCE_DIR}/tmp" + "^${CMAKE_CURRENT_SOURCE_DIR}/utils" + "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Maps/test" + "^${CMAKE_CURRENT_SOURCE_DIR}/share/hedgewars/Data/Themes/ethereal" + "^${CMAKE_CURRENT_SOURCE_DIR}/install_manifest.txt" + "^${CMAKE_CURRENT_SOURCE_DIR}/CMakeCache.txt" + "^${CMAKE_CURRENT_SOURCE_DIR}/hedgewars\\\\." ) include(CPack) diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/CCHandlers.inc Mon Jun 21 22:45:52 2010 +0200 @@ -730,6 +730,7 @@ AddFileLog('Freeing old primary surface...'); {$ENDIF} SDL_FreeSurface(SDLPrimSurface); + SDLPrimSurface:= nil; end; {$IFDEF SDL13} @@ -802,30 +803,26 @@ procedure chZoomIn(var s: shortstring); begin -s:= s; // avoid compiler hint + s:= s; // avoid compiler hint {$IFDEF IPHONEOS} -if ZoomValue < 3.5 then + if ZoomValue < 4.0 then {$ELSE} -if ZoomValue < 3.0 then + if ZoomValue < 3.0 then {$ENDIF} - ZoomValue:= ZoomValue + 0.25; + ZoomValue:= ZoomValue + 0.20; end; procedure chZoomOut(var s: shortstring); begin -s:= s; // avoid compiler hint -{$IFDEF IPHONEOS} -if ZoomValue > 0.5 then -{$ELSE} -if ZoomValue > 1.0 then -{$ENDIF} - ZoomValue:= ZoomValue - 0.25; + s:= s; // avoid compiler hint + if ZoomValue > 1.0 then + ZoomValue:= ZoomValue - 0.20; end; procedure chZoomReset(var s: shortstring); begin -s:= s; // avoid compiler hint -ZoomValue:= 2.0 + s:= s; // avoid compiler hint + ZoomValue:= cDefaultZoomLevel; end; procedure chChat(var s: shortstring); diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/PascalExports.pas --- a/hedgewars/PascalExports.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/PascalExports.pas Mon Jun 21 22:45:52 2010 +0200 @@ -35,12 +35,14 @@ procedure HW_zoomIn; cdecl; export; begin - wheelUp:= true; + if wheelDown = false then + wheelUp:= true; end; procedure HW_zoomOut; cdecl; export; begin - wheelDown:= true; + if wheelUp = false then + wheelDown:= true; end; procedure HW_zoomReset; cdecl; export; diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/hwengine.pas Mon Jun 21 22:45:52 2010 +0200 @@ -75,13 +75,13 @@ {$IFDEF HWLIBRARY} type arrayofpchar = array[0..8] of PChar; -procedure initEverything; -procedure freeEverything; +procedure initEverything(complete:boolean); +procedure freeEverything(complete:boolean); implementation {$ELSE} procedure OnDestroy; forward; -procedure freeEverything; forward; +procedure freeEverything(complete:boolean); forward; {$ENDIF} //////////////////////////////// @@ -140,9 +140,10 @@ end; end; - SDL_GL_SwapBuffers(); {$IFDEF SDL13} SDL_RenderPresent(); +{$ELSE} + SDL_GL_SwapBuffers(); {$ENDIF} {$IFNDEF IPHONEOS} // not going to make captures on the iPhone @@ -183,8 +184,7 @@ PrevTime:= SDL_GetTicks; while isTerminated = false do begin -{$IFNDEF IPHONEOS} -// have to remove this cycle because otherwise it segfaults at exit + while SDL_PollEvent(@event) <> 0 do begin case event.type_ of @@ -210,7 +210,6 @@ SDL_QUITEV: isTerminated:= true end; // end case event.type_ end; // end while SDL_PollEvent(@event) <> 0 -{$ENDIF} if isTerminated = false then begin @@ -244,7 +243,7 @@ s: shortstring; begin {$IFDEF HWLIBRARY} - initEverything(); + initEverything(true); cBits:= 32; cFullScreen:= false; @@ -332,81 +331,88 @@ MainLoop(); OnDestroy(); -{$IFDEF HWLIBRARY}freeEverything();{$ENDIF} +{$IFDEF HWLIBRARY}freeEverything(true);{$ENDIF} if alsoShutdownFrontend then halt; end; -procedure initEverything; +procedure initEverything (complete:boolean); begin Randomize(); uConsts.initModule; uMisc.initModule; uConsole.initModule; // MUST happen after uMisc - - uAI.initModule; - //uAIActions does not need initialization - //uAIAmmoTests does not need initialization - uAIMisc.initModule; - uAmmos.initModule; - uChat.initModule; - uCollisions.initModule; - //uFloat does not need initialization - //uGame does not need initialization - uGears.initModule; - uIO.initModule; - uKeys.initModule; + uLand.initModule; - //uLandGraphics does not need initialization - //uLandObjects does not need initialization - //uLandTemplates does not need initialization - //uLandTexture does not need initialization - //uLocale does not need initialization - uRandom.initModule; - //uSHA is initialized internally - uSound.initModule; - uStats.initModule; - uStore.initModule; - uTeams.initModule; - uVisualGears.initModule; - uWorld.initModule; - uScript.initModule; + uIO.initModule; + + if complete then + begin + uAI.initModule; + //uAIActions does not need initialization + //uAIAmmoTests does not need initialization + uAIMisc.initModule; + uAmmos.initModule; + uChat.initModule; + uCollisions.initModule; + //uFloat does not need initialization + //uGame does not need initialization + uGears.initModule; + uKeys.initModule; + //uLandGraphics does not need initialization + //uLandObjects does not need initialization + //uLandTemplates does not need initialization + //uLandTexture does not need initialization + //uLocale does not need initialization + uRandom.initModule; + //uSHA is initialized internally + uScript.initModule; + uSound.initModule; + uStats.initModule; + uStore.initModule; + uTeams.initModule; + uVisualGears.initModule; + uWorld.initModule; + end; end; -procedure freeEverything; +procedure freeEverything (complete:boolean); begin - uWorld.freeModule; - uVisualGears.freeModule; //stub - uTeams.freeModule; - uStore.freeModule; //stub - uStats.freeModule; //stub - uSound.freeModule; //stub - //uSHA does not need to be freed - uRandom.freeModule; //stub - //uLocale does not need to be freed - //uLandTemplates does not need to be freed - //uLandTexture does not need to be freed - //uLandObjects does not need to be freed - //uLandGraphics does not need to be freed + if complete then + begin + uWorld.freeModule; + uVisualGears.freeModule; //stub + uTeams.freeModule; + uStore.freeModule; //stub + uStats.freeModule; //stub + uSound.freeModule; //stub + uScript.freeModule; + //uSHA does not need to be freed + uRandom.freeModule; //stub + //uLocale does not need to be freed + //uLandTemplates does not need to be freed + //uLandTexture does not need to be freed + //uLandObjects does not need to be freed + //uLandGraphics does not need to be freed + uKeys.freeModule; //stub + uGears.freeModule; + //uGame does not need to be freed + //uFloat does not need to be freed + uCollisions.freeModule; //stub + uChat.freeModule; //stub + uAmmos.freeModule; + uAIMisc.freeModule; //stub + //uAIAmmoTests does not need to be freed + //uAIActions does not need to be freed + uAI.freeModule; //stub + end; + + uIO.freeModule; //stub uLand.freeModule; - uKeys.freeModule; //stub - uIO.freeModule; //stub - uGears.freeModule; - //uGame does not need to be freed - //uFloat does not need to be freed - uCollisions.freeModule; //stub - uChat.freeModule; //stub - uAmmos.freeModule; - uAIMisc.freeModule; //stub - //uAIAmmoTests does not need to be freed - //uAIActions does not need to be freed - uAI.freeModule; //stub uConsole.freeModule; + uMisc.freeModule; // uMisc closes the debug log. uConsts.freeModule; //stub - uScript.freeModule; - // uMisc closes the debug log. - uMisc.freeModule; end; ///////////////////////// @@ -414,7 +420,7 @@ var Preview: TPreview; begin {$IFDEF IPHONEOS} - initEverything(); + initEverything(false); WriteLnToConsole('Preview connecting on port ' + inttostr(port)); ipcPort:= port; {$ENDIF} @@ -429,7 +435,7 @@ WriteLnToConsole('Preview sent, disconnect'); CloseIPC(); {$IFDEF IPHONEOS} - freeEverything(); + freeEverything(false); {$ENDIF} end; @@ -597,7 +603,7 @@ /////////////////////////////// m a i n //////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// begin - initEverything(); + initEverything(true); WriteLnToConsole('Hedgewars ' + cVersionString + ' engine (network protocol: ' + inttostr(cNetProtoVersion) + ')'); GetParams(); @@ -606,7 +612,7 @@ else if GameType = gmtSyntax then DisplayUsage() else Game(); - freeEverything(); + freeEverything(true); if GameType = gmtSyntax then ExitCode:= 1 else diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/uConsts.pas Mon Jun 21 22:45:52 2010 +0200 @@ -304,8 +304,10 @@ {$IFDEF IPHONEOS} cMaxCaptions = 3; + cDefaultZoomLevel = 1.5; {$ELSE} cMaxCaptions = 4; + cDefaultZoomLevel = 2.0; {$ENDIF} cSendEmptyPacketTime = 1000; diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/uKeys.pas --- a/hedgewars/uKeys.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/uKeys.pas Mon Jun 21 22:45:52 2010 +0200 @@ -79,8 +79,6 @@ chatAction: boolean; pauseAction: boolean; switchAction: boolean; - - theJoystick: PSDL_Joystick; cursorUp: boolean; cursorDown: boolean; @@ -373,11 +371,10 @@ {$IFDEF IPHONEOS} procedure setiPhoneBinds; -// set to false the keys that only need one stoke begin - tkbdn[1]:= ord(leftClick); - tkbdn[2]:= ord(middleClick); - tkbdn[3]:= ord(rightClick); + tkbdn[ 1]:= ord(leftClick); + tkbdn[ 2]:= ord(middleClick); + tkbdn[ 3]:= ord(rightClick); tkbdn[23]:= ord(upKey); tkbdn[24]:= ord(downKey); @@ -398,6 +395,7 @@ tkbdn[68]:= ord(cursorLeft); tkbdn[69]:= ord(cursorRight); + // set to false the keys that only need one stoke leftClick:= false; middleClick:= false; rightClick:= false; @@ -478,9 +476,6 @@ end else WriteLnToConsole('Not using any game controller'); -{$IFDEF IPHONEOS} -theJoystick:= Controller[0]; -{$ENDIF} end; procedure ControllerClose; diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/uStore.pas --- a/hedgewars/uStore.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/uStore.pas Mon Jun 21 22:45:52 2010 +0200 @@ -1265,19 +1265,13 @@ end; procedure SetScale(f: GLfloat); -var -{$IFDEF IPHONEOS} -scale: GLfloat = 1.5; -{$ELSE} -scale: GLfloat = 2.0; -{$ENDIF} begin // leave immediately if scale factor did not change if f = cScaleFactor then exit; - if f = scale then - glPopMatrix // "return" to default scaling - else // other scaling + if f = cDefaultZoomLevel then + glPopMatrix // "return" to default scaling + else // other scaling begin glPushMatrix; // save default scaling glLoadIdentity; @@ -1328,11 +1322,16 @@ end; - +{$IFDEF IPHONEOS} +procedure spinningWheelDone; cdecl; external; +{$ENDIF} procedure FinishProgress; begin WriteLnToConsole('Freeing progress surface... '); FreeTexture(ProgrTex); +{$IFDEF IPHONEOS} + spinningWheelDone(); +{$ENDIF} end; procedure flipSurface(Surface: PSDL_Surface; Vertical: Boolean); diff -r 66c403badff6 -r 04e2fea3e83a hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Mon Jun 21 21:41:14 2010 +0400 +++ b/hedgewars/uWorld.pas Mon Jun 21 22:45:52 2010 +0200 @@ -531,20 +531,22 @@ s: string[15]; highlight: Boolean; offset, offsetX, offsetY, ScreenBottom: LongInt; - scale: GLfloat; VertexBuffer: array [0..3] of TVertex2f; begin -if not isPaused then + if not isPaused then begin - if ZoomValue < zoom then + if ZoomValue < zoom then begin - zoom:= zoom - 0.002 * Lag; - if ZoomValue > zoom then zoom:= ZoomValue - end else - if ZoomValue > zoom then + zoom:= zoom - 0.002 * Lag; + if ZoomValue > zoom then + zoom:= ZoomValue + end + else + if ZoomValue > zoom then begin - zoom:= zoom + 0.002 * Lag; - if ZoomValue < zoom then zoom:= ZoomValue + zoom:= zoom + 0.002 * Lag; + if ZoomValue < zoom then + zoom:= ZoomValue end end else @@ -648,12 +650,8 @@ end; {$WARNINGS ON} -{$IFDEF IPHONEOS} -scale:= 1.5; -{$ELSE} -scale:= 2.0; -{$ENDIF} -SetScale(scale); +// this scale is used to keep the various widgets at the same dimension at all zoom levels +SetScale(cDefaultZoomLevel); // Turn time diff -r 66c403badff6 -r 04e2fea3e83a misc/libopenalbridge/openalbridge.h --- a/misc/libopenalbridge/openalbridge.h Mon Jun 21 21:41:14 2010 +0400 +++ b/misc/libopenalbridge/openalbridge.h Mon Jun 21 22:45:52 2010 +0200 @@ -38,7 +38,9 @@ // load an audio file into memory and map it to abuffer int openal_loadfile (const char *filename); - + // unloads data from memory and marks a free spot + int openal_unloadfile (unsigned int index) + /******* other functions continue in commands.h *******/ #ifdef __CPLUSPLUS diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/GameConfigViewController.h --- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.h Mon Jun 21 22:45:52 2010 +0200 @@ -21,6 +21,6 @@ -(IBAction) buttonPressed:(id) sender; -(IBAction) segmentPressed:(id) sender; --(void) startGame; +-(void) startGame:(UIButton *)button; @end diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/GameConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -28,8 +28,9 @@ [[self parentViewController] dismissModalViewControllerAnimated:YES]; break; case 1: - [self performSelector:@selector(startGame) - withObject:nil + theButton.enabled = NO; + [self performSelector:@selector(startGame:) + withObject:theButton afterDelay:0.25]; break; default: @@ -68,7 +69,9 @@ [self.view addSubview:activeController.view]; } --(void) startGame { +-(void) startGame:(UIButton *)button { + button.enabled = YES; + // don't start playing if the preview is in progress if ([mapConfigViewController busy]) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Wait for the Preview",@"") @@ -128,6 +131,9 @@ } -(void) viewDidLoad { + CGRect screen = [[UIScreen mainScreen] bounds]; + self.view.frame = CGRectMake(0, 0, screen.size.height, screen.size.width); + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { if (mapConfigViewController == nil) mapConfigViewController = [[MapConfigViewController alloc] initWithNibName:@"MapConfigViewController-iPad" bundle:nil]; @@ -141,6 +147,12 @@ schemeWeaponConfigViewController.view.frame = CGRectMake(362, 224, 300, 500); schemeWeaponConfigViewController.view.backgroundColor = [UIColor clearColor]; [mapConfigViewController.view addSubview:schemeWeaponConfigViewController.view]; + for (UIView *oneView in self.view.subviews) { + if ([oneView isMemberOfClass:[UIToolbar class]]) { + [[oneView viewWithTag:12345] setHidden:YES]; + break; + } + } } else mapConfigViewController = [[MapConfigViewController alloc] initWithNibName:@"MapConfigViewController-iPhone" bundle:nil]; activeController = mapConfigViewController; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/GameSetup.m --- a/project_files/HedgewarsMobile/Classes/GameSetup.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/GameSetup.m Mon Jun 21 22:45:52 2010 +0200 @@ -102,14 +102,9 @@ // unpacks ammostore data from the selected ammo.plist to a sequence of engine commands -(void) provideAmmoData:(NSString *)ammostoreName forPlayingTeams:(NSInteger) numberOfTeams { - - //NSDictionary *ammoData = [[NSDictionary alloc] initWithContentsOfFile:ammoDataFile]; - NSDictionary *ammoData = [[NSDictionary alloc] initWithObjectsAndKeys: - @"9391929422199121032235111001201000000211190911",@"ammostore_initialqt", - @"0405040541600655546554464776576666666155501000",@"ammostore_probability", - @"0000000000000205500000040007004000000000200000",@"ammostore_delay", - @"1311110312111111123114111111111111111211101111",@"ammostore_crate", nil]; - + NSString *weaponPath = [[NSString alloc] initWithFormat:@"%@/%@",WEAPONS_DIRECTORY(),ammostoreName]; + NSDictionary *ammoData = [[NSDictionary alloc] initWithContentsOfFile:weaponPath]; + [weaponPath release]; NSString *ammloadt = [[NSString alloc] initWithFormat:@"eammloadt %@", [ammoData objectForKey:@"ammostore_initialqt"]]; [self sendToEngine: ammloadt]; @@ -250,23 +245,23 @@ serverQuit = NO; if (SDLNet_Init() < 0) { - NSLog(@"SDLNet_Init: %s", SDLNet_GetError()); + DLog(@"SDLNet_Init: %s", SDLNet_GetError()); serverQuit = YES; } // Resolving the host using NULL make network interface to listen if (SDLNet_ResolveHost(&ip, NULL, ipcPort) < 0) { - NSLog(@"SDLNet_ResolveHost: %s\n", SDLNet_GetError()); + DLog(@"SDLNet_ResolveHost: %s\n", SDLNet_GetError()); serverQuit = YES; } // Open a connection with the IP provided (listen on the host's port) if (!(sd = SDLNet_TCP_Open(&ip))) { - NSLog(@"SDLNet_TCP_Open: %s %\n", SDLNet_GetError(), ipcPort); + DLog(@"SDLNet_TCP_Open: %s %\n", SDLNet_GetError(), ipcPort); serverQuit = YES; } - NSLog(@"engineProtocol - Waiting for a client on port %d", ipcPort); + DLog(@"Waiting for a client on port %d", ipcPort); while (!serverQuit) { // This check the sd if there is a pending connection. // If there is one, accept that, and open a new socket for communicating @@ -274,17 +269,17 @@ if (NULL != csd) { // Now we can communicate with the client using csd socket // sd will remain opened waiting other connections - NSLog(@"engineProtocol - Client found"); + DLog(@"client found"); //first byte of the command alwayas contain the size of the command SDLNet_TCP_Recv(csd, &msgSize, sizeof(uint8_t)); SDLNet_TCP_Recv(csd, buffer, msgSize); gameTicks = SDLNet_Read16 (&buffer[msgSize - 2]); - //NSLog(@"engineProtocol - %d: received [%s]", gameTicks, buffer); + //DLog(@"engineProtocol - %d: received [%s]", gameTicks, buffer); if ('C' == buffer[0]) { - NSLog(@"engineProtocol - sending game config"); + DLog(@"sending game config"); // local game [self sendToEngine:@"TL"]; @@ -311,11 +306,11 @@ ofColor:[teamData objectForKey:@"color"]]; } - [self provideAmmoData:nil forPlayingTeams:[teamsConfig count]]; + [self provideAmmoData:@"Default.plist" forPlayingTeams:[teamsConfig count]]; clientQuit = NO; } else { - NSLog(@"engineProtocolThread - wrong message or client closed connection"); + DLog(@"wrong message or client closed connection"); clientQuit = YES; } @@ -329,15 +324,15 @@ clientQuit = YES; gameTicks = SDLNet_Read16(&buffer[msgSize - 2]); - //NSLog(@"engineProtocolThread - %d: received [%s]", gameTicks, buffer); + //DLog(@"engineProtocolThread - %d: received [%s]", gameTicks, buffer); switch (buffer[0]) { case '?': - NSLog(@"Ping? Pong!"); + DLog(@"Ping? Pong!"); [self sendToEngine:@"!"]; break; case 'E': - NSLog(@"ERROR - last console line: [%s]", buffer); + DLog(@"ERROR - last console line: [%s]", buffer); clientQuit = YES; break; case 'e': @@ -347,9 +342,9 @@ HW_versionInfo(&netProto, &versionStr); if (netProto == eProto) { - NSLog(@"Setting protocol version %d (%s)", eProto, versionStr); + DLog(@"Setting protocol version %d (%s)", eProto, versionStr); } else { - NSLog(@"ERROR - wrong protocol number: [%s] - expecting %d", buffer, eProto); + DLog(@"ERROR - wrong protocol number: [%s] - expecting %d", buffer, eProto); clientQuit = YES; } @@ -360,7 +355,7 @@ NSLog(@"Winning team: %s", &buffer[2]); break; case 'k': - NSLog(@"Best Hedgehog: %s", &buffer[2]); + NSLog(@"Best Hedgehog: %s", &buffer[2]); break; } break; @@ -370,7 +365,7 @@ // missing case for exiting right away } } - NSLog(@"Engine exited, closing server"); + DLog(@"Engine exited, closing server"); // wait a little to let the client close cleanly [NSThread sleepForTimeInterval:2]; // Close the client socket diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/MainMenuViewController.m --- a/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/MainMenuViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -71,10 +71,10 @@ [alert addSubview:indicator]; [indicator release]; - // create a team + // create default files (teams/weapons/scheme) createTeamNamed(@"Pirates"); createTeamNamed(@"Ninjas"); - + createWeaponNamed(@"Default"); createSchemeNamed(@"Default"); // create settings.plist @@ -101,18 +101,13 @@ -(IBAction) switchViews:(id) sender { UIButton *button = (UIButton *)sender; UIAlertView *alert; - NSString *debugStr, *configNibName; + NSString *debugStr; switch (button.tag) { case 0: - // bug in UIModalTransitionStylePartialCurl, displays the controller awkwardly if it is not allocated every time - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) - configNibName = @"GameConfigViewController-iPad"; - else - configNibName = @"GameConfigViewController-iPhone"; - - gameConfigViewController = [[GameConfigViewController alloc] initWithNibName:configNibName bundle:nil]; + gameConfigViewController = [[GameConfigViewController alloc] initWithNibName:@"GameConfigViewController" bundle:nil]; #ifdef __IPHONE_3_2 + // bug in UIModalTransitionStylePartialCurl, displays the controller awkwardly if it is not allocated every time if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) gameConfigViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl; #endif diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/MapConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -118,9 +118,11 @@ CGImageRef previewCGImage = CGBitmapContextCreateImage(bitmapImage); UIImage *previewImage = [[UIImage alloc] initWithCGImage:previewCGImage]; CGImageRelease(previewCGImage); + previewCGImage = nil; // set the preview image (autoreleased) in the button and the maxhog label on the main thread to prevent a leak - [self performSelectorOnMainThread:@selector(setButtonImage:) withObject:[[previewImage retain] makeRoundCornersOfSize:CGSizeMake(12, 12)] waitUntilDone:NO]; + [self performSelectorOnMainThread:@selector(setButtonImage:) withObject:[previewImage makeRoundCornersOfSize:CGSizeMake(12, 12)] waitUntilDone:NO]; + [previewImage release]; [self performSelectorOnMainThread:@selector(setLabelText:) withObject:[NSString stringWithFormat:@"%d", maxHogs] waitUntilDone:NO]; // restore functionality of button and remove the spinning wheel on the main thread to prevent a leak @@ -194,7 +196,8 @@ UIImage *image = [[UIImage alloc] initWithContentsOfFile:fileImage]; [fileImage release]; [self.previewButton setImage:[image makeRoundCornersOfSize:CGSizeMake(12, 12)] forState:UIControlStateNormal]; - + [image release]; + // update label maxHogs = 18; NSString *fileCfg = [[NSString alloc] initWithFormat:@"%@/%@/map.cfg", MAPS_DIRECTORY(),[self.mapArray objectAtIndex:index]]; @@ -255,7 +258,7 @@ UIGraphicsPopContext(); UIImage *bkgImg = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); - [self.previewButton setBackgroundImage:[[bkgImg retain] makeRoundCornersOfSize:CGSizeMake(12, 12)] forState:UIControlStateNormal]; + [self.previewButton setBackgroundImage:[bkgImg makeRoundCornersOfSize:CGSizeMake(12, 12)] forState:UIControlStateNormal]; } #pragma mark - diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/OverlayViewController.h --- a/project_files/HedgewarsMobile/Classes/OverlayViewController.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.h Mon Jun 21 22:45:52 2010 +0200 @@ -24,11 +24,16 @@ CGFloat initialDistanceForPinching; CGPoint gestureStartPoint; + UIActivityIndicatorView *spinningWheel; } @property (nonatomic,retain) id popoverController; @property (nonatomic,retain) PopoverMenuViewController *popupMenu; @property (nonatomic,retain) UITextField *writeChatTextField; +@property (nonatomic,retain) IBOutlet UIActivityIndicatorView *spinningWheel; + +UIActivityIndicatorView *singleton; +BOOL canDim; -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; -(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/OverlayViewController.m --- a/project_files/HedgewarsMobile/Classes/OverlayViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -20,8 +20,7 @@ @implementation OverlayViewController -@synthesize popoverController, popupMenu, writeChatTextField; - +@synthesize popoverController, popupMenu, writeChatTextField, spinningWheel; -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation { return rotationManager(interfaceOrientation); @@ -75,7 +74,6 @@ } break; default: - DLog(@"Unknown rotation status"); break; } self.view.frame = usefulRect; @@ -108,8 +106,12 @@ [dimTimer setFireDate:HIDING_TIME_DEFAULT]; } +#pragma mark - +#pragma mark View Management -(void) viewDidLoad { isPopoverVisible = NO; + singleton = self.spinningWheel; + canDim = NO; self.view.alpha = 0; self.view.center = CGPointMake(self.view.frame.size.height/2.0, self.view.frame.size.width/2.0); @@ -147,6 +149,7 @@ self.writeChatTextField = nil; self.popoverController = nil; self.popupMenu = nil; + self.spinningWheel = nil; [super viewDidUnload]; MSG_DIDUNLOAD(); } @@ -157,9 +160,12 @@ [popupMenu release]; [popoverController release]; // dimTimer is autoreleased + [spinningWheel release]; [super dealloc]; } +#pragma mark - +#pragma mark Overlay actions and members // dim the overlay when there's no more input for a certain amount of time -(IBAction) buttonReleased:(id) sender { HW_allKeysUp(); @@ -168,10 +174,12 @@ // nice transition for dimming, should be called only by the timer himself -(void) dimOverlay { - [UIView beginAnimations:@"overlay dim" context:NULL]; - [UIView setAnimationDuration:0.6]; - self.view.alpha = 0.2; - [UIView commitAnimations]; + if (canDim) { + [UIView beginAnimations:@"overlay dim" context:NULL]; + [UIView setAnimationDuration:0.6]; + self.view.alpha = 0.2; + [UIView commitAnimations]; + } } // set the overlay visible and put off the timer for enough time @@ -295,12 +303,18 @@ [sender resignFirstResponder]; } +// this function is called by pascal FinishProgress and removes the spinning wheel when loading is done +void spinningWheelDone (void) { + [UIView beginAnimations:@"hiding spinning wheel" context:NULL]; + [UIView setAnimationDuration:0.7]; + singleton.alpha = 0; + [UIView commitAnimations]; + [singleton performSelector:@selector(stopAnimating) withObject:nil afterDelay:0.7]; + canDim = YES; +} + #pragma mark - #pragma mark Custom touch event handling - -#define kMinimumPinchDelta 50 - - -(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSArray *twoTouches; UITouch *touch = [touches anyObject]; @@ -316,7 +330,7 @@ gestureStartPoint = [touch locationInView:self.view]; switch ([touches count]) { - case 1: + /*case 1: initialDistanceForPinching = 0; switch ([touch tapCount]) { case 1: @@ -331,15 +345,14 @@ default: break; } - break; + break;*/ case 2: if (2 == [touch tapCount]) { HW_zoomReset(); } // pinching - gestureStartPoint.x = 0; - gestureStartPoint.y = 0; + gestureStartPoint = CGPointMake(0, 0); twoTouches = [touches allObjects]; UITouch *first = [twoTouches objectAtIndex:0]; UITouch *second = [twoTouches objectAtIndex:1]; @@ -352,8 +365,9 @@ } -(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { + gestureStartPoint = CGPointMake(0, 0); initialDistanceForPinching = 0; - HW_allKeysUp(); + //HW_allKeysUp(); } -(void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { @@ -378,14 +392,15 @@ UITouch *touch = [touches anyObject]; switch ([touches count]) { - case 1: + /*case 1: currentPosition = [touch locationInView:self.view]; // panning CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x); CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y); + // the two ifs are not mutually exclusive if (deltaX >= minimumGestureLength) { - NSLog(@"Horizontal swipe detected, deltaX: %f deltaY: %f",deltaX, deltaY); + Dlog(@"deltaX: %f deltaY: %f", deltaX, deltaY); if (currentPosition.x > gestureStartPoint.x) { HW_cursorLeft(logCoeff*log(deltaX)); } else { @@ -394,7 +409,7 @@ } if (deltaY >= minimumGestureLength) { - NSLog(@"Horizontal swipe detected, deltaX: %f deltaY: %f",deltaX, deltaY); + DLog(@"deltaX: %f deltaY: %f", deltaX, deltaY); if (currentPosition.y < gestureStartPoint.y) { HW_cursorDown(logCoeff*log(deltaY)); } else { @@ -402,22 +417,26 @@ } } - break; + break;*/ case 2: twoTouches = [touches allObjects]; UITouch *first = [twoTouches objectAtIndex:0]; UITouch *second = [twoTouches objectAtIndex:1]; CGFloat currentDistanceOfPinching = distanceBetweenPoints([first locationInView:self.view], [second locationInView:self.view]); - - if (0 == initialDistanceForPinching) - initialDistanceForPinching = currentDistanceOfPinching; - - if (currentDistanceOfPinching < initialDistanceForPinching + kMinimumPinchDelta) - HW_zoomOut(); - else if (currentDistanceOfPinching > initialDistanceForPinching + kMinimumPinchDelta) - HW_zoomIn(); - - currentDistanceOfPinching = initialDistanceForPinching; + const int pinchDelta = 40; + + if (0 != initialDistanceForPinching) { + if (currentDistanceOfPinching - initialDistanceForPinching > pinchDelta) { + HW_zoomIn(); + initialDistanceForPinching = currentDistanceOfPinching; + } + else if (initialDistanceForPinching - currentDistanceOfPinching > pinchDelta) { + HW_zoomOut(); + initialDistanceForPinching = currentDistanceOfPinching; + } + } else + initialDistanceForPinching = currentDistanceOfPinching; + break; default: break; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/SchemeSettingsViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -116,9 +116,16 @@ [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } +-(BOOL) tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; + if (![cell.textLabel.text isEqualToString:@"Default"]) + return YES; + else + return NO; +} + #pragma mark - #pragma mark Table view delegate - -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (childController == nil) { childController = [[SingleSchemeViewController alloc] initWithStyle:UITableViewStyleGrouped]; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h --- a/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.h Mon Jun 21 22:45:52 2010 +0200 @@ -13,14 +13,17 @@ NSArray *listOfSchemes; NSArray *listOfWeapons; - NSIndexPath *lastIndexPath; + NSIndexPath *lastIndexPath_sc; + NSIndexPath *lastIndexPath_we; + NSString *selectedScheme; NSString *selectedWeapon; } @property (nonatomic, retain) NSArray *listOfSchemes; @property (nonatomic, retain) NSArray *listOfWeapons; -@property (nonatomic,retain) NSIndexPath *lastIndexPath; +@property (nonatomic,retain) NSIndexPath *lastIndexPath_sc; +@property (nonatomic,retain) NSIndexPath *lastIndexPath_we; @property (nonatomic,retain) NSString *selectedScheme; @property (nonatomic,retain) NSString *selectedWeapon; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/SchemeWeaponConfigViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -10,7 +10,7 @@ #import "CommodityFunctions.h" @implementation SchemeWeaponConfigViewController -@synthesize listOfSchemes, listOfWeapons, lastIndexPath, selectedScheme, selectedWeapon; +@synthesize listOfSchemes, listOfWeapons, lastIndexPath_sc, lastIndexPath_we, selectedScheme, selectedWeapon; -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return rotationManager(interfaceOrientation); @@ -23,9 +23,6 @@ CGSize screenSize = [[UIScreen mainScreen] bounds].size; self.view.frame = CGRectMake(0, 0, screenSize.height, screenSize.width - 44); - - self.selectedScheme = @"Default.plist"; - self.selectedWeapon = @"Default.plist"; } -(void) viewWillAppear:(BOOL) animated { @@ -34,24 +31,15 @@ NSArray *contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:SCHEMES_DIRECTORY() error:NULL]; self.listOfSchemes = contentsOfDir; + contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WEAPONS_DIRECTORY() error:NULL]; + self.listOfWeapons = contentsOfDir; + + self.selectedScheme = @"Default.plist"; + self.selectedWeapon = @"Default.plist"; + [self.tableView reloadData]; } -/* -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; -} -*/ -/* -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; -} -*/ -/* -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; -} -*/ #pragma mark - @@ -84,13 +72,13 @@ cell.textLabel.text = [[self.listOfSchemes objectAtIndex:row] stringByDeletingPathExtension]; if ([[self.listOfSchemes objectAtIndex:row] isEqualToString:self.selectedScheme]) { cell.accessoryType = UITableViewCellAccessoryCheckmark; - self.lastIndexPath = indexPath; + self.lastIndexPath_sc = indexPath; } } else { cell.textLabel.text = [[self.listOfWeapons objectAtIndex:row] stringByDeletingPathExtension]; if ([[self.listOfWeapons objectAtIndex:row] isEqualToString:self.selectedWeapon]) { cell.accessoryType = UITableViewCellAccessoryCheckmark; - self.lastIndexPath = indexPath; + self.lastIndexPath_we = indexPath; } } @@ -101,6 +89,12 @@ #pragma mark - #pragma mark Table view delegate -(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + NSIndexPath *lastIndexPath; + if ([indexPath section] == 0) + lastIndexPath = self.lastIndexPath_sc; + else + lastIndexPath = self.lastIndexPath_we; + int newRow = [indexPath row]; int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1; @@ -110,8 +104,15 @@ newCell.accessoryType = UITableViewCellAccessoryCheckmark; UITableViewCell *oldCell = [aTableView cellForRowAtIndexPath:lastIndexPath]; oldCell.accessoryType = UITableViewCellAccessoryNone; - self.lastIndexPath = indexPath; - self.selectedScheme = [self.listOfSchemes objectAtIndex:newRow]; + + if ([indexPath section] == 0) { + self.lastIndexPath_sc = indexPath; + self.selectedScheme = [self.listOfSchemes objectAtIndex:newRow]; + } else { + self.lastIndexPath_we = indexPath; + self.selectedWeapon = [self.listOfWeapons objectAtIndex:newRow]; + } + [aTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone]; } [aTableView deselectRowAtIndexPath:indexPath animated:YES]; @@ -136,7 +137,8 @@ -(void) viewDidUnload { self.listOfSchemes = nil; self.listOfWeapons = nil; - self.lastIndexPath = nil; + self.lastIndexPath_sc = nil; + self.lastIndexPath_we = nil; self.selectedScheme = nil; self.selectedWeapon = nil; MSG_DIDUNLOAD(); @@ -146,7 +148,8 @@ -(void) dealloc { [listOfSchemes release]; [listOfWeapons release]; - [lastIndexPath release]; + [lastIndexPath_sc release]; + [lastIndexPath_we release]; [selectedScheme release]; [selectedWeapon release]; [super dealloc]; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/SingleWeaponViewController.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.h Mon Jun 21 22:45:52 2010 +0200 @@ -0,0 +1,16 @@ +// +// SingleWeaponViewController.h +// Hedgewars +// +// Created by Vittorio on 19/06/10. +// Copyright 2010 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface SingleWeaponViewController : UITableViewController { + +} + +@end diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project_files/HedgewarsMobile/Classes/SingleWeaponViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -0,0 +1,180 @@ +// +// SingleWeaponViewController.m +// Hedgewars +// +// Created by Vittorio on 19/06/10. +// Copyright 2010 __MyCompanyName__. All rights reserved. +// + +#import "SingleWeaponViewController.h" + + +@implementation SingleWeaponViewController + + +#pragma mark - +#pragma mark Initialization + +/* +- (id)initWithStyle:(UITableViewStyle)style { + // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. + if ((self = [super initWithStyle:style])) { + } + return self; +} +*/ + + +#pragma mark - +#pragma mark View lifecycle + +/* +- (void)viewDidLoad { + [super viewDidLoad]; + + // Uncomment the following line to preserve selection between presentations. + self.clearsSelectionOnViewWillAppear = NO; + + // Uncomment the following line to display an Edit button in the navigation bar for this view controller. + // self.navigationItem.rightBarButtonItem = self.editButtonItem; +} +*/ + +/* +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; +} +*/ +/* +- (void)viewDidAppear:(BOOL)animated { + [super viewDidAppear:animated]; +} +*/ +/* +- (void)viewWillDisappear:(BOOL)animated { + [super viewWillDisappear:animated]; +} +*/ +/* +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; +} +*/ +/* +// Override to allow orientations other than the default portrait orientation. +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return (interfaceOrientation == UIInterfaceOrientationPortrait); +} +*/ + + +#pragma mark - +#pragma mark Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + // Return the number of sections. + return 0; +} + + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + // Return the number of rows in the section. + return 0; +} + + +// 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]; + } + + // Configure the cell... + + return cell; +} + + +/* +// Override to support conditional editing of the table view. +- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + // Return NO if you do not want the specified item to be editable. + return YES; +} +*/ + + +/* +// Override to support editing the table view. +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + + if (editingStyle == UITableViewCellEditingStyleDelete) { + // Delete the row from the data source + [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; + } + else if (editingStyle == UITableViewCellEditingStyleInsert) { + // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view + } +} +*/ + + +/* +// Override to support rearranging the table view. +- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { +} +*/ + + +/* +// Override to support conditional rearranging of the table view. +- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { + // Return NO if you do not want the item to be re-orderable. + return YES; +} +*/ + + +#pragma mark - +#pragma mark Table view delegate + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + // Navigation logic may go here. Create and push another view controller. + /* + <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; + // ... + // Pass the selected object to the new view controller. + [self.navigationController pushViewController:detailViewController animated:YES]; + [detailViewController release]; + */ +} + + +#pragma mark - +#pragma mark Memory management + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Relinquish ownership any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand. + // For example: self.myOutlet = nil; +} + + +- (void)dealloc { + [super dealloc]; +} + + +@end + diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/VoicesViewController.m --- a/project_files/HedgewarsMobile/Classes/VoicesViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/VoicesViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -26,7 +26,13 @@ [super viewDidLoad]; srandom(time(NULL)); - openal_init(20); + openal_init(); + voiceBeingPlayed = -1; + + // load all the voices names and store them into voiceArray + // it's here and not in viewWillAppear because user cannot add/remove them + NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:VOICES_DIRECTORY() error:NULL]; + self.voiceArray = array; } - (void)viewWillAppear:(BOOL)animated { @@ -34,20 +40,9 @@ // this moves the tableview to the top [self.tableView setContentOffset:CGPointMake(0,0) animated:NO]; - voiceBeingPlayed = -1; - - // load all the voices names and store them into voiceArray - NSArray *array = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:VOICES_DIRECTORY() error:NULL]; - self.voiceArray = array; } -/* -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; -} -*/ - -- (void)viewWillDisappear:(BOOL)animated { +-(void) viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; if(voiceBeingPlayed >= 0) { openal_stopsound(voiceBeingPlayed); diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.h --- a/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.h Mon Jun 21 22:45:52 2010 +0200 @@ -7,10 +7,13 @@ // #import - +@class SingleWeaponViewController; @interface WeaponSettingsViewController : UITableViewController { - + NSMutableArray *listOfWeapons; + SingleWeaponViewController *childController; } +@property (nonatomic, retain) NSMutableArray *listOfWeapons; + @end diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m --- a/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/WeaponSettingsViewController.m Mon Jun 21 22:45:52 2010 +0200 @@ -7,85 +7,87 @@ // #import "WeaponSettingsViewController.h" - +#import "CommodityFunctions.h" +#import "SingleWeaponViewController.h" @implementation WeaponSettingsViewController - - -#pragma mark - -#pragma mark Initialization +@synthesize listOfWeapons; -/* -- (id)initWithStyle:(UITableViewStyle)style { - // Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. - if ((self = [super initWithStyle:style])) { - } - return self; +-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + return rotationManager(interfaceOrientation); } -*/ - #pragma mark - #pragma mark View lifecycle - -/* -- (void)viewDidLoad { +-(void) viewDidLoad { [super viewDidLoad]; - - // Uncomment the following line to preserve selection between presentations. - self.clearsSelectionOnViewWillAppear = NO; - - // Uncomment the following line to display an Edit button in the navigation bar for this view controller. - // self.navigationItem.rightBarButtonItem = self.editButtonItem; -} -*/ - -/* -- (void)viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; + + UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Edit",@"from the weapon panel") + style:UIBarButtonItemStyleBordered + target:self + action:@selector(toggleEdit:)]; + self.navigationItem.rightBarButtonItem = editButton; + [editButton release]; + } -*/ -/* -- (void)viewDidAppear:(BOOL)animated { - [super viewDidAppear:animated]; -} -*/ -/* -- (void)viewWillDisappear:(BOOL)animated { - [super viewWillDisappear:animated]; -} -*/ -/* -- (void)viewDidDisappear:(BOOL)animated { - [super viewDidDisappear:animated]; -} -*/ - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - // Override to allow orientations other than the default portrait orientation. - return YES; +-(void) viewWillAppear:(BOOL) animated { + [super viewWillAppear:animated]; + + NSArray *contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WEAPONS_DIRECTORY() error:NULL]; + NSMutableArray *array = [[NSMutableArray alloc] initWithArray:contentsOfDir copyItems:YES]; + self.listOfWeapons = array; + [array release]; + + [self.tableView reloadData]; } +// modifies the navigation bar to add the "Add" and "Done" buttons +-(void) toggleEdit:(id) sender { + BOOL isEditing = self.tableView.editing; + [self.tableView setEditing:!isEditing animated:YES]; + + if (isEditing) { + [self.navigationItem.rightBarButtonItem setTitle:NSLocalizedString(@"Edit",@"from the scheme panel")]; + [self.navigationItem.rightBarButtonItem setStyle: UIBarButtonItemStyleBordered]; + self.navigationItem.leftBarButtonItem = self.navigationItem.backBarButtonItem; + } else { + [self.navigationItem.rightBarButtonItem setTitle:NSLocalizedString(@"Done",@"from the scheme panel")]; + [self.navigationItem.rightBarButtonItem setStyle:UIBarButtonItemStyleDone]; + UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Add",@"from the scheme panel") + style:UIBarButtonItemStyleBordered + target:self + action:@selector(addWeapon:)]; + self.navigationItem.leftBarButtonItem = addButton; + [addButton release]; + } +} + +-(void) addWeapon:(id) sender { + NSString *fileName = [[NSString alloc] initWithFormat:@"Weapon %u.plist", [self.listOfWeapons count]]; + + createWeaponNamed([fileName stringByDeletingPathExtension]); + + [self.listOfWeapons addObject:fileName]; + [fileName release]; + + // order the array alphabetically, so schemes will keep their position + [self.listOfWeapons sortUsingSelector:@selector(compare:)]; + + [self.tableView reloadData]; +} #pragma mark - #pragma mark Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - // Return the number of sections. +-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - // Return the number of rows in the section. - return 1; +-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return [self.listOfWeapons count]; } - -// Customize the appearance of table view cells. -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - +-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; @@ -93,84 +95,71 @@ cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } - // Configure the cell... + NSUInteger row = [indexPath row]; + NSString *rowString = [[self.listOfWeapons objectAtIndex:row] stringByDeletingPathExtension]; + cell.textLabel.text = rowString; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell; } - -/* -// Override to support conditional editing of the table view. -- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { - // Return NO if you do not want the specified item to be editable. - return YES; -} -*/ - - -/* -// Override to support editing the table view. -- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { +// delete the row and the file +-(void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { + NSUInteger row = [indexPath row]; + + NSString *schemeFile = [[NSString alloc] initWithFormat:@"%@/%@",WEAPONS_DIRECTORY(),[self.listOfWeapons objectAtIndex:row]]; + [[NSFileManager defaultManager] removeItemAtPath:schemeFile error:NULL]; + [schemeFile release]; - if (editingStyle == UITableViewCellEditingStyleDelete) { - // Delete the row from the data source - [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; - } - else if (editingStyle == UITableViewCellEditingStyleInsert) { - // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view - } + [self.listOfWeapons removeObjectAtIndex:row]; + [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } -*/ - -/* -// Override to support rearranging the table view. -- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { +-(BOOL) tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath]; + if (![cell.textLabel.text isEqualToString:@"Default"]) + return YES; + else + return NO; } -*/ - - -/* -// Override to support conditional rearranging of the table view. -- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { - // Return NO if you do not want the item to be re-orderable. - return YES; -} -*/ - #pragma mark - #pragma mark Table view delegate +-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (childController == nil) { + childController = [[SingleWeaponViewController alloc] initWithStyle:UITableViewStyleGrouped]; + } + + NSInteger row = [indexPath row]; + NSString *selectedWeaponFile = [self.listOfWeapons objectAtIndex:row]; + + // this must be set so childController can load the correct plist + childController.title = [selectedWeaponFile stringByDeletingPathExtension]; + [childController.tableView setContentOffset:CGPointMake(0,0) animated:NO]; -- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - // Navigation logic may go here. Create and push another view controller. - /* - <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil]; - // ... - // Pass the selected object to the new view controller. - [self.navigationController pushViewController:detailViewController animated:YES]; - [detailViewController release]; - */ + [self.navigationController pushViewController:childController animated:YES]; } #pragma mark - #pragma mark Memory management - -- (void)didReceiveMemoryWarning { - // Releases the view if it doesn't have a superview. +-(void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; - - // Relinquish ownership any cached data, images, etc that aren't in use. + if (childController.view.superview == nil ) + childController = nil; } -- (void)viewDidUnload { - // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand. - // For example: self.myOutlet = nil; +-(void) viewDidUnload { + self.listOfWeapons = nil; + childController = nil; + [super viewDidUnload]; + MSG_DIDUNLOAD(); } -- (void)dealloc { +-(void) dealloc { + [self.listOfWeapons release]; + [childController release]; [super dealloc]; } diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.h --- a/project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.h Mon Jun 21 22:45:52 2010 +0200 @@ -20,6 +20,8 @@ #define TEAMS_DIRECTORY() [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) \ objectAtIndex:0] stringByAppendingString:@"/Teams/"] +#define WEAPONS_DIRECTORY() [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) \ + objectAtIndex:0] stringByAppendingString:@"/Weapons/"] #define SCHEMES_DIRECTORY() [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) \ objectAtIndex:0] stringByAppendingString:@"/Schemes/"] @@ -38,6 +40,7 @@ #define MSG_DIDUNLOAD() DLog(@"did unload"); void createTeamNamed (NSString *nameWithoutExt); +void createWeaponNamed (NSString *nameWithoutExt); void createSchemeNamed (NSString *nameWithoutExt); BOOL rotationManager (UIInterfaceOrientation interfaceOrientation); NSInteger randomPort (); diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.m --- a/project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/otherSrc/CommodityFunctions.m Mon Jun 21 22:45:52 2010 +0200 @@ -43,6 +43,29 @@ [theTeam release]; } +void createWeaponNamed (NSString *nameWithoutExt) { + NSString *weaponsDirectory = WEAPONS_DIRECTORY(); + + if (![[NSFileManager defaultManager] fileExistsAtPath: weaponsDirectory]) { + [[NSFileManager defaultManager] createDirectoryAtPath:weaponsDirectory + withIntermediateDirectories:NO + attributes:nil + error:NULL]; + } + + NSDictionary *theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys: + @"9391929422199121032235111001201000000211190911",@"ammostore_initialqt", + @"0405040541600655546554464776576666666155501000",@"ammostore_probability", + @"0000000000000205500000040007004000000000200000",@"ammostore_delay", + @"1311110312111111123114111111111111111211101111",@"ammostore_crate", nil]; + + NSString *weaponFile = [[NSString alloc] initWithFormat:@"%@/%@.plist", weaponsDirectory, nameWithoutExt]; + + [theWeapon writeToFile:weaponFile atomically:YES]; + [weaponFile release]; + [theWeapon release]; +} + void createSchemeNamed (NSString *nameWithoutExt) { NSString *schemesDirectory = SCHEMES_DIRECTORY(); @@ -128,9 +151,7 @@ DLog(@"Failed to fetch vm statistics"); /* Stats in bytes */ - natural_t mem_used = (vm_stat.active_count + - vm_stat.inactive_count + - vm_stat.wire_count) * pagesize; + natural_t mem_used = (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count) * pagesize; natural_t mem_free = vm_stat.free_count * pagesize; natural_t mem_total = mem_used + mem_free; DLog(@"used: %u free: %u total: %u", mem_used, mem_free, mem_total); diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/otherSrc/PascalImports.h --- a/project_files/HedgewarsMobile/Classes/otherSrc/PascalImports.h Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/otherSrc/PascalImports.h Mon Jun 21 22:45:52 2010 +0200 @@ -19,7 +19,7 @@ */ void Game(const char *args[]); - void GenLandPreview(); + void GenLandPreview(void); void HW_versionInfo(short int*, char**); diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Classes/otherSrc/UIImageExtra.m --- a/project_files/HedgewarsMobile/Classes/otherSrc/UIImageExtra.m Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Classes/otherSrc/UIImageExtra.m Mon Jun 21 22:45:52 2010 +0200 @@ -73,7 +73,7 @@ // return resulting image return sprite; } else { - NSLog(@"initWithContentsOfFile: andCutAt: FAILED"); + DLog(@"error - image == nil"); return nil; } } @@ -153,8 +153,6 @@ -(UIImage *)makeRoundCornersOfSize:(CGSize) sizewh { UIImage * newImage = nil; - - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSInteger cornerWidth = sizewh.width; NSInteger cornerHeight = sizewh.height; @@ -175,13 +173,10 @@ CGImageRef imageMasked = CGBitmapContextCreateImage(context); CGContextRelease(context); CGColorSpaceRelease(colorSpace); - [self release]; - newImage = [[UIImage imageWithCGImage:imageMasked] retain]; + newImage = [UIImage imageWithCGImage:imageMasked]; CGImageRelease(imageMasked); - - [pool release]; - + return newImage; } diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj --- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Mon Jun 21 22:45:52 2010 +0200 @@ -32,6 +32,9 @@ 61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272338117DF778005B90CF /* MobileCoreServices.framework */; }; 61370653117B1D50004EE44A /* Entitlements-Distribution.plist in Resources */ = {isa = PBXBuildFile; fileRef = 61370652117B1D50004EE44A /* Entitlements-Distribution.plist */; }; 6151347E116C2803001F16D1 /* Icon-iPad.png in Resources */ = {isa = PBXBuildFile; fileRef = 6151347D116C2803001F16D1 /* Icon-iPad.png */; }; + 61536CCF11CE836E00D87A7E /* libfreetype_x86.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798917114AAF2100BA94A9 /* libfreetype_x86.a */; }; + 61536DF411CEAE7100D87A7E /* GameConfigViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */; }; + 6163EE7E11CC2600001C0453 /* SingleWeaponViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6163EE7D11CC2600001C0453 /* SingleWeaponViewController.m */; }; 6165920C11CA9BA200D6E256 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591DF11CA9BA200D6E256 /* DetailViewController.m */; }; 6165920D11CA9BA200D6E256 /* FlagsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591E111CA9BA200D6E256 /* FlagsViewController.m */; }; 6165920E11CA9BA200D6E256 /* FortsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 616591E311CA9BA200D6E256 /* FortsViewController.m */; }; @@ -70,13 +73,10 @@ 6165924411CA9C4600D6E256 /* openalbridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 6165923A11CA9C4600D6E256 /* openalbridge.h */; }; 6165924511CA9C4600D6E256 /* wrappers.c in Sources */ = {isa = PBXBuildFile; fileRef = 6165923B11CA9C4600D6E256 /* wrappers.c */; }; 6165924611CA9C4600D6E256 /* wrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 6165923C11CA9C4600D6E256 /* wrappers.h */; }; - 6165925111CA9CB400D6E256 /* GameConfigViewController-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924911CA9CB400D6E256 /* GameConfigViewController-iPad.xib */; }; - 6165925211CA9CB400D6E256 /* GameConfigViewController-iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924A11CA9CB400D6E256 /* GameConfigViewController-iPhone.xib */; }; 6165925311CA9CB400D6E256 /* MainMenuViewController-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924B11CA9CB400D6E256 /* MainMenuViewController-iPad.xib */; }; 6165925411CA9CB400D6E256 /* MainMenuViewController-iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924C11CA9CB400D6E256 /* MainMenuViewController-iPhone.xib */; }; 6165925511CA9CB400D6E256 /* MapConfigViewController-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924D11CA9CB400D6E256 /* MapConfigViewController-iPad.xib */; }; 6165925611CA9CB400D6E256 /* MapConfigViewController-iPhone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924E11CA9CB400D6E256 /* MapConfigViewController-iPhone.xib */; }; - 6165925711CA9CB400D6E256 /* OverlayViewController-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165924F11CA9CB400D6E256 /* OverlayViewController-iPad.xib */; }; 6165925811CA9CB400D6E256 /* OverlayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6165925011CA9CB400D6E256 /* OverlayViewController.xib */; }; 6165925E11CA9CD300D6E256 /* arrowDown.png in Resources */ = {isa = PBXBuildFile; fileRef = 6165925911CA9CD300D6E256 /* arrowDown.png */; }; 6165925F11CA9CD300D6E256 /* arrowLeft.png in Resources */ = {isa = PBXBuildFile; fileRef = 6165925A11CA9CD300D6E256 /* arrowLeft.png */; }; @@ -125,7 +125,6 @@ 61798832114AA34C00BA94A9 /* uLocale.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798804114AA34C00BA94A9 /* uLocale.pas */; }; 61798833114AA34C00BA94A9 /* uMisc.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798805114AA34C00BA94A9 /* uMisc.pas */; }; 61798834114AA34C00BA94A9 /* uRandom.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798806114AA34C00BA94A9 /* uRandom.pas */; }; - 61798836114AA34C00BA94A9 /* uSHA.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798808114AA34C00BA94A9 /* uSHA.pas */; }; 61798837114AA34C00BA94A9 /* uSound.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61798809114AA34C00BA94A9 /* uSound.pas */; }; 61798838114AA34C00BA94A9 /* uStats.pas in Sources */ = {isa = PBXBuildFile; fileRef = 6179880A114AA34C00BA94A9 /* uStats.pas */; }; 61798839114AA34C00BA94A9 /* uStore.pas in Sources */ = {isa = PBXBuildFile; fileRef = 6179880B114AA34C00BA94A9 /* uStore.pas */; }; @@ -134,7 +133,6 @@ 6179883D114AA34C00BA94A9 /* uWorld.pas in Sources */ = {isa = PBXBuildFile; fileRef = 6179880F114AA34C00BA94A9 /* uWorld.pas */; }; 617988DB114AAA4200BA94A9 /* libSDLiPhoneOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 617988DA114AAA3900BA94A9 /* libSDLiPhoneOS.a */; }; 6179891B114AAF2100BA94A9 /* libfreetype_arm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798916114AAF2100BA94A9 /* libfreetype_arm.a */; }; - 6179891C114AAF2100BA94A9 /* libfreetype_x86.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798917114AAF2100BA94A9 /* libfreetype_x86.a */; }; 6179891F114AAF2100BA94A9 /* libvorbis_arm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6179891A114AAF2100BA94A9 /* libvorbis_arm.a */; }; 61798935114AB25F00BA94A9 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798934114AB25F00BA94A9 /* AudioToolbox.framework */; }; 61798996114AB3FF00BA94A9 /* libSDL_mixer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61798993114AB3FA00BA94A9 /* libSDL_mixer.a */; }; @@ -149,6 +147,7 @@ 61C3255B1179A384001E70B1 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61C3255A1179A384001E70B1 /* OpenAL.framework */; }; 61C325901179A732001E70B1 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61C3255A1179A384001E70B1 /* OpenAL.framework */; }; 61C325A31179A7AD001E70B1 /* libopenalbridge.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61C3251D1179A300001E70B1 /* libopenalbridge.a */; }; + 61E1F4F811D004240016A5AA /* adler32.pas in Sources */ = {isa = PBXBuildFile; fileRef = 61E1F4F711D004240016A5AA /* adler32.pas */; }; 922F64900F10F53100DC6EC0 /* libfpc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 928301170F10CAFC00CC5A3C /* libfpc.a */; }; /* End PBXBuildFile section */ @@ -235,6 +234,8 @@ 61272338117DF778005B90CF /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; 61370652117B1D50004EE44A /* Entitlements-Distribution.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Entitlements-Distribution.plist"; sourceTree = ""; }; 6151347D116C2803001F16D1 /* Icon-iPad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-iPad.png"; path = "Resources/Icon-iPad.png"; sourceTree = ""; }; + 6163EE7C11CC2600001C0453 /* SingleWeaponViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SingleWeaponViewController.h; sourceTree = ""; }; + 6163EE7D11CC2600001C0453 /* SingleWeaponViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SingleWeaponViewController.m; sourceTree = ""; }; 616591DE11CA9BA200D6E256 /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; }; 616591DF11CA9BA200D6E256 /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; }; 616591E011CA9BA200D6E256 /* FlagsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlagsViewController.h; sourceTree = ""; }; @@ -302,13 +303,11 @@ 6165923A11CA9C4600D6E256 /* openalbridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = openalbridge.h; path = ../../misc/libopenalbridge/openalbridge.h; sourceTree = SOURCE_ROOT; }; 6165923B11CA9C4600D6E256 /* wrappers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = wrappers.c; path = ../../misc/libopenalbridge/wrappers.c; sourceTree = SOURCE_ROOT; }; 6165923C11CA9C4600D6E256 /* wrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wrappers.h; path = ../../misc/libopenalbridge/wrappers.h; sourceTree = SOURCE_ROOT; }; - 6165924911CA9CB400D6E256 /* GameConfigViewController-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "GameConfigViewController-iPad.xib"; path = "Resources/GameConfigViewController-iPad.xib"; sourceTree = SOURCE_ROOT; }; - 6165924A11CA9CB400D6E256 /* GameConfigViewController-iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "GameConfigViewController-iPhone.xib"; path = "Resources/GameConfigViewController-iPhone.xib"; sourceTree = SOURCE_ROOT; }; + 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = GameConfigViewController.xib; path = Resources/GameConfigViewController.xib; sourceTree = SOURCE_ROOT; }; 6165924B11CA9CB400D6E256 /* MainMenuViewController-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MainMenuViewController-iPad.xib"; path = "Resources/MainMenuViewController-iPad.xib"; sourceTree = SOURCE_ROOT; }; 6165924C11CA9CB400D6E256 /* MainMenuViewController-iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MainMenuViewController-iPhone.xib"; path = "Resources/MainMenuViewController-iPhone.xib"; sourceTree = SOURCE_ROOT; }; 6165924D11CA9CB400D6E256 /* MapConfigViewController-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MapConfigViewController-iPad.xib"; path = "Resources/MapConfigViewController-iPad.xib"; sourceTree = SOURCE_ROOT; }; 6165924E11CA9CB400D6E256 /* MapConfigViewController-iPhone.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MapConfigViewController-iPhone.xib"; path = "Resources/MapConfigViewController-iPhone.xib"; sourceTree = SOURCE_ROOT; }; - 6165924F11CA9CB400D6E256 /* OverlayViewController-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "OverlayViewController-iPad.xib"; path = "Resources/OverlayViewController-iPad.xib"; sourceTree = SOURCE_ROOT; }; 6165925011CA9CB400D6E256 /* OverlayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = OverlayViewController.xib; path = Resources/OverlayViewController.xib; sourceTree = SOURCE_ROOT; }; 6165925911CA9CD300D6E256 /* arrowDown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = arrowDown.png; path = Resources/arrowDown.png; sourceTree = ""; }; 6165925A11CA9CD300D6E256 /* arrowLeft.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = arrowLeft.png; path = Resources/arrowLeft.png; sourceTree = ""; }; @@ -363,7 +362,6 @@ 61798804114AA34C00BA94A9 /* uLocale.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uLocale.pas; path = ../../hedgewars/uLocale.pas; sourceTree = SOURCE_ROOT; }; 61798805114AA34C00BA94A9 /* uMisc.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uMisc.pas; path = ../../hedgewars/uMisc.pas; sourceTree = SOURCE_ROOT; }; 61798806114AA34C00BA94A9 /* uRandom.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uRandom.pas; path = ../../hedgewars/uRandom.pas; sourceTree = SOURCE_ROOT; }; - 61798808114AA34C00BA94A9 /* uSHA.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uSHA.pas; path = ../../hedgewars/uSHA.pas; sourceTree = SOURCE_ROOT; }; 61798809114AA34C00BA94A9 /* uSound.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uSound.pas; path = ../../hedgewars/uSound.pas; sourceTree = SOURCE_ROOT; }; 6179880A114AA34C00BA94A9 /* uStats.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uStats.pas; path = ../../hedgewars/uStats.pas; sourceTree = SOURCE_ROOT; }; 6179880B114AA34C00BA94A9 /* uStore.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = uStore.pas; path = ../../hedgewars/uStore.pas; sourceTree = SOURCE_ROOT; }; @@ -384,6 +382,7 @@ 61A117FE1168322700359010 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 61C3251D1179A300001E70B1 /* libopenalbridge.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libopenalbridge.a; sourceTree = BUILT_PRODUCTS_DIR; }; 61C3255A1179A384001E70B1 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; }; + 61E1F4F711D004240016A5AA /* adler32.pas */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.pascal; name = adler32.pas; path = ../../hedgewars/adler32.pas; sourceTree = SOURCE_ROOT; }; 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 928301170F10CAFC00CC5A3C /* libfpc.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libfpc.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -393,22 +392,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 61272334117DF764005B90CF /* libSDL_image.a in Frameworks */, - 61C325901179A732001E70B1 /* OpenAL.framework in Frameworks */, - 61A1188511683A8C00359010 /* CoreGraphics.framework in Frameworks */, 61798A14114AB65C00BA94A9 /* libSDL_ttf.a in Frameworks */, 617989BE114AB47A00BA94A9 /* libSDL_net.a in Frameworks */, - 617988DB114AAA4200BA94A9 /* libSDLiPhoneOS.a in Frameworks */, + 61272334117DF764005B90CF /* libSDL_image.a in Frameworks */, 61798996114AB3FF00BA94A9 /* libSDL_mixer.a in Frameworks */, + 617988DB114AAA4200BA94A9 /* libSDLiPhoneOS.a in Frameworks */, 922F64900F10F53100DC6EC0 /* libfpc.a in Frameworks */, + 61536CCF11CE836E00D87A7E /* libfreetype_x86.a in Frameworks */, + 6179891B114AAF2100BA94A9 /* libfreetype_arm.a in Frameworks */, + 6179891F114AAF2100BA94A9 /* libvorbis_arm.a in Frameworks */, 61C325A31179A7AD001E70B1 /* libopenalbridge.a in Frameworks */, 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, + 61A1188511683A8C00359010 /* CoreGraphics.framework in Frameworks */, + 61C325901179A732001E70B1 /* OpenAL.framework in Frameworks */, 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, 28FD15000DC6FC520079059D /* OpenGLES.framework in Frameworks */, 28FD15080DC6FC5B0079059D /* QuartzCore.framework in Frameworks */, - 6179891B114AAF2100BA94A9 /* libfreetype_arm.a in Frameworks */, - 6179891C114AAF2100BA94A9 /* libfreetype_x86.a in Frameworks */, - 6179891F114AAF2100BA94A9 /* libvorbis_arm.a in Frameworks */, 61798935114AB25F00BA94A9 /* AudioToolbox.framework in Frameworks */, 61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */, ); @@ -428,52 +427,13 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( - 616591DE11CA9BA200D6E256 /* DetailViewController.h */, - 616591DF11CA9BA200D6E256 /* DetailViewController.m */, - 616591E011CA9BA200D6E256 /* FlagsViewController.h */, - 616591E111CA9BA200D6E256 /* FlagsViewController.m */, - 616591E211CA9BA200D6E256 /* FortsViewController.h */, - 616591E311CA9BA200D6E256 /* FortsViewController.m */, - 616591E411CA9BA200D6E256 /* GameConfigViewController.h */, - 616591E511CA9BA200D6E256 /* GameConfigViewController.m */, - 616591E611CA9BA200D6E256 /* GameSetup.h */, - 616591E711CA9BA200D6E256 /* GameSetup.m */, - 616591E811CA9BA200D6E256 /* GeneralSettingsViewController.h */, - 616591E911CA9BA200D6E256 /* GeneralSettingsViewController.m */, - 616591EA11CA9BA200D6E256 /* GravesViewController.h */, - 616591EB11CA9BA200D6E256 /* GravesViewController.m */, - 616591EC11CA9BA200D6E256 /* HogHatViewController.h */, - 616591ED11CA9BA200D6E256 /* HogHatViewController.m */, - 616591EE11CA9BA200D6E256 /* LevelViewController.h */, - 616591EF11CA9BA200D6E256 /* LevelViewController.m */, + 6163EE4D11CC247D001C0453 /* Game Config */, + 6163EE4C11CC2478001C0453 /* Settings Pages */, + 6163EE6C11CC253F001C0453 /* Overlay */, 616591F011CA9BA200D6E256 /* MainMenuViewController.h */, 616591F111CA9BA200D6E256 /* MainMenuViewController.m */, - 616591F211CA9BA200D6E256 /* MapConfigViewController.h */, - 616591F311CA9BA200D6E256 /* MapConfigViewController.m */, - 616591F411CA9BA200D6E256 /* MasterViewController.h */, - 616591F511CA9BA200D6E256 /* MasterViewController.m */, - 616591F611CA9BA200D6E256 /* OverlayViewController.h */, - 616591F711CA9BA200D6E256 /* OverlayViewController.m */, - 616591F811CA9BA200D6E256 /* PopoverMenuViewController.h */, - 616591F911CA9BA200D6E256 /* PopoverMenuViewController.m */, - 616591FA11CA9BA200D6E256 /* SchemeSettingsViewController.h */, - 616591FB11CA9BA200D6E256 /* SchemeSettingsViewController.m */, - 616591FC11CA9BA200D6E256 /* SchemeWeaponConfigViewController.h */, - 616591FD11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m */, - 616591FE11CA9BA200D6E256 /* SingleSchemeViewController.h */, - 616591FF11CA9BA200D6E256 /* SingleSchemeViewController.m */, - 6165920011CA9BA200D6E256 /* SingleTeamViewController.h */, - 6165920111CA9BA200D6E256 /* SingleTeamViewController.m */, - 6165920211CA9BA200D6E256 /* SplitViewRootController.h */, - 6165920311CA9BA200D6E256 /* SplitViewRootController.m */, - 6165920411CA9BA200D6E256 /* TeamConfigViewController.h */, - 6165920511CA9BA200D6E256 /* TeamConfigViewController.m */, - 6165920611CA9BA200D6E256 /* TeamSettingsViewController.h */, - 6165920711CA9BA200D6E256 /* TeamSettingsViewController.m */, - 6165920811CA9BA200D6E256 /* VoicesViewController.h */, - 6165920911CA9BA200D6E256 /* VoicesViewController.m */, - 6165920A11CA9BA200D6E256 /* WeaponSettingsViewController.h */, - 6165920B11CA9BA200D6E256 /* WeaponSettingsViewController.m */, + 616591E611CA9BA200D6E256 /* GameSetup.h */, + 616591E711CA9BA200D6E256 /* GameSetup.m */, ); path = Classes; sourceTree = ""; @@ -558,10 +518,10 @@ 28FD15070DC6FC5B0079059D /* QuartzCore.framework */, 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 61C3255A1179A384001E70B1 /* OpenAL.framework */, + 61272338117DF778005B90CF /* MobileCoreServices.framework */, 61798916114AAF2100BA94A9 /* libfreetype_arm.a */, 61798917114AAF2100BA94A9 /* libfreetype_x86.a */, 6179891A114AAF2100BA94A9 /* libvorbis_arm.a */, - 61272338117DF778005B90CF /* MobileCoreServices.framework */, ); name = Frameworks; sourceTree = ""; @@ -582,13 +542,11 @@ 6100DB1711544E8400F455E0 /* XIB */ = { isa = PBXGroup; children = ( - 6165924911CA9CB400D6E256 /* GameConfigViewController-iPad.xib */, - 6165924A11CA9CB400D6E256 /* GameConfigViewController-iPhone.xib */, + 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */, 6165924B11CA9CB400D6E256 /* MainMenuViewController-iPad.xib */, 6165924C11CA9CB400D6E256 /* MainMenuViewController-iPhone.xib */, 6165924D11CA9CB400D6E256 /* MapConfigViewController-iPad.xib */, 6165924E11CA9CB400D6E256 /* MapConfigViewController-iPhone.xib */, - 6165924F11CA9CB400D6E256 /* OverlayViewController-iPad.xib */, 6165925011CA9CB400D6E256 /* OverlayViewController.xib */, ); name = XIB; @@ -603,6 +561,95 @@ name = Products; sourceTree = ""; }; + 6163EE4C11CC2478001C0453 /* Settings Pages */ = { + isa = PBXGroup; + children = ( + 6165920211CA9BA200D6E256 /* SplitViewRootController.h */, + 6165920311CA9BA200D6E256 /* SplitViewRootController.m */, + 616591F411CA9BA200D6E256 /* MasterViewController.h */, + 616591F511CA9BA200D6E256 /* MasterViewController.m */, + 616591DE11CA9BA200D6E256 /* DetailViewController.h */, + 616591DF11CA9BA200D6E256 /* DetailViewController.m */, + 6163EE4E11CC248D001C0453 /* First Level */, + 6163EE4F11CC2497001C0453 /* Second Level */, + 6163EE5011CC24A1001C0453 /* Third Level */, + ); + name = "Settings Pages"; + sourceTree = ""; + }; + 6163EE4D11CC247D001C0453 /* Game Config */ = { + isa = PBXGroup; + children = ( + 616591E411CA9BA200D6E256 /* GameConfigViewController.h */, + 616591E511CA9BA200D6E256 /* GameConfigViewController.m */, + 6165920411CA9BA200D6E256 /* TeamConfigViewController.h */, + 6165920511CA9BA200D6E256 /* TeamConfigViewController.m */, + 616591FC11CA9BA200D6E256 /* SchemeWeaponConfigViewController.h */, + 616591FD11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m */, + 616591F211CA9BA200D6E256 /* MapConfigViewController.h */, + 616591F311CA9BA200D6E256 /* MapConfigViewController.m */, + ); + name = "Game Config"; + sourceTree = ""; + }; + 6163EE4E11CC248D001C0453 /* First Level */ = { + isa = PBXGroup; + children = ( + 616591E811CA9BA200D6E256 /* GeneralSettingsViewController.h */, + 616591E911CA9BA200D6E256 /* GeneralSettingsViewController.m */, + 6165920611CA9BA200D6E256 /* TeamSettingsViewController.h */, + 6165920711CA9BA200D6E256 /* TeamSettingsViewController.m */, + 6165920A11CA9BA200D6E256 /* WeaponSettingsViewController.h */, + 6165920B11CA9BA200D6E256 /* WeaponSettingsViewController.m */, + 616591FA11CA9BA200D6E256 /* SchemeSettingsViewController.h */, + 616591FB11CA9BA200D6E256 /* SchemeSettingsViewController.m */, + ); + name = "First Level"; + sourceTree = ""; + }; + 6163EE4F11CC2497001C0453 /* Second Level */ = { + isa = PBXGroup; + children = ( + 6165920011CA9BA200D6E256 /* SingleTeamViewController.h */, + 6165920111CA9BA200D6E256 /* SingleTeamViewController.m */, + 6163EE7C11CC2600001C0453 /* SingleWeaponViewController.h */, + 6163EE7D11CC2600001C0453 /* SingleWeaponViewController.m */, + 616591FE11CA9BA200D6E256 /* SingleSchemeViewController.h */, + 616591FF11CA9BA200D6E256 /* SingleSchemeViewController.m */, + ); + name = "Second Level"; + sourceTree = ""; + }; + 6163EE5011CC24A1001C0453 /* Third Level */ = { + isa = PBXGroup; + children = ( + 616591EC11CA9BA200D6E256 /* HogHatViewController.h */, + 616591ED11CA9BA200D6E256 /* HogHatViewController.m */, + 616591EE11CA9BA200D6E256 /* LevelViewController.h */, + 616591EF11CA9BA200D6E256 /* LevelViewController.m */, + 616591E011CA9BA200D6E256 /* FlagsViewController.h */, + 616591E111CA9BA200D6E256 /* FlagsViewController.m */, + 616591E211CA9BA200D6E256 /* FortsViewController.h */, + 616591E311CA9BA200D6E256 /* FortsViewController.m */, + 616591EA11CA9BA200D6E256 /* GravesViewController.h */, + 616591EB11CA9BA200D6E256 /* GravesViewController.m */, + 6165920811CA9BA200D6E256 /* VoicesViewController.h */, + 6165920911CA9BA200D6E256 /* VoicesViewController.m */, + ); + name = "Third Level"; + sourceTree = ""; + }; + 6163EE6C11CC253F001C0453 /* Overlay */ = { + isa = PBXGroup; + children = ( + 616591F811CA9BA200D6E256 /* PopoverMenuViewController.h */, + 616591F911CA9BA200D6E256 /* PopoverMenuViewController.m */, + 616591F611CA9BA200D6E256 /* OverlayViewController.h */, + 616591F711CA9BA200D6E256 /* OverlayViewController.m */, + ); + name = Overlay; + sourceTree = ""; + }; 6165924811CA9C4B00D6E256 /* libopenalbridge */ = { isa = PBXGroup; children = ( @@ -707,6 +754,7 @@ isa = PBXGroup; children = ( 61798892114AA56300BA94A9 /* inc */, + 61E1F4F711D004240016A5AA /* adler32.pas */, 617987E7114AA34C00BA94A9 /* hwengine.pas */, 617987E9114AA34C00BA94A9 /* hwLibrary.pas */, 617987EC114AA34C00BA94A9 /* PascalExports.pas */, @@ -734,7 +782,6 @@ 61798805114AA34C00BA94A9 /* uMisc.pas */, 61798806114AA34C00BA94A9 /* uRandom.pas */, 611F4D4A11B27A9900F9759A /* uScript.pas */, - 61798808114AA34C00BA94A9 /* uSHA.pas */, 61798809114AA34C00BA94A9 /* uSound.pas */, 6179880A114AA34C00BA94A9 /* uStats.pas */, 6179880B114AA34C00BA94A9 /* uStore.pas */, @@ -905,6 +952,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 61536DF411CEAE7100D87A7E /* GameConfigViewController.xib in Resources */, 61A118D211683CD100359010 /* Background.png in Resources */, 61A118D311683CD100359010 /* HedgewarsTitle.png in Resources */, 61A118D411683CD100359010 /* Multiplayer.png in Resources */, @@ -914,13 +962,10 @@ 6151347E116C2803001F16D1 /* Icon-iPad.png in Resources */, 61370653117B1D50004EE44A /* Entitlements-Distribution.plist in Resources */, 611E12FF117BBBDA0044B62F /* Entitlements-Development.plist in Resources */, - 6165925111CA9CB400D6E256 /* GameConfigViewController-iPad.xib in Resources */, - 6165925211CA9CB400D6E256 /* GameConfigViewController-iPhone.xib in Resources */, 6165925311CA9CB400D6E256 /* MainMenuViewController-iPad.xib in Resources */, 6165925411CA9CB400D6E256 /* MainMenuViewController-iPhone.xib in Resources */, 6165925511CA9CB400D6E256 /* MapConfigViewController-iPad.xib in Resources */, 6165925611CA9CB400D6E256 /* MapConfigViewController-iPhone.xib in Resources */, - 6165925711CA9CB400D6E256 /* OverlayViewController-iPad.xib in Resources */, 6165925811CA9CB400D6E256 /* OverlayViewController.xib in Resources */, 6165925E11CA9CD300D6E256 /* arrowDown.png in Resources */, 6165925F11CA9CD300D6E256 /* arrowLeft.png in Resources */, @@ -1026,7 +1071,6 @@ 61798832114AA34C00BA94A9 /* uLocale.pas in Sources */, 61798833114AA34C00BA94A9 /* uMisc.pas in Sources */, 61798834114AA34C00BA94A9 /* uRandom.pas in Sources */, - 61798836114AA34C00BA94A9 /* uSHA.pas in Sources */, 61798837114AA34C00BA94A9 /* uSound.pas in Sources */, 61798838114AA34C00BA94A9 /* uStats.pas in Sources */, 61798839114AA34C00BA94A9 /* uStore.pas in Sources */, @@ -1063,6 +1107,8 @@ 6165923111CA9BD500D6E256 /* SquareButtonView.m in Sources */, 6165923211CA9BD500D6E256 /* UIImageExtra.m in Sources */, 6165929E11CA9E2F00D6E256 /* SDL_uikitappdelegate.m in Sources */, + 6163EE7E11CC2600001C0453 /* SingleWeaponViewController.m in Sources */, + 61E1F4F811D004240016A5AA /* adler32.pas in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1107,6 +1153,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../Downloads/of_preRelease_v0061_iPhone_FAT-pre3/libs/freetype/lib/iphone\"", ); PRODUCT_NAME = Hedgewars; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1128,6 +1175,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../Downloads/of_preRelease_v0061_iPhone_FAT-pre3/libs/freetype/lib/iphone\"", ); PRODUCT_NAME = Hedgewars; PROVISIONING_PROFILE = ""; @@ -1191,6 +1239,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../Downloads/of_preRelease_v0061_iPhone_FAT-pre3/libs/freetype/lib/iphone\"", ); PRODUCT_NAME = Hedgewars; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; @@ -1304,6 +1353,7 @@ LIBRARY_SEARCH_PATHS = ( "$(inherited)", "\"$(SRCROOT)\"", + "\"$(SRCROOT)/../../../../Downloads/of_preRelease_v0061_iPhone_FAT-pre3/libs/freetype/lib/iphone\"", ); PRODUCT_NAME = Hedgewars; TARGETED_DEVICE_FAMILY = "1,2"; diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/GameConfigViewController-iPad.xib --- a/project_files/HedgewarsMobile/Resources/GameConfigViewController-iPad.xib Mon Jun 21 21:41:14 2010 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,489 +0,0 @@ - - - - 800 - 10D573 - 762 - 1038.29 - 460.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 - - - YES - - - YES - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - YES - - YES - - - YES - - - - YES - - IBFilesOwner - IBIPadFramework - - - IBFirstResponder - IBIPadFramework - - - - 292 - - YES - - - 266 - {{0, 724}, {1024, 44}} - - NO - NO - IBIPadFramework - - YES - - Back - IBIPadFramework - 1 - - - - IBIPadFramework - - 5 - - - 1 - Start Game - IBIPadFramework - 90 - 2 - - - - - - {1024, 768} - - 3 - MQA - - NO - - 3 - - IBIPadFramework - - - - - YES - - - view - - - - 3 - - - - buttonPressed: - - - - 17 - - - - buttonPressed: - - - - 23 - - - - - YES - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 2 - - - YES - - - - - - 15 - - - YES - - - - - - - - 16 - - - - - 18 - - - - - 22 - - - - - - - YES - - YES - -1.CustomClassName - -2.CustomClassName - 15.IBPluginDependency - 16.IBPluginDependency - 18.IBPluginDependency - 2.IBEditorWindowLastContentRect - 2.IBPluginDependency - 22.IBPluginDependency - - - YES - GameConfigViewController - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{285, -28}, {1024, 768}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 29 - - - - YES - - GameConfigViewController - UIViewController - - YES - - YES - buttonPressed: - segmentPressed: - - - YES - id - id - - - - IBProjectSource - ../../cocoaTouch/GameConfigViewController.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSNetServices.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPort.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSStream.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSXMLParser.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIBarButtonItem - UIBarItem - - IBFrameworkSource - UIKit.framework/Headers/UIBarButtonItem.h - - - - UIBarItem - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIBarItem.h - - - - UIResponder - NSObject - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UIToolbar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIToolbar.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h - - - - - 0 - IBIPadFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - ../../project_files/HedgewarsMobile/Hedgewars.xcodeproj - 3 - 87 - - diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/GameConfigViewController-iPhone.xib --- a/project_files/HedgewarsMobile/Resources/GameConfigViewController-iPhone.xib Mon Jun 21 21:41:14 2010 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,640 +0,0 @@ - - - - 800 - 10D573 - 762 - 1038.29 - 460.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 - - - YES - - - - YES - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - YES - - YES - - - YES - - - - YES - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 292 - - YES - - - 266 - - YES - - - 292 - {{97, 8}, {245, 30}} - - NO - IBCocoaTouchFramework - 2 - 3 - 0 - - YES - Map - Teams - Details - - - YES - - - - - - YES - - - - - - YES - {0, 0} - {0, 0} - {0, 0} - - - YES - - - - - - - {{0, 276}, {480, 44}} - - NO - NO - IBCocoaTouchFramework - - YES - - Back - IBCocoaTouchFramework - 1 - - - - IBCocoaTouchFramework - - 5 - - - IBCocoaTouchFramework - - - - - IBCocoaTouchFramework - - 5 - - - 1 - Start Game - IBCocoaTouchFramework - 90 - 2 - - - - - - {480, 320} - - - 3 - MQA - - NO - - 3 - - IBCocoaTouchFramework - - - - - YES - - - view - - - - 3 - - - - buttonPressed: - - - - 17 - - - - buttonPressed: - - - - 23 - - - - segmentPressed: - - - 13 - - 29 - - - - - YES - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 2 - - - YES - - - - - - 15 - - - YES - - - - - - - - - - 16 - - - - - 18 - - - - - 19 - - - - - 21 - - - YES - - - - - - 20 - - - - - 22 - - - - - - - YES - - YES - -1.CustomClassName - -2.CustomClassName - 15.IBPluginDependency - 16.IBPluginDependency - 18.IBPluginDependency - 19.IBPluginDependency - 2.IBEditorWindowLastContentRect - 2.IBPluginDependency - 20.IBPluginDependency - 22.IBPluginDependency - - - YES - GameConfigViewController - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{639, 516}, {480, 320}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 29 - - - - YES - - GameConfigViewController - UIViewController - - YES - - YES - buttonPressed: - segmentPressed: - - - YES - id - id - - - - YES - - YES - availableTeamsTableView - mapButton - randomButton - schemesButton - startButton - weaponsButton - - - YES - UITableView - UIButton - UIButton - UIButton - UIBarButtonItem - UIButton - - - - IBProjectSource - ../../cocoaTouch/GameConfigViewController.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSNetServices.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPort.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSStream.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSXMLParser.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIBarButtonItem - UIBarItem - - IBFrameworkSource - UIKit.framework/Headers/UIBarButtonItem.h - - - - UIBarItem - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIBarItem.h - - - - UIButton - UIControl - - IBFrameworkSource - UIKit.framework/Headers/UIButton.h - - - - UIControl - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIControl.h - - - - UIResponder - NSObject - - - - UIScrollView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIScrollView.h - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UISegmentedControl - UIControl - - IBFrameworkSource - UIKit.framework/Headers/UISegmentedControl.h - - - - UITableView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITableView.h - - - - UIToolbar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIToolbar.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h - - - - - 0 - IBCocoaTouchFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - ../../project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj - 3 - 87 - - diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/GameConfigViewController.xib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project_files/HedgewarsMobile/Resources/GameConfigViewController.xib Mon Jun 21 22:45:52 2010 +0200 @@ -0,0 +1,596 @@ + + + + 800 + 10F569 + 762 + 1038.29 + 461.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 87 + + + YES + + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + YES + + + + YES + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 292 + + YES + + + 266 + + YES + + + 292 + {{97, 8}, {245, 30}} + + NO + 12345 + IBCocoaTouchFramework + 2 + 3 + 0 + + YES + Map + Teams + Details + + + YES + + + + + + YES + + + + + + YES + {0, 0} + {0, 0} + {0, 0} + + + YES + + + + + + + {{0, 276}, {480, 44}} + + NO + NO + IBCocoaTouchFramework + + YES + + Back + IBCocoaTouchFramework + 1 + + + + IBCocoaTouchFramework + + 5 + + + IBCocoaTouchFramework + + + + + IBCocoaTouchFramework + + 5 + + + 1 + Start Game + IBCocoaTouchFramework + 90 + 2 + + + + + + {480, 320} + + + 3 + MQA + + NO + + 3 + + IBCocoaTouchFramework + + + + + YES + + + view + + + + 3 + + + + buttonPressed: + + + + 17 + + + + buttonPressed: + + + + 23 + + + + segmentPressed: + + + 13 + + 29 + + + + + YES + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 2 + + + YES + + + + + + 15 + + + YES + + + + + + + + + + 16 + + + + + 18 + + + + + 19 + + + + + 21 + + + YES + + + + + + 20 + + + + + 22 + + + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 15.IBPluginDependency + 16.IBPluginDependency + 18.IBPluginDependency + 19.IBPluginDependency + 2.IBEditorWindowLastContentRect + 2.IBPluginDependency + 20.IBPluginDependency + 22.IBPluginDependency + + + YES + GameConfigViewController + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + {{639, 516}, {480, 320}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 29 + + + + YES + + GameConfigViewController + UIViewController + + YES + + YES + buttonPressed: + segmentPressed: + + + YES + id + id + + + + IBProjectSource + Classes/GameConfigViewController.h + + + + + YES + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSNetServices.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPort.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSStream.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSXMLParser.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIAccessibility.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UINibLoading.h + + + + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIResponder.h + + + + UIBarButtonItem + UIBarItem + + IBFrameworkSource + UIKit.framework/Headers/UIBarButtonItem.h + + + + UIBarItem + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UIBarItem.h + + + + UIControl + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIControl.h + + + + UIResponder + NSObject + + + + UISearchBar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UISearchBar.h + + + + UISearchDisplayController + NSObject + + IBFrameworkSource + UIKit.framework/Headers/UISearchDisplayController.h + + + + UISegmentedControl + UIControl + + IBFrameworkSource + UIKit.framework/Headers/UISegmentedControl.h + + + + UIToolbar + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIToolbar.h + + + + UIView + + IBFrameworkSource + UIKit.framework/Headers/UITextField.h + + + + UIView + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIView.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UINavigationController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UIPopoverController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + + + + UIViewController + + IBFrameworkSource + UIKit.framework/Headers/UITabBarController.h + + + + UIViewController + UIResponder + + IBFrameworkSource + UIKit.framework/Headers/UIViewController.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + ../../project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj + 3 + 87 + + diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib --- a/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Resources/MapConfigViewController-iPhone.xib Mon Jun 21 22:45:52 2010 +0200 @@ -2,10 +2,10 @@ 800 - 10D573 + 10F569 762 1038.29 - 460.00 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin 87 @@ -86,7 +86,7 @@ 292 - {{121, 209}, {149, 23}} + {{121, 240}, {149, 23}} NO IBCocoaTouchFramework @@ -145,7 +145,7 @@ 292 - {{123, 239}, {145, 29}} + {{123, 203}, {145, 29}} NO YES @@ -320,9 +320,9 @@ - + - + @@ -463,7 +463,7 @@ IBProjectSource - ../../cocoaTouch/MapConfigViewController.h + Classes/MapConfigViewController.h diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/OverlayViewController-iPad.xib --- a/project_files/HedgewarsMobile/Resources/OverlayViewController-iPad.xib Mon Jun 21 21:41:14 2010 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,945 +0,0 @@ - - - - 800 - 10D573 - 762 - 1038.29 - 460.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 - - - YES - - - - YES - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - YES - - YES - - - YES - - - - YES - - IBFilesOwner - IBIPadFramework - - - IBFirstResponder - IBIPadFramework - - - - 292 - - YES - - - 292 - {{0, 675}, {39, 53}} - - NO - NO - IBIPadFramework - 0 - 0 - - Helvetica-Bold - 15 - 16 - - - 3 - MQA - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - 3 - MC41AA - - - NSImage - arrowLeft.png - - - - - 292 - {{90, 675}, {39, 54}} - - NO - NO - 1 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - arrowRight.png - - - - - 292 - {{964, 690}, {64, 48}} - - NO - NO - 6 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - joyPush.png - - - - - 292 - {{919, 665}, {64, 50}} - - NO - NO - 5 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - 292 - {{908, 723}, {61, 45}} - - NO - NO - 4 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - 292 - {{37, 638}, {53, 39}} - - NO - NO - 2 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - arrowUp.png - - - - - 292 - {{37, 729}, {53, 39}} - - NO - NO - 3 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - arrowDown.png - - - - - 292 - {{956, -5}, {72, 64}} - - NO - 10 - IBIPadFramework - 0 - 0 - - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - menuCorner.png - - - - {1024, 768} - - - 3 - MSAwAA - - NO - YES - - 3 - - IBIPadFramework - - - - - YES - - - view - - - - 3 - - - - buttonPressed: - - - 1 - - 8 - - - - buttonReleased: - - - 9 - - 9 - - - - buttonReleased: - - - 7 - - 10 - - - - buttonReleased: - - - 8 - - 11 - - - - buttonReleased: - - - 8 - - 13 - - - - buttonReleased: - - - 9 - - 14 - - - - buttonPressed: - - - 1 - - 15 - - - - buttonReleased: - - - 7 - - 16 - - - - buttonReleased: - - - 9 - - 18 - - - - buttonPressed: - - - 1 - - 19 - - - - buttonReleased: - - - 8 - - 20 - - - - buttonReleased: - - - 7 - - 21 - - - - buttonReleased: - - - 8 - - 23 - - - - buttonReleased: - - - 9 - - 24 - - - - buttonPressed: - - - 1 - - 25 - - - - buttonReleased: - - - 7 - - 26 - - - - buttonReleased: - - - 9 - - 44 - - - - buttonPressed: - - - 1 - - 45 - - - - buttonReleased: - - - 8 - - 46 - - - - buttonReleased: - - - 7 - - 47 - - - - buttonReleased: - - - 8 - - 49 - - - - buttonReleased: - - - 7 - - 50 - - - - buttonReleased: - - - 9 - - 51 - - - - buttonPressed: - - - 1 - - 52 - - - - buttonReleased: - - - 9 - - 54 - - - - buttonReleased: - - - 7 - - 55 - - - - buttonPressed: - - - 1 - - 56 - - - - buttonReleased: - - - 8 - - 57 - - - - buttonPressed: - - - 7 - - 60 - - - - - YES - - 0 - - - - - - 1 - - - YES - - - - - - - - - - - - - -1 - - - File's Owner - - - -2 - - - - - 4 - - - left - - - 12 - - - right - - - 17 - - - up - - - 22 - - - down - - - 43 - - - push2 - - - 48 - - - push1 - - - 53 - - - push3 - - - 58 - - - - - - - YES - - YES - -1.CustomClassName - -2.CustomClassName - 1.IBEditorWindowLastContentRect - 1.IBPluginDependency - 12.IBPluginDependency - 17.IBPluginDependency - 22.IBPluginDependency - 4.IBPluginDependency - 43.IBPluginDependency - 48.IBPluginDependency - 53.IBPluginDependency - 58.IBPluginDependency - - - YES - OverlayViewController - UIResponder - {{0, 273}, {1024, 768}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 60 - - - - YES - - OverlayViewController - UIViewController - - YES - - YES - buttonPressed: - buttonReleased: - - - YES - id - id - - - - popoverController - id - - - IBProjectSource - ../../cocoaTouch/OverlayViewController.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSNetServices.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPort.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSStream.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSXMLParser.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIButton - UIControl - - IBFrameworkSource - UIKit.framework/Headers/UIButton.h - - - - UIControl - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIControl.h - - - - UIResponder - NSObject - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h - - - - - 0 - IBIPadFramework - - com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - - - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - ../../project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj - 3 - - YES - - YES - arrowDown.png - arrowLeft.png - arrowRight.png - arrowUp.png - joyPush.png - menuCorner.png - - - YES - {64, 64} - {64, 64} - {64, 64} - {64, 64} - {64, 64} - {64, 64} - - - 87 - - diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/Resources/OverlayViewController.xib --- a/project_files/HedgewarsMobile/Resources/OverlayViewController.xib Mon Jun 21 21:41:14 2010 +0400 +++ b/project_files/HedgewarsMobile/Resources/OverlayViewController.xib Mon Jun 21 22:45:52 2010 +0200 @@ -2,10 +2,10 @@ 800 - 10D573 + 10F569 762 1038.29 - 460.00 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin 87 @@ -228,6 +228,16 @@ menuCorner.png + + + 269 + {{225, 245}, {37, 37}} + + NO + IBCocoaTouchFramework + YES + 0 + {480, 320} @@ -517,6 +527,14 @@ 60 + + + spinningWheel + + + + 64 + @@ -540,6 +558,7 @@ + @@ -601,6 +620,11 @@ + + 63 + + + @@ -619,6 +643,7 @@ 48.IBPluginDependency 53.IBPluginDependency 58.IBPluginDependency + 63.IBPluginDependency YES @@ -634,6 +659,7 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -652,7 +678,7 @@ - 62 + 64 @@ -674,12 +700,21 @@ - popoverController - id + YES + + YES + popoverController + spinningWheel + + + YES + id + UIActivityIndicatorView + IBProjectSource - ../../cocoaTouch/OverlayViewController.h + Classes/OverlayViewController.h @@ -819,6 +854,14 @@ + UIActivityIndicatorView + UIView + + IBFrameworkSource + UIKit.framework/Headers/UIActivityIndicatorView.h + + + UIButton UIControl @@ -919,7 +962,7 @@ YES - ../../project_files/HedgewarsMobile/Hedgewars.xcodeproj + ../Hedgewars.xcodeproj 3 YES diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/libpng_arm.a Binary file project_files/HedgewarsMobile/libpng_arm.a has changed diff -r 66c403badff6 -r 04e2fea3e83a project_files/HedgewarsMobile/libpng_x86.a Binary file project_files/HedgewarsMobile/libpng_x86.a has changed