project_files/HedgewarsMobile/SDL-50560ca58f80.patch
branchhedgeroid
changeset 7855 ddcdedd3330b
parent 6350 41b0a9955c47
parent 7854 0b447175594f
child 7857 2bc61f8841a1
equal deleted inserted replaced
6350:41b0a9955c47 7855:ddcdedd3330b
     1 diff -r 50560ca58f80 Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj
       
     2 --- a/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Mon Oct 24 23:18:53 2011 -0400
       
     3 +++ b/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Wed Nov 02 09:22:08 2011 +0100
       
     4 @@ -1596,9 +1596,12 @@
       
     5  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
       
     6  				GCC_C_LANGUAGE_STANDARD = c99;
       
     7  				GCC_DEBUGGING_SYMBOLS = full;
       
     8 +				GCC_OPTIMIZATION_LEVEL = 0;
       
     9 +				GCC_THUMB_SUPPORT = NO;
       
    10 +				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
       
    11  				GCC_WARN_ABOUT_RETURN_TYPE = YES;
       
    12  				GCC_WARN_UNUSED_VARIABLE = NO;
       
    13 -				IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
       
    14 +				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
       
    15  				ONLY_ACTIVE_ARCH = NO;
       
    16  				PREBINDING = NO;
       
    17  				SDKROOT = iphoneos;
       
    18 @@ -1613,9 +1616,12 @@
       
    19  				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
       
    20  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
       
    21  				GCC_C_LANGUAGE_STANDARD = c99;
       
    22 +				GCC_FAST_MATH = YES;
       
    23 +				GCC_THUMB_SUPPORT = NO;
       
    24 +				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
       
    25  				GCC_WARN_ABOUT_RETURN_TYPE = YES;
       
    26  				GCC_WARN_UNUSED_VARIABLE = NO;
       
    27 -				IPHONEOS_DEPLOYMENT_TARGET = 3.1.3;
       
    28 +				IPHONEOS_DEPLOYMENT_TARGET = 3.0;
       
    29  				PREBINDING = NO;
       
    30  				SDKROOT = iphoneos;
       
    31  				TARGETED_DEVICE_FAMILY = "1,2";
       
    32 diff -r 50560ca58f80 include/SDL_config_iphoneos.h
       
    33 --- a/include/SDL_config_iphoneos.h	Mon Oct 24 23:18:53 2011 -0400
       
    34 +++ b/include/SDL_config_iphoneos.h	Wed Nov 02 09:22:08 2011 +0100
       
    35 @@ -106,7 +106,7 @@
       
    36  /* enable iPhone version of Core Audio driver */
       
    37  #define SDL_AUDIO_DRIVER_COREAUDIO 1
       
    38  /* Enable the dummy audio driver (src/audio/dummy/\*.c) */
       
    39 -#define SDL_AUDIO_DRIVER_DUMMY	1
       
    40 +#define SDL_AUDIO_DRIVER_DUMMY	0
       
    41  
       
    42  /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
       
    43  #define SDL_HAPTIC_DISABLED	1
       
    44 @@ -132,16 +132,16 @@
       
    45  /* enable OpenGL ES */
       
    46  #define SDL_VIDEO_OPENGL_ES	1
       
    47  #define SDL_VIDEO_RENDER_OGL_ES	1
       
    48 -#define SDL_VIDEO_RENDER_OGL_ES2	1
       
    49 +#define SDL_VIDEO_RENDER_OGL_ES2	0
       
    50  
       
    51  /* Enable system power support */
       
    52 -#define SDL_POWER_UIKIT 1
       
    53 +#define SDL_POWER_UIKIT 0
       
    54  
       
    55  /* enable iPhone keyboard support */
       
    56  #define SDL_IPHONE_KEYBOARD 1
       
    57  
       
    58  /* enable joystick subsystem */
       
    59 -#define SDL_JOYSTICK_DISABLED 0
       
    60 +#define SDL_JOYSTICK_DISABLED 1
       
    61  
       
    62  /* Set max recognized G-force from accelerometer
       
    63     See src/joystick/uikit/SDLUIAccelerationDelegate.m for notes on why this is needed
       
    64 diff -r 50560ca58f80 src/video/uikit/SDL_uikitopenglview.m
       
    65 --- a/src/video/uikit/SDL_uikitopenglview.m	Mon Oct 24 23:18:53 2011 -0400
       
    66 +++ b/src/video/uikit/SDL_uikitopenglview.m	Wed Nov 02 09:22:08 2011 +0100
       
    67 @@ -114,8 +114,8 @@
       
    68  
       
    69          // !!! FIXME: use the screen this is on!
       
    70          /* Use the main screen scale (for retina display support) */
       
    71 -        if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
       
    72 -            self.contentScaleFactor = [UIScreen mainScreen].scale;
       
    73 +        if ([self respondsToSelector:@selector(contentScaleFactor)])
       
    74 +            self.contentScaleFactor = [[UIScreen mainScreen] scale];
       
    75  
       
    76          self.autoresizingMask = 0;  // don't allow autoresize, since we need to do some magic in -(void)updateFrame.
       
    77      }
       
    78 @@ -144,8 +144,8 @@
       
    79  
       
    80      // !!! FIXME: use the screen this is on!
       
    81      /* Use the main screen scale (for retina display support) */
       
    82 -    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
       
    83 -        self.contentScaleFactor = [UIScreen mainScreen].scale;
       
    84 +    if ([self respondsToSelector:@selector(contentScaleFactor)])
       
    85 +        self.contentScaleFactor = [[UIScreen mainScreen] scale];
       
    86  }
       
    87  
       
    88  - (void)setCurrentContext
       
    89 diff -r 50560ca58f80 src/video/uikit/SDL_uikitvideo.m
       
    90 --- a/src/video/uikit/SDL_uikitvideo.m	Mon Oct 24 23:18:53 2011 -0400
       
    91 +++ b/src/video/uikit/SDL_uikitvideo.m	Wed Nov 02 09:22:08 2011 +0100
       
    92 @@ -178,7 +178,7 @@
       
    93  
       
    94      // UIScreenMode showed up in 3.2 (the iPad and later). We're
       
    95      //  misusing this supports_multiple_displays flag here for that.
       
    96 -    if (!SDL_UIKit_supports_multiple_displays) {
       
    97 +    if (SDL_UIKit_supports_multiple_displays) {
       
    98          UIScreenMode *uimode = [uiscreen currentMode];
       
    99          [uimode retain];  // once for the desktop_mode
       
   100          [uimode retain];  // once for the current_mode
       
   101 @@ -200,10 +200,8 @@
       
   102  {
       
   103      _this->gl_config.driver_loaded = 1;
       
   104  
       
   105 -    NSString *reqSysVer = @"3.2";
       
   106 -    NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
       
   107 -    if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
       
   108 -        SDL_UIKit_supports_multiple_displays = YES;
       
   109 +    // this tells us whether we are running on ios >= 3.2
       
   110 +    SDL_UIKit_supports_multiple_displays = [UIScreen instancesRespondToSelector:@selector(currentMode)];
       
   111  
       
   112      // Add the main screen.
       
   113      UIScreen *uiscreen = [UIScreen mainScreen];
       
   114 diff -r 50560ca58f80 src/video/uikit/SDL_uikitview.m
       
   115 --- a/src/video/uikit/SDL_uikitview.m	Mon Oct 24 23:18:53 2011 -0400
       
   116 +++ b/src/video/uikit/SDL_uikitview.m	Wed Nov 02 09:22:08 2011 +0100
       
   117 @@ -311,7 +311,7 @@
       
   118  /* iPhone keyboard addition functions */
       
   119  #if SDL_IPHONE_KEYBOARD
       
   120  
       
   121 -SDL_uikitview * getWindowView(SDL_Window * window)
       
   122 +SDL_uikitview *SDL_getUikitView(SDL_Window *window)
       
   123  {
       
   124      if (window == NULL) {
       
   125          SDL_SetError("Window does not exist");
       
   126 @@ -328,9 +328,9 @@
       
   127      return view;
       
   128  }
       
   129  
       
   130 -int SDL_iPhoneKeyboardShow(SDL_Window * window)
       
   131 +int SDL_iPhoneKeyboardShow(SDL_Window *window)
       
   132  {
       
   133 -    SDL_uikitview *view = getWindowView(window);
       
   134 +    SDL_uikitview *view = SDL_getUikitView(window);
       
   135      if (view == nil) {
       
   136          return -1;
       
   137      }
       
   138 @@ -339,9 +339,9 @@
       
   139      return 0;
       
   140  }
       
   141  
       
   142 -int SDL_iPhoneKeyboardHide(SDL_Window * window)
       
   143 +int SDL_iPhoneKeyboardHide(SDL_Window *window)
       
   144  {
       
   145 -    SDL_uikitview *view = getWindowView(window);
       
   146 +    SDL_uikitview *view = SDL_getUikitView(window);
       
   147      if (view == nil) {
       
   148          return -1;
       
   149      }
       
   150 @@ -350,9 +350,9 @@
       
   151      return 0;
       
   152  }
       
   153  
       
   154 -SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window)
       
   155 +SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window *window)
       
   156  {
       
   157 -    SDL_uikitview *view = getWindowView(window);
       
   158 +    SDL_uikitview *view = SDL_getUikitView(window);
       
   159      if (view == nil) {
       
   160          return 0;
       
   161      }
       
   162 @@ -360,9 +360,9 @@
       
   163      return view.keyboardVisible;
       
   164  }
       
   165  
       
   166 -int SDL_iPhoneKeyboardToggle(SDL_Window * window)
       
   167 +int SDL_iPhoneKeyboardToggle(SDL_Window *window)
       
   168  {
       
   169 -    SDL_uikitview *view = getWindowView(window);
       
   170 +    SDL_uikitview *view = SDL_getUikitView(window);
       
   171      if (view == nil) {
       
   172          return -1;
       
   173      }
       
   174 @@ -380,24 +380,24 @@
       
   175  
       
   176  /* stubs, used if compiled without keyboard support */
       
   177  
       
   178 -int SDL_iPhoneKeyboardShow(SDL_Window * window)
       
   179 +int SDL_iPhoneKeyboardShow(SDL_Window *window)
       
   180  {
       
   181      SDL_SetError("Not compiled with keyboard support");
       
   182      return -1;
       
   183  }
       
   184  
       
   185 -int SDL_iPhoneKeyboardHide(SDL_Window * window)
       
   186 +int SDL_iPhoneKeyboardHide(SDL_Window *window)
       
   187  {
       
   188      SDL_SetError("Not compiled with keyboard support");
       
   189      return -1;
       
   190  }
       
   191  
       
   192 -SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window)
       
   193 +SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window *window)
       
   194  {
       
   195      return 0;
       
   196  }
       
   197  
       
   198 -int SDL_iPhoneKeyboardToggle(SDL_Window * window)
       
   199 +int SDL_iPhoneKeyboardToggle(SDL_Window *window)
       
   200  {
       
   201      SDL_SetError("Not compiled with keyboard support");
       
   202      return -1;
       
   203 diff -r 50560ca58f80 src/video/uikit/SDL_uikitviewcontroller.m
       
   204 --- a/src/video/uikit/SDL_uikitviewcontroller.m	Mon Oct 24 23:18:53 2011 -0400
       
   205 +++ b/src/video/uikit/SDL_uikitviewcontroller.m	Wed Nov 02 09:22:08 2011 +0100
       
   206 @@ -28,8 +28,8 @@
       
   207  
       
   208  #include "SDL_uikitwindow.h"
       
   209  
       
   210 -#import "SDL_uikitviewcontroller.h"
       
   211 -
       
   212 +#include "SDL_uikitviewcontroller.h"
       
   213 +#include "SDL_uikitvideo.h"
       
   214  
       
   215  @implementation SDL_uikitviewcontroller
       
   216  
       
   217 @@ -116,38 +116,17 @@
       
   218      const UIInterfaceOrientation toInterfaceOrientation = [self interfaceOrientation];
       
   219      SDL_WindowData *data = self->window->driverdata;
       
   220      UIWindow *uiwindow = data->uiwindow;
       
   221 -    UIScreen *uiscreen = [uiwindow screen];
       
   222 +    UIScreen *uiscreen;
       
   223 +    if (SDL_UIKit_supports_multiple_displays)
       
   224 +        uiscreen = [uiwindow screen];
       
   225 +    else
       
   226 +        uiscreen = [UIScreen mainScreen];
       
   227      const int noborder = self->window->flags & SDL_WINDOW_BORDERLESS;
       
   228      CGRect frame = noborder ? [uiscreen bounds] : [uiscreen applicationFrame];
       
   229 -    const CGSize size = frame.size;
       
   230 -    int w, h;
       
   231 -
       
   232 -    switch (toInterfaceOrientation) {
       
   233 -        case UIInterfaceOrientationPortrait:
       
   234 -        case UIInterfaceOrientationPortraitUpsideDown:
       
   235 -            w = (size.width < size.height) ? size.width : size.height;
       
   236 -            h = (size.width > size.height) ? size.width : size.height;
       
   237 -            break;
       
   238 -
       
   239 -        case UIInterfaceOrientationLandscapeLeft:
       
   240 -        case UIInterfaceOrientationLandscapeRight:
       
   241 -            w = (size.width > size.height) ? size.width : size.height;
       
   242 -            h = (size.width < size.height) ? size.width : size.height;
       
   243 -            break;
       
   244 -
       
   245 -        default:
       
   246 -            SDL_assert(0 && "Unexpected interface orientation!");
       
   247 -            return;
       
   248 -    }
       
   249 -
       
   250 -    frame.size.width = w;
       
   251 -    frame.size.height = h;
       
   252 -    frame.origin.x = 0;
       
   253 -    frame.origin.y = 0;
       
   254  
       
   255      [uiwindow setFrame:frame];
       
   256      [data->view updateFrame];
       
   257 -    SDL_SendWindowEvent(self->window, SDL_WINDOWEVENT_RESIZED, w, h);
       
   258 +    SDL_SendWindowEvent(self->window, SDL_WINDOWEVENT_RESIZED, frame.size.width, frame.size.height);
       
   259  }
       
   260  
       
   261  @end