1. 09 May, 2010 11 commits
  2. 08 May, 2010 4 commits
    • Eric Wing's avatar
      Fixes to automated test target for iPhone Xcode project. · 4d5a9e42
      Eric Wing authored
      Looks like there is a problem with the source code base. UIScreenMode and possibly a few other 3.2 only APIs have crept in. 3.2 is only available for iPad, and not iPhone/iPod Touch.
      4d5a9e42
    • Eric Wing's avatar
    • Eric Wing's avatar
      Adding testsdl (automated test) support to iPhone Xcode project (to match Mac Xcode project). · a67b7bdc
      Eric Wing authored
      I haven't updated yet to the 3.2 SDK so SDL no longer builds for me so I can't yet verify if the new target completely works.
      a67b7bdc
    • Eric Wing's avatar
      Added automated test to Xcode project plus needed changes to SDL_RWFromFile to... · 95cc075a
      Eric Wing authored
      Added automated test to Xcode project plus needed changes to SDL_RWFromFile to be OS X bundle aware.
      
      The Mac OS X project has a new target called testsdl which builds the automated test. I looked at using Xcode's native unit test support, but the impedance mismatch between the existing automated test structure and Apple's was more than I could handle.
      
      As such, the testsdl application is a full blown proper OS X application, which means it is a self-contained .app bundle. This immediately revealed some problems from the automated test. The largest problem was the assumption about the current working directory and where to find resources. (I suspect Windows may have a similar problem depending on circumstance.) To open resources, the test was looking in directories relative to the SDL source directory, but this will not work well with self-contained .app bundles and Xcode which can place its built applications almost anywhere. And for real-world situations, this is pretty useless anyway.
      
      So I modified SDL_RWFromFile to do special things on OS X. First, it will look for a file in the .app bundle. If not found, it will fallback and just call fopen as it used to do.
      
      I also had to modify the automated test itself because it had a contrieved test which called fopen directly to do read from an existing FILE pointer. In addition, there was a write test. Since a .app bundle is likely going to be read-only, I added a special case for OS X to write to NSTemporaryDirectory.
      
      I expect these changes should work for both Mac and iPhone OS (which includes iPad).
      
      I will update the iPhone Xcode project next.
      
      Finally, FYI, the X11 automated test seems to be failing. Below is my output.
      
      
      Pending breakpoint 4 - "-[NSException raise]" resolved
      Platform : All tests successful (2)
      SDL_RWops : All tests successful (5)
      Rect : All tests successful (1)
      SDL_Surface : All tests successful (6)
      Rendering with cocoa driver : All tests successful (3)
      Assert Failed!
         Blit output not the same.
         Test Case 'Renderer x11'
         Test Suite 'Rendering with x11 driver'
         Last SDL error ''
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Sat May  8 00:30:34 iMacAL.local testsdl[71586] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xa150
      Rendering with x11 driver : Failed 1 out of 4 testcases!
      Rendering with dummy driver : All tests successful (3)
      SDL_Audio : All tests successful (1)
      Tests run with SDL 1.3.0 revision 1095906
      System is running Mac OS X and is little endian
      95cc075a
  3. 02 May, 2010 1 commit
  4. 01 May, 2010 1 commit
  5. 30 Apr, 2010 2 commits
  6. 23 Apr, 2010 2 commits
    • Sam Lantinga's avatar
      Fixed bug 978 · 33ffbdf2
      Sam Lantinga authored
       Yann Leprince      2010-03-31 11:07:53 PDT
      
      Please add a #serial line as below to sdl.m4 and increase the serial number
      with each revision of this file. This allows using aclocal --install, thereby
      enabling automatic updating of sdl.m4 in SDL-based packages that distribute it.
      
      # serial 1
      
      The complete documentation and rationale for #serial can be found in the
      Automake documentation:
      <http://www.gnu.org/software/automake/manual/html_node/Serials.html>.
      33ffbdf2
    • Sam Lantinga's avatar
      esigra 2010-04-17 03:53:57 PDT · cd734eee
      Sam Lantinga authored
      If this header file is supposed to be includable from C++ code, the code should
      of course use one of the SDL_*_cast macros from SDL_stdinc.h.
      cd734eee
  7. 20 Apr, 2010 1 commit
  8. 16 Apr, 2010 4 commits
  9. 14 Apr, 2010 1 commit
    • Sam Lantinga's avatar
      Fixed bug 944 · 2f71858a
      Sam Lantinga authored
       Tatu Kilappa      2010-02-11 12:13:20 PST
      
      When compiling with -Wconversion, gcc complains about a cast in SDL_endian.h
      that might change the result as we are casting from an int into an Uint16. This
      is of course not visible unless we are on a non-x86 platform where the
      assembler is not available.
      
      While it's not really an error, the warning is really annoying. To fix, change
      SDL_endian.h line 87 to:
      
        return(Uint16)((x<<8)|(x>>8));
      
      Thank you.
      2f71858a
  10. 25 Mar, 2010 1 commit
    • Sam Lantinga's avatar
      General improvements for user custom event registration · 1fb2a694
      Sam Lantinga authored
      * Switched event type to enum (int32)
      * Switched polling by mask to polling by type range
      * Added SDL_RegisterEvents() to allow dynamic user event registration
      * Spread events out to allow inserting new related events without breaking binary compatibility
      * Added padding to event structures so they're the same size regardless of 32-bit compiler structure packing settings
      * Split SDL_HasEvent() to SDL_HasEvent() for a single event and SDL_HasEvents() for a range of events
      * Added SDL_GetEventState() as a shortcut for SDL_EventState(X, SDL_QUERY)
      * Added SDL_FlushEvent() and SDL_FlushEvents() to clear events from the event queue
      1fb2a694
  11. 10 Mar, 2010 2 commits
    • Sam Lantinga's avatar
      Fixed bug #968 · e2adaf16
      Sam Lantinga authored
       Andrey      2010-03-07 07:57:14 PST
      
      mingw32ce-build small fix
      e2adaf16
    • Sam Lantinga's avatar
      Fixed bug #943 · d2ca3194
      Sam Lantinga authored
       Ozkan Sezer      2010-02-06 12:31:06 PST
      
      Hi:
      
      Here are some small fixes for compiling SDL against mingw-w64.
      (see http://mingw-w64.sourceforge.net/ .  Despite the name, it
      supports both win32 and win64.)
      
      src/audio/windx5/directx.h and src/video/windx5/directx.h (both
      SDL-1.2 and SDL-1.3.)  I get compilation errors about some union
      not having a member named u1 and alike, because of other system
      headers being included before this one and them already defining
      DUMMYUNIONNAME and stuff. This header probably assumes that those
      stuff are defined in windef.h, but mingw-w64 headers define them
      in _mingw.h. Easily fixed by moving NONAMELESSUNION definition to
      the top of the file.
      
      src/thread/win32/SDL_systhread.c (both SDL-1.2 and SDL-1.3.) :
      The __GNUC__ case for pfnSDL_CurrentBeginThread is 32-bit centric
      because _beginthreadex returns uintptr_t, not unsigned long which
      is 32 bits in win64. Changing the return type to uintptr_t fixes
      it.
      
      video/SDL_blit.h (and configure.in) (SDL-1.3-only) :  MinGW-w64
      uses msvcrt version of _aligned_malloc and _aligned_free and
      they are defined in intrin.h (similar to VC).  Adding proper
      ifdefs fixes it. (Notes about macros to check: __MINGW32__ is
      defined for both mingw.org and for mingw-w64 for both win32 and
      win64, __MINGW64__ is only defined for _WIN64, so __MINGW64__
      can't be used to detect mingw-w64: including _mingw.h and then
      checking for __MINGW64_VERSION_MAJOR does the trick.)
      
      SDL_win32video.h (SDL-1.3-only) :  Tweaked the VINWER definition
      and location in order to avoid multiple redefinition warnings.
      
      Hope these are useful. Thanks.
      d2ca3194
  12. 09 Mar, 2010 1 commit
    • Sam Lantinga's avatar
      Fixed bug #961 · 46373154
      Sam Lantinga authored
      Kalle Olavi Niemitalo      2010-02-28 09:15:50 PST
      
      It seems the SDLK_LMETA and SDLK_RMETA constants have been removed from SDL
      1.3.  I grepped for them in the SDL source tree and these were the only hits:
      
      ./include/SDL_compat.h:230:#define SDLK_LSUPER SDLK_LMETA
      ./include/SDL_compat.h:231:#define SDLK_RSUPER SDLK_RMETA
      ./src/video/bwindow/SDL_BWin.h:194:        keymap[0x66] = SDLK_LMETA;
      ./src/video/bwindow/SDL_BWin.h:195:        keymap[0x67] = SDLK_RMETA;
      
      I don't know how compatible SDL 1.3 is supposed to be with applications
      designed for SDL 1.2.  However, as you can see, SDL itself is still trying to
      use the removed constants, and that is clearly a bug.
      
      Because SDL_compat.h defines KMOD_LMETA as KMOD_LGUI, I suppose it should also
      define SDLK_LMETA as SDLK_LGUI, and SDLK_RMETA likewise.
      46373154
  13. 05 Mar, 2010 1 commit
  14. 28 Feb, 2010 5 commits
  15. 26 Feb, 2010 2 commits
  16. 17 Feb, 2010 1 commit
    • Sam Lantinga's avatar
      Adam Strzelecki to SDL · 6989ef71
      Sam Lantinga authored
      When graphic card has no GL_ARB_texture_rectangle YUV textures mapped with SDL_RenderCopy are stretched 2x horizontally, so only left half of texture is visible. This is due:
             data->texw = (GLfloat) (texture->w) / texture_w;
             data->texh = (GLfloat) texture->h / texture_h;
      But afterwards texture_w /= 2 for YUV texture, but data->texw stays as it was before, while it should be multiplied 2x.
      
      This bug can be seen in any program setting env variables: GL_APPLE_ycbcr_422=0 GL_EXT_texture_rectangle=0 GL_ARB_texture_rectangle=0
      
      --HG--
      extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404468
      6989ef71