# HG changeset patch # User nemo # Date 1277954506 14400 # Node ID b16a9c8461ec66da87ab3092f655d39b7c8fc4f9 # Parent 51062794ed01ada518f3f838e4834bab5a58e9d4# Parent 715a43602da882d5dedc442a13f60860921d2015 merge (I'll get it next time) diff -r 51062794ed01 -r b16a9c8461ec hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/CCHandlers.inc Wed Jun 30 23:21:46 2010 -0400 @@ -682,9 +682,6 @@ {$IFDEF DEBUGFILE} buf: array[byte] of char; {$ENDIF} -{$IFDEF SDL13} - window: PSDL_Window; -{$ENDIF} begin s:= s; // avoid compiler hint if Length(s) = 0 then cFullScreen:= not cFullScreen @@ -734,10 +731,13 @@ end; {$IFDEF SDL13} - window:= SDL_CreateWindow('Hedgewars', 0, 0, cScreenWidth, cScreenHeight, - SDL_WINDOW_OPENGL or SDL_WINDOW_SHOWN - {$IFDEF IPHONEOS} or SDL_WINDOW_BORDERLESS{$ENDIF}); - SDL_CreateRenderer(window, -1, 0); + if SDLwindow = nil then + begin + SDLwindow:= SDL_CreateWindow('Hedgewars', 0, 0, cScreenWidth, cScreenHeight, + SDL_WINDOW_OPENGL or SDL_WINDOW_SHOWN + {$IFDEF IPHONEOS} or SDL_WINDOW_BORDERLESS{$ENDIF}); + SDL_CreateRenderer(SDLwindow, -1, 0); + end; SDL_SetRenderDrawColor(0, 0, 0, 255); SDL_RenderFill(nil); diff -r 51062794ed01 -r b16a9c8461ec hedgewars/SDLh.pas --- a/hedgewars/SDLh.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/SDLh.pas Wed Jun 30 23:21:46 2010 -0400 @@ -705,6 +705,8 @@ function SDL_CreateWindow(title: PChar; x,y,w,h, flags: LongInt): PSDL_Window; cdecl; external SDLLibName; function SDL_CreateRenderer(window: PSDL_Window; index, flags: LongInt): LongInt; cdecl; external SDLLibName; function SDL_SetRenderDrawColor(r,g,b,a: byte): LongInt; cdecl; external SDLLibName; +function SDL_DestroyRenderer(window: PSDL_Window): LongInt; cdecl; external SDLLibName; +function SDL_DestroyWindow(window: PSDL_Window): LongInt; cdecl; external SDLLibName; function SDL_RenderFill(rect: PSDL_Rect): LongInt; function SDL_RenderFillRect(rect: PSDL_Rect): LongInt; cdecl; external SDLLibName; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/VGSHandlers.inc --- a/hedgewars/VGSHandlers.inc Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/VGSHandlers.inc Wed Jun 30 23:21:46 2010 -0400 @@ -80,7 +80,7 @@ // up-and-down-bounce magic s := (GameTicks + Gear^.Timer) mod 4096; t := 8 * AngleSin(s mod 2048).QWordValue / 4294967296; -if (s < 2048) then t *= -1; +if (s < 2048) then t := -t; Gear^.Y := LAND_HEIGHT-1184 + Gear^.Timer mod 8 + t; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/hwengine.pas Wed Jun 30 23:21:46 2010 -0400 @@ -172,6 +172,10 @@ SendKB(); CloseIPC(); TTF_Quit(); +{$IFDEF SDL13} + SDL_DestroyRenderer(SDLwindow); + SDL_DestroyWindow(SDLwindow); +{$ENDIF} SDL_Quit(); isTerminated:= false; end; @@ -250,7 +254,7 @@ cVSyncInUse:= true; cTimerInterval:= 8; PathPrefix:= 'Data'; - cReducedQuality:= 0; //FIXME + cReducedQuality:= rqBlurryLand; //FIXME cShowFPS:= true; cInitVolume:= 100; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/uFloat.pas --- a/hedgewars/uFloat.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/uFloat.pas Wed Jun 30 23:21:46 2010 -0400 @@ -22,6 +22,7 @@ interface {$IFDEF FPC} +{$INLINE ON} {$IFDEF ENDIAN_LITTLE} type hwFloat = record isNegative: boolean; @@ -38,14 +39,14 @@ end; {$ENDIF} -function int2hwFloat (const i: LongInt) : hwFloat; +function int2hwFloat (const i: LongInt) : hwFloat; inline; -operator + (const z1, z2: hwFloat) z : hwFloat; -operator - (const z1, z2: hwFloat) z : hwFloat; +operator + (const z1, z2: hwFloat) z : hwFloat; inline; +operator - (const z1, z2: hwFloat) z : hwFloat; inline; operator - (const z1: hwFloat) z : hwFloat; operator * (const z1, z2: hwFloat) z : hwFloat; -operator * (const z1: hwFloat; const z2: LongInt) z : hwFloat; +operator * (const z1: hwFloat; const z2: LongInt) z : hwFloat; inline; operator / (const z1: hwFloat; z2: hwFloat) z : hwFloat; operator / (const z1: hwFloat; const z2: LongInt) z : hwFloat; @@ -55,8 +56,8 @@ function cstr(const z: hwFloat): shortstring; function hwRound(const t: hwFloat): LongInt; function hwAbs(const t: hwFloat): hwFloat; -function hwSqr(const t: hwFloat): hwFloat; -function hwSqrt(const t: hwFloat): hwFloat; +function hwSqr(const t: hwFloat): hwFloat; inline; +function hwSqrt(const t: hwFloat): hwFloat; inline; function Distance(const dx, dy: hwFloat): hwFloat; function DistanceI(const dx, dy: LongInt): hwFloat; function AngleSin(const Angle: Longword): hwFloat; @@ -149,6 +150,7 @@ implementation uses uMisc; + {$IFDEF FPC} function int2hwFloat (const i: LongInt) : hwFloat; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/uKeys.pas --- a/hedgewars/uKeys.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/uKeys.pas Wed Jun 30 23:21:46 2010 -0400 @@ -412,8 +412,8 @@ procedure FreezeEnterKey; begin -tkbd[13]:= 1; -tkbd[271]:= 1; + tkbd[13]:= 1; + tkbd[271]:= 1; end; var Controller: array [0..5] of PSDL_Joystick; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/uLand.pas --- a/hedgewars/uLand.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/uLand.pas Wed Jun 30 23:21:46 2010 -0400 @@ -643,10 +643,11 @@ for y:= 0 to LAND_HEIGHT - 1 do begin for x:= 0 to LAND_WIDTH - 1 do + if Land[y, x] <> 0 then if (cReducedQuality and rqBlurryLand) = 0 then - if Land[y, x] <> 0 then LandPixels[y, x]:= p^[x] or AMask + LandPixels[y, x]:= p^[x] or AMask else - if Land[y, x] <> 0 then LandPixels[y div 2, x div 2]:= p^[x] or AMask; + LandPixels[y div 2, x div 2]:= p^[x] or AMask; p:= @(p^[Surface^.pitch div 4]); end; diff -r 51062794ed01 -r b16a9c8461ec hedgewars/uMisc.pas --- a/hedgewars/uMisc.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/uMisc.pas Wed Jun 30 23:21:46 2010 -0400 @@ -17,6 +17,7 @@ *) {$INCLUDE "options.inc"} +{$INLINE ON} unit uMisc; interface @@ -131,6 +132,9 @@ ScreenFadeValue : LongInt; ScreenFadeSpeed : LongInt; +{$IFDEF SDL13} + SDLwindow: PSDL_Window; +{$ENDIF} procedure initModule; procedure freeModule; @@ -144,7 +148,7 @@ function Min(a, b: LongInt): LongInt; function Max(a, b: LongInt): LongInt; procedure OutError(Msg: shortstring; isFatalError: boolean); -procedure TryDo(Assert: boolean; Msg: shortstring; isFatal: boolean); +procedure TryDo(Assert: boolean; Msg: shortstring; isFatal: boolean); inline; procedure SDLTry(Assert: boolean; isFatal: boolean); function IntToStr(n: LongInt): shortstring; function FloatToStr(n: hwFloat): shortstring; @@ -160,7 +164,7 @@ function NewTexture(width, height: Longword; buf: Pointer): PTexture; function Surface2Tex(surf: PSDL_Surface; enableClamp: boolean): PTexture; procedure FreeTexture(tex: PTexture); -function toPowerOf2(i: Longword): Longword; +function toPowerOf2(i: Longword): Longword; inline; function DecodeBase64(s: shortstring): shortstring; function doSurfaceConversion(tmpsurf: PSDL_Surface): PSDL_Surface; function endian(independent: LongWord): LongWord; @@ -777,6 +781,10 @@ cAltDamage := true; ScreenFade := sfNone; + +{$IFDEF SDL13} + SDLwindow := nil; +{$ENDIF} {$IFDEF DEBUGFILE} {$I-} {$IFDEF IPHONEOS} diff -r 51062794ed01 -r b16a9c8461ec hedgewars/uVisualGears.pas --- a/hedgewars/uVisualGears.pas Wed Jun 30 23:15:14 2010 -0400 +++ b/hedgewars/uVisualGears.pas Wed Jun 30 23:21:46 2010 -0400 @@ -165,13 +165,13 @@ Angle:= random * 360; dx:= 0.0000038654705 * random(10000); dy:= 0.000003506096 * random(7000); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; dAngle:= (random(2) * 2 - 1) * (1 + random) * vobVelocity / 1000 end; vgtCloud: begin Frame:= random(4); dx:= 0.000005 * random(10000); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; timer:= random(4096); end; vgtExplPart, @@ -180,8 +180,8 @@ sp:= 0.001 * (random(95) + 70); dx:= AngleSin(t).QWordValue/4294967296 * sp; dy:= AngleCos(t).QWordValue/4294967296 * sp; - if random(2) = 0 then dx*=-1; - if random(2) = 0 then dy*=-1; + if random(2) = 0 then dx := -dx; + if random(2) = 0 then dy := -dy; Frame:= 7 - random(3); FrameTicks:= cExplFrameTicks end; @@ -190,8 +190,8 @@ sp:= 0.001 * (random(85) + 95); dx:= AngleSin(t).QWordValue/4294967296 * sp; dy:= AngleCos(t).QWordValue/4294967296 * sp; - if random(2) = 0 then dx*=-1; - if random(2) = 0 then dy*=-1; + if random(2) = 0 then dx := -dx; + if random(2) = 0 then dy := -dy; FrameTicks:= 650 + random(250); Frame:= random(8) end; @@ -200,8 +200,8 @@ sp:= 0.001 * (random(85) + 95); dx:= AngleSin(t).QWordValue/4294967296 * sp; dy:= AngleCos(t).QWordValue/4294967296 * sp; - if random(2) = 0 then dx*=-1; - if random(2) = 0 then dy*=-1; + if random(2) = 0 then dx := -dx; + if random(2) = 0 then dy := -dy; FrameTicks:= 650 + random(250); Frame:= 1 end; @@ -212,14 +212,14 @@ vgtBubble: begin dx:= 0.0000038654705 * random(10000); dy:= 0.001 * (random(85) + 95); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; FrameTicks:= 250 + random(1751); Frame:= random(5) end; vgtSteam: begin dx:= 0.0000038654705 * random(10000); dy:= 0.001 * (random(85) + 95); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; Frame:= 7 - random(3); FrameTicks:= cExplFrameTicks * 2; end; @@ -231,21 +231,21 @@ vgtSmoke: begin dx:= 0.0002 * (random(45) + 10); dy:= 0.0002 * (random(45) + 10); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; Frame:= 7 - random(2); FrameTicks:= cExplFrameTicks * 2; end; vgtHealth: begin dx:= 0.001 * random(45); dy:= 0.001 * (random(20) + 25); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; Frame:= 0; FrameTicks:= random(750) + 1250; end; vgtDust: begin dx:= 0.005 * (random(15) + 10); dy:= 0.001 * (random(40) + 20); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; Frame:= 7 - random(2); FrameTicks:= random(20) + 15; end; @@ -258,7 +258,7 @@ vgtDroplet: begin dx:= 0.001 * (random(75) + 15); dy:= -0.001 * (random(80) + 120); - if random(2) = 0 then dx*=-1; + if random(2) = 0 then dx := -dx; FrameTicks:= 250 + random(1751); Frame:= random(3) end; @@ -281,8 +281,8 @@ sp:= 0.001 * (random(85) + 95); dx:= AngleSin(t).QWordValue/4294967296 * sp; dy:= AngleCos(t).QWordValue/4294967296 * sp; - if random(2) = 0 then dx*=-1; - if random(2) = 0 then dy*=-1; + if random(2) = 0 then dx := -dx; + if random(2) = 0 then dy := -dy; FrameTicks:= 650 + random(250); Frame:= 1 end; @@ -357,9 +357,9 @@ if dmg > 1 then begin Gear^.tdX:= 0.02 * dmg + 0.01; - if Gear^.X - X < 0 then Gear^.tdX *= -1; + if Gear^.X - X < 0 then Gear^.tdX := -Gear^.tdX; Gear^.tdY:= 0.02 * dmg + 0.01; - if Gear^.Y - Y < 0 then Gear^.tdY *= -1; + if Gear^.Y - Y < 0 then Gear^.tdY := -Gear^.tdY; Gear^.Timer:= 200 end end; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/CommodityFunctions.m --- a/project_files/HedgewarsMobile/Classes/CommodityFunctions.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/CommodityFunctions.m Wed Jun 30 23:21:46 2010 -0400 @@ -54,10 +54,11 @@ } NSDictionary *theWeapon = [[NSDictionary alloc] initWithObjectsAndKeys: - @"9391929422199121032235111001201000000211190911",@"ammostore_initialqt", - @"0405040541600655546554464776576666666155501000",@"ammostore_probability", + @"9391929422199121032235111001201000000211110111",@"ammostore_initialqt", +// rope on itouch @"0000099999000000000000000000000099900000099999",@"ammostore_initialqt", + @"0405040541600655546554464776576666666155510111",@"ammostore_probability", @"0000000000000205500000040007004000000000200000",@"ammostore_delay", - @"1311110312111111123114111111111111111211101111",@"ammostore_crate", nil]; + @"1311110312111111123114111111111111111211111111",@"ammostore_crate", nil]; NSString *weaponFile = [[NSString alloc] initWithFormat:@"%@/%@.plist", weaponsDirectory, nameWithoutExt]; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/GameSetup.m --- a/project_files/HedgewarsMobile/Classes/GameSetup.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/GameSetup.m Wed Jun 30 23:21:46 2010 -0400 @@ -273,7 +273,7 @@ switch (buffer[0]) { case 'C': - DLog(@"sending game config"); + DLog(@"sending game config\n%@",self.gameConfig); // local game [self sendToEngine:@"TL"]; @@ -301,12 +301,8 @@ } [self provideAmmoData:[self.gameConfig objectForKey:@"weapon"] forPlayingTeams:[teamsConfig count]]; - - clientQuit = NO; break; case '?': - // without this sleep sometimes frontend replies before engine has processed any flag (resulting in an error) - [NSThread sleepForTimeInterval:0.7]; DLog(@"Ping? Pong!"); [self sendToEngine:@"!"]; break; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/MapConfigViewController.m --- a/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/MapConfigViewController.m Wed Jun 30 23:21:46 2010 -0400 @@ -116,6 +116,7 @@ CGColorSpaceRelease(colorspace); CGImageRef previewCGImage = CGBitmapContextCreateImage(bitmapImage); + CGContextRelease(bitmapImage); UIImage *previewImage = [[UIImage alloc] initWithCGImage:previewCGImage]; CGImageRelease(previewCGImage); previewCGImage = nil; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/OverlayViewController.m --- a/project_files/HedgewarsMobile/Classes/OverlayViewController.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/OverlayViewController.m Wed Jun 30 23:21:46 2010 -0400 @@ -128,27 +128,27 @@ // add timer too runloop, otherwise it doesn't work [[NSRunLoop currentRunLoop] addTimer:dimTimer forMode:NSDefaultRunLoopMode]; - // listen for dismissal of the popover (see below) - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(dismissPopover) - name:@"dismissPopover" - object:nil]; - [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) - name:@"UIDeviceOrientationDidChangeNotification" + name:UIDeviceOrientationDidChangeNotification object:nil]; - //self.view.transform = CGAffineTransformRotate(self.view.transform, (M_PI/2.0)); [UIView beginAnimations:@"showing overlay" context:NULL]; [UIView setAnimationDuration:1]; self.view.alpha = 1; [UIView commitAnimations]; + + // set initial orientation + [self didRotate:[NSNotification notificationWithName:UIDeviceOrientationDidChangeNotification object:nil]]; + + // to put the slider vertical... + //slider.transform = CGAffineTransformMakeRotation(M_PI * 0.5); } -(void) viewDidUnload { self.writeChatTextField = nil; + [popoverController dismissPopoverAnimated:NO]; self.popoverController = nil; self.popupMenu = nil; self.spinningWheel = nil; @@ -319,28 +319,29 @@ [self.writeChatTextField resignFirstResponder]; [dimTimer setFireDate:HIDING_TIME_DEFAULT]; } - - switch ([touches count]) { - case 1: - DLog(@"X:%d Y:%d", HWX(currentPosition.x), HWY(currentPosition.y)); - HW_setCursor(HWX(currentPosition.x), HWY(currentPosition.y)); - break; - case 2: - if (2 == [touch tapCount] && currentPosition.y < screen.size.width - 100) { - HW_ammoMenu(); - //HW_zoomReset(); - } - - // pinching - twoTouches = [touches allObjects]; - UITouch *first = [twoTouches objectAtIndex:0]; - UITouch *second = [twoTouches objectAtIndex:1]; - initialDistanceForPinching = distanceBetweenPoints([first locationInView:self.view], [second locationInView:self.view]); - break; - default: - break; + + if (currentPosition.y < screen.size.width - 120) { + switch ([touches count]) { + case 1: + DLog(@"X:%d Y:%d", HWX(currentPosition.x), HWY(currentPosition.y)); + HW_setCursor(HWX(currentPosition.x), HWY(currentPosition.y)); + break; + case 2: + if (2 == [touch tapCount]) { + HW_ammoMenu(); + //HW_zoomReset(); + } + + // pinching + twoTouches = [touches allObjects]; + UITouch *first = [twoTouches objectAtIndex:0]; + UITouch *second = [twoTouches objectAtIndex:1]; + initialDistanceForPinching = distanceBetweenPoints([first locationInView:self.view], [second locationInView:self.view]); + break; + default: + break; + } } - } -(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/PopoverMenuViewController.m --- a/project_files/HedgewarsMobile/Classes/PopoverMenuViewController.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/PopoverMenuViewController.m Wed Jun 30 23:21:46 2010 -0400 @@ -129,10 +129,8 @@ [UIView commitAnimations]; } - if ([actionSheet cancelButtonIndex] != buttonIndex) { - [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissPopover" object:nil]; + if ([actionSheet cancelButtonIndex] != buttonIndex) HW_terminate(NO); - } else if (!isPaused) HW_pause(); diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.h --- a/project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.h Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.h Wed Jun 30 23:21:46 2010 -0400 @@ -27,15 +27,10 @@ @class OverlayViewController; @interface SDLUIKitDelegate:NSObject { - SDL_Window *window; - UIWindow *uiwindow; MainMenuViewController *mainViewController; BOOL isInGame; } -@property (readwrite, assign) SDL_Window *window; -@property (readwrite, retain) UIWindow *uiwindow; - +(SDLUIKitDelegate *)sharedAppDelegate; -(void) startSDLgame; -(void) displayOverlayLater; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.m --- a/project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.m Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Classes/SDL_uikitappdelegate.m Wed Jun 30 23:21:46 2010 -0400 @@ -54,7 +54,6 @@ } @implementation SDLUIKitDelegate -@synthesize uiwindow, window; // convenience method +(SDLUIKitDelegate *)sharedAppDelegate { @@ -66,15 +65,11 @@ if (self = [super init]){ mainViewController = nil; isInGame = NO; - self.uiwindow = nil; - self.window = NULL; } return self; } -(void) dealloc { - SDL_DestroyWindow(self.window); - [uiwindow release]; [mainViewController release]; [super dealloc]; } @@ -93,14 +88,20 @@ [setup release]; // since the sdlwindow is not yet created, we add the overlayController with a delay - [self performSelector:@selector(displayOverlayLater) withObject:nil afterDelay:0.5]; + [self performSelector:@selector(displayOverlayLater) withObject:nil afterDelay:0.3]; // this is the pascal fuction that starts the game (wrapped around isInGame) isInGame = YES; Game(gameArgs); isInGame = NO; + free(gameArgs); - free(gameArgs); + UIWindow *aWin = [[[UIApplication sharedApplication] windows] objectAtIndex:0]; + [aWin makeKeyAndVisible]; + aWin = [[[UIApplication sharedApplication] windows] lastObject]; + [aWin removeFromSuperview]; + + DLog(@"%@",[[UIApplication sharedApplication] windows]); [UIView beginAnimations:@"inserting main controller" context:NULL]; [UIView setAnimationDuration:1]; @@ -109,9 +110,10 @@ } -(void) displayOverlayLater { - // overlay with controls, become visible after 4 seconds, with a transparency effect + // overlay with controls, become visible later, with a transparency effect OverlayViewController *overlayController = [[OverlayViewController alloc] initWithNibName:@"OverlayViewController" bundle:nil]; - + + // keyWindow is the frontmost window [[[UIApplication sharedApplication] keyWindow] addSubview:overlayController.view]; [overlayController release]; } @@ -121,10 +123,8 @@ [application setStatusBarHidden:YES]; [application setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO]; - uiwindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + UIWindow *uiwindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; uiwindow.backgroundColor = [UIColor blackColor]; - // needed to keep the app running after a game (gets released in sdl_uikitwindow) - [uiwindow retain]; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) mainViewController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController-iPad" bundle:nil]; @@ -148,15 +148,16 @@ } -(void) applicationDidReceiveMemoryWarning:(UIApplication *)application { + if (mainViewController.view.superview == nil) + mainViewController = nil; + MSG_MEMCLEAN(); print_free_memory(); } -(void) applicationWillResignActive:(UIApplication *)application { - //NSLog(@"%@", NSStringFromSelector(_cmd)); if (isInGame) { HW_pause(); - /* // Send every window on every screen a MINIMIZED event. SDL_VideoDevice *_this = SDL_GetVideoDevice(); if (!_this) @@ -169,7 +170,6 @@ for (window = display->windows; window != nil; window = window->next) SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MINIMIZED, 0, 0); } - */ } } @@ -178,7 +178,6 @@ if (isInGame) { HW_pause(); - /* // Send every window on every screen a RESTORED event. SDL_VideoDevice *_this = SDL_GetVideoDevice(); if (!_this) @@ -191,7 +190,6 @@ for (window = display->windows; window != nil; window = window->next) SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESTORED, 0, 0); } - */ } } diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj --- a/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Hedgewars.xcodeproj/project.pbxproj Wed Jun 30 23:21:46 2010 -0400 @@ -30,6 +30,9 @@ 6122CD01116BECCA002648E9 /* Default-Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 6122CD00116BECCA002648E9 /* Default-Landscape.png */; }; 61272334117DF764005B90CF /* libSDL_image.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272333117DF752005B90CF /* libSDL_image.a */; }; 61272339117DF778005B90CF /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61272338117DF778005B90CF /* MobileCoreServices.framework */; }; + 6132878111D9517D006BA39D /* joyButton_backjump.png in Resources */ = {isa = PBXBuildFile; fileRef = 6132878011D9517D006BA39D /* joyButton_backjump.png */; }; + 6132878311D95185006BA39D /* joyButton_forwardjump.png in Resources */ = {isa = PBXBuildFile; fileRef = 6132878211D95185006BA39D /* joyButton_forwardjump.png */; }; + 6132878511D9518B006BA39D /* joyButton_attack.png in Resources */ = {isa = PBXBuildFile; fileRef = 6132878411D9518B006BA39D /* joyButton_attack.png */; }; 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 */; }; @@ -200,6 +203,13 @@ remoteGlobalIDString = BE48FD6E07AFA17000BB41DA; remoteInfo = "Static Library"; }; + 6184608B11DA8BF3000E1314 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 617988D3114AAA3900BA94A9 /* SDLiPhoneOS.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 006E982211955059001DE610; + remoteInfo = testsdl; + }; 61C325201179A30E001E70B1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; @@ -232,6 +242,9 @@ 6122CD00116BECCA002648E9 /* Default-Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Default-Landscape.png"; path = "Resources/Default-Landscape.png"; sourceTree = ""; }; 6127232E117DF752005B90CF /* SDL_image.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SDL_image.xcodeproj; path = "../../../Library/SDL-1.3/SDL_image/Xcode_iPhone/SDL_image.xcodeproj"; sourceTree = SOURCE_ROOT; }; 61272338117DF778005B90CF /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; + 6132878011D9517D006BA39D /* joyButton_backjump.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = joyButton_backjump.png; path = Resources/joyButton_backjump.png; sourceTree = ""; }; + 6132878211D95185006BA39D /* joyButton_forwardjump.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = joyButton_forwardjump.png; path = Resources/joyButton_forwardjump.png; sourceTree = ""; }; + 6132878411D9518B006BA39D /* joyButton_attack.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = joyButton_attack.png; path = Resources/joyButton_attack.png; sourceTree = ""; }; 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 = ""; }; @@ -432,6 +445,8 @@ 6163EE6C11CC253F001C0453 /* Overlay */, 616591F011CA9BA200D6E256 /* MainMenuViewController.h */, 616591F111CA9BA200D6E256 /* MainMenuViewController.m */, + 6165924B11CA9CB400D6E256 /* MainMenuViewController-iPad.xib */, + 6165924C11CA9CB400D6E256 /* MainMenuViewController-iPhone.xib */, 616591E611CA9BA200D6E256 /* GameSetup.h */, 616591E711CA9BA200D6E256 /* GameSetup.m */, ); @@ -489,7 +504,6 @@ isa = PBXGroup; children = ( 6100DAD4115446B000F455E0 /* Resources-iPad */, - 6100DB1711544E8400F455E0 /* XIB */, 6179937011501D5800BA94A9 /* buttons */, 6179936F11501D4100BA94A9 /* back panels */, 6179936611501D1E00BA94A9 /* joystick */, @@ -539,20 +553,6 @@ name = "Resources-iPad"; sourceTree = ""; }; - 6100DB1711544E8400F455E0 /* XIB */ = { - isa = PBXGroup; - children = ( - 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */, - 6165924B11CA9CB400D6E256 /* MainMenuViewController-iPad.xib */, - 6165924C11CA9CB400D6E256 /* MainMenuViewController-iPhone.xib */, - 6165924D11CA9CB400D6E256 /* MapConfigViewController-iPad.xib */, - 6165924E11CA9CB400D6E256 /* MapConfigViewController-iPhone.xib */, - 6165925011CA9CB400D6E256 /* OverlayViewController.xib */, - ); - name = XIB; - path = Classes; - sourceTree = ""; - }; 6127232F117DF752005B90CF /* Products */ = { isa = PBXGroup; children = ( @@ -582,12 +582,15 @@ children = ( 616591E411CA9BA200D6E256 /* GameConfigViewController.h */, 616591E511CA9BA200D6E256 /* GameConfigViewController.m */, + 6165924A11CA9CB400D6E256 /* GameConfigViewController.xib */, 6165920411CA9BA200D6E256 /* TeamConfigViewController.h */, 6165920511CA9BA200D6E256 /* TeamConfigViewController.m */, 616591FC11CA9BA200D6E256 /* SchemeWeaponConfigViewController.h */, 616591FD11CA9BA200D6E256 /* SchemeWeaponConfigViewController.m */, 616591F211CA9BA200D6E256 /* MapConfigViewController.h */, 616591F311CA9BA200D6E256 /* MapConfigViewController.m */, + 6165924D11CA9CB400D6E256 /* MapConfigViewController-iPad.xib */, + 6165924E11CA9CB400D6E256 /* MapConfigViewController-iPhone.xib */, ); name = "Game Config"; sourceTree = ""; @@ -646,6 +649,7 @@ 616591F911CA9BA200D6E256 /* PopoverMenuViewController.m */, 616591F611CA9BA200D6E256 /* OverlayViewController.h */, 616591F711CA9BA200D6E256 /* OverlayViewController.m */, + 6165925011CA9CB400D6E256 /* OverlayViewController.xib */, ); name = Overlay; sourceTree = ""; @@ -685,6 +689,7 @@ isa = PBXGroup; children = ( 617988DA114AAA3900BA94A9 /* libSDLiPhoneOS.a */, + 6184608C11DA8BF3000E1314 /* testsdl.app */, ); name = Products; sourceTree = ""; @@ -721,6 +726,9 @@ 6165925B11CA9CD300D6E256 /* arrowRight.png */, 6165925C11CA9CD300D6E256 /* arrowUp.png */, 6165925D11CA9CD300D6E256 /* joyPush.png */, + 6132878011D9517D006BA39D /* joyButton_backjump.png */, + 6132878211D95185006BA39D /* joyButton_forwardjump.png */, + 6132878411D9518B006BA39D /* joyButton_attack.png */, ); name = joystick; sourceTree = ""; @@ -945,6 +953,13 @@ remoteRef = 61798A12114AB65600BA94A9 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 6184608C11DA8BF3000E1314 /* testsdl.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = testsdl.app; + remoteRef = 6184608B11DA8BF3000E1314 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -987,6 +1002,9 @@ 6165928811CA9D4800D6E256 /* playButton.png in Resources */, 6165928911CA9D4800D6E256 /* settingsButton.png in Resources */, 6165928A11CA9D4800D6E256 /* storeButton.png in Resources */, + 6132878111D9517D006BA39D /* joyButton_backjump.png in Resources */, + 6132878311D95185006BA39D /* joyButton_forwardjump.png in Resources */, + 6132878511D9518B006BA39D /* joyButton_attack.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1191,7 +1209,7 @@ CODE_SIGN_ENTITLEMENTS = "Entitlements-Distribution.plist"; CODE_SIGN_IDENTITY = "iPhone Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; - FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix"; + FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix -Sc"; FPC_COMPILER_BINARY_DIR = /usr/local/lib/fpc/2.5.1; FPC_MAIN_FILE = "$(PROJECT_DIR)/../../hedgewars/hwLibrary.pas"; FPC_RTL_UNITS_BASE = /usr/local/lib/fpc; @@ -1302,7 +1320,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix"; + FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix -Sc"; FPC_COMPILER_BINARY_DIR = /usr/local/lib/fpc/2.5.1; FPC_MAIN_FILE = "$(PROJECT_DIR)/../../hedgewars/hwLibrary.pas"; FPC_RTL_UNITS_BASE = /usr/local/lib/fpc; @@ -1505,7 +1523,7 @@ CODE_SIGN_IDENTITY = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Vittorio Giovara (DC2BRETXAC)"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix"; + FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix -Sc"; FPC_COMPILER_BINARY_DIR = /usr/local/lib/fpc/2.5.1; FPC_MAIN_FILE = "$(PROJECT_DIR)/../../hedgewars/hwLibrary.pas"; FPC_RTL_UNITS_BASE = /usr/local/lib/fpc; @@ -1544,7 +1562,7 @@ ARCHS = "$(ARCHS_STANDARD_32_BIT)"; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix"; + FPC_COMMON_OPTIONS = "-dIPHONEOS -Cs2000000 -vwi -B -Sgix -Sc"; FPC_COMPILER_BINARY_DIR = /usr/local/lib/fpc/2.5.1; FPC_MAIN_FILE = "$(PROJECT_DIR)/../../hedgewars/hwLibrary.pas"; FPC_RTL_UNITS_BASE = /usr/local/lib/fpc; diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib --- a/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPad.xib Wed Jun 30 23:21:46 2010 -0400 @@ -2,13 +2,13 @@ 800 - 10D573 - 762 + 10F569 + 788 1038.29 - 460.00 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 + 117 YES @@ -37,7 +37,7 @@ IBIPadFramework - + 292 YES @@ -46,6 +46,7 @@ 274 {1024, 768} + NO IBIPadFramework @@ -58,6 +59,7 @@ 292 {{147, 20}, {745, 146}} + NO 4 NO @@ -72,6 +74,7 @@ 292 {{147, 200}, {258, 215}} + NO IBIPadFramework 0 @@ -103,6 +106,7 @@ 292 {{634, 493}, {258, 215}} + NO 1 IBIPadFramework @@ -125,6 +129,7 @@ 292 {{175, 600}, {18, 19}} + NO 3 IBIPadFramework @@ -143,8 +148,9 @@ 292 - {{762, 183}, {87, 21}} + {{641, 180}, {243, 21}} + NO YES 7 @@ -172,6 +178,7 @@ 292 {{267, 579}, {72, 62}} + NO 2 IBIPadFramework @@ -191,10 +198,15 @@ {1024, 768} + + 1 MCAwIDAAA + + 3 + IBIPadFramework @@ -271,10 +283,10 @@ - + @@ -387,22 +399,27 @@ switchViews: id + + switchViews: + + switchViews: + id + + - YES - - YES - settingsSplitViewController - versionLabel - - - YES - UISplitViewController - UILabel + versionLabel + UILabel + + + versionLabel + + versionLabel + UILabel IBProjectSource - ../../cocoaTouch/MainMenuViewController.h + Classes/MainMenuViewController.h @@ -595,14 +612,6 @@ - UISplitViewController - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - UIView IBFrameworkSource @@ -633,7 +642,10 @@ UIViewController - + + IBFrameworkSource + UIKit.framework/Headers/UISplitViewController.h + UIViewController @@ -663,7 +675,7 @@ YES - ../../project_files/HedgewarsMobile/Hedgewars.xcodeproj + ../Hedgewars.xcodeproj 3 YES @@ -684,6 +696,6 @@ {57, 51} - 87 + 117 diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/MainMenuViewController-iPhone.xib --- a/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPhone.xib Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Resources/MainMenuViewController-iPhone.xib Wed Jun 30 23:21:46 2010 -0400 @@ -2,17 +2,16 @@ 800 - 10D573 - 762 + 10F569 + 788 1038.29 - 460.00 + 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 + 117 YES - YES @@ -47,6 +46,7 @@ 274 {{0, 21}, {480, 278}} + 3 MCAwAA @@ -64,6 +64,7 @@ 293 {{121, 25}, {240, 52}} + NO NO 4 @@ -79,6 +80,7 @@ 289 {{240, 102}, {220, 52}} + 1 MCAwIDAgMAA @@ -115,6 +117,7 @@ 265 {{240, 177}, {220, 52}} + 1 MCAwIDAgMAA @@ -142,6 +145,7 @@ 260 {{12, 144}, {220, 52}} + 1 MCAwIDAgMAA @@ -167,8 +171,9 @@ 292 - {{60, 102}, {145, 21}} + {{37, 102}, {168, 21}} + NO YES NO @@ -193,6 +198,7 @@ 269 {{209, 237}, {59, 52}} + NO NO 2 @@ -216,6 +222,7 @@ 290 {480, 17} + NO NO 4 @@ -231,6 +238,7 @@ 266 {{0, 297}, {480, 23}} + NO NO 4 @@ -246,6 +254,7 @@ 292 {{20, 270}, {18, 19}} + NO 3 IBCocoaTouchFramework @@ -264,10 +273,14 @@ {480, 320} + 1 MCAwIDAAA + + 3 + IBCocoaTouchFramework @@ -491,13 +504,27 @@ switchViews: id + + switchViews: + + switchViews: + id + + versionLabel UILabel + + versionLabel + + versionLabel + UILabel + + IBProjectSource - ../../cocoaTouch/MainMenuViewController.h + Classes/MainMenuViewController.h @@ -753,7 +780,7 @@ YES - ../../project_files/HedgewarsMobile/HedgewarsMobile.xcodeproj + ../Hedgewars.xcodeproj 3 YES @@ -780,6 +807,6 @@ {262, 84} - 87 + 117 diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/OverlayViewController.xib --- a/project_files/HedgewarsMobile/Resources/OverlayViewController.xib Wed Jun 30 23:15:14 2010 -0400 +++ b/project_files/HedgewarsMobile/Resources/OverlayViewController.xib Wed Jun 30 23:21:46 2010 -0400 @@ -3,16 +3,15 @@ 800 10F569 - 762 + 788 1038.29 461.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 87 + 117 YES - YES @@ -45,8 +44,9 @@ 268 - {{0, 237}, {39, 53}} + {{0, 229}, {50, 50}} + NO NO IBCocoaTouchFramework @@ -77,8 +77,9 @@ 268 - {{75, 237}, {39, 54}} + {{87, 229}, {50, 50}} + NO NO 1 @@ -100,8 +101,9 @@ 265 - {{416, 227}, {64, 64}} + {{412, 236}, {64, 64}} + NO NO 5 @@ -115,16 +117,17 @@ MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + NSImage - joyPush.png + joyButton_forwardjump.png 265 - {{368, 207}, {64, 64}} + {{365, 203}, {64, 64}} + NO NO 6 @@ -138,13 +141,17 @@ MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + + NSImage + joyButton_backjump.png + 265 - {{344, 256}, {64, 64}} + {{354, 256}, {64, 64}} + NO NO 4 @@ -158,13 +165,17 @@ MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + + NSImage + joyButton_attack.png + 268 - {{29, 207}, {53, 39}} + {{44, 187}, {50, 50}} + NO NO 2 @@ -186,8 +197,9 @@ 268 - {{29, 281}, {53, 39}} + {{44, 270}, {50, 50}} + NO NO 3 @@ -211,6 +223,7 @@ 289 {{412, -6}, {72, 64}} + NO 10 IBCocoaTouchFramework @@ -231,8 +244,9 @@ 269 - {{225, 245}, {37, 37}} + {{225, 248}, {37, 37}} + NO IBCocoaTouchFramework YES @@ -241,6 +255,7 @@ {480, 320} + 3 MSAwAA @@ -550,15 +565,15 @@ YES + + + + - - - + - - @@ -649,7 +664,7 @@ YES OverlayViewController UIResponder - {{222, 756}, {480, 320}} + {{899, 369}, {480, 320}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -678,7 +693,7 @@ - 64 + 65 @@ -699,17 +714,34 @@ id - + YES YES - popoverController - spinningWheel + buttonPressed: + buttonReleased: YES - id - UIActivityIndicatorView + + buttonPressed: + id + + + buttonReleased: + id + + + + + spinningWheel + UIActivityIndicatorView + + + spinningWheel + + spinningWheel + UIActivityIndicatorView @@ -972,19 +1004,23 @@ arrowLeft.png arrowRight.png arrowUp.png - joyPush.png + joyButton_attack.png + joyButton_backjump.png + joyButton_forwardjump.png menuCorner.png YES + {50, 50} + {50, 50} {64, 64} - {64, 64} + {50, 50} {64, 64} {64, 64} {64, 64} {64, 64} - 87 + 117 diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/arrowDown.png Binary file project_files/HedgewarsMobile/Resources/arrowDown.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/arrowLeft.png Binary file project_files/HedgewarsMobile/Resources/arrowLeft.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/arrowRight.png Binary file project_files/HedgewarsMobile/Resources/arrowRight.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/arrowUp.png Binary file project_files/HedgewarsMobile/Resources/arrowUp.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/joyButton_attack.png Binary file project_files/HedgewarsMobile/Resources/joyButton_attack.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/joyButton_backjump.png Binary file project_files/HedgewarsMobile/Resources/joyButton_backjump.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/joyButton_forwardjump.png Binary file project_files/HedgewarsMobile/Resources/joyButton_forwardjump.png has changed diff -r 51062794ed01 -r b16a9c8461ec project_files/HedgewarsMobile/Resources/joyPush.png Binary file project_files/HedgewarsMobile/Resources/joyPush.png has changed